import { App } from 'vue';
import { ArcoOptions } from '@tuoyuan/arco/es/_utils/types';
import { default as _Button } from '@tuoyuan/arco/es/button/button';
import { default as _ButtonGroup } from '@tuoyuan/arco/es/button/button-group';
import { default as _ButtonStorage } from './button-storage.vue';
export declare const Button: {
    new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
        type?: unknown;
        shape?: unknown;
        status?: unknown;
        size?: unknown;
        long?: unknown;
        loading?: unknown;
        disabled?: unknown;
        htmlType?: unknown;
        autofocus?: unknown;
        href?: unknown;
    } & {
        disabled: boolean;
        autofocus: boolean;
        loading: boolean;
        long: boolean;
        htmlType: string;
    } & {
        type?: "dashed" | "text" | "outline" | "primary" | "secondary" | undefined;
        size?: "mini" | "medium" | "large" | "small" | undefined;
        href?: string | undefined;
        shape?: "round" | "circle" | "square" | undefined;
        status?: "normal" | "success" | "warning" | "danger" | undefined;
    }> & {
        onClick?: ((ev: MouseEvent) => any) | undefined;
    }, {
        prefixCls: string;
        cls: import('vue').ComputedRef<(string | {
            [x: string]: boolean;
        })[]>;
        mergedDisabled: import('vue').ComputedRef<boolean>;
        handleClick: (ev: MouseEvent) => void;
    }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
        click: (ev: MouseEvent) => true;
    }, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & Readonly<{
        type?: unknown;
        shape?: unknown;
        status?: unknown;
        size?: unknown;
        long?: unknown;
        loading?: unknown;
        disabled?: unknown;
        htmlType?: unknown;
        autofocus?: unknown;
        href?: unknown;
    } & {
        disabled: boolean;
        autofocus: boolean;
        loading: boolean;
        long: boolean;
        htmlType: string;
    } & {
        type?: "dashed" | "text" | "outline" | "primary" | "secondary" | undefined;
        size?: "mini" | "medium" | "large" | "small" | undefined;
        href?: string | undefined;
        shape?: "round" | "circle" | "square" | undefined;
        status?: "normal" | "success" | "warning" | "danger" | undefined;
    }> & {
        onClick?: ((ev: MouseEvent) => any) | undefined;
    }, {
        disabled: boolean;
        autofocus: boolean;
        loading: boolean;
        long: boolean;
        htmlType: string;
    }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<{
        type?: unknown;
        shape?: unknown;
        status?: unknown;
        size?: unknown;
        long?: unknown;
        loading?: unknown;
        disabled?: unknown;
        htmlType?: unknown;
        autofocus?: unknown;
        href?: unknown;
    } & {
        disabled: boolean;
        autofocus: boolean;
        loading: boolean;
        long: boolean;
        htmlType: string;
    } & {
        type?: "dashed" | "text" | "outline" | "primary" | "secondary" | undefined;
        size?: "mini" | "medium" | "large" | "small" | undefined;
        href?: string | undefined;
        shape?: "round" | "circle" | "square" | undefined;
        status?: "normal" | "success" | "warning" | "danger" | undefined;
    }> & {
        onClick?: ((ev: MouseEvent) => any) | undefined;
    }, {
        prefixCls: string;
        cls: import('vue').ComputedRef<(string | {
            [x: string]: boolean;
        })[]>;
        mergedDisabled: import('vue').ComputedRef<boolean>;
        handleClick: (ev: MouseEvent) => void;
    }, {}, {}, {}, {
        disabled: boolean;
        autofocus: boolean;
        loading: boolean;
        long: boolean;
        htmlType: string;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import('vue').ComponentOptionsBase<Readonly<{
    type?: unknown;
    shape?: unknown;
    status?: unknown;
    size?: unknown;
    long?: unknown;
    loading?: unknown;
    disabled?: unknown;
    htmlType?: unknown;
    autofocus?: unknown;
    href?: unknown;
} & {
    disabled: boolean;
    autofocus: boolean;
    loading: boolean;
    long: boolean;
    htmlType: string;
} & {
    type?: "dashed" | "text" | "outline" | "primary" | "secondary" | undefined;
    size?: "mini" | "medium" | "large" | "small" | undefined;
    href?: string | undefined;
    shape?: "round" | "circle" | "square" | undefined;
    status?: "normal" | "success" | "warning" | "danger" | undefined;
}> & {
    onClick?: ((ev: MouseEvent) => any) | undefined;
}, {
    prefixCls: string;
    cls: import('vue').ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    mergedDisabled: import('vue').ComputedRef<boolean>;
    handleClick: (ev: MouseEvent) => void;
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    click: (ev: MouseEvent) => true;
}, string, {
    disabled: boolean;
    autofocus: boolean;
    loading: boolean;
    long: boolean;
    htmlType: string;
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
    Group: import('vue').DefineComponent<{
        type: {
            type: import('vue').PropType<"dashed" | "text" | "outline" | "primary" | "secondary">;
        };
        status: {
            type: import('vue').PropType<"normal" | "success" | "warning" | "danger">;
        };
        shape: {
            type: import('vue').PropType<"round" | "circle" | "square">;
        };
        size: {
            type: import('vue').PropType<"mini" | "medium" | "large" | "small">;
        };
        disabled: {
            type: BooleanConstructor;
        };
    }, {
        prefixCls: string;
    }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, string, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, Readonly<{
        type?: unknown;
        status?: unknown;
        shape?: unknown;
        size?: unknown;
        disabled?: unknown;
    } & {
        disabled: boolean;
    } & {
        type?: "dashed" | "text" | "outline" | "primary" | "secondary" | undefined;
        size?: "mini" | "medium" | "large" | "small" | undefined;
        shape?: "round" | "circle" | "square" | undefined;
        status?: "normal" | "success" | "warning" | "danger" | undefined;
    }>, {
        disabled: boolean;
    }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
    Storage: {
        new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
            limit: {
                type: NumberConstructor;
                default: number;
            };
            trigger: {
                type: import('vue').PropType<import('@tuoyuan/arco').TriggerEvent | import('@tuoyuan/arco').TriggerEvent[]>;
                default: string;
            };
            hideOnClick: {
                type: BooleanConstructor;
                default: boolean;
            };
            moreText: {
                type: StringConstructor;
                default: string;
            };
            moreType: {
                type: import('vue').PropType<import('@tuoyuan/arco/es/button/constants').ButtonTypes>;
                default: string;
            };
            moreStatus: {
                type: import('vue').PropType<"normal" | "warning" | "success" | "danger">;
                default: string;
            };
        }>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & Readonly<import('vue').ExtractPropTypes<{
            limit: {
                type: NumberConstructor;
                default: number;
            };
            trigger: {
                type: import('vue').PropType<import('@tuoyuan/arco').TriggerEvent | import('@tuoyuan/arco').TriggerEvent[]>;
                default: string;
            };
            hideOnClick: {
                type: BooleanConstructor;
                default: boolean;
            };
            moreText: {
                type: StringConstructor;
                default: string;
            };
            moreType: {
                type: import('vue').PropType<import('@tuoyuan/arco/es/button/constants').ButtonTypes>;
                default: string;
            };
            moreStatus: {
                type: import('vue').PropType<"normal" | "warning" | "success" | "danger">;
                default: string;
            };
        }>> & Readonly<{}>, {
            trigger: "hover" | "click" | "focus" | "contextMenu" | ("hover" | "click" | "focus" | "contextMenu")[];
            limit: number;
            hideOnClick: boolean;
            moreText: string;
            moreType: "text" | "primary" | "secondary" | "outline" | "dashed";
            moreStatus: "normal" | "success" | "warning" | "danger";
        }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import('vue').ExtractPropTypes<{
            limit: {
                type: NumberConstructor;
                default: number;
            };
            trigger: {
                type: import('vue').PropType<import('@tuoyuan/arco').TriggerEvent | import('@tuoyuan/arco').TriggerEvent[]>;
                default: string;
            };
            hideOnClick: {
                type: BooleanConstructor;
                default: boolean;
            };
            moreText: {
                type: StringConstructor;
                default: string;
            };
            moreType: {
                type: import('vue').PropType<import('@tuoyuan/arco/es/button/constants').ButtonTypes>;
                default: string;
            };
            moreStatus: {
                type: import('vue').PropType<"normal" | "warning" | "success" | "danger">;
                default: string;
            };
        }>> & Readonly<{}>, {}, {}, {}, {}, {
            trigger: "hover" | "click" | "focus" | "contextMenu" | ("hover" | "click" | "focus" | "contextMenu")[];
            limit: number;
            hideOnClick: boolean;
            moreText: string;
            moreType: "text" | "primary" | "secondary" | "outline" | "dashed";
            moreStatus: "normal" | "success" | "warning" | "danger";
        }>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
        limit: {
            type: NumberConstructor;
            default: number;
        };
        trigger: {
            type: import('vue').PropType<import('@tuoyuan/arco').TriggerEvent | import('@tuoyuan/arco').TriggerEvent[]>;
            default: string;
        };
        hideOnClick: {
            type: BooleanConstructor;
            default: boolean;
        };
        moreText: {
            type: StringConstructor;
            default: string;
        };
        moreType: {
            type: import('vue').PropType<import('@tuoyuan/arco/es/button/constants').ButtonTypes>;
            default: string;
        };
        moreStatus: {
            type: import('vue').PropType<"normal" | "warning" | "success" | "danger">;
            default: string;
        };
    }>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
        trigger: "hover" | "click" | "focus" | "contextMenu" | ("hover" | "click" | "focus" | "contextMenu")[];
        limit: number;
        hideOnClick: boolean;
        moreText: string;
        moreType: "text" | "primary" | "secondary" | "outline" | "dashed";
        moreStatus: "normal" | "success" | "warning" | "danger";
    }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
        $slots: Readonly<Record<string, any>> & Record<string, any>;
    });
    install: (app: App, options?: ArcoOptions) => void;
};
export type ButtonInstance = InstanceType<typeof _Button>;
export type ButtonGroupInstance = InstanceType<typeof _ButtonGroup>;
export type ButtonStorageInstance = InstanceType<typeof _ButtonStorage>;
export type { ButtonProps } from '@tuoyuan/arco/es/button/interface';
export default Button;
export { _ButtonGroup as ButtonGroup, _ButtonStorage as ButtonStorage };
