type ToastResult = any; interface ToastRef { toast?: { showToast: () => void; hideToast: (result?: ToastResult) => void; }; } export interface ToastOptions { /** The appearance mode of the notification. (Default: `dark`) */ mode: 'dark' | 'light'; /** An optional icon to appear in the notification. */ icon: string; /** The placement of the notification on screen. (Default: `bottom-left`) */ placement: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right'; /** Enables auto-closing of the notification. (Default: `true`) */ autoClose: boolean; /** Show button to close the notification. (Default: `false`) */ closeButton: boolean; /** The duration in ms for the notification to be visible on screen. (Default: `3000`) */ duration: number; /** An optional label for an action button. */ action: string; /** Enable markup escape and sanitise HTML input. (Default: true) */ escapeMarkup: boolean; /** Callback executed when the action button is clicked. Receives a reference to the notification as first argument. */ onAction: (toast: ToastRef) => void; /** Callback executed when the notification is clicked. Receives a reference to the notification as first argument. */ onClick: (toast: ToastRef) => void; /** Callback executed when the notification is dismissed. Receives a reference to the notification as first argument and an optional result as second argument. */ onDismiss: (toast: ToastRef, result?: ToastResult) => void; } /** * A service to show additional information via toast notifications. */ export declare class CatNotificationService { private static instance; private static duration; private constructor(); static getInstance(): CatNotificationService; show(content: string | Node, options?: Partial): (result?: ToastResult) => void; private getNode; private getOptions; } export declare const catNotificationService: CatNotificationService; export {};