import { MessageCloseReason, MessageProps, MessagePlacement, MessageType, MessageContent, MessageClickHandler, MessageBeforeCloseFn, MessageLifecycleHandler } from './message.js';
import { DefineComponent, ComputedRef, Ref, ComponentOptionsMixin, PublicProps, VNodeChild, ComponentProvideOptions } from 'vue';
declare function close(reason?: MessageCloseReason): void;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        default?(_: {}): any;
    };
    refs: {
        messageRef: HTMLDivElement;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<MessageProps, {
    bottom: ComputedRef<number>;
    close: typeof close;
    visible: Ref<boolean, boolean>;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    closed: (reason: "escape" | "click" | "auto" | "manual" | "close-all" | "programmatic") => any;
    destroy: () => any;
    "close-start": (reason: "escape" | "click" | "auto" | "manual" | "close-all" | "programmatic") => any;
}, string, PublicProps, Readonly<MessageProps> & Readonly<{
    onClosed?: ((reason: "escape" | "click" | "auto" | "manual" | "close-all" | "programmatic") => any) | undefined;
    onDestroy?: (() => any) | undefined;
    "onClose-start"?: ((reason: "escape" | "click" | "auto" | "manual" | "close-all" | "programmatic") => any) | undefined;
}>, {
    id: string;
    zIndex: number;
    placement: MessagePlacement;
    offset: number;
    type: MessageType;
    message: MessageContent;
    onClick: MessageClickHandler;
    transition: string;
    icon: string;
    showIcon: boolean;
    duration: number;
    beforeClose: MessageBeforeCloseFn;
    pauseOnHover: boolean;
    pauseOnFocus: boolean;
    pauseOnPageHidden: boolean;
    groupKey: string;
    onClose: MessageLifecycleHandler;
    plain: boolean;
    customClass: string;
    render: () => VNodeChild;
    closeOnPressEscape: boolean;
    showClose: boolean;
    repeatNum: number;
    targetKey: string;
    dangerouslyUseHTMLString: boolean;
    closeOnClick: boolean;
    resetOnRepeat: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    messageRef: HTMLDivElement;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
