import { StructuralDirective } from './structural.directive'; import { TemplateResult } from '../../processor/template-result'; /** * Configuration passed to the #virtualScroll directive. */ export interface VirtualScrollDirectiveConfig { /** Full list of items */ items: readonly T[]; /** Fixed height of each item in pixels */ itemHeight: number; /** Height of the scrollable container in pixels */ containerHeight: number; /** Render function for each visible item */ render: (item: T, index: number) => TemplateResult; /** Extra items above/below the visible area (default: 3) */ overscan?: number; } /** * Structural directive that virtualizes a list, rendering only the visible * items. Manages its own scroll container, spacer, and content region. * * Usage: * ```html *
html`
${item.name}
`, * overscan: 3 * }}>
* ``` */ export declare class VirtualScrollDirective extends StructuralDirective { private scrollContainer; private spacer; private contentWrapper; private childInstances; private config; private scrollTop; private rafId; private get processor(); mount(element: Element): void; update(value: unknown): Promise; unmount(): void; protected updateContent(_value: unknown): void; private onScroll; private renderSlice; private clearChildren; } //# sourceMappingURL=virtual-scroll.directive.d.ts.map