import { AgentEventStream, ToolCallEngine } from '@multimodal/agent-interface'; import { ResolvedModel } from '@multimodal/model-provider'; import { LLMProcessor } from './llm-processor'; import type { Agent } from '../agent'; /** * LoopExecutor - Responsible for executing the agent's reasoning loop * * This class manages the core loop of the agent's reasoning process, * driving the interaction between the LLM, tools, and events. */ export declare class LoopExecutor { private agent; private llmProcessor; private eventStream; private instructions; private maxIterations; private logger; private currentIteration; constructor(agent: Agent, llmProcessor: LLMProcessor, eventStream: AgentEventStream.Processor, instructions: string, maxIterations: number); /** * Get the current iteration/loop number * @returns The current loop iteration (1-based) */ getCurrentIteration(): number; /** * Executes the full reasoning loop until completion or max iterations * * @param resolvedModel The resolved model configuration * @param sessionId Session identifier * @param toolCallEngine The tool call engine to use * @param streamingMode Whether to operate in streaming mode * @param abortSignal Optional signal to abort the execution * @returns The final assistant message event */ executeLoop(resolvedModel: ResolvedModel, sessionId: string, toolCallEngine: ToolCallEngine, streamingMode?: boolean, abortSignal?: AbortSignal): Promise; } //# sourceMappingURL=loop-executor.d.ts.map