import { type ToastEntry, type ToastKind, type ToastVariant } from "../../ui.js"; export type AppToastEntry = ToastEntry & { action?: { label: string; }; }; export type AppToastAction = { label: string; onSelect: () => void; }; export type AppToastOptions = { durationMs?: number; variant?: ToastVariant; scopeKey?: string; action?: AppToastAction; }; export type AppToastControllerHost = { activeScope?(): string | undefined; render(): void; }; export declare class AppToastController { private readonly host; private readonly toastsByScope; private readonly timers; private readonly actions; constructor(host: AppToastControllerHost); showToast(message: string, kind?: ToastKind, options?: AppToastOptions): void; dismissToast(toastId: number, scopeKey?: string): void; activateAction(toastId: number, scopeKey?: string): boolean; dismissActiveDialog(scopeKey?: string): boolean; visibleStates(scopeKey?: string): readonly AppToastEntry[]; entry(toastId: number, scopeKey?: string): ToastEntry | undefined; clearToastTimers(): void; private toastForScope; private timersForScope; private actionsForScope; private removeAction; private deleteScopeIfEmpty; private normalizeScopeKey; }