export type ToastType = 'polite' | 'assertive'; export type HoverBehavior = 'pause' | 'pause-all' | null; export type TabHiddenBehavior = 'pause-all' | null; export interface ToasterProps { closeDelay?: number; type?: ToastType; hover?: HoverBehavior; tabHidden?: TabHiddenBehavior; } export interface AddToastArgs> { id?: string; closeDelay?: number; type?: ToastType; data: T; } export interface UpdateToastArgs> { id: string; closeDelay?: number; type?: ToastType; data?: T; } interface ToastInternalProps { toaster: Toaster; id: string; closeDelay: number; type: ToastType; data: T; } export declare class Toast> { #private; readonly id: string; readonly createdAt: number; data: T; closeDelay: number; type: ToastType; timeElapsed: number; readonly percentage: number; constructor(props: ToastInternalProps); get toaster(): Toaster; readonly removeSelf: () => void; /** @internal */ readonly cleanup: () => void; readonly pause: () => void; readonly resume: () => void; readonly reset: () => void; get content(): { readonly id: string; readonly role: "alert" | "status"; readonly 'aria-labelledby': string; readonly 'aria-describedby': string; readonly 'aria-live': ToastType; readonly 'aria-atomic': "true"; readonly tabindex: -1; readonly 'data-toast-id': string; readonly onpointerenter: (e: PointerEvent) => void; readonly onpointerleave: (e: PointerEvent) => void; }; get title(): { readonly id: string; }; get description(): { readonly id: string; }; get close(): { readonly type: "button"; readonly 'aria-label': "Dismiss"; readonly onclick: () => void; }; } export declare class Toaster> { #private; closeDelay: number; type: ToastType; hover: HoverBehavior; tabHidden: TabHiddenBehavior; readonly toasts: Toast[]; constructor(props?: ToasterProps); addToast: (args: AddToastArgs) => Toast; removeToast: (id: string) => void; updateToast: (args: UpdateToastArgs) => void; pauseAll: () => void; resumeAll: () => void; clear: () => void; /** @internal */ dispose: () => void; } export declare function setToasterContext>(toaster: Toaster): void; export declare function getToasterContext>(): Toaster; export declare function createToaster>(props?: ToasterProps): Toaster; export {};