import type { VerboseLevel } from "../auto-reply/thinking.js"; export type AgentEventStream = "lifecycle" | "tool" | "assistant" | "error" | (string & {}); export type AgentEventPayload = { runId: string; seq: number; stream: AgentEventStream; ts: number; data: Record; sessionKey?: string; }; export type AgentRunContext = { sessionKey?: string; verboseLevel?: VerboseLevel; isHeartbeat?: boolean; /** Whether control UI clients should receive chat/agent updates for this run. */ isControlUiVisible?: boolean; }; export declare function registerAgentRunContext(runId: string, context: AgentRunContext): void; export declare function getAgentRunContext(runId: string): AgentRunContext | undefined; export declare function clearAgentRunContext(runId: string): void; export declare function resetAgentRunContextForTest(): void; export declare function emitAgentEvent(event: Omit): void; export declare function onAgentEvent(listener: (evt: AgentEventPayload) => void): () => boolean;