import { ViewContainerRef } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * The OverlayHostService is used to get a reference to the ViewConainerRef of the
 * OverlayHost component, so that other components may insert components & elements
 * into the DOM at that point.
 */
export declare class OverlayHostService {
    private parentInstance?;
    hostView: ViewContainerRef;
    promiseResolveFns: Function[];
    /**
     * The OverlayHostService expects to be used by the OverlayHostComponent in the root module of the app.
     * In the case that the GenticsUICore is imported into a lazy-loaded child module, this service may be
     * instantiated a second time. This second instance will not have been registered with the OverlayHostComponent,
     * so we need to check out the injector tree and grab the hostView from the parent OverlayHostService.
     */
    constructor(parentInstance?: OverlayHostService);
    /**
     * Used to pass in the ViewContainerRef from the OverlayHost component.
     * Should not be used by any other component.
     */
    registerHostView(viewContainerRef: ViewContainerRef): void;
    /**
     * Returns a promise which resolves to the ViewContainerRef of the OverlayHost
     * component. This can then be used to insert components and elements into the
     * DOM at that point.
     */
    getHostView(): Promise<ViewContainerRef>;
    private resolveHostView;
    static ɵfac: i0.ɵɵFactoryDeclaration<OverlayHostService, [{ optional: true; skipSelf: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<OverlayHostService>;
}
