import { PropType, ExtractPropTypes, Ref, CSSProperties } from 'vue'; import type { MergedTheme } from '../../_mixins'; import { ExtractPublicPropTypes, Mutable } from '../../_utils'; import { NotificationTheme } from '../styles'; import { notificationEnvOptions } from './NotificationEnvironment'; export declare type NotificationPlacement = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'; export declare type NotificationOptions = Partial>; export interface NotificationProviderInjection { mergedClsPrefixRef: Ref; mergedThemeRef: Ref>; } 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; destroyAll: () => void; } export declare type NotificationProviderInst = NotificationApiInjection; export declare const notificationApiInjectionKey: import("vue").InjectionKey; export declare type NotificationType = 'info' | 'success' | 'warning' | 'error'; 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: { containerStyle: PropType; to: PropType; scrollable: { type: BooleanConstructor; default: boolean; }; max: NumberConstructor; placement: { type: PropType; default: string; }; theme: PropType; }>>; themeOverrides: PropType; }>>>; builtinThemeOverrides: PropType; }>>>; }; export declare type NotificationProviderProps = ExtractPublicPropTypes; declare const _default: import("vue").DefineComponent<{ containerStyle: PropType; to: PropType; scrollable: { type: BooleanConstructor; default: boolean; }; max: NumberConstructor; placement: { type: PropType; default: string; }; theme: PropType; }>>; themeOverrides: PropType; }>>>; builtinThemeOverrides: PropType; }>>>; }, { mergedClsPrefix: import("vue").ComputedRef; notificationList: Ref<{ readonly key: string; readonly destroy: () => void; readonly hide: () => void; readonly deactivate: () => void; type?: "default" | "error" | "info" | "success" | "warning" | undefined; closable?: 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; 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, Record, 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; }; theme: PropType; }>>; themeOverrides: PropType; }>>>; builtinThemeOverrides: PropType; }>>>; }>>, { placement: NotificationPlacement; scrollable: boolean; }>; export default _default;