import { ApplicationRef, ChangeDetectorRef, ComponentFactoryResolver, ComponentRef, ElementRef, Injector, OnDestroy, Type, ViewContainerRef } from '@angular/core';
import { DialogComponent } from './dialog.component';
import { ProgressDialogState } from './progress-dialog.component';
import { WindowRegistry } from '../window/window-state';
import { Overlay } from '@angular/cdk/overlay';
import * as i0 from "@angular/core";
export declare class DuiDialogConfirm {
    title: string;
    content: string;
    static dialogDefaults: {
        maxWidth: string;
    };
    static ɵfac: i0.ɵɵFactoryDeclaration<DuiDialogConfirm, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DuiDialogConfirm, "ng-component", never, { "title": { "alias": "title"; "required": false; }; "content": { "alias": "content"; "required": false; }; }, {}, never, never, false, never>;
}
export declare class DuiDialogAlert {
    title: string;
    content: string;
    static dialogDefaults: {
        maxWidth: string;
    };
    static ɵfac: i0.ɵɵFactoryDeclaration<DuiDialogAlert, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DuiDialogAlert, "ng-component", never, { "title": { "alias": "title"; "required": false; }; "content": { "alias": "content"; "required": false; }; }, {}, never, never, false, never>;
}
export declare class DuiDialogPrompt {
    dialog: DialogComponent;
    title: string;
    content: string;
    value: string;
    static dialogDefaults: {
        maxWidth: string;
    };
    constructor(dialog: DialogComponent);
    static ɵfac: i0.ɵɵFactoryDeclaration<DuiDialogPrompt, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DuiDialogPrompt, "ng-component", never, { "title": { "alias": "title"; "required": false; }; "content": { "alias": "content"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, false, never>;
}
export declare class DuiDialog {
    protected resolver: ComponentFactoryResolver;
    protected app: ApplicationRef;
    protected injector: Injector;
    protected registry: WindowRegistry;
    protected overlay: Overlay;
    constructor(resolver: ComponentFactoryResolver, app: ApplicationRef, injector: Injector, registry: WindowRegistry, overlay: Overlay);
    protected getComponentRef(viewContainerRef?: ViewContainerRef | null): ComponentRef<DialogComponent>;
    open<T>(component: Type<T>, inputs?: {
        [name in keyof T]?: any;
    }, dialogInputs?: Partial<DialogComponent>, viewContainerRef?: ViewContainerRef | null): {
        dialog: DialogComponent;
        close: Promise<any>;
        component: T;
    };
    alert(title: string, content?: string, dialodInputs?: {
        [name: string]: any;
    }): Promise<boolean>;
    confirm(title: string, content?: string, dialodInputs?: {
        [name: string]: any;
    }): Promise<boolean>;
    prompt(title: string, value: string, content?: string, dialodInputs?: {
        [name: string]: any;
    }): Promise<false | string>;
    progress(): ProgressDialogState;
    static ɵfac: i0.ɵɵFactoryDeclaration<DuiDialog, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DuiDialog>;
}
export declare class DuiDialogConfirmDirective implements OnDestroy {
    protected element: ElementRef<HTMLElement>;
    protected dialog: DuiDialog;
    protected cd: ChangeDetectorRef;
    protected document: any;
    confirm: string;
    ignoreNextClick: boolean;
    callback: (event: MouseEvent) => Promise<void>;
    constructor(element: ElementRef<HTMLElement>, dialog: DuiDialog, cd: ChangeDetectorRef, document: any);
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DuiDialogConfirmDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DuiDialogConfirmDirective, "[confirm]", never, { "confirm": { "alias": "confirm"; "required": false; }; }, {}, never, never, false, never>;
}
