import { Observable, Observer, Subject } from "rxjs";
import { AfterContentInit, ChangeDetectorRef, ElementRef, ErrorHandler, EventEmitter, OnDestroy, QueryList, Renderer2 } from "@angular/core";
import * as i0 from "@angular/core";
declare class CloakObserver implements Observer<any> {
    private boundary;
    next(source: Observable<any>): void;
    error(error: unknown): void;
    complete(): void;
    constructor(boundary: NgCloak);
}
export declare class NgCloak implements AfterContentInit, OnDestroy {
    private elementRef;
    private errorHandler;
    changeDetectorRef: ChangeDetectorRef;
    cloaked: boolean;
    observer: CloakObserver;
    subscription: import("rxjs").Subscription;
    queue: Subject<Observable<any>>;
    refCount: number;
    parent?: NgCloakList;
    cloakChange: EventEmitter<any>;
    get element(): any;
    register(parent: NgCloakList): void;
    handleError(value: unknown): void;
    cloak(cloaked: boolean): void;
    render(): void;
    subscribe(): import("rxjs").Subscription;
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    constructor(elementRef: ElementRef, errorHandler: ErrorHandler, changeDetectorRef: ChangeDetectorRef);
    static ɵfac: i0.ɵɵFactoryDeclaration<NgCloak, [null, { skipSelf: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgCloak, "ng-cloak", never, {}, { "cloakChange": "cloakChange"; }, never, ["fallback, [fallback]", "*"]>;
}
export declare class NgCloakList implements AfterContentInit {
    private elementRef;
    private renderer;
    revealOrder: "together" | "forwards" | "reverse";
    tail?: "collapsed" | "hidden";
    children?: QueryList<NgCloak>;
    render(children: NgCloak[]): void;
    subscribe(children: NgCloak[]): void;
    ngAfterContentInit(): void;
    constructor(elementRef: ElementRef, renderer: Renderer2);
    static ɵfac: i0.ɵɵFactoryDeclaration<NgCloakList, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<NgCloakList, "cloak-list", never, { "revealOrder": "revealOrder"; "tail": "tail"; }, {}, ["children"]>;
}
export {};
