import { type ButtonPropTypes } from './button';
import ButtonGroup from './button-group';
declare const BkButton: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        theme: import("vue-types").VueTypeDef<"danger" | "primary" | "success" | "warning">;
        hoverTheme: import("vue-types").VueTypeDef<"danger" | "primary" | "success" | "warning">;
        size: {
            type: import("vue").PropType<import("../shared").ElementType<readonly ["", "small", "large"]>>;
            default: "";
        };
        title: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
            default: string;
        };
        icon: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
            default: string;
        };
        iconRight: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
            default: string;
        };
        disabled: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
        loading: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
        loadingMode: {
            type: import("vue").PropType<`${import("../loading").BkLoadingMode}`>;
            default: string;
        };
        outline: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
        text: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
        selected: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
        nativeType: {
            type: ((new (...args: any[]) => "button" | "reset" | "submit") | (() => "button" | "reset" | "submit")) | ((new (...args: any[]) => "button" | "reset" | "submit") | (() => "button" | "reset" | "submit"))[];
            default: string;
        };
    }>> & Readonly<{
        onClick?: (...args: any[]) => any;
        onMouseover?: (...args: any[]) => any;
    }>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "mouseover")[], import("vue").PublicProps, {
        title: string;
        size: "" | "small" | "large";
        icon: string;
        iconRight: string;
        loadingMode: "default" | "spin";
        nativeType: "button" | "reset" | "submit";
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        theme: import("vue-types").VueTypeDef<"danger" | "primary" | "success" | "warning">;
        hoverTheme: import("vue-types").VueTypeDef<"danger" | "primary" | "success" | "warning">;
        size: {
            type: import("vue").PropType<import("../shared").ElementType<readonly ["", "small", "large"]>>;
            default: "";
        };
        title: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
            default: string;
        };
        icon: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
            default: string;
        };
        iconRight: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
            default: string;
        };
        disabled: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
        loading: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
        loadingMode: {
            type: import("vue").PropType<`${import("../loading").BkLoadingMode}`>;
            default: string;
        };
        outline: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
        text: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
        selected: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
        nativeType: {
            type: ((new (...args: any[]) => "button" | "reset" | "submit") | (() => "button" | "reset" | "submit")) | ((new (...args: any[]) => "button" | "reset" | "submit") | (() => "button" | "reset" | "submit"))[];
            default: string;
        };
    }>> & Readonly<{
        onClick?: (...args: any[]) => any;
        onMouseover?: (...args: any[]) => any;
    }>, () => JSX.Element, {}, {}, {}, {
        title: string;
        size: "" | "small" | "large";
        icon: string;
        iconRight: string;
        loadingMode: "default" | "spin";
        nativeType: "button" | "reset" | "submit";
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    theme: import("vue-types").VueTypeDef<"danger" | "primary" | "success" | "warning">;
    hoverTheme: import("vue-types").VueTypeDef<"danger" | "primary" | "success" | "warning">;
    size: {
        type: import("vue").PropType<import("../shared").ElementType<readonly ["", "small", "large"]>>;
        default: "";
    };
    title: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    };
    icon: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    };
    iconRight: import("vue-types").VueTypeValidableDef<string, import("vue-types/dist/shared/vue-types.d8e57a80").b<string>> & {
        default: string;
    };
    disabled: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
    loading: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
    loadingMode: {
        type: import("vue").PropType<`${import("../loading").BkLoadingMode}`>;
        default: string;
    };
    outline: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
    text: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
    selected: import("vue-types").VueTypeValidableDef<boolean, import("vue-types/dist/shared/vue-types.d8e57a80").b<boolean>>;
    nativeType: {
        type: ((new (...args: any[]) => "button" | "reset" | "submit") | (() => "button" | "reset" | "submit")) | ((new (...args: any[]) => "button" | "reset" | "submit") | (() => "button" | "reset" | "submit"))[];
        default: string;
    };
}>> & Readonly<{
    onClick?: (...args: any[]) => any;
    onMouseover?: (...args: any[]) => any;
}>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "mouseover")[], "click" | "mouseover", {
    title: string;
    size: "" | "small" | "large";
    icon: string;
    iconRight: string;
    loadingMode: "default" | "spin";
    nativeType: "button" | "reset" | "submit";
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (import("vue").Plugin & Readonly<{
    ButtonGroup: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        size: import("vue-types").VueTypeDef<"default" | "small" | "large" | "huge">;
    }>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        size: import("vue-types").VueTypeDef<"default" | "small" | "large" | "huge">;
    }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}>);
export default BkButton;
export { ButtonGroup as BkButtonGroup, BkButton, ButtonPropTypes };
