import { OnInit, OnDestroy, ElementRef, AfterViewInit, TemplateRef } from '@angular/core'; interface VisibleRange { start: number; end: number; } interface FetchMoreCallback { (): Promise; } declare class LazyScrollDirective implements OnInit, OnDestroy { private el; items: any[]; itemHeight: number; viewportHeight: number; bufferSize: number; fetchMore: FetchMoreCallback; visibleRangeChange: any; loadingChange: any; private engine; private scrollListener; constructor(el: ElementRef); ngOnInit(): void; ngOnDestroy(): void; private onScroll; refresh(): void; getVisibleRange(): VisibleRange; } declare class LazyScrollComponent implements AfterViewInit, OnDestroy { items: any[]; itemHeight: number; viewportHeight: number; bufferSize: number; fetchMore: () => Promise; visibleRangeChange: any; loadingChange: any; itemTemplate: TemplateRef; visibleRange: { start: number; end: number; }; isLoading: boolean; get topPadding(): number; get bottomPadding(): number; get visibleItems(): any[]; ngAfterViewInit(): void; ngOnDestroy(): void; onVisibleRangeChange(range: { start: number; end: number; }): void; onLoadingChange(loading: boolean): void; trackByFn(index: number, item: any): any; } export { LazyScrollComponent, LazyScrollDirective };