import { ComponentOptionsMixin } from 'vue'; import { ComponentProvideOptions } from 'vue'; import { DefineComponent } from 'vue'; import { ExtractPropTypes } from 'vue'; import { HTMLAttributes } from 'vue'; import { JSX } from 'vue/jsx-runtime'; import { Plugin as Plugin_2 } from 'vue'; import { PropType } from 'vue'; import { PublicProps } from 'vue'; import { SlotsType } from 'vue'; declare const _default: Plugin_2; export default _default; export declare type NotificationItem = Pick & { length: number; duplicates: number; }; export declare const Notifications: DefineComponent; default: () => string[]; }; classes: { type: PropType; default: string; }; animationType: { type: PropType<"css" | "velocity">; default: string; validator(value: unknown): value is "css" | "velocity"; }; animation: { type: PropType>; default(): { enter: (el: Element) => { height: number[]; opacity: number[]; }; leave: { height: number; opacity: number[]; }; }; }; animationName: { type: StringConstructor; default: string; }; speed: { type: NumberConstructor; default: number; }; /** Time (in ms) to keep the notification on screen (if **negative** - notification will stay **forever** or until clicked) */ duration: { type: NumberConstructor; default: number; }; delay: { type: NumberConstructor; default: number; }; max: { type: NumberConstructor; default: number; }; ignoreDuplicates: { type: BooleanConstructor; default: boolean; }; closeOnClick: { type: BooleanConstructor; default: boolean; }; pauseOnHover: { type: BooleanConstructor; default: boolean; }; /** Use [v-html](https://vuejs.org/api/built-in-directives.html#v-html) to set `title` and `text` */ dangerouslySetInnerHtml: { type: BooleanConstructor; default: boolean; }; }>, () => JSX.Element, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { click: (item: NotificationItem) => true; destroy: (item: NotificationItem) => true; start: (item: NotificationItem) => true; }, string, PublicProps, Readonly; default: () => string[]; }; classes: { type: PropType; default: string; }; animationType: { type: PropType<"css" | "velocity">; default: string; validator(value: unknown): value is "css" | "velocity"; }; animation: { type: PropType>; default(): { enter: (el: Element) => { height: number[]; opacity: number[]; }; leave: { height: number; opacity: number[]; }; }; }; animationName: { type: StringConstructor; default: string; }; speed: { type: NumberConstructor; default: number; }; /** Time (in ms) to keep the notification on screen (if **negative** - notification will stay **forever** or until clicked) */ duration: { type: NumberConstructor; default: number; }; delay: { type: NumberConstructor; default: number; }; max: { type: NumberConstructor; default: number; }; ignoreDuplicates: { type: BooleanConstructor; default: boolean; }; closeOnClick: { type: BooleanConstructor; default: boolean; }; pauseOnHover: { type: BooleanConstructor; default: boolean; }; /** Use [v-html](https://vuejs.org/api/built-in-directives.html#v-html) to set `title` and `text` */ dangerouslySetInnerHtml: { type: BooleanConstructor; default: boolean; }; }>> & Readonly<{ onClick?: ((item: NotificationItem) => any) | undefined; onDestroy?: ((item: NotificationItem) => any) | undefined; onStart?: ((item: NotificationItem) => any) | undefined; }>, { speed: number; group: string; duration: number; ignoreDuplicates: boolean; closeOnClick: boolean; width: string | number; reverse: boolean; position: string | string[]; classes: string | string[]; animationType: "css" | "velocity"; animation: Record<"enter" | "leave", unknown>; animationName: string; delay: number; max: number; pauseOnHover: boolean; dangerouslySetInnerHtml: boolean; }, SlotsType<{ body?: (props: { class: HTMLAttributes["class"]; item: NotificationItem; close: () => void; }) => any; }>, {}, {}, string, ComponentProvideOptions, true, {}, any>; export declare interface NotificationsOptions { id?: number | string; title?: string; text?: string; type?: NotificationType; group?: string; duration?: number; speed?: number; data?: unknown; clean?: boolean; clear?: boolean; ignoreDuplicates?: boolean; closeOnClick?: boolean; } export declare interface NotificationsPluginOptions { name?: string; componentName?: string; velocity?: any; } declare type NotificationType = 'warn' | 'success' | 'error' | (string & {}); export declare const notify: { (args: NotificationsOptions | string): void; close(id: unknown): void; }; export declare const useNotification: () => { notify: { (args: NotificationsOptions | string): void; close(id: unknown): void; }; }; export { } declare module 'vue' { export interface ComponentCustomProperties { $notify: typeof notify; } }