/** * screen — the "turn the UI on and off" boundary. Ties together terminal, * renderer, scheduler, input, focus and animation. Symmetric, crash-proof * setup/teardown (ADR-0007). Carries the built-in interactive editing * (input/select/checkbox…). */ import { type AnimationClock } from '../animation/index.js'; import type { Node } from '../components/index.js'; import type { Disposable } from '../events/index.js'; import { type FocusManager } from '../focus/index.js'; import { type InputManager, type KeyEvent } from '../input/index.js'; import { type Renderer } from '../renderer/index.js'; import { type Scheduler } from '../scheduler/index.js'; import { type Terminal } from '../terminal/index.js'; import type { Theme } from '../theme/index.js'; export interface ScreenOptions { readonly theme?: Theme; readonly terminal?: Terminal; readonly fps?: number | 'uncapped'; readonly mouse?: boolean; readonly handleExitSignals?: boolean; readonly altScreen?: boolean; } export interface Screen { readonly renderer: Renderer; readonly scheduler: Scheduler; readonly input: InputManager; readonly focus: FocusManager; readonly animation: AnimationClock; readonly terminal: Terminal; /** Registers the declarative view function rebuilt every frame. */ setView(fn: () => Node): void; mount(): void; unmount(): void; onKey(cb: (e: KeyEvent) => boolean | void): Disposable; setTheme(theme: Theme): void; } export declare function createScreen(options?: ScreenOptions): Screen; //# sourceMappingURL=index.d.ts.map