export interface ToastAction { /** The key that triggers the action (e.g. `'\r'` for Enter). */ key: string; /** Short label shown inline in the header (e.g. `'⏎ Apply & verify'`). */ label: string; /** Called when InkRoot sees the matching key while this toast is active. */ handler: () => void; } export interface Toast { message: string; severity: 'ok' | 'warn' | 'err'; ttl: number; group?: string; action?: ToastAction; } type Listener = () => void; export interface ToastStore { push(t: Toast): void; current(): Toast | null; queue(): Toast[]; subscribe(fn: Listener): () => void; /** Immediately remove the currently active toast (e.g. after action fires). */ dismiss(): void; /** * Attach (or replace) the action on the currently active toast without * changing its message, severity, or TTL. No-op when queue is empty. */ setCurrentAction(action: ToastAction): void; } export declare function createToastStore(): ToastStore; export {}; //# sourceMappingURL=toast-store.d.ts.map