import { Tool, ToolCallEngine, StreamProcessingState, StreamChunkResult, ParsedModelResponse, MultimodalToolCallResult, ChatCompletionMessageParam, ChatCompletionChunk, AgentSingleLoopReponse } from '@multimodal/agent-interface'; /** * Abstract base class for tool call engines that provides common functionality * and enforces consistent behavior across different engine implementations. */ export declare abstract class BaseToolCallEngine implements ToolCallEngine { protected readonly useNativeToolCalls: boolean; constructor(useNativeToolCalls?: boolean); /** * Abstract method to prepare the system prompt with tool information */ abstract preparePrompt(instructions: string, tools: Tool[]): string; /** * Abstract method to prepare the request parameters */ abstract prepareRequest(context: any): any; /** * Initialize stream processing state with common defaults */ initStreamProcessingState(): StreamProcessingState; /** * Abstract method to process streaming chunks */ abstract processStreamingChunk(chunk: ChatCompletionChunk, state: StreamProcessingState): StreamChunkResult; /** * Finalize stream processing with common logic */ finalizeStreamProcessing(state: StreamProcessingState): ParsedModelResponse; /** * Build historical assistant message with common logic */ buildHistoricalAssistantMessage(response: AgentSingleLoopReponse): ChatCompletionMessageParam; /** * Build historical tool call result messages using shared utility */ buildHistoricalToolCallResultMessages(toolCallResults: MultimodalToolCallResult[]): ChatCompletionMessageParam[]; /** * Common helper to process reasoning content in chunks */ protected processReasoningContent(chunk: ChatCompletionChunk, state: StreamProcessingState): string; /** * Common helper to process finish reason in chunks */ protected processFinishReason(chunk: ChatCompletionChunk, state: StreamProcessingState): void; } //# sourceMappingURL=BaseToolCallEngine.d.ts.map