import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit } from '@angular/core';
import * as i0 from "@angular/core";
export declare class DeferLoadDirective implements OnInit, AfterViewInit, OnDestroy {
    private _element;
    private _zone;
    private platformId;
    preRender: boolean;
    fallbackEnabled: boolean;
    removeListenersAfterLoad: boolean;
    deferLoad: EventEmitter<any>;
    private _intersectionObserver?;
    private _scrollSubscription?;
    constructor(_element: ElementRef, _zone: NgZone, platformId: Object);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    hasCompatibleBrowser(): boolean;
    ngOnDestroy(): void;
    private registerIntersectionObserver;
    private checkForIntersection;
    private checkIfIntersecting;
    private load;
    private addScrollListeners;
    private removeListeners;
    private onScroll;
    private isVisible;
    private getScrollPosition;
    static ɵfac: i0.ɵɵFactoryDeclaration<DeferLoadDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DeferLoadDirective, "[deferLoad]", never, { "preRender": "preRender"; "fallbackEnabled": "fallbackEnabled"; "removeListenersAfterLoad": "removeListenersAfterLoad"; }, { "deferLoad": "deferLoad"; }, never, never, false>;
}
