import { PromiseRejectFn, Data } from '../types/Misc';
declare const TDialogConfig: {
    fixedClasses: {
        overlay: string;
        wrapper: string;
        dialog: string;
    };
    classes: {
        overlay: string;
        wrapper: string;
        close: string;
        closeIcon: string;
        dialog: string;
        body: string;
        content: string;
        iconWrapper: string;
        icon: string;
        titleWrapper: string;
        title: string;
        textWrapper: string;
        text: string;
        buttons: string;
        cancelButton: string;
        okButton: string;
        inputWrapper: string;
        inputValidationError: string;
        input: string;
        errorMessage: string;
        busyWrapper: string;
        busyIcon: string;
        enterActiveClass: string;
        enterFromClass: string;
        enterToClass: string;
        leaveActiveClass: string;
        leaveFromClass: string;
        leaveToClass: string;
        overlayEnterActiveClass: string;
        overlayEnterFromClass: string;
        overlayEnterToClass: string;
        overlayLeaveActiveClass: string;
        overlayLeaveFromClass: string;
        overlayLeaveToClass: string;
    };
};
export declare enum DialogType {
    Alert = "alert",
    Confirm = "confirm",
    Prompt = "prompt"
}
export declare enum DialogIcon {
    Success = "success",
    Error = "error",
    Warning = "warning",
    Info = "info",
    Question = "question"
}
export declare enum DialogHideReason {
    Outside = "outside",
    Close = "close",
    Esc = "esc",
    Method = "method",
    Value = "value",
    Other = "other",
    Cancel = "cancel",
    Ok = "ok"
}
export declare type DialogResponse = {
    hideReason: DialogHideReason;
    isOk: boolean;
    isCancel: boolean;
    isDismissed: boolean;
    input?: any;
    response?: any;
};
export declare type DialogShowFn = (name: string) => Promise<DialogResponse>;
export declare type DialogProgramaticallyShowFn = <Options extends Data>(titleOrDialogOptions: Options | string, text?: string, icon?: string) => Promise<DialogResponse>;
export declare type DialogHideFn = (name: string) => void;
export declare type DialogBeforeHideParams = {
    cancel: PromiseRejectFn;
    response?: DialogResponse;
};
export declare type DialogBeforeShowParams = {
    cancel: PromiseRejectFn;
    params?: any;
};
export declare type DialogInputValidatorFn = (value: any) => string | Promise<string> | null | undefined;
export declare type DialogPreconfirmFn = ((input: any) => Promise<any> | any);
export declare const TDialogClassesKeys: string[];
export declare type TDialogClassesValidKeys = keyof typeof TDialogConfig.classes;
export default TDialogConfig;
