import { ElementRef, EventEmitter, OnDestroy, AfterViewInit, QueryList } from '@angular/core';
import { NbLayoutScrollService } from '../../services/scroll.service';
import { NbLayoutRulerService } from '../../services/ruler.service';
import { NbListItemComponent } from './list.component';
export declare class NbScrollableContainerDimentions {
    scrollTop: number;
    scrollHeight: number;
    clientHeight: number;
}
export declare class NbInfiniteListDirective implements AfterViewInit, OnDestroy {
    private elementRef;
    private scrollService;
    private dimensionsService;
    private alive;
    private lastScrollPosition;
    windowScroll: boolean;
    private readonly elementScroll;
    threshold: number;
    listenWindowScroll: any;
    bottomThreshold: EventEmitter<{}>;
    topThreshold: EventEmitter<{}>;
    onElementScroll(): void;
    listItems: QueryList<NbListItemComponent>;
    constructor(elementRef: ElementRef, scrollService: NbLayoutScrollService, dimensionsService: NbLayoutRulerService);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    checkPosition({ scrollHeight, scrollTop, clientHeight }: NbScrollableContainerDimentions): void;
    private getContainerDimensions;
    private inSyncWithDom;
}
