import type { Item } from './Item' import type { ItemFormPopupProps } from './ItemFormPopupProps' import type { ItemsApi } from './ItemsApi' import type { ItemType } from './ItemType' export interface LayerProps { id?: string data?: Item[] children?: React.ReactNode name: string menuIcon: string menuColor: string menuText: string markerIcon: string markerShape: string markerDefaultColor: string markerDefaultColor2?: string // eslint-disable-next-line @typescript-eslint/no-explicit-any api?: ItemsApi itemType: ItemType // How does this relate to Item type defined in Item.d.ts? // TODO Conditionally type items with .avatar etc.? hasAvatar?: boolean hasColor?: boolean hasTags?: boolean hasOffers?: boolean hasNeeds?: boolean onlyOnePerOwner?: boolean customEditLink?: string customEditParameter?: string public_edit_items?: boolean listed?: boolean item_presets?: Record setItemFormPopup?: React.Dispatch> itemFormPopup?: ItemFormPopupProps | null // eslint-disable-next-line @typescript-eslint/no-explicit-any clusterRef?: any }