import { CoreMessage, LanguageModel, ToolCall, ToolInvocation, ToolSet } from 'ai'; import { Message } from '@ai-sdk/ui-utils'; /** * Chat handler class to manage chat requests and responses */ export declare class ChatHandler { private model; private tools?; private localTools?; private instructions?; private messageHistory; private maxTokens; private messageTokenCount; /** * @param {Object} config - Configuration object * @param {LanguageModel} config.model - Language model instance to use for chat * @param {ToolSet} [config.tools] - Optional tools configuration * @param {string} [config.instructions] - Optional system instructions * @param {string} [config.modelId] - Optional model identifier to determine context window automatically * @param {number} [config.maxTokens] - Optional maximum tokens (overrides automatic detection) */ constructor({ model, tools, instructions, modelId, maxTokens, }: { model: LanguageModel; tools?: ToolSet; instructions?: string; modelId?: string; maxTokens?: number; }); /** * Processes chat requests, managing message history and token limits * @param {Request} req - Incoming request object * @returns {Promise} Streaming response */ processRequest(req: Request): Promise; addMessageToHistory(message: Message | CoreMessage): Promise; handleToolCall(toolCall: ToolCall): Promise; trimHistoryByTokenLimit(): Promise; clearHistory(): void; }