import type { ExtractPropTypes, CSSProperties, PropType } from 'vue';
import type { ButtonProps as ButtonPropsType, LegacyButtonType } from '../button/buttonTypes';
import type { VueNode } from '../_util/type';
declare const modalProps: {
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    /** 对话框是否可见*/
    visible: import("vue-types").VueTypeValidableDef<boolean>;
    /** 确定按钮 loading*/
    confirmLoading: import("vue-types").VueTypeValidableDef<boolean>;
    /** 标题*/
    title: import("vue-types").VueTypeValidableDef<any>;
    /** 是否显示右上角的关闭按钮*/
    closable: import("vue-types").VueTypeValidableDef<boolean>;
    closeIcon: import("vue-types").VueTypeValidableDef<any>;
    /** 点击确定回调*/
    onOk: {
        type: PropType<(e: MouseEvent) => void>;
    };
    /** 点击模态框右上角叉、取消按钮、Props.maskClosable 值为 true 时的遮罩层或键盘按下 Esc 时的回调*/
    onCancel: {
        type: PropType<(e: MouseEvent) => void>;
    };
    afterClose: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    } & {
        default: (...args: any[]) => any;
    };
    /** 垂直居中 */
    centered: import("vue-types").VueTypeValidableDef<boolean>;
    /** 宽度*/
    width: import("vue-types").VueTypeDef<string | number>;
    /** 底部内容*/
    footer: import("vue-types").VueTypeValidableDef<any>;
    /** 确认按钮文字*/
    okText: import("vue-types").VueTypeValidableDef<any>;
    /** 确认按钮类型*/
    okType: {
        type: PropType<LegacyButtonType>;
    };
    /** 取消按钮文字*/
    cancelText: import("vue-types").VueTypeValidableDef<any>;
    icon: import("vue-types").VueTypeValidableDef<any>;
    /** 点击蒙层是否允许关闭*/
    maskClosable: import("vue-types").VueTypeValidableDef<boolean>;
    /** 强制渲染 Modal*/
    forceRender: import("vue-types").VueTypeValidableDef<boolean>;
    okButtonProps: import("vue-types").VueTypeLooseShape<object>;
    cancelButtonProps: import("vue-types").VueTypeLooseShape<object>;
    destroyOnClose: import("vue-types").VueTypeValidableDef<boolean>;
    wrapClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    maskTransitionName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    transitionName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    getContainer: import("vue-types").VueTypeValidableDef<any>;
    zIndex: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    bodyStyle: import("vue-types").VueTypeValidableDef<CSSProperties>;
    maskStyle: import("vue-types").VueTypeValidableDef<CSSProperties>;
    mask: import("vue-types").VueTypeValidableDef<boolean>;
    keyboard: import("vue-types").VueTypeValidableDef<boolean>;
    wrapProps: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    focusTriggerAfterClose: import("vue-types").VueTypeValidableDef<boolean>;
};
export declare type ModalProps = ExtractPropTypes<typeof modalProps>;
export interface ModalFuncProps {
    prefixCls?: string;
    class?: string;
    visible?: boolean;
    title?: string | (() => VueNode) | VueNode;
    closable?: boolean;
    content?: string | (() => VueNode) | VueNode;
    onOk?: (...args: any[]) => any;
    onCancel?: (...args: any[]) => any;
    okButtonProps?: ButtonPropsType;
    cancelButtonProps?: ButtonPropsType;
    centered?: boolean;
    width?: string | number;
    okText?: string | (() => VueNode) | VueNode;
    okType?: LegacyButtonType;
    cancelText?: string | (() => VueNode) | VueNode;
    icon?: (() => VueNode) | VueNode;
    iconType?: string;
    mask?: boolean;
    maskClosable?: boolean;
    zIndex?: number;
    okCancel?: boolean;
    style?: CSSProperties | string;
    maskStyle?: CSSProperties;
    type?: string;
    keyboard?: boolean;
    getContainer?: getContainerFunc | boolean | string;
    autoFocusButton?: null | 'ok' | 'cancel';
    transitionName?: string;
    maskTransitionName?: string;
    /** @deprecated please use `appContext` instead */
    parentContext?: any;
    appContext?: any;
}
declare type getContainerFunc = () => HTMLElement;
export declare type ModalFunc = (props: ModalFuncProps) => {
    destroy: () => void;
    update: (newConfig: ModalFuncProps) => void;
};
export interface ModalLocale {
    okText: string;
    cancelText: string;
    justOkText: string;
}
export declare const destroyFns: any[];
declare const _default: import("vue").DefineComponent<{
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    /** 对话框是否可见*/
    visible: import("vue-types").VueTypeValidableDef<boolean>;
    /** 确定按钮 loading*/
    confirmLoading: import("vue-types").VueTypeValidableDef<boolean>;
    /** 标题*/
    title: import("vue-types").VueTypeValidableDef<any>;
    /** 是否显示右上角的关闭按钮*/
    closable: import("vue-types").VueTypeValidableDef<boolean>;
    closeIcon: import("vue-types").VueTypeValidableDef<any>;
    /** 点击确定回调*/
    onOk: {
        type: PropType<(e: MouseEvent) => void>;
    };
    /** 点击模态框右上角叉、取消按钮、Props.maskClosable 值为 true 时的遮罩层或键盘按下 Esc 时的回调*/
    onCancel: {
        type: PropType<(e: MouseEvent) => void>;
    };
    afterClose: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    } & {
        default: (...args: any[]) => any;
    };
    /** 垂直居中 */
    centered: import("vue-types").VueTypeValidableDef<boolean>;
    /** 宽度*/
    width: import("vue-types").VueTypeDef<string | number>;
    /** 底部内容*/
    footer: import("vue-types").VueTypeValidableDef<any>;
    /** 确认按钮文字*/
    okText: import("vue-types").VueTypeValidableDef<any>;
    /** 确认按钮类型*/
    okType: {
        type: PropType<LegacyButtonType>;
    };
    /** 取消按钮文字*/
    cancelText: import("vue-types").VueTypeValidableDef<any>;
    icon: import("vue-types").VueTypeValidableDef<any>;
    /** 点击蒙层是否允许关闭*/
    maskClosable: import("vue-types").VueTypeValidableDef<boolean>;
    /** 强制渲染 Modal*/
    forceRender: import("vue-types").VueTypeValidableDef<boolean>;
    okButtonProps: import("vue-types").VueTypeLooseShape<object>;
    cancelButtonProps: import("vue-types").VueTypeLooseShape<object>;
    destroyOnClose: import("vue-types").VueTypeValidableDef<boolean>;
    wrapClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    maskTransitionName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    transitionName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    getContainer: import("vue-types").VueTypeValidableDef<any>;
    zIndex: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    bodyStyle: import("vue-types").VueTypeValidableDef<CSSProperties>;
    maskStyle: import("vue-types").VueTypeValidableDef<CSSProperties>;
    mask: import("vue-types").VueTypeValidableDef<boolean>;
    keyboard: import("vue-types").VueTypeValidableDef<boolean>;
    wrapProps: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    focusTriggerAfterClose: import("vue-types").VueTypeValidableDef<boolean>;
}, {
    confirmLocale: import("vue").ComputedRef<any>;
    configProvider: any;
}, {
    sVisible: boolean;
}, {}, {
    handleCancel(e: MouseEvent): void;
    handleOk(e: MouseEvent): void;
    renderFooter(locale: ModalLocale): JSX.Element;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "change" | "ok" | "update:visible")[], "cancel" | "change" | "ok" | "update:visible", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    prefixCls?: unknown;
    visible?: unknown;
    confirmLoading?: unknown;
    title?: unknown;
    closable?: unknown;
    closeIcon?: unknown;
    onOk?: unknown;
    onCancel?: unknown;
    afterClose?: unknown;
    centered?: unknown;
    width?: unknown;
    footer?: unknown;
    okText?: unknown;
    okType?: unknown;
    cancelText?: unknown;
    icon?: unknown;
    maskClosable?: unknown;
    forceRender?: unknown;
    okButtonProps?: unknown;
    cancelButtonProps?: unknown;
    destroyOnClose?: unknown;
    wrapClassName?: unknown;
    maskTransitionName?: unknown;
    transitionName?: unknown;
    getContainer?: unknown;
    zIndex?: unknown;
    bodyStyle?: unknown;
    maskStyle?: unknown;
    mask?: unknown;
    keyboard?: unknown;
    wrapProps?: unknown;
    focusTriggerAfterClose?: unknown;
} & {
    prefixCls: string;
    transitionName: string;
    zIndex: number;
    wrapClassName: string;
    maskTransitionName: string;
    wrapProps: {
        [key: string]: any;
    };
} & {
    visible?: boolean;
    footer?: any;
    title?: any;
    mask?: boolean;
    icon?: any;
    width?: string | number;
    closable?: boolean;
    afterClose?: (...args: any[]) => any;
    keyboard?: boolean;
    getContainer?: any;
    forceRender?: boolean;
    bodyStyle?: CSSProperties;
    destroyOnClose?: boolean;
    maskClosable?: boolean;
    maskStyle?: CSSProperties;
    onCancel?: (e: MouseEvent) => void;
    onOk?: (e: MouseEvent) => void;
    centered?: boolean;
    okButtonProps?: object;
    cancelButtonProps?: object;
    okType?: LegacyButtonType;
    okText?: any;
    cancelText?: any;
    confirmLoading?: boolean;
    closeIcon?: any;
    focusTriggerAfterClose?: boolean;
}> & {
    onChange?: (...args: any[]) => any;
    "onUpdate:visible"?: (...args: any[]) => any;
    onCancel?: (...args: any[]) => any;
    onOk?: (...args: any[]) => any;
}, {
    prefixCls: string;
    afterClose: (...args: any[]) => any;
    transitionName: string;
    zIndex: number;
    wrapClassName: string;
    maskTransitionName: string;
    wrapProps: {
        [key: string]: any;
    };
}>;
export default _default;
