export type PopupMenuItem = { value: T; label: string; description?: string; labelHighlightRanges?: readonly { start: number; end: number; }[]; descriptionHighlightRanges?: readonly { start: number; end: number; }[]; }; export type VisiblePopupMenuItem = PopupMenuItem & { index: number; selected: boolean; }; export declare class PopupMenu { readonly maxVisibleRows: number; items: PopupMenuItem[]; selectedIndex: number; scrollOffset: number; open: boolean; constructor(options: { maxVisibleRows: number; }); setItems(items: readonly PopupMenuItem[]): void; openWithItems(items: readonly PopupMenuItem[]): void; close(): void; selectedItem(): PopupMenuItem | undefined; moveSelection(delta: number): void; scroll(delta: number): void; visibleItems(): VisiblePopupMenuItem[]; maxScrollOffset(): number; private ensureSelectedVisible; } export declare const TOAST_KINDS: readonly ["success", "error", "warning", "info"]; export type ToastKind = (typeof TOAST_KINDS)[number]; export type ToastVariant = "compact" | "dialog"; export type ToastState = { message: string; kind: ToastKind; variant?: ToastVariant; }; export type ToastEntry = ToastState & { id: number; createdAt: number; }; export type ToastNotifier = { show(message: string, kind?: ToastKind): void; success(message: string): void; error(message: string): void; warning(message: string): void; info(message: string): void; }; export declare function isToastKind(value: unknown): value is ToastKind; export declare class Toast { private readonly entries; private nextId; show(message: string, kind?: ToastKind, options?: { variant?: ToastVariant; }): number; hide(id?: number): void; get state(): ToastState | undefined; get visibleStates(): readonly ToastEntry[]; entry(toastId: number): ToastEntry | undefined; get visible(): boolean; }