import { OnDestroy, OnInit, AfterViewInit, ElementRef, EventEmitter, Renderer2 } from '@angular/core';
import { DirectiveStateService } from './directive-state.service';
import { InitialScrollPosition } from './enum/initial-scroll-position-type.enum';
import { DirectiveContext } from './directive-context';
export declare class NgxInfiniteScrollerDirective extends DirectiveContext implements OnInit, AfterViewInit, OnDestroy {
    private platformId;
    private el;
    private renderer;
    private state;
    strategy: string;
    initialScrollPosition: InitialScrollPosition | number;
    scrollbarAnimationInterval: number;
    scrollDebounceTimeAfterScrollHeightChanged: number;
    scrollDebounceTimeAfterDOMMutationOnInit: number;
    scrollUpPercentilePositionTrigger: number;
    scrollDownPercentilePositionTrigger: number;
    onScrollUp: EventEmitter<null>;
    onScrollDown: EventEmitter<null>;
    private scrollHeightListener;
    private scrollHeightChanged;
    private domMutationObserver;
    private domMutationEmitter;
    private scrollChanged;
    private get scrollPairChanged();
    private get scrollDirectionChanged();
    private get scrollRequestZoneChanged();
    private isBrowser;
    constructor(platformId: any, el: ElementRef, renderer: Renderer2, state: DirectiveStateService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    scrollTo(position: number): void;
    onScrollbarHeightChanged(): void;
    private registerScrollEventHandler;
    private registerMutationObserver;
    private registerInitialScrollPostionHandler;
    private registerPreviousScrollPositionHandler;
    private registerScrollSpy;
    private unregisterMutationObserver;
    private useStrategy;
    private useScrollHeightListener;
}
