import { type PropType, type ExtractPropTypes, type Ref, type CSSProperties } from 'vue'; import type { MergedTheme } from '../../_mixins'; import { type ExtractPublicPropTypes, type Mutable } from '../../_utils'; import { type NotificationTheme } from '../styles'; import type { NotificationOptions } from './NotificationEnvironment'; export type NotificationPlacement = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'top' | 'bottom'; export interface NotificationProviderInjection { props: ExtractPropTypes; mergedClsPrefixRef: Ref; mergedThemeRef: Ref>; wipTransitionCountRef: Ref; } type Create = (options: NotificationOptions) => NotificationReactive; type TypedCreate = (options: Omit) => NotificationReactive; export interface NotificationApiInjection { create: Create; info: TypedCreate; success: TypedCreate; warning: TypedCreate; error: TypedCreate; /** @deprecated */ open: Create; destroyAll: () => void; } export type NotificationProviderInst = NotificationApiInjection; export declare const notificationApiInjectionKey: import("vue").InjectionKey; export type NotificationType = 'info' | 'success' | 'warning' | 'error'; export type NotificationReactive = { readonly key: string; readonly destroy: () => void; /** @deprecated */ readonly hide: () => void; /** @deprecated */ readonly deactivate: () => void; } & Mutable; interface NotificationRef { hide: () => void; } export declare const notificationProviderProps: { containerClass: StringConstructor; containerStyle: PropType; to: PropType; scrollable: { type: BooleanConstructor; default: boolean; }; max: NumberConstructor; placement: { type: PropType; default: string; }; keepAliveOnHover: BooleanConstructor; theme: PropType; }>>; themeOverrides: PropType; }>>>; builtinThemeOverrides: PropType; }>>>; }; export type NotificationProviderProps = ExtractPublicPropTypes; declare const _default: import("vue").DefineComponent<{ containerClass: StringConstructor; containerStyle: PropType; to: PropType; scrollable: { type: BooleanConstructor; default: boolean; }; max: NumberConstructor; placement: { type: PropType; default: string; }; keepAliveOnHover: BooleanConstructor; theme: PropType; }>>; themeOverrides: PropType; }>>>; builtinThemeOverrides: PropType; }>>>; }, { mergedClsPrefix: Ref; notificationList: Ref<{ readonly key: string; readonly destroy: () => void; readonly hide: () => void; readonly deactivate: () => void; type?: "default" | "error" | "info" | "success" | "warning" | undefined; closable?: boolean | undefined; keepAliveOnHover?: boolean | undefined; meta?: string | (() => import("vue").VNodeChild) | undefined; content?: string | (() => import("vue").VNodeChild) | undefined; description?: string | (() => import("vue").VNodeChild) | undefined; duration?: number | undefined; onAfterEnter?: (() => void) | undefined; onLeave?: (() => void) | undefined; onAfterLeave?: (() => void) | undefined; onMouseenter?: ((e: MouseEvent) => void) | undefined; onMouseleave?: ((e: MouseEvent) => void) | undefined; title?: string | (() => import("vue").VNodeChild) | undefined; action?: string | (() => import("vue").VNodeChild) | undefined; avatar?: (() => import("vue").VNodeChild) | undefined; onClose?: (() => any) | undefined; onHide?: (() => void) | undefined; onAfterHide?: (() => void) | undefined; onAfterShow?: (() => void) | 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; destroyAll: () => void; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; to: PropType; scrollable: { type: BooleanConstructor; default: boolean; }; max: NumberConstructor; placement: { type: PropType; default: string; }; keepAliveOnHover: BooleanConstructor; theme: PropType; }>>; themeOverrides: PropType; }>>>; builtinThemeOverrides: PropType; }>>>; }>>, { placement: NotificationPlacement; scrollable: boolean; keepAliveOnHover: boolean; }, {}>; export default _default;