import { App } from 'vue';
declare const OButton: {
    new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
        color: {
            type: import('vue').PropType<import('..').ColorT>;
            default: string;
        };
        variant: {
            type: import('vue').PropType<import('..').VariantT>;
            default: string;
        };
        size: {
            type: import('vue').PropType<import('./types').ButtonSizeT>;
        };
        round: {
            type: import('vue').PropType<import('..').RoundT>;
        };
        loading: {
            type: BooleanConstructor;
        };
        disabled: {
            type: BooleanConstructor;
        };
        href: {
            type: StringConstructor;
        };
        icon: {
            type: import('vue').PropType<import('vue').Component>;
        };
        tag: {
            type: StringConstructor;
            default: string;
        };
    }>> & Readonly<{
        onClick?: ((evt: MouseEvent) => any) | undefined;
    }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
        click: (evt: MouseEvent) => any;
    }, import('vue').PublicProps, {
        color: "normal" | "primary" | "success" | "warning" | "danger";
        disabled: boolean;
        tag: string;
        variant: "solid" | "outline" | "text";
        loading: boolean;
    }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import('vue').ExtractPropTypes<{
        color: {
            type: import('vue').PropType<import('..').ColorT>;
            default: string;
        };
        variant: {
            type: import('vue').PropType<import('..').VariantT>;
            default: string;
        };
        size: {
            type: import('vue').PropType<import('./types').ButtonSizeT>;
        };
        round: {
            type: import('vue').PropType<import('..').RoundT>;
        };
        loading: {
            type: BooleanConstructor;
        };
        disabled: {
            type: BooleanConstructor;
        };
        href: {
            type: StringConstructor;
        };
        icon: {
            type: import('vue').PropType<import('vue').Component>;
        };
        tag: {
            type: StringConstructor;
            default: string;
        };
    }>> & Readonly<{
        onClick?: ((evt: MouseEvent) => any) | undefined;
    }>, {}, {}, {}, {}, {
        color: "normal" | "primary" | "success" | "warning" | "danger";
        disabled: boolean;
        tag: string;
        variant: "solid" | "outline" | "text";
        loading: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
    color: {
        type: import('vue').PropType<import('..').ColorT>;
        default: string;
    };
    variant: {
        type: import('vue').PropType<import('..').VariantT>;
        default: string;
    };
    size: {
        type: import('vue').PropType<import('./types').ButtonSizeT>;
    };
    round: {
        type: import('vue').PropType<import('..').RoundT>;
    };
    loading: {
        type: BooleanConstructor;
    };
    disabled: {
        type: BooleanConstructor;
    };
    href: {
        type: StringConstructor;
    };
    icon: {
        type: import('vue').PropType<import('vue').Component>;
    };
    tag: {
        type: StringConstructor;
        default: string;
    };
}>> & Readonly<{
    onClick?: ((evt: MouseEvent) => any) | undefined;
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    click: (evt: MouseEvent) => any;
}, string, {
    color: "normal" | "primary" | "success" | "warning" | "danger";
    disabled: boolean;
    tag: string;
    variant: "solid" | "outline" | "text";
    loading: boolean;
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
    $slots: {
        icon?(_: {}): any;
        default?(_: {}): any;
        suffix?(_: {}): any;
    };
}) & {
    install(app: App): void;
};
export { OButton };
export * from './types';
