import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import * as i0 from "@angular/core";
export declare class ObserveVisibilityDirective implements OnDestroy, OnInit, AfterViewInit {
    private element;
    debounceTime: number;
    threshold: number;
    root: HTMLElement;
    rootMargin: string;
    show: EventEmitter<HTMLElement>;
    hide: EventEmitter<HTMLElement>;
    private observer;
    private subject$;
    constructor(element: ElementRef);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private isVisible;
    private createObserver;
    private startObservingElements;
    static ɵfac: i0.ɵɵFactoryDeclaration<ObserveVisibilityDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveVisibilityDirective, "[dObserveVisibility]", never, { "debounceTime": { "alias": "debounceTime"; "required": false; }; "threshold": { "alias": "threshold"; "required": false; }; "root": { "alias": "root"; "required": false; }; "rootMargin": { "alias": "rootMargin"; "required": false; }; }, { "show": "show"; "hide": "hide"; }, never, never, false, never>;
}
