import type { VirtualItem, VirtualizerOptions, VirtualizerState } from './types'; type VirtualizerListener = () => void; export declare function createVirtualizer(initial: VirtualizerOptions): { setOptions(next: Partial): void; setScrollOffset(scrollOffset: number): void; setViewportHeight(viewportHeight: number): void; scrollToIndex(index: number): void; getVirtualItems(): VirtualItem[]; getTotalSize(): number; /** Cumulative offset of row `index` from the top in px, regardless * of whether `estimateSize` is uniform or per-index. Uses the * cached offsets array under function-form sizing so the lookup * is O(1) instead of O(index). */ getOffsetForIndex(index: number): number; /** Height of row `index` in px (whichever estimateSize provides). */ getSizeForIndex(index: number): number; getState(): VirtualizerState; subscribe(listener: VirtualizerListener): () => boolean; }; export {};