import type { ButtonProps } from './button';
declare var __VLS_11: {}, __VLS_33: {}, __VLS_35: {};
type __VLS_Slots = {} & {
    loading?: (props: typeof __VLS_11) => any;
} & {
    icon?: (props: typeof __VLS_33) => any;
} & {
    default?: (props: typeof __VLS_35) => any;
};
declare const __VLS_base: import("vue").DefineComponent<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<ButtonProps>, {
    disabled: undefined;
    type: string;
    nativeType: string;
    loadingIcon: any;
    plain: undefined;
    text: undefined;
    round: undefined;
    dashed: undefined;
    autoInsertSpace: undefined;
    tag: string;
}>, {
    /** @description button html element */
    ref: import("vue").Ref<HTMLButtonElement | undefined>;
    /** @description button size */
    size: import("vue").ComputedRef<"" | "small" | "default" | "large">;
    /** @description button type */
    type: import("vue").ComputedRef<"text" | "" | "default" | "primary" | "success" | "warning" | "info" | "danger">;
    /** @description button disabled */
    disabled: import("vue").ComputedRef<boolean>;
    /** @description whether adding space */
    shouldAddSpace: import("vue").ComputedRef<boolean>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    click: (evt: MouseEvent) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<ButtonProps>, {
    disabled: undefined;
    type: string;
    nativeType: string;
    loadingIcon: any;
    plain: undefined;
    text: undefined;
    round: undefined;
    dashed: undefined;
    autoInsertSpace: undefined;
    tag: string;
}>>> & {
    onClick?: ((evt: MouseEvent) => any) | undefined;
}, {
    text: boolean;
    disabled: boolean;
    round: boolean;
    dashed: boolean;
    type: import("./button").ButtonType;
    tag: string | import("vue").Component;
    plain: boolean;
    autoInsertSpace: boolean;
    nativeType: import("./button").ButtonNativeType;
    loadingIcon: import("element-plus/es/utils").IconPropType;
}, {}>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_TypePropsToOption<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<Required<T>[K]>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaultsLocal<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
type __VLS_PrettifyLocal<T> = {
    [K in keyof T as K]: T[K];
} & {};
