import { Component } from "@joker.front/core";
type MessageCom = Component & {
    inputValue: string;
};
export type PropsOption = Partial<{
    $type: string;
    message: string;
    title: string;
    customClass: string;
    iconClass: string;
    id: string;
    center: boolean;
    type: "warning" | "error" | "success" | "info";
    closable: boolean;
    distinguishCancelAndClose: boolean;
    useHtml: boolean;
    showInput: boolean;
    inputPlaceholder: string;
    inputValue: string;
    validate: (val: string) => string | boolean | void | undefined;
    cancelButtonText: string;
    confirmButtonText: string;
    showConfirmButton: boolean;
    showCancelButton: boolean;
    roundButton: boolean;
    closeOnClickModal: boolean;
    closeOnPressEscape: boolean;
    beforeClose: (action: Action, instance: MessageCom, doClose: Function) => void;
    callback: (action: Action, instance: MessageCom) => void;
}>;
export type Action = "close" | "cancel" | "confirm";
declare function MessageBox(option: string | PropsOption, callback?: PropsOption["callback"]): void;
declare namespace MessageBox {
    var alert: (message: string, titleOrOption?: string | Partial<{
        $type: string;
        message: string;
        title: string;
        customClass: string;
        iconClass: string;
        id: string;
        center: boolean;
        type: "warning" | "error" | "success" | "info";
        closable: boolean;
        distinguishCancelAndClose: boolean;
        useHtml: boolean;
        showInput: boolean;
        inputPlaceholder: string;
        inputValue: string;
        validate: (val: string) => string | boolean | void;
        cancelButtonText: string;
        confirmButtonText: string;
        showConfirmButton: boolean;
        showCancelButton: boolean;
        roundButton: boolean;
        closeOnClickModal: boolean;
        closeOnPressEscape: boolean;
        beforeClose: (action: Action, instance: MessageCom, doClose: Function) => void;
        callback: (action: Action, instance: MessageCom) => void;
    }>, option?: Partial<{
        $type: string;
        message: string;
        title: string;
        customClass: string;
        iconClass: string;
        id: string;
        center: boolean;
        type: "warning" | "error" | "success" | "info";
        closable: boolean;
        distinguishCancelAndClose: boolean;
        useHtml: boolean;
        showInput: boolean;
        inputPlaceholder: string;
        inputValue: string;
        validate: (val: string) => string | boolean | void;
        cancelButtonText: string;
        confirmButtonText: string;
        showConfirmButton: boolean;
        showCancelButton: boolean;
        roundButton: boolean;
        closeOnClickModal: boolean;
        closeOnPressEscape: boolean;
        beforeClose: (action: Action, instance: MessageCom, doClose: Function) => void;
        callback: (action: Action, instance: MessageCom) => void;
    }>) => void;
    var confirm: (message: string, titleOrOption?: string | Partial<{
        $type: string;
        message: string;
        title: string;
        customClass: string;
        iconClass: string;
        id: string;
        center: boolean;
        type: "warning" | "error" | "success" | "info";
        closable: boolean;
        distinguishCancelAndClose: boolean;
        useHtml: boolean;
        showInput: boolean;
        inputPlaceholder: string;
        inputValue: string;
        validate: (val: string) => string | boolean | void;
        cancelButtonText: string;
        confirmButtonText: string;
        showConfirmButton: boolean;
        showCancelButton: boolean;
        roundButton: boolean;
        closeOnClickModal: boolean;
        closeOnPressEscape: boolean;
        beforeClose: (action: Action, instance: MessageCom, doClose: Function) => void;
        callback: (action: Action, instance: MessageCom) => void;
    }>, option?: Partial<{
        $type: string;
        message: string;
        title: string;
        customClass: string;
        iconClass: string;
        id: string;
        center: boolean;
        type: "warning" | "error" | "success" | "info";
        closable: boolean;
        distinguishCancelAndClose: boolean;
        useHtml: boolean;
        showInput: boolean;
        inputPlaceholder: string;
        inputValue: string;
        validate: (val: string) => string | boolean | void;
        cancelButtonText: string;
        confirmButtonText: string;
        showConfirmButton: boolean;
        showCancelButton: boolean;
        roundButton: boolean;
        closeOnClickModal: boolean;
        closeOnPressEscape: boolean;
        beforeClose: (action: Action, instance: MessageCom, doClose: Function) => void;
        callback: (action: Action, instance: MessageCom) => void;
    }>) => void;
    var prompt: (message: string, titleOrOption?: string | Partial<{
        $type: string;
        message: string;
        title: string;
        customClass: string;
        iconClass: string;
        id: string;
        center: boolean;
        type: "warning" | "error" | "success" | "info";
        closable: boolean;
        distinguishCancelAndClose: boolean;
        useHtml: boolean;
        showInput: boolean;
        inputPlaceholder: string;
        inputValue: string;
        validate: (val: string) => string | boolean | void;
        cancelButtonText: string;
        confirmButtonText: string;
        showConfirmButton: boolean;
        showCancelButton: boolean;
        roundButton: boolean;
        closeOnClickModal: boolean;
        closeOnPressEscape: boolean;
        beforeClose: (action: Action, instance: MessageCom, doClose: Function) => void;
        callback: (action: Action, instance: MessageCom) => void;
    }>, option?: Partial<{
        $type: string;
        message: string;
        title: string;
        customClass: string;
        iconClass: string;
        id: string;
        center: boolean;
        type: "warning" | "error" | "success" | "info";
        closable: boolean;
        distinguishCancelAndClose: boolean;
        useHtml: boolean;
        showInput: boolean;
        inputPlaceholder: string;
        inputValue: string;
        validate: (val: string) => string | boolean | void;
        cancelButtonText: string;
        confirmButtonText: string;
        showConfirmButton: boolean;
        showCancelButton: boolean;
        roundButton: boolean;
        closeOnClickModal: boolean;
        closeOnPressEscape: boolean;
        beforeClose: (action: Action, instance: MessageCom, doClose: Function) => void;
        callback: (action: Action, instance: MessageCom) => void;
    }>) => void;
    var closeAll: () => void;
}
export { MessageBox };
