import { BaseChatModel } from '@langchain/core/language_models/chat_models'; import { BaseMessage } from '@langchain/core/messages'; import { LLMProvider, LLMRequestOptions, LLMResponse, TokenUsageDetails } from '../types/llm.types'; export interface LLMServiceConfig { apiKeys?: { anthropic?: string; openai?: string; google?: string; xai?: string; }; llm?: { provider?: string; model?: string; }; tracing?: { enabled?: boolean; apiKey?: string; project?: string; endpoint?: string; }; } export declare class LLMService { private static instance; private providers; private tokenManager; private defaultProvider; private chatHistories; private logger; private config?; private constructor(); private configureLangSmith; static getInstance(config?: LLMServiceConfig): LLMService; getChatModel(options?: LLMRequestOptions, agentContext?: string): BaseChatModel; getChatModelWithHistory(_sessionId: string, options?: LLMRequestOptions): any; invoke(messages: BaseMessage[], options?: LLMRequestOptions, agentContext?: string): Promise; countTokens(text: string, provider?: LLMProvider, model?: string): Promise; truncateToTokenLimit(text: string, maxTokens: number, model?: string): string; splitIntoChunks(text: string, maxTokensPerChunk: number, overlap?: number, model?: string): string[]; getAvailableModels(provider: LLMProvider): string[]; getModelConfig(provider: LLMProvider, model: string): { maxInputTokens: number; maxOutputTokens: number; costPerMillionInputTokens: number; costPerMillionOutputTokens: number; }; calculateCost(usage: TokenUsageDetails, provider: LLMProvider, model: string): number; clearChatHistory(sessionId: string): void; clearAllChatHistories(): void; contextualizeQuery(query: string, chatHistory: BaseMessage[], options?: LLMRequestOptions): Promise; private getDefaultProviderFromConfig; private getDefaultModel; private extractTokenUsage; static extractTokensFromCallback(output: any): { inputTokens: number; outputTokens: number; }; private isNonRetryableError; private sleep; dispose(): void; } //# sourceMappingURL=llm-service.d.ts.map