/** * live-widgets.ts — Fan-out for all above-editor agent surfaces. * * Call sites must update every live surface together. Scattering * `widget.X(); topWidget.X();` pairs across index/tools is how half-updated * UI and missed markFinished bugs appear — this type deletes that class of * mistake. */ import type { AgentTopWidget } from "./agent-top-widget.js"; import type { UICtx } from "./agent-ui-types.js"; import type { AgentWidget } from "./agent-widget.js"; export declare class LiveWidgets { /** Tree / activity strip (`setWidget("agents")`). */ readonly tree: AgentWidget; /** Persistent AGENT TOP strip (`setWidget("agent-top")`). */ readonly top: AgentTopWidget; constructor( /** Tree / activity strip (`setWidget("agents")`). */ tree: AgentWidget, /** Persistent AGENT TOP strip (`setWidget("agent-top")`). */ top: AgentTopWidget); setUICtx(ctx: UICtx): void; ensureTimer(): void; onTurnStart(): void; markFinished(agentId: string): void; update(): void; /** * Spawn-burst coalescing lives on the tree widget only (top strip is * tick-driven and does not need the 16ms debounce path). */ debouncedUpdate(): void; /** Bind UI context, start timers, and paint once. */ bind(ctx: UICtx): void; dispose(): void; }