import type { LoopContext } from './agent.js'; import type { AiMessage, StreamChunk, ToolCall, ToolResult } from './types.js'; /** * Execute the tool phase for a single agent step. Yields the same * `StreamChunk` sequence (`tool-call` → `tool-update*` → `tool-result`) that * the streaming caller surfaces to consumers. Non-streaming callers iterate * via `.next()` and discard yields — the side effects (message pushes, * pending-state mutations on `loopCtx`) are identical regardless of whether * the chunks reach a consumer. * * Returns the step's `ToolResult[]`. The caller passes the assistant message * to push before iteration so the AgentStep shape (response.message) and the * final `messages` array stay in sync with the loop variant. */ export declare function executeToolPhase(loopCtx: LoopContext, toolCalls: ToolCall[], assistantMessage: AiMessage): AsyncGenerator; //# sourceMappingURL=tool-execution.d.ts.map