import type { PropType, ExtractPropTypes } from 'vue';
import type { IAuth, JSXElement } from '../../_utils/types';
type IConfirm = {
    title?: string | JSXElement;
    onConfirm?: () => void;
    onCancel?: () => void;
};
export declare const _props: {
    click: {
        type: PropType<(ev: MouseEvent) => Promise<void> | void>;
    };
    shortcutKey: {
        type: StringConstructor;
    };
    authConfig: {
        type: PropType<IAuth>;
        default: () => {};
    };
    confirm: {
        type: PropType<IConfirm>;
        default: undefined;
    };
    tabindex: {
        type: NumberConstructor;
    };
    size: {
        readonly type: PropType<import("element-plus/es/utils/vue/props/types").EpPropMergeType<StringConstructor, "" | "large" | "default" | "small", never>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    disabled: import("element-plus/es/utils/vue/props/types").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
    type: import("element-plus/es/utils/vue/props/types").EpPropFinalized<StringConstructor, "" | "default" | "info" | "primary" | "success" | "warning" | "text" | "danger", unknown, "", boolean>;
    icon: {
        readonly type: PropType<import("element-plus/es/utils/vue/props/types").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>) | null)[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    nativeType: import("element-plus/es/utils/vue/props/types").EpPropFinalized<StringConstructor, "button" | "reset" | "submit", unknown, "button", boolean>;
    loading: BooleanConstructor;
    loadingIcon: import("element-plus/es/utils/vue/props/types").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>) | null)[], unknown, unknown, () => import("vue").DefineComponent<{}, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, boolean>;
    plain: import("element-plus/es/utils/vue/props/types").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
    text: import("element-plus/es/utils/vue/props/types").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
    link: BooleanConstructor;
    bg: BooleanConstructor;
    autofocus: BooleanConstructor;
    round: import("element-plus/es/utils/vue/props/types").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
    circle: BooleanConstructor;
    dashed: import("element-plus/es/utils/vue/props/types").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
    color: StringConstructor;
    dark: BooleanConstructor;
    autoInsertSpace: import("element-plus/es/utils/vue/props/types").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
    tag: import("element-plus/es/utils/vue/props/types").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>) | null)[], unknown, unknown, "button", boolean>;
};
export declare const _emits: {
    click: (ev: MouseEvent) => boolean;
};
export type ButtonProps = ExtractPropTypes<typeof _props>;
export type ButtonEmits = typeof _emits;
export {};
