import { ProcessTerminal, TUI } from '@earendil-works/pi-tui'; import type { KeybindingsManager } from '@earendil-works/pi-tui'; import type { AttachPalette } from '../config.js'; import { TitledEditor } from '../input/titled-editor.js'; import type { AttachContainers } from './context.js'; export interface AttachLayout { /** The process terminal behind the TUI — also the owner of the window title * and the negotiated keyboard protocol, both of which the orchestrator uses. */ readonly procTerminal: ProcessTerminal; readonly tui: TUI; readonly containers: AttachContainers; readonly editor: TitledEditor; /** Attach the containers to the TUI in render order and focus the editor. * Deferred to just before `tui.start()` so a signal landing mid-construction * cannot leave a half-mounted tree on screen. */ mount(): void; } /** Build the TUI, its containers, and the editor. No behavior is wired here; * the orchestrator owns every callback. */ export declare function createLayout(pal: AttachPalette, km: KeybindingsManager): AttachLayout;