import { ExtractPropTypes } from 'vue';
import { ExtractEmitsTypes } from '@yanzhen-libs/utils-vue';
export declare const buttonOptions: {
    ns: any;
    class: any;
    name: any;
};
export declare const buttonName: any;
export declare const AntButton: {
    props: {
        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<never>;
            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').PropType<any>;
        href: StringConstructor;
        target: StringConstructor;
        title: StringConstructor;
    };
    emits: {
        click: import('ant-design-vue/es/_util/EventInterface').MouseEventHandler;
        mousedown: import('ant-design-vue/es/_util/EventInterface').MouseEventHandler;
    };
};
export declare const buttonProps: {
    text: import('@yanzhen-libs/utils-vue').EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
    type: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<readonly ["default", "primary", "ghost", "dashed", "link", "text"]>, "default" | "link" | "primary" | "text" | "ghost" | "dashed", unknown, "default", boolean>;
    prefixCls: {
        type: StringConstructor;
    };
    htmlType: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<import('ant-design-vue/es/button/buttonTypes').ButtonHTMLType>, unknown, unknown, string, boolean>;
    shape: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<import('ant-design-vue/es/button').ButtonShape>, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    size: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    loading: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<never>, unknown, unknown, () => boolean | {
        delay?: number;
    }, boolean>;
    disabled: {
        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;
    };
    ghost: {
        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;
    };
    block: {
        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;
    };
    danger: {
        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;
    };
    icon: {
        type: import('vue').PropType<any>;
    };
    href: {
        type: StringConstructor;
    };
    target: {
        type: StringConstructor;
    };
    title: {
        type: StringConstructor;
    };
};
export declare const buttonEmits: {
    click: (e: MouseEvent) => boolean;
    mousedown: (e: MouseEvent) => boolean;
};
export type ButtonProps = ExtractPropTypes<typeof buttonProps>;
export type ButtonPropsKey = keyof ButtonProps;
export type ButtonEmits = ExtractEmitsTypes<typeof buttonEmits>;
