import { CSSProperties, ExtractPropTypes, PropType, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { VueNode } from '../_util/type';
import { ButtonProps as ButtonPropsType, LegacyButtonType, ButtonHTMLType } from '../button/buttonTypes';
import { Direction } from '../config-provider';
import { VueTypeValidableDef } from 'vue-types';
import { ButtonType, ButtonShape, ButtonSize } from '../button';
import { MouseEventHandler } from '../_util/EventInterface';
type MousePosition = {
    x: number;
    y: number;
} | null;
export declare const modalProps: () => {
    prefixCls: StringConstructor;
    /** @deprecated Please use `open` instead. */
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    open: {
        type: BooleanConstructor;
        default: undefined;
    };
    confirmLoading: {
        type: BooleanConstructor;
        default: undefined;
    };
    title: VueTypeValidableDef<any>;
    closable: {
        type: BooleanConstructor;
        default: undefined;
    };
    closeIcon: VueTypeValidableDef<any>;
    onOk: PropType<(e: MouseEvent) => void>;
    onCancel: PropType<(e: MouseEvent) => void>;
    'onUpdate:visible': PropType<(visible: boolean) => void>;
    'onUpdate:open': PropType<(open: boolean) => void>;
    onChange: PropType<(open: boolean) => void>;
    afterClose: PropType<() => void>;
    centered: {
        type: BooleanConstructor;
        default: undefined;
    };
    width: (StringConstructor | NumberConstructor)[];
    footer: VueTypeValidableDef<any>;
    okText: VueTypeValidableDef<any>;
    okType: PropType<LegacyButtonType>;
    cancelText: VueTypeValidableDef<any>;
    icon: VueTypeValidableDef<any>;
    maskClosable: {
        type: BooleanConstructor;
        default: undefined;
    };
    forceRender: {
        type: BooleanConstructor;
        default: undefined;
    };
    okButtonProps: {
        type: PropType<Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>>;
        default: Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>;
    };
    cancelButtonProps: {
        type: PropType<Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>>;
        default: Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>;
    };
    destroyOnClose: {
        type: BooleanConstructor;
        default: undefined;
    };
    wrapClassName: StringConstructor;
    maskTransitionName: StringConstructor;
    transitionName: StringConstructor;
    getContainer: {
        type: PropType<string | HTMLElement | getContainerFunc | false>;
        default: undefined;
    };
    zIndex: NumberConstructor;
    bodyStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    maskStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    mask: {
        type: BooleanConstructor;
        default: undefined;
    };
    keyboard: {
        type: BooleanConstructor;
        default: undefined;
    };
    wrapProps: ObjectConstructor;
    focusTriggerAfterClose: {
        type: BooleanConstructor;
        default: undefined;
    };
    modalRender: PropType<(arg: {
        originVNode: VueNode;
    }) => VueNode>;
    mousePosition: {
        type: PropType<MousePosition>;
        default: MousePosition;
    };
};
export type ModalProps = Partial<ExtractPropTypes<ReturnType<typeof modalProps>>>;
export interface ModalFuncProps {
    prefixCls?: string;
    class?: string;
    open?: boolean;
    title?: string | (() => VueNode) | VueNode;
    footer?: string | (() => VueNode) | VueNode;
    closable?: boolean;
    content?: string | (() => VueNode) | VueNode;
    onOk?: (...args: any[]) => any;
    onCancel?: (...args: any[]) => any;
    afterClose?: () => void;
    okButtonProps?: ButtonPropsType;
    cancelButtonProps?: ButtonPropsType;
    centered?: boolean;
    width?: string | number;
    okText?: string | (() => VueNode) | VueNode;
    okType?: LegacyButtonType;
    cancelText?: string | (() => VueNode) | VueNode;
    icon?: (() => VueNode) | VueNode;
    wrapClassName?: string;
    iconType?: string;
    mask?: boolean;
    maskClosable?: boolean;
    zIndex?: number;
    okCancel?: boolean;
    style?: CSSProperties | string;
    maskStyle?: CSSProperties;
    type?: 'info' | 'success' | 'error' | 'warn' | 'warning' | 'confirm';
    keyboard?: boolean;
    getContainer?: string | HTMLElement | getContainerFunc | false | null;
    autoFocusButton?: null | 'ok' | 'cancel';
    transitionName?: string;
    maskTransitionName?: string;
    direction?: Direction;
    bodyStyle?: CSSProperties;
    closeIcon?: string | (() => VueNode) | VueNode;
    modalRender?: (arg: {
        originVNode: VueNode;
    }) => VueNode;
    focusTriggerAfterClose?: boolean;
    /** @deprecated please use `appContext` instead */
    parentContext?: any;
    appContext?: any;
    /** @deprecated please use `open` instead */
    visible?: boolean;
}
type getContainerFunc = () => HTMLElement;
export type ModalFunc = (props: ModalFuncProps) => {
    destroy: () => void;
    update: (newConfig: ModalFuncProps) => void;
};
export interface ModalLocale {
    okText: string;
    cancelText: string;
    justOkText: string;
}
declare const _default: DefineComponent<ExtractPropTypes<{
    prefixCls: StringConstructor;
    /** @deprecated Please use `open` instead. */
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    open: {
        type: BooleanConstructor;
        default: undefined;
    };
    confirmLoading: {
        type: BooleanConstructor;
        default: undefined;
    };
    title: VueTypeValidableDef<any>;
    closable: {
        type: BooleanConstructor;
        default: undefined;
    };
    closeIcon: VueTypeValidableDef<any>;
    onOk: PropType<(e: MouseEvent) => void>;
    onCancel: PropType<(e: MouseEvent) => void>;
    'onUpdate:visible': PropType<(visible: boolean) => void>;
    'onUpdate:open': PropType<(open: boolean) => void>;
    onChange: PropType<(open: boolean) => void>;
    afterClose: PropType<() => void>;
    centered: {
        type: BooleanConstructor;
        default: undefined;
    };
    width: (StringConstructor | NumberConstructor)[];
    footer: VueTypeValidableDef<any>;
    okText: VueTypeValidableDef<any>;
    okType: PropType<LegacyButtonType>;
    cancelText: VueTypeValidableDef<any>;
    icon: VueTypeValidableDef<any>;
    maskClosable: {
        type: BooleanConstructor;
        default: undefined;
    };
    forceRender: {
        type: BooleanConstructor;
        default: undefined;
    };
    okButtonProps: {
        type: PropType<Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>>;
        default: Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>;
    };
    cancelButtonProps: {
        type: PropType<Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>>;
        default: Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>;
    };
    destroyOnClose: {
        type: BooleanConstructor;
        default: undefined;
    };
    wrapClassName: StringConstructor;
    maskTransitionName: StringConstructor;
    transitionName: StringConstructor;
    getContainer: {
        type: PropType<string | HTMLElement | getContainerFunc | false>;
        default: undefined;
    };
    zIndex: NumberConstructor;
    bodyStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    maskStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    mask: {
        type: BooleanConstructor;
        default: undefined;
    };
    keyboard: {
        type: BooleanConstructor;
        default: undefined;
    };
    wrapProps: ObjectConstructor;
    focusTriggerAfterClose: {
        type: BooleanConstructor;
        default: undefined;
    };
    modalRender: PropType<(arg: {
        originVNode: VueNode;
    }) => VueNode>;
    mousePosition: {
        type: PropType<MousePosition>;
        default: MousePosition;
    };
}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{
    prefixCls: StringConstructor;
    /** @deprecated Please use `open` instead. */
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    open: {
        type: BooleanConstructor;
        default: undefined;
    };
    confirmLoading: {
        type: BooleanConstructor;
        default: undefined;
    };
    title: VueTypeValidableDef<any>;
    closable: {
        type: BooleanConstructor;
        default: undefined;
    };
    closeIcon: VueTypeValidableDef<any>;
    onOk: PropType<(e: MouseEvent) => void>;
    onCancel: PropType<(e: MouseEvent) => void>;
    'onUpdate:visible': PropType<(visible: boolean) => void>;
    'onUpdate:open': PropType<(open: boolean) => void>;
    onChange: PropType<(open: boolean) => void>;
    afterClose: PropType<() => void>;
    centered: {
        type: BooleanConstructor;
        default: undefined;
    };
    width: (StringConstructor | NumberConstructor)[];
    footer: VueTypeValidableDef<any>;
    okText: VueTypeValidableDef<any>;
    okType: PropType<LegacyButtonType>;
    cancelText: VueTypeValidableDef<any>;
    icon: VueTypeValidableDef<any>;
    maskClosable: {
        type: BooleanConstructor;
        default: undefined;
    };
    forceRender: {
        type: BooleanConstructor;
        default: undefined;
    };
    okButtonProps: {
        type: PropType<Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>>;
        default: Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>;
    };
    cancelButtonProps: {
        type: PropType<Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>>;
        default: Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>;
    };
    destroyOnClose: {
        type: BooleanConstructor;
        default: undefined;
    };
    wrapClassName: StringConstructor;
    maskTransitionName: StringConstructor;
    transitionName: StringConstructor;
    getContainer: {
        type: PropType<string | HTMLElement | getContainerFunc | false>;
        default: undefined;
    };
    zIndex: NumberConstructor;
    bodyStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    maskStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    mask: {
        type: BooleanConstructor;
        default: undefined;
    };
    keyboard: {
        type: BooleanConstructor;
        default: undefined;
    };
    wrapProps: ObjectConstructor;
    focusTriggerAfterClose: {
        type: BooleanConstructor;
        default: undefined;
    };
    modalRender: PropType<(arg: {
        originVNode: VueNode;
    }) => VueNode>;
    mousePosition: {
        type: PropType<MousePosition>;
        default: MousePosition;
    };
}>> & Readonly<{}>, {
    open: boolean;
    mask: boolean;
    visible: boolean;
    getContainer: string | false | HTMLElement | getContainerFunc;
    closable: boolean;
    forceRender: boolean;
    maskClosable: boolean;
    keyboard: boolean;
    centered: boolean;
    bodyStyle: CSSProperties;
    maskStyle: CSSProperties;
    destroyOnClose: boolean;
    mousePosition: MousePosition;
    focusTriggerAfterClose: boolean;
    confirmLoading: boolean;
    okButtonProps: Partial<ExtractPropTypes<{
        prefixCls: StringConstructor;
        type: PropType< ButtonType>;
        htmlType: {
            type: PropType< ButtonHTMLType>;
            default: string;
        };
        shape: {
            type: PropType< ButtonShape>;
        };
        size: {
            type: PropType< ButtonSize>;
        };
        loading: {
            type: PropType<boolean | {
                delay?: number;
            }>;
            default: () => boolean | {
                delay?: number;
            };
        };
        disabled: {
            type: BooleanConstructor;
            default: undefined;
        };
        ghost: {
            type: BooleanConstructor;
            default: undefined;
        };
        block: {
            type: BooleanConstructor;
            default: undefined;
        };
        danger: {
            type: BooleanConstructor;
            default: undefined;
        };
        icon: VueTypeValidableDef<any>;
        href: StringConstructor;
        target: StringConstructor;
        title: StringConstructor;
        onClick: {
            type: PropType< MouseEventHandler | MouseEventHandler[]>;
        };
        onMousedown: {
            type: PropType< MouseEventHandler | MouseEventHandler[]>;
        };
    }>>;
    cancelButtonProps: Partial<ExtractPropTypes<{
        prefixCls: StringConstructor;
        type: PropType< ButtonType>;
        htmlType: {
            type: PropType< ButtonHTMLType>;
            default: string;
        };
        shape: {
            type: PropType< ButtonShape>;
        };
        size: {
            type: PropType< ButtonSize>;
        };
        loading: {
            type: PropType<boolean | {
                delay?: number;
            }>;
            default: () => boolean | {
                delay?: number;
            };
        };
        disabled: {
            type: BooleanConstructor;
            default: undefined;
        };
        ghost: {
            type: BooleanConstructor;
            default: undefined;
        };
        block: {
            type: BooleanConstructor;
            default: undefined;
        };
        danger: {
            type: BooleanConstructor;
            default: undefined;
        };
        icon: VueTypeValidableDef<any>;
        href: StringConstructor;
        target: StringConstructor;
        title: StringConstructor;
        onClick: {
            type: PropType< MouseEventHandler | MouseEventHandler[]>;
        };
        onMousedown: {
            type: PropType< MouseEventHandler | MouseEventHandler[]>;
        };
    }>>;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
