import { VNode, CSSProperties } from 'vue'; import { MountElement } from '../utils'; import { NotificationApi } from './useNotification'; export type ContentType = string | VNode | (() => VNode); export interface Props { top?: number; bottom?: number; duration?: number | null; placement?: Placement; keepAliveOnHover?: boolean; maxCount?: number; closable?: boolean; scrollable?: boolean; to?: string | MountElement; } export interface NotificationOptions { key?: string; title?: ContentType; content?: ContentType; icon?: VNode | (() => VNode); action?: ContentType; meta?: ContentType; class?: string; style?: CSSProperties; closable?: boolean; duration?: number | null; placement?: Placement; onClick?: (e: MouseEvent) => void; onClose?: () => void | boolean | Promise; } type Placement = 'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight'; type Mode = 'open' | 'info' | 'success' | 'error' | 'warning'; export interface NotificationUpdate extends Omit { mode?: Mode; } export interface NotificationReactive extends NotificationOptions { readonly key: string; destroy: () => void; update: (options: NotificationUpdate) => void; } declare const _default: import('vue').DefineComponent any; ready: (api: NotificationApi) => any; }, string, import('vue').PublicProps, Readonly & Readonly<{ onClose?: ((key: string) => any) | undefined; onReady?: ((api: NotificationApi) => any) | undefined; }>, { top: number; bottom: number; placement: Placement; closable: boolean; duration: number | null; to: string | MountElement; keepAliveOnHover: boolean; maxCount: number; scrollable: boolean; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>; export default _default;