import './style';
import { TdButtonProps } from './type';
export * from './type';
export declare type ButtonProps = TdButtonProps;
export declare const Button: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            type: "button" | "reset" | "submit";
            theme: "default" | "light" | "primary" | "danger";
            loading: boolean;
            size: "small" | "medium" | "large" | "extra-small";
            disabled: boolean;
            block: boolean;
            shape: "circle" | "round" | "square" | "rectangle";
            variant: "base" | "text" | "dashed" | "outline";
            ghost: boolean;
        }> & Omit<{
            readonly type: "button" | "reset" | "submit";
            readonly theme: "default" | "light" | "primary" | "danger";
            readonly loading: boolean;
            readonly size: "small" | "medium" | "large" | "extra-small";
            readonly block: boolean;
            readonly shape: "circle" | "round" | "square" | "rectangle";
            readonly variant: "base" | "text" | "dashed" | "outline";
            readonly ghost: boolean;
            readonly onClick?: (e: MouseEvent) => void;
            readonly content?: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            readonly disabled?: boolean;
            readonly icon?: (h: typeof import("vue").h) => import("..").SlotReturnValue;
            readonly loadingProps?: unknown;
            readonly suffix?: (h: typeof import("vue").h) => import("..").SlotReturnValue;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
            block: BooleanConstructor;
            content: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            disabled: {
                type: BooleanConstructor;
                default: any;
            };
            ghost: BooleanConstructor;
            icon: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            loading: BooleanConstructor;
            loadingProps: {
                type: import("vue").PropType<import("..").TdLoadingProps>;
            };
            shape: {
                type: import("vue").PropType<"circle" | "round" | "square" | "rectangle">;
                default: "circle" | "round" | "square" | "rectangle";
                validator(val: "circle" | "round" | "square" | "rectangle"): boolean;
            };
            size: {
                type: import("vue").PropType<"small" | "medium" | "large" | "extra-small">;
                default: "small" | "medium" | "large" | "extra-small";
                validator(val: "small" | "medium" | "large" | "extra-small"): boolean;
            };
            suffix: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            theme: {
                type: import("vue").PropType<"default" | "light" | "primary" | "danger">;
                default: "default" | "light" | "primary" | "danger";
                validator(val: "default" | "light" | "primary" | "danger"): 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" | "text" | "dashed" | "outline">;
                default: "base" | "text" | "dashed" | "outline";
                validator(val: "base" | "text" | "dashed" | "outline"): boolean;
            };
            onClick: import("vue").PropType<(e: MouseEvent) => void>;
        }>>, "type" | "theme" | "loading" | "size" | "disabled" | "block" | "shape" | "variant" | "ghost">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any>;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            block: BooleanConstructor;
            content: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            disabled: {
                type: BooleanConstructor;
                default: any;
            };
            ghost: BooleanConstructor;
            icon: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            loading: BooleanConstructor;
            loadingProps: {
                type: import("vue").PropType<import("..").TdLoadingProps>;
            };
            shape: {
                type: import("vue").PropType<"circle" | "round" | "square" | "rectangle">;
                default: "circle" | "round" | "square" | "rectangle";
                validator(val: "circle" | "round" | "square" | "rectangle"): boolean;
            };
            size: {
                type: import("vue").PropType<"small" | "medium" | "large" | "extra-small">;
                default: "small" | "medium" | "large" | "extra-small";
                validator(val: "small" | "medium" | "large" | "extra-small"): boolean;
            };
            suffix: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            theme: {
                type: import("vue").PropType<"default" | "light" | "primary" | "danger">;
                default: "default" | "light" | "primary" | "danger";
                validator(val: "default" | "light" | "primary" | "danger"): 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" | "text" | "dashed" | "outline">;
                default: "base" | "text" | "dashed" | "outline";
                validator(val: "base" | "text" | "dashed" | "outline"): boolean;
            };
            onClick: import("vue").PropType<(e: MouseEvent) => void>;
        }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            type: "button" | "reset" | "submit";
            theme: "default" | "light" | "primary" | "danger";
            loading: boolean;
            size: "small" | "medium" | "large" | "extra-small";
            disabled: boolean;
            block: boolean;
            shape: "circle" | "round" | "square" | "rectangle";
            variant: "base" | "text" | "dashed" | "outline";
            ghost: boolean;
        }, {}, string, {}> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        block: BooleanConstructor;
        content: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        ghost: BooleanConstructor;
        icon: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
        };
        loading: BooleanConstructor;
        loadingProps: {
            type: import("vue").PropType<import("..").TdLoadingProps>;
        };
        shape: {
            type: import("vue").PropType<"circle" | "round" | "square" | "rectangle">;
            default: "circle" | "round" | "square" | "rectangle";
            validator(val: "circle" | "round" | "square" | "rectangle"): boolean;
        };
        size: {
            type: import("vue").PropType<"small" | "medium" | "large" | "extra-small">;
            default: "small" | "medium" | "large" | "extra-small";
            validator(val: "small" | "medium" | "large" | "extra-small"): boolean;
        };
        suffix: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
        };
        theme: {
            type: import("vue").PropType<"default" | "light" | "primary" | "danger">;
            default: "default" | "light" | "primary" | "danger";
            validator(val: "default" | "light" | "primary" | "danger"): 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" | "text" | "dashed" | "outline">;
            default: "base" | "text" | "dashed" | "outline";
            validator(val: "base" | "text" | "dashed" | "outline"): boolean;
        };
        onClick: import("vue").PropType<(e: MouseEvent) => void>;
    }>> & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & import("@vue/runtime-dom").ComponentCustomProperties & {};
    __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("..").SlotReturnValue)>;
    };
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    ghost: BooleanConstructor;
    icon: {
        type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
    };
    loading: BooleanConstructor;
    loadingProps: {
        type: import("vue").PropType<import("..").TdLoadingProps>;
    };
    shape: {
        type: import("vue").PropType<"circle" | "round" | "square" | "rectangle">;
        default: "circle" | "round" | "square" | "rectangle";
        validator(val: "circle" | "round" | "square" | "rectangle"): boolean;
    };
    size: {
        type: import("vue").PropType<"small" | "medium" | "large" | "extra-small">;
        default: "small" | "medium" | "large" | "extra-small";
        validator(val: "small" | "medium" | "large" | "extra-small"): boolean;
    };
    suffix: {
        type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<"default" | "light" | "primary" | "danger">;
        default: "default" | "light" | "primary" | "danger";
        validator(val: "default" | "light" | "primary" | "danger"): 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" | "text" | "dashed" | "outline">;
        default: "base" | "text" | "dashed" | "outline";
        validator(val: "base" | "text" | "dashed" | "outline"): boolean;
    };
    onClick: import("vue").PropType<(e: MouseEvent) => void>;
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    type: "button" | "reset" | "submit";
    theme: "default" | "light" | "primary" | "danger";
    loading: boolean;
    size: "small" | "medium" | "large" | "extra-small";
    disabled: boolean;
    block: boolean;
    shape: "circle" | "round" | "square" | "rectangle";
    variant: "base" | "text" | "dashed" | "outline";
    ghost: boolean;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin<any[]>;
export default Button;
