import * as _angular_core from '@angular/core'; import { TrackByFunction, TemplateRef } from '@angular/core'; import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling'; /** * Fixed-size virtual scroll viewport. * * Thin wrapper around CDK's `cdk-virtual-scroll-viewport` with ngwr * theming and sensible buffer defaults. Project a single template — it's * called per item with `let-item let-index="index"`. * * @example * ```html * * *
{{ i }}. {{ row.name }}
*
*
* ``` * * @see https://ngwr.dev/components/virtual-scroll */ declare class WrVirtualScroll { /** Items to render. */ readonly items: _angular_core.InputSignal; /** Per-item pixel height. All rows must be the same height. @default 32 */ readonly itemSize: _angular_core.InputSignalWithTransform; /** * Viewport height. Pass a number (`px`) or any CSS length string * (`'80vh'`, `'40rem'`). @default 256 */ readonly height: _angular_core.InputSignal; /** * Pixels of rendered content kept above + below the viewport. CDK * keeps adding rows until at least this many pixels are buffered. * @default itemSize * 4 */ readonly minBufferPx: _angular_core.InputSignal; /** * Maximum pixels of buffered content before CDK starts recycling rows. * Must be ≥ `minBufferPx`. @default itemSize * 8 */ readonly maxBufferPx: _angular_core.InputSignal; /** * `trackBy` function for the inner `*cdkVirtualFor`. Defaults to * identity (recreates rows when the item reference changes). */ readonly trackBy: _angular_core.InputSignal>; protected readonly rowTemplate: _angular_core.Signal>; protected readonly viewport: _angular_core.Signal; protected readonly resolvedHeight: _angular_core.Signal; protected readonly resolvedMinBuffer: _angular_core.Signal; protected readonly resolvedMaxBuffer: _angular_core.Signal; /** Scroll a specific index into view. Mirrors the CDK API. */ scrollToIndex(index: number, behavior?: ScrollBehavior): void; /** Scroll to a pixel offset. */ scrollToOffset(offset: number, behavior?: ScrollBehavior): void; /** Manually trigger size recheck (e.g. after host resize outside ResizeObserver). */ checkViewportSize(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "wr-virtual-scroll", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "itemSize": { "alias": "itemSize"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "minBufferPx": { "alias": "minBufferPx"; "required": false; "isSignal": true; }; "maxBufferPx": { "alias": "maxBufferPx"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; }, {}, ["rowTemplate"], never, true, never>; } export { WrVirtualScroll };