import type { InputEvent } from "../input/event.ts"; import type { Component } from "./component.ts"; export type OverlayInputMode = "modal" | "capture" | "passthrough" | "visual-only"; export interface OverlayHideOptions { readonly focus?: Component | null; } export interface OverlayOptions { readonly inputMode?: OverlayInputMode; /** @deprecated use inputMode */ readonly modal?: boolean; readonly width?: number; readonly height?: number; readonly x?: number; readonly y?: number; /** Internal hook used by Tui to restore focus. */ readonly onHide?: (options?: OverlayHideOptions) => void; } export interface OverlayHandle { readonly id: number; readonly component: Component; readonly options: OverlayOptions; readonly visible: boolean; hide(options?: OverlayHideOptions): void; show(): void; } export declare class OverlayManager { private nextId; private readonly handles; get stack(): readonly OverlayHandle[]; get top(): OverlayHandle | undefined; show(component: Component, options?: OverlayOptions): OverlayHandle; handleInput(event: InputEvent): boolean; compose(base: readonly string[], width: number, height: number): string[]; dispose(): void; private removeHidden; } export declare function resolveOverlayInputMode(options: OverlayOptions): OverlayInputMode; //# sourceMappingURL=overlay.d.ts.map