import { PropType, ExtractPropTypes, InjectionKey, Ref } from 'vue'; import type { MergedTheme } from '../../_mixins'; import { ExtractPublicPropTypes, Mutable } from '../../_utils'; import { NotificationTheme } from '../styles'; import { notificationEnvOptions } from './NotificationEnvironment'; export declare type NotificationOptions = Partial>; export interface NotificationProviderInjection { mergedClsPrefixRef: Ref; mergedThemeRef: Ref>; } export declare const notificationProviderInjectionKey: InjectionKey; declare type Create = (options: NotificationOptions) => NotificationReactive; declare type TypedCreate = (options: Omit) => NotificationReactive; export interface NotificationApiInjection { create: Create; info: TypedCreate; success: TypedCreate; warning: TypedCreate; error: TypedCreate; /** @deprecated */ open: Create; } export declare type NotificationProviderInst = NotificationApiInjection; export declare const notificationApiInjectionKey: InjectionKey; export declare type NotificationReactive = { readonly key: string; readonly destroy: () => void; /** @deprecated */ readonly hide: () => void; /** @deprecated */ readonly deactivate: () => void; } & Mutable; interface NotificationRef { hide: () => void; } declare const notificationProviderProps: { to: PropType; scrollable: { type: BooleanConstructor; default: boolean; }; theme: PropType; }>>; themeOverrides: PropType; }>>>; builtinThemeOverrides: PropType; }>>>; }; export declare type NotificationProviderProps = ExtractPublicPropTypes; declare const _default: import("vue").DefineComponent<{ to: PropType; scrollable: { type: BooleanConstructor; default: boolean; }; theme: PropType; }>>; themeOverrides: PropType; }>>>; builtinThemeOverrides: PropType; }>>>; }, { mergedClsPrefix: import("vue").ComputedRef; notificationList: Ref<{ readonly key: string; readonly destroy: () => void; readonly hide: () => void; readonly deactivate: () => void; duration?: number | undefined; onClose?: (() => any) | undefined; onLeave?: (() => void) | undefined; onAfterEnter?: (() => void) | undefined; onAfterLeave?: (() => void) | undefined; onHide?: (() => void) | undefined; onAfterShow?: (() => void) | undefined; onAfterHide?: (() => void) | undefined; closable?: boolean | undefined; type?: "default" | "error" | "info" | "success" | "warning" | undefined; avatar?: (() => import("vue").VNodeChild) | undefined; title?: string | (() => import("vue").VNodeChild) | undefined; description?: string | (() => import("vue").VNodeChild) | undefined; content?: string | (() => import("vue").VNodeChild) | undefined; meta?: string | (() => import("vue").VNodeChild) | undefined; action?: string | (() => import("vue").VNodeChild) | undefined; }[]>; notificationRefs: Record; handleAfterLeave: (key: string) => void; } & { create: (options: NotificationOptions) => NotificationReactive; info: (options: Omit) => NotificationReactive; success: (options: Omit) => NotificationReactive; warning: (options: Omit) => NotificationReactive; error: (options: Omit) => NotificationReactive; open: (options: NotificationOptions) => NotificationReactive; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{ to?: unknown; scrollable?: unknown; theme?: unknown; themeOverrides?: unknown; builtinThemeOverrides?: unknown; } & { scrollable: boolean; } & { to?: string | HTMLElement | undefined; theme?: import("../../_mixins").Theme<"Notification", { borderRadius: string; lineHeight: string; fontSize: string; headerFontWeight: string; iconColor: string; iconColorSuccess: string; iconColorInfo: string; iconColorWarning: string; iconColorError: string; color: string; textColor: string; closeColor: string; closeColorHover: string; closeColorPressed: string; headerTextColor: string; descriptionTextColor: string; actionTextColor: string; boxShadow: string; closeMargin: string; closeSize: string; width: string; padding: string; }, { Scrollbar: import("../../_mixins").Theme<"Scrollbar", { color: string; colorHover: string; }, any>; }> | undefined; themeOverrides?: import("../../_mixins/use-theme").ExtractThemeOverrides; }>> | undefined; builtinThemeOverrides?: import("../../_mixins/use-theme").ExtractThemeOverrides; }>> | undefined; }>, { scrollable: boolean; }>; export default _default;