declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    icon: {
        type: import("vue").PropType<string>;
    };
    size: {
        type: import("vue").PropType<import("./types").ButtonSize>;
    };
    type: {
        type: import("vue").PropType<import("./types").ButtonType>;
    };
    circle: {
        type: import("vue").PropType<boolean>;
    };
    plain: {
        type: import("vue").PropType<boolean>;
    };
    round: {
        type: import("vue").PropType<boolean>;
    };
    disabled: {
        type: import("vue").PropType<boolean>;
    };
    nativeType: {
        type: import("vue").PropType<import("./types").NativeType>;
        default: string;
    };
    autofocus: {
        type: import("vue").PropType<boolean>;
    };
    loading: {
        type: import("vue").PropType<boolean>;
    };
}, {
    ref: import("vue").Ref<HTMLButtonElement | undefined>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    icon: {
        type: import("vue").PropType<string>;
    };
    size: {
        type: import("vue").PropType<import("./types").ButtonSize>;
    };
    type: {
        type: import("vue").PropType<import("./types").ButtonType>;
    };
    circle: {
        type: import("vue").PropType<boolean>;
    };
    plain: {
        type: import("vue").PropType<boolean>;
    };
    round: {
        type: import("vue").PropType<boolean>;
    };
    disabled: {
        type: import("vue").PropType<boolean>;
    };
    nativeType: {
        type: import("vue").PropType<import("./types").NativeType>;
        default: string;
    };
    autofocus: {
        type: import("vue").PropType<boolean>;
    };
    loading: {
        type: import("vue").PropType<boolean>;
    };
}>>, {
    nativeType: import("./types").NativeType;
}, {}>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
