import { DefineComponent, ExtractPropTypes, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
declare const _default: __VLS_WithSlots< DefineComponent<ExtractPropTypes<{
    size: {
        type: StringConstructor;
        validator: (value: string) => boolean;
    };
    type: {
        type: StringConstructor;
        default: string;
        validator: (value: string) => boolean;
    };
    plain: {
        type: BooleanConstructor;
        default: boolean;
    };
    round: {
        type: BooleanConstructor;
        default: boolean;
    };
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
    circle: {
        type: BooleanConstructor;
        default: boolean;
    };
    loadingIcon: {
        type: StringConstructor;
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    iconColor: {
        type: StringConstructor;
        default: string;
    };
    nativeType: {
        type: () => "button" | "reset" | "submit" | undefined;
        default: string;
    };
}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    click: (...args: any[]) => void;
}, string, PublicProps, Readonly< ExtractPropTypes<{
    size: {
        type: StringConstructor;
        validator: (value: string) => boolean;
    };
    type: {
        type: StringConstructor;
        default: string;
        validator: (value: string) => boolean;
    };
    plain: {
        type: BooleanConstructor;
        default: boolean;
    };
    round: {
        type: BooleanConstructor;
        default: boolean;
    };
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
    circle: {
        type: BooleanConstructor;
        default: boolean;
    };
    loadingIcon: {
        type: StringConstructor;
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    iconColor: {
        type: StringConstructor;
        default: string;
    };
    nativeType: {
        type: () => "button" | "reset" | "submit" | undefined;
        default: string;
    };
}>> & Readonly<{
    onClick?: ((...args: any[]) => any) | undefined;
}>, {
    type: string;
    plain: boolean;
    circle: boolean;
    round: boolean;
    loading: boolean;
    loadingIcon: string;
    disabled: boolean;
    iconColor: string;
    nativeType: "button" | "reset" | "submit" | undefined;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
    default?: ((props: {}) => any) | undefined;
}>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
