import { ExtractEmitsTypes } from '@yanzhen-libs/utils-vue';
import { ExtractPropTypes } from 'vue';
export declare const modalOptions: {
    ns: any;
    class: any;
    name: any;
};
export declare const modalName: any;
export declare const AntModal: {
    props: {
        prefixCls: StringConstructor;
        visible: {
            type: BooleanConstructor;
            default: any;
        };
        open: {
            type: BooleanConstructor;
            default: any;
        };
        confirmLoading: {
            type: BooleanConstructor;
            default: any;
        };
        title: import('vue-types').VueTypeValidableDef<any>;
        closable: {
            type: BooleanConstructor;
            default: any;
        };
        closeIcon: import('vue-types').VueTypeValidableDef<any>;
        afterClose: import('vue').PropType<() => void>;
        centered: {
            type: BooleanConstructor;
            default: any;
        };
        width: (StringConstructor | NumberConstructor)[];
        footer: import('vue-types').VueTypeValidableDef<any>;
        okText: import('vue-types').VueTypeValidableDef<any>;
        okType: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').LegacyButtonType>;
        cancelText: import('vue-types').VueTypeValidableDef<any>;
        icon: import('vue-types').VueTypeValidableDef<any>;
        maskClosable: {
            type: BooleanConstructor;
            default: any;
        };
        forceRender: {
            type: BooleanConstructor;
            default: any;
        };
        okButtonProps: {
            type: import('vue').PropType<Partial<ExtractPropTypes<{
                prefixCls: StringConstructor;
                type: import('vue').PropType<import('ant-design-vue/es/button').ButtonType>;
                htmlType: {
                    type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>;
                    default: string;
                };
                shape: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>;
                };
                size: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
                };
                loading: {
                    type: import('vue').PropType<boolean | {
                        delay?: number;
                    }>;
                    default: () => boolean | {
                        delay?: number;
                    };
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                ghost: {
                    type: BooleanConstructor;
                    default: any;
                };
                block: {
                    type: BooleanConstructor;
                    default: any;
                };
                danger: {
                    type: BooleanConstructor;
                    default: any;
                };
                icon: import('vue-types').VueTypeValidableDef<any>;
                href: StringConstructor;
                target: StringConstructor;
                title: StringConstructor;
                onClick: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
                onMousedown: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
            }>>>;
            default: Partial<ExtractPropTypes<{
                prefixCls: StringConstructor;
                type: import('vue').PropType<import('ant-design-vue/es/button').ButtonType>;
                htmlType: {
                    type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>;
                    default: string;
                };
                shape: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>;
                };
                size: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
                };
                loading: {
                    type: import('vue').PropType<boolean | {
                        delay?: number;
                    }>;
                    default: () => boolean | {
                        delay?: number;
                    };
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                ghost: {
                    type: BooleanConstructor;
                    default: any;
                };
                block: {
                    type: BooleanConstructor;
                    default: any;
                };
                danger: {
                    type: BooleanConstructor;
                    default: any;
                };
                icon: import('vue-types').VueTypeValidableDef<any>;
                href: StringConstructor;
                target: StringConstructor;
                title: StringConstructor;
                onClick: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
                onMousedown: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
            }>>;
        };
        cancelButtonProps: {
            type: import('vue').PropType<Partial<ExtractPropTypes<{
                prefixCls: StringConstructor;
                type: import('vue').PropType<import('ant-design-vue/es/button').ButtonType>;
                htmlType: {
                    type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>;
                    default: string;
                };
                shape: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>;
                };
                size: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
                };
                loading: {
                    type: import('vue').PropType<boolean | {
                        delay?: number;
                    }>;
                    default: () => boolean | {
                        delay?: number;
                    };
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                ghost: {
                    type: BooleanConstructor;
                    default: any;
                };
                block: {
                    type: BooleanConstructor;
                    default: any;
                };
                danger: {
                    type: BooleanConstructor;
                    default: any;
                };
                icon: import('vue-types').VueTypeValidableDef<any>;
                href: StringConstructor;
                target: StringConstructor;
                title: StringConstructor;
                onClick: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
                onMousedown: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
            }>>>;
            default: Partial<ExtractPropTypes<{
                prefixCls: StringConstructor;
                type: import('vue').PropType<import('ant-design-vue/es/button').ButtonType>;
                htmlType: {
                    type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>;
                    default: string;
                };
                shape: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>;
                };
                size: {
                    type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
                };
                loading: {
                    type: import('vue').PropType<boolean | {
                        delay?: number;
                    }>;
                    default: () => boolean | {
                        delay?: number;
                    };
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                ghost: {
                    type: BooleanConstructor;
                    default: any;
                };
                block: {
                    type: BooleanConstructor;
                    default: any;
                };
                danger: {
                    type: BooleanConstructor;
                    default: any;
                };
                icon: import('vue-types').VueTypeValidableDef<any>;
                href: StringConstructor;
                target: StringConstructor;
                title: StringConstructor;
                onClick: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
                onMousedown: {
                    type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
                };
            }>>;
        };
        destroyOnClose: {
            type: BooleanConstructor;
            default: any;
        };
        wrapClassName: StringConstructor;
        maskTransitionName: StringConstructor;
        transitionName: StringConstructor;
        getContainer: {
            type: import('vue').PropType<string | false | HTMLElement | (() => HTMLElement)>;
            default: any;
        };
        zIndex: NumberConstructor;
        bodyStyle: {
            type: import('vue').PropType<import('vue').CSSProperties>;
            default: import('vue').CSSProperties;
        };
        maskStyle: {
            type: import('vue').PropType<import('vue').CSSProperties>;
            default: import('vue').CSSProperties;
        };
        mask: {
            type: BooleanConstructor;
            default: any;
        };
        keyboard: {
            type: BooleanConstructor;
            default: any;
        };
        wrapProps: ObjectConstructor;
        focusTriggerAfterClose: {
            type: BooleanConstructor;
            default: any;
        };
        modalRender: import('vue').PropType<(arg: {
            originVNode: import('ant-design-vue/es/_util/type').VueNode;
        }) => import('ant-design-vue/es/_util/type').VueNode>;
        mousePosition: {
            type: import('vue').PropType<{
                x: number;
                y: number;
            }>;
            default: {
                x: number;
                y: number;
            };
        };
    };
    emits: {
        ok: (e: MouseEvent) => void;
        cancel: (e: MouseEvent) => void;
        "update:visible": (visible: boolean) => void;
        "update:open": (open: boolean) => void;
        change: (open: boolean) => void;
    };
};
export declare const modalProps: {
    prefixCls: {
        type: StringConstructor;
    };
    visible: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    open: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    confirmLoading: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    title: {
        readonly type: import('vue').PropType<any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    closable: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    closeIcon: {
        readonly type: import('vue').PropType<any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    afterClose: {
        type: import('vue').PropType<() => void>;
    };
    centered: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    width: {
        type: (StringConstructor | NumberConstructor)[];
    };
    footer: {
        readonly type: import('vue').PropType<any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    okText: {
        readonly type: import('vue').PropType<any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    okType: {
        type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').LegacyButtonType>;
    };
    cancelText: {
        readonly type: import('vue').PropType<any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    icon: {
        readonly type: import('vue').PropType<any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    maskClosable: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    forceRender: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    okButtonProps: {
        readonly type: import('vue').PropType<Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: import('vue').PropType<import('ant-design-vue/es/button').ButtonType>;
            htmlType: {
                type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>;
            };
            size: {
                type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
            };
            loading: {
                type: import('vue').PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: any;
            };
            ghost: {
                type: BooleanConstructor;
                default: any;
            };
            block: {
                type: BooleanConstructor;
                default: any;
            };
            danger: {
                type: BooleanConstructor;
                default: any;
            };
            icon: import('vue-types').VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
            };
            onMousedown: {
                type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
            };
        }>>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    cancelButtonProps: {
        readonly type: import('vue').PropType<Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: import('vue').PropType<import('ant-design-vue/es/button').ButtonType>;
            htmlType: {
                type: import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>;
            };
            size: {
                type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
            };
            loading: {
                type: import('vue').PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: any;
            };
            ghost: {
                type: BooleanConstructor;
                default: any;
            };
            block: {
                type: BooleanConstructor;
                default: any;
            };
            danger: {
                type: BooleanConstructor;
                default: any;
            };
            icon: import('vue-types').VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
            };
            onMousedown: {
                type: import('vue').PropType<import('ant-design-vue/es/_util/EventInterface').MouseEventHandler | import('ant-design-vue/es/_util/EventInterface').MouseEventHandler[]>;
            };
        }>>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    destroyOnClose: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    wrapClassName: {
        type: StringConstructor;
    };
    maskTransitionName: {
        type: StringConstructor;
    };
    transitionName: {
        type: StringConstructor;
    };
    getContainer: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<string | false | HTMLElement | (() => HTMLElement)>, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    zIndex: {
        type: NumberConstructor;
    };
    bodyStyle: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<import('vue').CSSProperties>, unknown, unknown, import('vue').CSSProperties, boolean>;
    maskStyle: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<import('vue').CSSProperties>, unknown, unknown, import('vue').CSSProperties, boolean>;
    mask: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    keyboard: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    wrapProps: {
        type: ObjectConstructor;
    };
    focusTriggerAfterClose: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    modalRender: {
        type: import('vue').PropType<(arg: {
            originVNode: import('ant-design-vue/es/_util/type').VueNode;
        }) => import('ant-design-vue/es/_util/type').VueNode>;
    };
    mousePosition: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<{
        x: number;
        y: number;
    }>, unknown, unknown, {
        x: number;
        y: number;
    }, boolean>;
};
export declare const modalEmits: {
    ok: (e: MouseEvent) => boolean;
    cancel: (e: MouseEvent) => boolean;
    "update:visible": (visible: boolean) => boolean;
    "update:open": (open: boolean) => boolean;
    change: (open: boolean) => boolean;
};
export type ModalProps = Partial<ExtractPropTypes<typeof modalProps>>;
export type ModalPropsKey = keyof ModalProps;
export type ModalEmits = ExtractEmitsTypes<typeof modalEmits>;
