import type { Message, Phase, Tool, ToolCall, ToolFactory } from "../types"; export interface ChatRunnerConfig { apiConfig: { baseURL: string; apiKey?: string; }; model: string; tools: Record; options: any; systemPrompt: string; basePath: string; templateOptions: Record; outputName: string; onThinkingChunk: (chunk: string) => void; onContentChunk: (chunk: string) => void; onToolCall: (toolCall: ToolCall) => void; onToolResponse: (response: any) => void; onPhaseEnd: (messages: Message[]) => void; } export declare class ChatRunner { private messages; private purgedMessages; private openaiClient; private config; private tools; private notifiedToolCallIds; startTime: string; /** * Convert tools with Zod schemas to the format expected by OpenAI */ private convertToolsForAPI; constructor(config: ChatRunnerConfig); /** * Map options to OpenAI parameters using passthrough approach */ private mapOptionsToOpenAI; /** * Check if we're using an Ollama endpoint */ private isOllamaEndpoint; /** * Helper methods for tool call notification tracking */ private hasNotifiedToolCall; private markToolCallNotified; private saveDebugOutput; run(phase: Phase): Promise; getMessages(): Message[]; private purgeToolCallsFromPhase; private purgeAllToolCalls; /** * Execute a tool call with retry logic (up to 2 retries) */ private executeTool; } //# sourceMappingURL=ChatRunner.d.ts.map