import './style';
import { TdButtonProps } from './type';
export * from './type';
export type ButtonProps = TdButtonProps;
export declare const Button: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        block: BooleanConstructor;
        content: {
            type: import("vue").PropType<TdButtonProps['content']>;
        };
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        ghost: BooleanConstructor;
        icon: {
            type: import("vue").PropType<TdButtonProps['icon']>;
        };
        loading: BooleanConstructor;
        loadingProps: {
            type: import("vue").PropType<TdButtonProps['loadingProps']>;
        };
        shape: {
            type: import("vue").PropType<TdButtonProps['shape']>;
            default: TdButtonProps['shape'];
            validator(val: TdButtonProps['shape']): boolean;
        };
        size: {
            type: import("vue").PropType<TdButtonProps['size']>;
            default: TdButtonProps['size'];
            validator(val: TdButtonProps['size']): boolean;
        };
        suffix: {
            type: import("vue").PropType<TdButtonProps['suffix']>;
        };
        theme: {
            type: import("vue").PropType<TdButtonProps['theme']>;
            default: TdButtonProps['theme'];
            validator(val: TdButtonProps['theme']): boolean;
        };
        type: {
            type: import("vue").PropType<TdButtonProps['type']>;
            default: TdButtonProps['type'];
            validator(val: TdButtonProps['type']): boolean;
        };
        variant: {
            type: import("vue").PropType<TdButtonProps['variant']>;
            default: TdButtonProps['variant'];
            validator(val: TdButtonProps['variant']): boolean;
        };
        onClick: import("vue").PropType<TdButtonProps['onClick']>;
    }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
        block: boolean;
        disabled: boolean;
        ghost: boolean;
        loading: boolean;
        shape: "circle" | "rectangle" | "round" | "square";
        size: "extra-small" | "large" | "medium" | "small";
        theme: "danger" | "default" | "light" | "primary";
        type: "button" | "reset" | "submit";
        variant: "base" | "dashed" | "outline" | "text";
    }, true, {}, {}, import("vue").GlobalComponents, {
        Hover: import("vue").Directive<HTMLElement, string | import("@/shared/hover").HoverBindingObject>;
    } & import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        block: BooleanConstructor;
        content: {
            type: import("vue").PropType<TdButtonProps['content']>;
        };
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        ghost: BooleanConstructor;
        icon: {
            type: import("vue").PropType<TdButtonProps['icon']>;
        };
        loading: BooleanConstructor;
        loadingProps: {
            type: import("vue").PropType<TdButtonProps['loadingProps']>;
        };
        shape: {
            type: import("vue").PropType<TdButtonProps['shape']>;
            default: TdButtonProps['shape'];
            validator(val: TdButtonProps['shape']): boolean;
        };
        size: {
            type: import("vue").PropType<TdButtonProps['size']>;
            default: TdButtonProps['size'];
            validator(val: TdButtonProps['size']): boolean;
        };
        suffix: {
            type: import("vue").PropType<TdButtonProps['suffix']>;
        };
        theme: {
            type: import("vue").PropType<TdButtonProps['theme']>;
            default: TdButtonProps['theme'];
            validator(val: TdButtonProps['theme']): boolean;
        };
        type: {
            type: import("vue").PropType<TdButtonProps['type']>;
            default: TdButtonProps['type'];
            validator(val: TdButtonProps['type']): boolean;
        };
        variant: {
            type: import("vue").PropType<TdButtonProps['variant']>;
            default: TdButtonProps['variant'];
            validator(val: TdButtonProps['variant']): boolean;
        };
        onClick: import("vue").PropType<TdButtonProps['onClick']>;
    }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
        block: boolean;
        disabled: boolean;
        ghost: boolean;
        loading: boolean;
        shape: "circle" | "rectangle" | "round" | "square";
        size: "extra-small" | "large" | "medium" | "small";
        theme: "danger" | "default" | "light" | "primary";
        type: "button" | "reset" | "submit";
        variant: "base" | "dashed" | "outline" | "text";
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    block: BooleanConstructor;
    content: {
        type: import("vue").PropType<TdButtonProps['content']>;
    };
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    ghost: BooleanConstructor;
    icon: {
        type: import("vue").PropType<TdButtonProps['icon']>;
    };
    loading: BooleanConstructor;
    loadingProps: {
        type: import("vue").PropType<TdButtonProps['loadingProps']>;
    };
    shape: {
        type: import("vue").PropType<TdButtonProps['shape']>;
        default: TdButtonProps['shape'];
        validator(val: TdButtonProps['shape']): boolean;
    };
    size: {
        type: import("vue").PropType<TdButtonProps['size']>;
        default: TdButtonProps['size'];
        validator(val: TdButtonProps['size']): boolean;
    };
    suffix: {
        type: import("vue").PropType<TdButtonProps['suffix']>;
    };
    theme: {
        type: import("vue").PropType<TdButtonProps['theme']>;
        default: TdButtonProps['theme'];
        validator(val: TdButtonProps['theme']): boolean;
    };
    type: {
        type: import("vue").PropType<TdButtonProps['type']>;
        default: TdButtonProps['type'];
        validator(val: TdButtonProps['type']): boolean;
    };
    variant: {
        type: import("vue").PropType<TdButtonProps['variant']>;
        default: TdButtonProps['variant'];
        validator(val: TdButtonProps['variant']): boolean;
    };
    onClick: import("vue").PropType<TdButtonProps['onClick']>;
}>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    block: boolean;
    disabled: boolean;
    ghost: boolean;
    loading: boolean;
    shape: "circle" | "rectangle" | "round" | "square";
    size: "extra-small" | "large" | "medium" | "small";
    theme: "danger" | "default" | "light" | "primary";
    type: "button" | "reset" | "submit";
    variant: "base" | "dashed" | "outline" | "text";
}, {}, string, {}, import("vue").GlobalComponents, {
    Hover: import("vue").Directive<HTMLElement, string | import("@/shared/hover").HoverBindingObject>;
} & import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
export default Button;
