import { ElementRef, OnDestroy } from '@angular/core';
import * as i0 from "@angular/core";
export declare class MutationObserverFactory {
    create(callback: MutationCallback): MutationObserver | null;
    static ɵfac: i0.ɵɵFactoryDeclaration<MutationObserverFactory, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MutationObserverFactory>;
}
export declare class ElementObserver implements OnDestroy {
    private _mutationObserverFactory;
    private _observedElements;
    constructor(_mutationObserverFactory: MutationObserverFactory);
    ngOnDestroy(): void;
    observe(elementOrRef: Element | ElementRef<Element>, fn: MutationCallback, options?: MutationObserverInit): MutationObserver;
    /**
     * Destroy Observer
     */
    destroy(elementOrRef: Element | ElementRef<Element>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ElementObserver, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ElementObserver>;
}
