import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, Renderer2 } from '@angular/core'; import * as tween from '@tweenjs/tween.js'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; export interface VirtualScrollerDefaultOptions { checkResizeInterval: number; modifyOverflowStyleOfParentScroll: boolean; resizeBypassRefreshThreshold: number; scrollAnimationTime: number; scrollDebounceTime: number; scrollThrottlingTime: number; scrollbarHeight?: number; scrollbarWidth?: number; stripedTable: boolean; } export declare function VIRTUAL_SCROLLER_DEFAULT_OPTIONS_FACTORY(): VirtualScrollerDefaultOptions; export interface WrapGroupDimensions { maxChildSizePerWrapGroup: WrapGroupDimension[]; numberOfKnownWrapGroupChildSizes: number; sumOfKnownWrapGroupChildHeights: number; sumOfKnownWrapGroupChildWidths: number; } export interface WrapGroupDimension { childHeight: number; childWidth: number; items: any[]; } export interface IDimensions { childHeight: number; childWidth: number; itemCount: number; itemsPerPage: number; itemsPerWrapGroup: number; maxScrollPosition: number; pageCount_fractional: number; scrollLength: number; viewportLength: number; wrapGroupsPerPage: number; } export declare type ScrollDirectionType = 'backward' | 'forward'; export interface IPageInfo { endIndex: number; endIndexWithBuffer: number; maxScrollPosition: number; scrollEndPosition: number; scrollStartPosition: number; scrollDirection?: ScrollDirectionType; startIndex: number; startIndexWithBuffer: number; } export interface IViewport extends IPageInfo { padding: number; scrollLength: number; } export declare class VirtualScrollerComponent implements OnInit, OnChanges, OnDestroy { protected readonly element: ElementRef; protected readonly renderer: Renderer2; protected readonly zone: NgZone; protected changeDetectorRef: ChangeDetectorRef; viewPortItems: any[]; window: Window & typeof globalThis; get viewPortInfo(): IPageInfo; protected _disable: boolean; get disable(): boolean; set disable(value: boolean); executeRefreshOutsideAngularZone: boolean; protected _enableUnequalChildrenSizes: boolean; get enableUnequalChildrenSizes(): boolean; set enableUnequalChildrenSizes(value: boolean); RTL: boolean; useMarginInsteadOfTranslate: boolean; modifyOverflowStyleOfParentScroll: boolean; stripedTable: boolean; scrollbarWidth: number; scrollbarHeight: number; childWidth: number; childHeight: number; ssrChildWidth: number; ssrChildHeight: number; ssrViewportWidth: number; ssrViewportHeight: number; protected _bufferAmount: number; get bufferAmount(): number; set bufferAmount(value: number); scrollAnimationTime: number; resizeBypassRefreshThreshold: number; protected _scrollThrottlingTime: number; get scrollThrottlingTime(): number; set scrollThrottlingTime(value: number); protected _scrollDebounceTime: number; get scrollDebounceTime(): number; set scrollDebounceTime(value: number); protected onScroll: () => void; protected updateOnScrollFunction(): void; protected checkScrollElementResizedTimer: number; protected _checkResizeInterval: number; get checkResizeInterval(): number; set checkResizeInterval(value: number); protected _items: any[]; get items(): any[]; set items(value: any[]); compareItems: (item1: any, item2: any) => boolean; protected _horizontal: boolean; get horizontal(): boolean; set horizontal(value: boolean); protected revertParentOverscroll(): void; protected oldParentScrollOverflow: { x: string; y: string; }; protected _parentScroll: Element | Window; get parentScroll(): Element | Window; set parentScroll(value: Element | Window); vsChildRectChange: EventEmitter; vsUpdate: EventEmitter; vsChange: EventEmitter; vsStart: EventEmitter; vsEnd: EventEmitter; contentElementRef: ElementRef; protected invisiblePaddingElementRef: ElementRef; protected headerElementRef: ElementRef; protected containerElementRef: ElementRef; ngOnInit(): void; ngOnDestroy(): void; ngOnChanges(changes: any): void; ngDoCheck(): void; refresh(refreshCompletedCallback?: () => void): void; invalidateAllCachedMeasurements(): void; invalidateCachedMeasurementForItem(item: any): void; invalidateCachedMeasurementAtIndex(index: number): void; scrollInto(item: any, alignToBeginning?: boolean, additionalOffset?: number, animationMilliseconds?: number, animationCompletedCallback?: () => void): void; scrollToIndex(index: number, alignToBeginning?: boolean, additionalOffset?: number, animationMilliseconds?: number, animationCompletedCallback?: () => void): void; protected scrollToIndex_internal(index: number, alignToBeginning?: boolean, additionalOffset?: number, animationMilliseconds?: number, animationCompletedCallback?: () => void): void; scrollToPosition(scrollPosition: number, animationMilliseconds?: number, animationCompletedCallback?: () => void): void; protected isAngularUniversalSSR: boolean; constructor(element: ElementRef, renderer: Renderer2, zone: NgZone, changeDetectorRef: ChangeDetectorRef, platformId: any, options: VirtualScrollerDefaultOptions); getElementSize(element: HTMLElement): any; getContent(): any; protected previousScrollBoundingRect: DOMRect; protected checkScrollElementResized(): void; protected _invisiblePaddingProperty: any; protected _offsetType: any; protected _scrollType: any; protected _pageOffsetType: any; protected _childScrollDim: any; protected _translateDir: any; protected _marginDir: any; protected updateDirection(): void; protected debounce(func: () => void, wait: number, ...args: any[]): () => void; protected throttleTrailing(func: () => void, wait: number, ...args: any[]): () => void; protected calculatedScrollbarWidth: number; protected calculatedScrollbarHeight: number; protected padding: number; protected previousViewPort: IViewport; protected currentTween: tween.Tween; protected cachedItemsLength: number; protected disposeScrollHandler: () => void | undefined; protected disposeResizeHandler: () => void | undefined; protected refresh_internal(itemsArrayModified: boolean, refreshCompletedCallback?: () => void, maxRunTimes?: number): void; protected getScrollElement(): HTMLElement; protected addScrollEventHandlers(): void; protected removeScrollEventHandlers(): void; protected getElementsOffset(): number; protected countItemsPerWrapGroup(): number; protected getScrollStartPosition(): number; protected minMeasuredChildWidth: number; protected minMeasuredChildHeight: number; protected wrapGroupDimensions: WrapGroupDimensions; protected resetWrapGroupDimensions(): void; protected calculateDimensions(): IDimensions; protected cachedPageSize: number; protected previousScrollNumberElements: number; protected calculatePadding(arrayStartIndexWithBuffer: number, dimensions: IDimensions): number; protected calculatePageInfo(scrollPosition: number, dimensions: IDimensions): IPageInfo; protected calculateViewport(): IViewport; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare class VirtualScrollerModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; }