import { ToasterOptions, ToastOptions } from './toast.types';
/**
* Headless toast/notification manager. Attaches to an existing region element
* and creates, positions (via data attributes) and auto-dismisses toasts; it
* never applies visual styles.
*
* Markup:
* ```html
*
* ```
*
* Each call to `show()` injects:
* ```html
*
* ```
*/
export declare class Toaster {
private readonly region;
private readonly position;
private readonly duration;
private readonly max;
private toasts;
private cleanups;
constructor(root: HTMLElement, options?: ToasterOptions);
private init;
/**
* Create and display a toast. Returns the generated id, which can be passed
* to `dismiss()`. Auto-dismisses after `duration` ms unless it is `0`.
*/
show(options?: ToastOptions): string;
/** Dismiss a toast by id. No-op if the id is unknown. */
dismiss(id: string): void;
/** Dismiss every visible toast. */
clear(): void;
/** Subscribe to a DOM event on the region. Returns an unsubscribe fn. */
on(event: string, handler: (event: E) => void): () => void;
destroy(): void;
}