import { Injector, OnDestroy } from '@angular/core';
import { Observable } from 'rxjs';
import { EuiDialogInterface } from '../models/eui-dialog.config';
import { OpenedDialog } from '../models/opened-dialog.model';
import * as i0 from "@angular/core";
export declare class EuiDialogService implements OnDestroy {
    private overlay;
    private injector;
    private overlayRef;
    private openedDialogs$;
    private destroy$;
    ngOnDestroy(): void;
    /**
     * Open a dialog.
     *
     * @param config Configuration applied to the dialog.
     * @param parentInjector The injector of the calling component, used to expose its local providers to the dynamically created component.
     * @returns A dialog object of type `OpenedDialog`
     */
    openDialog<HC, HCC, BC, BCC, FC, FCC>(config?: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>, parentInjector?: Injector): OpenedDialog;
    /**
     * Close a dialog
     *
     * @param dialogId The id of the dialog to close. If not provided the last opened one will be closed.
     */
    closeDialog(dialogId?: string): void;
    /**
     * Close all the dialogs.
     */
    closeAllDialogs(): void;
    /**
     * Returns an `Observable` with all opened windows.
     *
     * @returns `Observable` of `OpenedDialog[]`.
     */
    getOpenedDialog(): Observable<OpenedDialog[]>;
    /**
     * Returns an `Object` with a dialog
     *
     * @param dialogId id of the dialog to be returned
     * @returns `OpenedDialog`
     */
    getDialog(dialogId: string): OpenedDialog;
    /**
     * Disable Accept button of default eui-dialog footer.
     */
    disableAcceptButton(): void;
    /**
     * Enable Accept button of default eui-dialog footer.
     */
    enableAcceptButton(): void;
    /**
     * Disable Dismiss button of default eui-dialog footer.
     */
    disableDismissButton(): void;
    /**
     * Enable Dismiss button of default eui-dialog footer.
     */
    enableDismissButton(): void;
    private createInjector;
    private getPositionStrategy;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDialogService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<EuiDialogService>;
}
//# sourceMappingURL=eui-dialog.service.d.ts.map