import { TableRow } from '../../types'; import { DataTableCacheOptions, SortedColumn } from '../types'; /** * Hook for caching resolved page data in DataTable. * * Features: * - Caches resolved page data per page index using a Map stored in a ref * - Returns cached data synchronously on cache hit, avoiding unnecessary API calls * - Synchronously clears cache during render when invalidation triggers change * - Size-based eviction (FIFO) when cache exceeds maxSize: oldest entry is dropped to make room * * @param config - Configuration including loadPageData function, cache options, and invalidation triggers * @returns Object containing getOrLoad function and clearCache function */ export declare function usePageDataCache(config: { loadPageData?: (params: { pageIndex: number; pageSize: number; sorting?: SortedColumn; }) => TableRow[] | Promise[]>; cache?: DataTableCacheOptions; refreshKey?: string | number; refreshCounter: number; rowsPerPage: number; sorting?: SortedColumn; }): { getOrLoad: (pageIndex: number, pageSize: number, sorting?: SortedColumn) => TableRow[] | Promise[]>; clearCache: () => void; };