import { App } from 'vue';
import { useMessage } from './use-message';
declare const OMessage: {
    new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        defaultVisible: {
            type: BooleanConstructor;
            default: boolean;
        };
        status: {
            type: import('vue').PropType<import('./types').MessageStatusT>;
            default: string;
        };
        colorful: {
            type: BooleanConstructor;
            default: boolean;
        };
        duration: {
            type: NumberConstructor;
        };
        closable: {
            type: BooleanConstructor;
            default: boolean;
        };
        beforeClose: {
            type: import('vue').PropType<() => Promise<boolean> | boolean>;
        };
        title: {
            type: StringConstructor;
        };
    }>> & Readonly<{
        onClose?: ((ev?: MouseEvent | undefined) => any) | undefined;
        "onUpdate:visible"?: ((val: boolean) => any) | undefined;
        "onDuration-end"?: (() => any) | undefined;
    }>, {
        close: (ev?: MouseEvent) => Promise<void>;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
        close: (ev?: MouseEvent | undefined) => any;
        "update:visible": (val: boolean) => any;
        "duration-end": () => any;
    }, import('vue').PublicProps, {
        visible: boolean;
        colorful: boolean;
        defaultVisible: boolean;
        status: "success" | "warning" | "danger" | "loading" | "info";
        closable: boolean;
    }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import('vue').ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        defaultVisible: {
            type: BooleanConstructor;
            default: boolean;
        };
        status: {
            type: import('vue').PropType<import('./types').MessageStatusT>;
            default: string;
        };
        colorful: {
            type: BooleanConstructor;
            default: boolean;
        };
        duration: {
            type: NumberConstructor;
        };
        closable: {
            type: BooleanConstructor;
            default: boolean;
        };
        beforeClose: {
            type: import('vue').PropType<() => Promise<boolean> | boolean>;
        };
        title: {
            type: StringConstructor;
        };
    }>> & Readonly<{
        onClose?: ((ev?: MouseEvent | undefined) => any) | undefined;
        "onUpdate:visible"?: ((val: boolean) => any) | undefined;
        "onDuration-end"?: (() => any) | undefined;
    }>, {
        close: (ev?: MouseEvent) => Promise<void>;
    }, {}, {}, {}, {
        visible: boolean;
        colorful: boolean;
        defaultVisible: boolean;
        status: "success" | "warning" | "danger" | "loading" | "info";
        closable: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    defaultVisible: {
        type: BooleanConstructor;
        default: boolean;
    };
    status: {
        type: import('vue').PropType<import('./types').MessageStatusT>;
        default: string;
    };
    colorful: {
        type: BooleanConstructor;
        default: boolean;
    };
    duration: {
        type: NumberConstructor;
    };
    closable: {
        type: BooleanConstructor;
        default: boolean;
    };
    beforeClose: {
        type: import('vue').PropType<() => Promise<boolean> | boolean>;
    };
    title: {
        type: StringConstructor;
    };
}>> & Readonly<{
    onClose?: ((ev?: MouseEvent | undefined) => any) | undefined;
    "onUpdate:visible"?: ((val: boolean) => any) | undefined;
    "onDuration-end"?: (() => any) | undefined;
}>, {
    close: (ev?: MouseEvent) => Promise<void>;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    close: (ev?: MouseEvent | undefined) => any;
    "update:visible": (val: boolean) => any;
    "duration-end": () => any;
}, string, {
    visible: boolean;
    colorful: boolean;
    defaultVisible: boolean;
    status: "success" | "warning" | "danger" | "loading" | "info";
    closable: 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;
        title?(_: {}): any;
        default?(_: {}): any;
    };
}) & {
    install(app: App): void;
};
export { OMessage, useMessage };
export * from './types';
