import { NotificationCloseReason, NotificationProps, NotificationType, NotificationContent } from './notification.js';
import { DefineComponent, Ref, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
declare function close(reason?: NotificationCloseReason): void;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<{
        title?: () => unknown;
        default?: () => unknown;
        actions?: () => unknown;
    }> & {
        title?: () => unknown;
        default?: () => unknown;
        actions?: () => unknown;
    };
    refs: {};
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<NotificationProps, {
    close: typeof close;
    visible: Ref<boolean, boolean>;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    close: (reason: "escape" | "auto" | "manual" | "programmatic") => any;
    click: (event: MouseEvent) => any;
    "update:modelValue": (value: boolean) => any;
    closed: (reason: "escape" | "auto" | "manual" | "programmatic") => any;
}, string, PublicProps, Readonly<NotificationProps> & Readonly<{
    onClose?: ((reason: "escape" | "auto" | "manual" | "programmatic") => any) | undefined;
    onClick?: ((event: MouseEvent) => any) | undefined;
    "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
    onClosed?: ((reason: "escape" | "auto" | "manual" | "programmatic") => any) | undefined;
}>, {
    zIndex: number;
    modelValue: boolean;
    title: string;
    type: NotificationType | "";
    message: NotificationContent;
    icon: string;
    duration: number;
    customClass: string;
    closeIcon: string;
    showClose: boolean;
    dangerouslyUseHTMLString: boolean;
    timerKey: number;
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
