import { App } from 'vue';
declare const OButton: {
    new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
        color: {
            type: import('vue').PropType<import('./types').ButtonColorT>;
            default: string;
        };
        variant: {
            type: import('vue').PropType<import('..').VariantT>;
        };
        size: {
            type: import('vue').PropType<import('..').SizeT>;
        };
        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: import('./types').ButtonColorT;
        disabled: boolean;
        tag: string;
        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('./types').ButtonColorT>;
            default: string;
        };
        variant: {
            type: import('vue').PropType<import('..').VariantT>;
        };
        size: {
            type: import('vue').PropType<import('..').SizeT>;
        };
        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: import('./types').ButtonColorT;
        disabled: boolean;
        tag: string;
        loading: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
    color: {
        type: import('vue').PropType<import('./types').ButtonColorT>;
        default: string;
    };
    variant: {
        type: import('vue').PropType<import('..').VariantT>;
    };
    size: {
        type: import('vue').PropType<import('..').SizeT>;
    };
    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: import('./types').ButtonColorT;
    disabled: boolean;
    tag: string;
    loading: boolean;
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
    $slots: Readonly<{
        default?(): any;
        icon?(): any;
        suffix?(): any;
    }> & {
        default?(): any;
        icon?(): any;
        suffix?(): any;
    };
}) & {
    install(app: App): void;
};
export { OButton };
export * from './types';
