///
import { type VirtualItem } from '@tanstack/react-virtual';
interface UseVirtualRowsParams {
enabled: boolean;
rows: TRow[];
scrollRef: React.RefObject;
estimatedRowHeight: number;
estimateSize: (row: TRow | undefined, index: number) => number;
overscan?: number;
}
interface UseVirtualRowsResult {
totalSize: number;
items: VirtualItem[];
measureRef: ((el: HTMLElement | null) => void) | undefined;
}
/**
* Wraps `useVirtualizer` with auto-measurement. Consumers pass an initial
* `estimatedRowHeight` and an `estimateSize(row, i)` that can return a
* different size for special rows (e.g. group headers). After paint, the
* virtualizer's `measureElement` re-measures each row so variable-height
* content settles correctly.
*
* When `enabled` is false the hook still calls `useVirtualizer` (so hook order
* stays stable) but reports `count: 0` and surfaces empty values — the
* consumer renders rows in natural flow instead.
*/
export declare function useVirtualRows({ enabled, rows, scrollRef, estimatedRowHeight, estimateSize, overscan }: UseVirtualRowsParams): UseVirtualRowsResult;
export {};
//# sourceMappingURL=useVirtualRows.d.ts.map