import { MutableRefObject } from 'react'; import { ItemRenderContext, HeaderRenderContext } from './RenderContext'; export type HangingGardenColumn = { key: string; data: T[]; }; export type HangingGardenColumnIndex = Record; export type GardenController = { clearGarden: () => void; }; export type HangingGardenProps = { columns: HangingGardenColumn[]; highlightedColumnKey: string | null; highlightedItem: T | null; itemKeyProp: keyof T; itemWidth: number; itemHeight: number; getItemDescription: (item: T) => string; onItemClick: (item: T) => void; headerHeight: number; renderItemContext: (item: T, context: ItemRenderContext) => void; renderHeaderContext: (key: string, context: HeaderRenderContext) => void; provideController?: MutableRefObject; backgroundColor?: number; };