import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnInit, TemplateRef, OnDestroy, RendererFactory2 } from '@angular/core'; import { GridService } from './../../services/grid/grid.service'; import { DirectiveRegistrationService } from './../../services/directive-registration/directive-registration.service'; import { Range } from './../../shared/classes/scrolling/range'; import { ScrollDispatcherService } from './../../services/scroll-dispatcher/scroll-dispatcher.service'; import { GridDirective } from './../../directives/grid/grid.directive'; import { IVirtualNexus } from './../../shared/interfaces/i-virtual-nexus'; import { OperatingSystemService } from './../../services/operating-system/operating-system.service'; import { Subscription } from 'rxjs'; import * as i0 from "@angular/core"; export declare class ScrollViewportDirective implements AfterViewInit, OnDestroy, OnInit { elementRef: ElementRef; gridService: GridService; private document; private directiveRegistrationService; private scrollDispatcherService; private operatingSystem; private cdr; private rendererFactory; templateRef: TemplateRef | null; templateID: string | null; generateCloneMethod: ((template: HTMLElement, items: any[], index: number) => Node) | null; private _arrowUpSpeed; get arrowUpSpeed(): string | number; set arrowUpSpeed(value: string | number); private _arrowDownSpeed; get arrowDownSpeed(): string | number; set arrowDownSpeed(value: string | number); private _preItemOverflow; get preItemOverflow(): string | number; set preItemOverflow(value: string | number); private _postItemOverflow; get postItemOverflow(): string | number; set postItemOverflow(value: string | number); private _itemLoadLimit; get itemLoadLimit(): string | number; set itemLoadLimit(value: string | number); timeoutID: any; items: any[] | null; templateid: string | null; preitemoverflow: number; postitemoverflow: number; arrowupspeed: number; arrowdownspeed: number; itemloadlimit: number; fillViewportScrolling: any; itemAdded: EventEmitter; itemRemoved: EventEmitter; itemUpdated: EventEmitter; rangeUpdated: EventEmitter; viewportScrolled: EventEmitter; viewportReady: EventEmitter; viewportInitialized: EventEmitter; private containerHeight; private heightLookup; private itemVisibilityLookup; listElm: HTMLElement | null; listContent: HTMLElement | null; prevSpacer: HTMLElement | null; postSpacer: HTMLElement | null; gridDirective: GridDirective | null; virtualForChangesSubscription$: Subscription; preGridInitializeSubscription$: Subscription; pauseViewportRenderUpdates: boolean; range: Range; lastRange: Range; lastScrollTop: number; currentScrollTop: number; currentScrollChange: number; template: HTMLElement | null; private estimatedFullContentHeight; private estimatedPreListHeight; private estimatedPostListHeight; private totalItemsCounted; private totalHeightCount; private itemName; private avgItemHeight; private overflowHeightCount; scrollChangeByFirstIndexedItem: number; private lastVisibleItemHeight; private adjustedStartIndex; private forcedEndIndex; private placeholderObject; private postItemOverflowCount; private preItemOverflowCount; private lastVisibleItemOverflow; private preOverflowHeight; private mouseIsOverViewport; private lastHeight; private observer; private handleMouseOver; private handleMouseOut; private handleKeyDown; private handleListContentScroll; private cloneFromTemplateRef; private viewportHasScrolled; private templateContext; virtualNexus: IVirtualNexus | null; private _cloneMethod; private renderer; constructor(elementRef: ElementRef, gridService: GridService, document: any, directiveRegistrationService: DirectiveRegistrationService, scrollDispatcherService: ScrollDispatcherService, operatingSystem: OperatingSystemService, cdr: ChangeDetectorRef | null, rendererFactory: RendererFactory2); handleScroll(e: Event): void; private registerViewportToElement; private attachMutationObserver; private updateMutations; private getChildNodes; registerCustomElementsInputs(viewport: HTMLElement): void; private convertCustomElementsVariables; private createTBodies; private addScrollHandler; rerenderRowAt(index: number, updateScrollPosition?: boolean): void; private viewportRendered; scrollToBottom(): void; scrollToTop(): void; pageUp(): void; pageDown(): void; private addArrowListeners; ngAfterViewInit(): void; ngOnInit(): void; ngOnDestroy(): void; private setScrollSpacers; private setHeightByListHeightDifference; private removePreScrollItems; private removePostScrollItems; updateItems(items: any[], scrollToOptions?: any): void; resetToInitialValues(): void; recalculateRowHeight(index: number): void; private updateEstimatedHeightFromResize; private updateEstimatedHeight; getPreviousSibling(el: Node | Element | null): any; getNextSibling(el: Element | null): any; private getEstimatedChildInsertions; private setLastRangeToCurrentRange; private resetLastHeight; private maintainIndexInBounds; private maintainEndIndexInBounds; showRange(startIndex: number, endIndex: number, overflow?: number): void; getDisplayedContentsHeight(): number; refreshContainerHeight(): void; allItemsFitViewport(recalculateContainerHeight?: boolean, refreshViewport?: boolean): boolean; getCurrentScrollPosition(): any; private setHeightsForOverflowCalculations; private addResizeSensor; private removeResizeSensor; onTransitionEnd: (_e: any) => void; onTransitionRun: (_e: any) => void; onTransitionStart: (_e: any) => void; onTransitionCancel: (_e: any) => void; getCloneFromTemplateRef(index: number): HTMLElement; private addScrollItems; private addMissingPostScrollItemsAndUpdateOverflow; scrollToExact(index: number, overflow?: number): void; private getRangeChange; refreshViewport(recalculateRows?: boolean): void; updateScrollFromRange(newRange: Range): void; private initScroll; private verifyViewportIsReady; private initFirstScroll; private itemsAreSet; private cloneMethodIsSet; private templateIsSet; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }