import { Overlay, OverlayConfig, OverlayContainer, OverlayRef, OverlaySizeConfig } from "@angular/cdk/overlay";
import { Portal } from "@angular/cdk/portal";
import { OnDestroy } from "@angular/core";
import { Subject } from "rxjs";
import { OverlayContainerType } from "./types";
import * as i0 from "@angular/core";
/**
 * @ignore
 */
export declare class OverlayService implements OnDestroy {
    protected overlay: Overlay;
    protected overlayContainer: OverlayContainer;
    protected document: Document;
    private customContainerInjection;
    contentTemplate: Portal<any>;
    customContainer: OverlayContainerType;
    showing: boolean;
    show$: Subject<void>;
    hide$: Subject<void>;
    get overlayConfig(): OverlayConfig;
    set overlayConfig(value: OverlayConfig);
    private _overlayConfig;
    private overlayRef;
    constructor(overlay: Overlay, overlayContainer: OverlayContainer, document: Document, customContainerInjection: OverlayContainerType);
    createOverlay(): void;
    show(): void;
    hide(): void;
    getOverlayRef(): OverlayRef;
    updateSize(size: OverlaySizeConfig): void;
    ngOnDestroy(): void;
    private defineOverlayConfig;
    private disposeOverlayRef;
    private appendToContainer;
    static ɵfac: i0.ɵɵFactoryDeclaration<OverlayService, [null, null, null, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<OverlayService>;
}
