import { ComponentFactoryResolver, ComponentRef, ElementRef, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
import { IModalDialog, IModalDialogButton, IModalDialogOptions, IModalDialogSettings, ModalDialogOnAction } from './modal-dialog.interface';
import { Observable } from 'rxjs';
/**
 * Modal dialog component
 */
export declare class ModalDialogComponent implements IModalDialog, OnDestroy, OnInit {
    protected _element: ElementRef;
    private componentFactoryResolver;
    dynamicComponentTarget: ViewContainerRef;
    private dialogElement;
    reference: ComponentRef<IModalDialog>;
    /** Modal dialog style settings */
    settings: IModalDialogSettings;
    actionButtons: IModalDialogButton[];
    title: string;
    onClose: () => Promise<any> | Observable<any> | boolean;
    showAlert: boolean;
    animateOverlayClass: string;
    animateModalClass: string;
    showOverlay: boolean;
    private _inProgress;
    private _alertTimeout;
    private _childInstance;
    private _closeDialog$;
    /**
     * CTOR
     * @param _element
     * @param componentFactoryResolver
     */
    constructor(_element: ElementRef, componentFactoryResolver: ComponentFactoryResolver);
    onClick(event: any): void;
    /**
     * Initialize dialog with reference to instance and options
     * @param reference
     * @param options
     */
    dialogInit(reference: ComponentRef<IModalDialog>, options?: Partial<IModalDialogOptions<any>>): void;
    ngOnInit(): void;
    /**
     * Cleanup on destroy
     */
    ngOnDestroy(): void;
    /**
     * Run action defined on action button
     * @param action
     */
    doAction(action?: ModalDialogOnAction): void;
    /**
     * Method to run on close
     * if action buttons are defined, it will not close
     */
    close(): void;
    /**
     * Pass options from dialog setup to component
     * @param  {IModalDialogOptions} options?
     */
    private _setOptions;
    /**
     * Close if successful
     * @param callback
     */
    private _closeIfSuccessful;
    private _finalizeAndDestroy;
    private _triggerAlert;
    private isPromise;
    private isObservable;
}
