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<string | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
        };
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        ghost: BooleanConstructor;
        icon: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("@/common").SlotReturnValue>;
        };
        loading: BooleanConstructor;
        loadingProps: {
            type: import("vue").PropType<import("@/loading").TdLoadingProps>;
        };
        shape: {
            type: import("vue").PropType<"circle" | "rectangle" | "round" | "square">;
            default: "circle" | "rectangle" | "round" | "square";
            validator(val: "circle" | "rectangle" | "round" | "square"): boolean;
        };
        size: {
            type: import("vue").PropType<"extra-small" | "large" | "medium" | "small">;
            default: "extra-small" | "large" | "medium" | "small";
            validator(val: "extra-small" | "large" | "medium" | "small"): boolean;
        };
        suffix: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("@/common").SlotReturnValue>;
        };
        theme: {
            type: import("vue").PropType<"danger" | "default" | "light" | "primary">;
            default: "danger" | "default" | "light" | "primary";
            validator(val: "danger" | "default" | "light" | "primary"): boolean;
        };
        type: {
            type: import("vue").PropType<"button" | "reset" | "submit">;
            default: "button" | "reset" | "submit";
            validator(val: "button" | "reset" | "submit"): boolean;
        };
        variant: {
            type: import("vue").PropType<"base" | "dashed" | "outline" | "text">;
            default: "base" | "dashed" | "outline" | "text";
            validator(val: "base" | "dashed" | "outline" | "text"): boolean;
        };
        onClick: import("vue").PropType<(e: MouseEvent) => void>;
    }>> & 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<string | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
        };
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        ghost: BooleanConstructor;
        icon: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("@/common").SlotReturnValue>;
        };
        loading: BooleanConstructor;
        loadingProps: {
            type: import("vue").PropType<import("@/loading").TdLoadingProps>;
        };
        shape: {
            type: import("vue").PropType<"circle" | "rectangle" | "round" | "square">;
            default: "circle" | "rectangle" | "round" | "square";
            validator(val: "circle" | "rectangle" | "round" | "square"): boolean;
        };
        size: {
            type: import("vue").PropType<"extra-small" | "large" | "medium" | "small">;
            default: "extra-small" | "large" | "medium" | "small";
            validator(val: "extra-small" | "large" | "medium" | "small"): boolean;
        };
        suffix: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("@/common").SlotReturnValue>;
        };
        theme: {
            type: import("vue").PropType<"danger" | "default" | "light" | "primary">;
            default: "danger" | "default" | "light" | "primary";
            validator(val: "danger" | "default" | "light" | "primary"): boolean;
        };
        type: {
            type: import("vue").PropType<"button" | "reset" | "submit">;
            default: "button" | "reset" | "submit";
            validator(val: "button" | "reset" | "submit"): boolean;
        };
        variant: {
            type: import("vue").PropType<"base" | "dashed" | "outline" | "text">;
            default: "base" | "dashed" | "outline" | "text";
            validator(val: "base" | "dashed" | "outline" | "text"): boolean;
        };
        onClick: import("vue").PropType<(e: MouseEvent) => void>;
    }>> & 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<string | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
    };
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    ghost: BooleanConstructor;
    icon: {
        type: import("vue").PropType<(h: typeof import("vue").h) => import("@/common").SlotReturnValue>;
    };
    loading: BooleanConstructor;
    loadingProps: {
        type: import("vue").PropType<import("@/loading").TdLoadingProps>;
    };
    shape: {
        type: import("vue").PropType<"circle" | "rectangle" | "round" | "square">;
        default: "circle" | "rectangle" | "round" | "square";
        validator(val: "circle" | "rectangle" | "round" | "square"): boolean;
    };
    size: {
        type: import("vue").PropType<"extra-small" | "large" | "medium" | "small">;
        default: "extra-small" | "large" | "medium" | "small";
        validator(val: "extra-small" | "large" | "medium" | "small"): boolean;
    };
    suffix: {
        type: import("vue").PropType<(h: typeof import("vue").h) => import("@/common").SlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"danger" | "default" | "light" | "primary">;
        default: "danger" | "default" | "light" | "primary";
        validator(val: "danger" | "default" | "light" | "primary"): boolean;
    };
    type: {
        type: import("vue").PropType<"button" | "reset" | "submit">;
        default: "button" | "reset" | "submit";
        validator(val: "button" | "reset" | "submit"): boolean;
    };
    variant: {
        type: import("vue").PropType<"base" | "dashed" | "outline" | "text">;
        default: "base" | "dashed" | "outline" | "text";
        validator(val: "base" | "dashed" | "outline" | "text"): boolean;
    };
    onClick: import("vue").PropType<(e: MouseEvent) => void>;
}>> & 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;
