import { App } from 'vue';
import { useToast } from './use-toast';
declare const OToast: {
    new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
        readonly visible: {
            readonly type: BooleanConstructor;
            readonly default: undefined;
        };
        readonly defaultVisible: {
            readonly type: BooleanConstructor;
            readonly default: true;
        };
        readonly message: {
            readonly type: StringConstructor;
        };
        readonly duration: {
            readonly type: NumberConstructor;
        };
        readonly long: {
            readonly type: BooleanConstructor;
        };
        readonly position: {
            readonly type: import('vue').PropType<import('./types').ToastPositionT>;
            readonly default: "bottom";
        };
        readonly beforeClose: {
            readonly type: import('vue').PropType<() => Promise<boolean> | boolean>;
        };
    }>> & 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, {
        readonly position: import('./types').ToastPositionT;
        readonly visible: boolean;
        readonly defaultVisible: boolean;
        readonly long: boolean;
    }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import('vue').ExtractPropTypes<{
        readonly visible: {
            readonly type: BooleanConstructor;
            readonly default: undefined;
        };
        readonly defaultVisible: {
            readonly type: BooleanConstructor;
            readonly default: true;
        };
        readonly message: {
            readonly type: StringConstructor;
        };
        readonly duration: {
            readonly type: NumberConstructor;
        };
        readonly long: {
            readonly type: BooleanConstructor;
        };
        readonly position: {
            readonly type: import('vue').PropType<import('./types').ToastPositionT>;
            readonly default: "bottom";
        };
        readonly beforeClose: {
            readonly type: import('vue').PropType<() => Promise<boolean> | boolean>;
        };
    }>> & Readonly<{
        onClose?: ((ev?: MouseEvent | undefined) => any) | undefined;
        "onUpdate:visible"?: ((val: boolean) => any) | undefined;
        "onDuration-end"?: (() => any) | undefined;
    }>, {
        close: (ev: MouseEvent) => Promise<void>;
    }, {}, {}, {}, {
        readonly position: import('./types').ToastPositionT;
        readonly visible: boolean;
        readonly defaultVisible: boolean;
        readonly long: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
    readonly visible: {
        readonly type: BooleanConstructor;
        readonly default: undefined;
    };
    readonly defaultVisible: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly message: {
        readonly type: StringConstructor;
    };
    readonly duration: {
        readonly type: NumberConstructor;
    };
    readonly long: {
        readonly type: BooleanConstructor;
    };
    readonly position: {
        readonly type: import('vue').PropType<import('./types').ToastPositionT>;
        readonly default: "bottom";
    };
    readonly beforeClose: {
        readonly type: import('vue').PropType<() => Promise<boolean> | boolean>;
    };
}>> & 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, {
    readonly position: import('./types').ToastPositionT;
    readonly visible: boolean;
    readonly defaultVisible: boolean;
    readonly long: boolean;
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
    $slots: {
        default?(_: {}): any;
    };
}) & {
    install(app: App): void;
};
export { OToast, useToast };
export * from './types';
