import { ItemSize, VirtualRange } from '../types'; export declare class VirtualizationEngine { private tree; private estimatedItemSize; private itemCount; constructor(estimatedItemSize?: number); setItemCount(count: number): void; recordItemSize(index: number, size: number): void; /** * Invalidate cached measurements from `fromIndex` onward * (inclusive), or everything if omitted. Affected indices fall * back to `estimatedItemSize` until re-measured. * * Each reset index is a single O(log n) point update - so * invalidating a suffix of k items is O(k log n), not a full * array rebuild. A full invalidate (no fromIndex) is the one * intentionally O(n) path in this class, reserved for "the whole * dataset changed" situations, not the scroll hot path. */ invalidateFrom(fromIndex?: number): void; getItemSize(index: number): number; getItemOffset(index: number): number; getTotalSize(): number; getVisibleRange(scrollOffset: number, containerSize: number, itemCount: number, overscan?: number): VirtualRange; getVisibleItems(scrollOffset: number, containerSize: number, itemCount: number, overscan: number): ItemSize[]; getScrollOffsetForIndex(index: number, containerSize: number, alignment?: 'start' | 'center' | 'end'): number; } //# sourceMappingURL=VirtualizationEngine.d.ts.map