import type { TraceSink } from '../trace/index.js'; import type { AnthropicToolDef, ToolCall, ToolResult } from './types.js'; import { type AgentExecutionMode } from './subagent/input-parse.js'; import { buildSubagentsLite } from './subagent-executor.lite-snapshot.js'; import type { SubagentExecutorContext, SubagentControl } from './subagent-executor/types.js'; import type { QueuedNoteClaim, PromotedSubagentInfo } from './subagent-executor/types.js'; export { DEFAULT_MAX_NESTING_DEPTH, type ChildProviderFactoryArgs } from './nesting.js'; export type { AgentExecutionMode }; export type { SubagentExecutorContext, SubagentControl } from './subagent-executor/types.js'; export type { PromotedSubagentInfo } from './subagent/foreground-promotion.js'; export declare class SubagentExecutor implements SubagentControl { private readonly ctx; private currentCwd; private isolationCounter; constructor(ctx: SubagentExecutorContext); setCwd(cwd: string): void; setTraceWriter(writer: TraceSink | undefined): void; describeAgentTool(): AnthropicToolDef; private readonly promotionTriggers; private readonly activeForegroundHandles; private currentWaveId; private currentWaveCallIds; notifyWaveStart(calls: ReadonlyArray, sessionId: string, traceLabel: string | null): void; notifyWaveEnd(): void; private updateCurrentWaveUnit; supportsBackgroundJobs(): boolean; hasPromotableForeground(): boolean; cancelBackgroundJob(call: ToolCall): Promise; sendMessageToAgent(call: ToolCall): Promise; hasActiveForeground(): boolean; private cancelGeneration; cancelActiveForeground(): Promise; promoteActiveForeground(queuedNote?: QueuedNoteClaim): Promise; getSubagentsLite(): ReturnType; execute(call: ToolCall): Promise; private executeOnce; }