export type UseTableStoreStateCreator = (row: RowData, parent?: RowData) => UseTableStoreRowConfig['states']; export type UseTableStoreData = RowData[]; export type RowData = Record; export type CellsStatesCreator = Record; export interface UseTableStoreParams { data?: UseTableStoreData; getColumns?: () => string[]; rowStatesCreator?: UseTableStoreStateCreator; getCellsStatesCreator?: () => CellsStatesCreator; childrenKey?: string; } export interface UseTableStoreRowConfig, U = Record> { states: T; cellsStates: Record; } export declare function useTableStore(options: UseTableStoreParams): { states: WeakMap, Record>>; tableCacheData: WeakMap; } & { addStore: (data: UseTableStoreData, parent?: RowData) => void; resetStore: (data: UseTableStoreData) => void; setRowsStates: (rows: RowData[], states: UseTableStoreRowConfig["states"]) => void; setCellStates: (rows: RowData[], cells: string[], states: UseTableStoreRowConfig["states"]) => void; resetCellsStates: (data: UseTableStoreData) => void; setRowsCache: (rows: RowData[]) => void; getRowsCache: (rows: RowData[]) => (RowData | undefined)[]; getCellStates: (row: RowData, cell: string) => Record | undefined; getRowStates: (row: RowData) => Record | undefined; getCellsStates: (row: RowData) => Record> | undefined; delRowsStates: (rows: RowData[]) => void; deleteRowsCache: (rows: RowData[]) => void; delRowsStore: (rows: RowData[]) => void; };