/** * Dynamic Height Engine * Core engine for variable height virtual scrolling */ import { VisibleRange, EngineState, EngineConfig } from './types'; export interface DynamicHeightConfig extends EngineConfig { estimatedItemHeight: number; minItemHeight: number; maxItemHeight: number; heightBufferSize: number; } export interface DynamicHeightState extends EngineState { totalContentHeight: number; measuredItems: number; estimatedItems: number; } export declare class DynamicHeightEngine { private config; private variableHeightManager; private heightCache; private state; private containerElement; private itemElements; constructor(config?: Partial); /** * Initialize with container element */ init(container: HTMLElement): void; /** * Setup scroll listener */ private setupScrollListener; /** * Handle scroll event */ private onScroll; /** * Update visible range based on scroll position */ private updateVisibleRange; /** * Measure item height from DOM element */ measureItem(index: number, element: HTMLElement): number; /** * Called when item height is measured */ private onHeightMeasured; /** * Get items to render for current viewport */ getItemsToRender(): { items: Array<{ index: number; offset: number; height: number; }>; totalHeight: number; visibleRange: VisibleRange; }; /** * Scroll to specific item index */ scrollToIndex(index: number): void; /** * Set total number of items */ setTotalItems(total: number): void; /** * Get current state */ getState(): DynamicHeightState; /** * Get cache statistics */ getCacheStats(): import("./HeightMeasurementCache").HeightCacheStats; /** * Clear cache for range */ clearCacheRange(startIndex: number, endIndex: number): void; /** * Clear entire cache */ clearCache(): void; /** * Cleanup */ cleanup(): void; /** * Update viewport height */ updateViewportHeight(height: number): void; /** * Get item offset for styling */ getItemOffset(index: number): number; /** * Get item height */ getItemHeight(index: number): number; /** * Check if item is measured */ isItemMeasured(index: number): boolean; } export default DynamicHeightEngine; //# sourceMappingURL=DynamicHeightEngine.d.ts.map