import { ToastInstance, ToastPlugin } from './types'; type HookCallback = (toast: ToastInstance, ...args: any[]) => void | Promise; export declare class ToastLifecycle { private plugins; private hooks; use(plugin: ToastPlugin): void; remove(pluginName: string): boolean; getPlugins(): ToastPlugin[]; on(event: keyof typeof this.hooks, callback: HookCallback): void; off(event: keyof typeof this.hooks, callback: HookCallback): void; trigger(event: keyof typeof this.hooks, toast: ToastInstance, ...args: any[]): Promise; beforeShow(toast: ToastInstance): Promise; afterShow(toast: ToastInstance): Promise; beforeHide(toast: ToastInstance): Promise; afterHide(toast: ToastInstance): Promise; beforeUpdate(toast: ToastInstance, updates: any): Promise; afterUpdate(toast: ToastInstance, updates: any): Promise; onEditorEvent(event: string, callback: HookCallback): void; triggerEditorEvent(event: string, toast: ToastInstance, ...args: any[]): void; handlePromise(promise: Promise, onLoading: () => void, onSuccess: (data: T) => void, onError: (error: any) => void): Promise; batchShow(toasts: ToastInstance[]): Promise; batchHide(toasts: ToastInstance[]): Promise; destroy(): void; } export {};