export interface EventRoot { addEventListener: Document['addEventListener']; removeEventListener: Document['removeEventListener']; } export interface Dialog { close: () => boolean; } export declare class DialogManager { private readonly deps; private dialogs; constructor(deps: { eventRoot: EventRoot; }); register(dialog: Dialog): void; forget(dialog: Dialog): void; readonly handleKeydown: (event: KeyboardEvent) => void; closeLatest(): void; private removeHandleKeydownEventListenerIfNecessary; }