import type { OutputEvent, SubagentProgressMeta, ProgressEvent } from '../../agent/types.js'; import type { Writer } from '../slash/types.js'; import type { TerminalCompositor } from '../terminal-compositor.js'; import type { OverlayComposer } from './overlay-composer.js'; import type { ToolLane } from '../commands/interactive/tool-lane.js'; import type { ThinkingLane } from '../commands/interactive/thinking-lane.js'; import type { StreamingMarkdownRenderer } from '../markdown-stream.js'; import type { StageTrackerState } from '../commands/interactive/loop-stage.js'; import type { CommitCoordinator } from './commit-coordinator.js'; import type { ChildActivityTracker } from './child-activity-select.js'; import type { InFlightToolTracker } from '../input/work-derived-verb.js'; import type { OrchestratorCtx } from './stream-renderer-orchestrator.js'; import type { LoopStage, StageSignals } from '../commands/interactive/loop-stage.js'; import type { SubagentStatusBarSpec } from '../render.js'; import { type SourceState } from './stream-renderer-source.js'; export interface ProcessCtx { out: Writer; isTTY: boolean; compositor: TerminalCompositor | null; overlayComposer: OverlayComposer | null; toolLane: ToolLane; thinkingLane: ThinkingLane; streamingMarkdownRef: { current: StreamingMarkdownRenderer | null; }; stageTracker: StageTrackerState; coordinator: CommitCoordinator; childActivity: ChildActivityTracker; inFlightTools: InFlightToolTracker; sources: Map; subagentMarkdown: Map; lastProgressByTask: Map; thinkingMode: 'off' | 'summary' | 'live' | 'digest'; activeSkillName: string | undefined; onStageChange: ((stage: LoopStage, signals?: StageSignals) => void) | undefined; buildOrchestratorCtx: () => OrchestratorCtx; activeSubagents: Map; subagentStartedAt: Map; overlayComposerForStatus: OverlayComposer | null; } export declare function processEvent(ctx: ProcessCtx, event: OutputEvent, meta?: SubagentProgressMeta): void;