import buttonProps from './buttonTypes';
import type { ButtonType, ButtonVariantType } from './buttonTypes';
import type { VNode } from 'vue';
import type { CustomSlotsType } from '../_util/type';
export { buttonProps };
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    prefixCls: StringConstructor;
    type: import("vue").PropType<ButtonType>;
    htmlType: {
        type: import("vue").PropType<import("./buttonTypes").ButtonHTMLType>;
        default: string;
    };
    shape: {
        type: import("vue").PropType<import("./buttonTypes").ButtonShape>;
    };
    size: {
        type: import("vue").PropType<import(".").ButtonSize>;
    };
    loading: {
        type: import("vue").PropType<boolean | {
            delay?: number;
            icon?: VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>;
        }>;
        default: () => boolean | {
            delay?: number;
            icon?: VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>;
        };
    };
    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("../_util/EventInterface").MouseEventHandler | import("../_util/EventInterface").MouseEventHandler[]>;
    };
    onMousedown: {
        type: import("vue").PropType<import("../_util/EventInterface").MouseEventHandler | import("../_util/EventInterface").MouseEventHandler[]>;
    };
    autoInsertSpace: BooleanConstructor;
    iconPosition: {
        type: import("vue").PropType<import("./buttonTypes").ButtonIconPosition>;
        default: string;
    };
    color: import("vue").PropType<"default" | "blue" | "cyan" | "gold" | "green" | "lime" | "magenta" | "orange" | "pink" | "purple" | "red" | "yellow" | "volcano" | "geekblue" | "danger" | "primary">;
    variant: import("vue").PropType<ButtonVariantType>;
}>, () => import("../_util/type").VueNode, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    prefixCls: StringConstructor;
    type: import("vue").PropType<ButtonType>;
    htmlType: {
        type: import("vue").PropType<import("./buttonTypes").ButtonHTMLType>;
        default: string;
    };
    shape: {
        type: import("vue").PropType<import("./buttonTypes").ButtonShape>;
    };
    size: {
        type: import("vue").PropType<import(".").ButtonSize>;
    };
    loading: {
        type: import("vue").PropType<boolean | {
            delay?: number;
            icon?: VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>;
        }>;
        default: () => boolean | {
            delay?: number;
            icon?: VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>;
        };
    };
    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("../_util/EventInterface").MouseEventHandler | import("../_util/EventInterface").MouseEventHandler[]>;
    };
    onMousedown: {
        type: import("vue").PropType<import("../_util/EventInterface").MouseEventHandler | import("../_util/EventInterface").MouseEventHandler[]>;
    };
    autoInsertSpace: BooleanConstructor;
    iconPosition: {
        type: import("vue").PropType<import("./buttonTypes").ButtonIconPosition>;
        default: string;
    };
    color: import("vue").PropType<"default" | "blue" | "cyan" | "gold" | "green" | "lime" | "magenta" | "orange" | "pink" | "purple" | "red" | "yellow" | "volcano" | "geekblue" | "danger" | "primary">;
    variant: import("vue").PropType<ButtonVariantType>;
}>> & Readonly<{}>, {
    block: boolean;
    disabled: boolean;
    autoInsertSpace: boolean;
    loading: boolean | {
        delay?: number;
        icon?: VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>;
    };
    danger: boolean;
    htmlType: import("./buttonTypes").ButtonHTMLType;
    ghost: boolean;
    iconPosition: import("./buttonTypes").ButtonIconPosition;
}, CustomSlotsType<{
    icon: any;
    default: any;
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
