import { LLMPort, LLMMessage, LLMResponse, LLMOptions } from '../../domain/ports/LLMPort'; import { Configuration } from '../../config'; export interface LLMProviderInterface { generateResponse(messages: LLMMessage[], options?: LLMOptions): Promise; generateStreamingResponse(messages: LLMMessage[], options?: LLMOptions, onChunk?: (chunk: string) => void): Promise; getAvailableModels(): Promise; isAvailable(): Promise; getModelInfo(modelName: string): Promise<{ readonly name: string; readonly maxTokens: number; readonly contextWindow: number; readonly capabilities: string[]; } | null>; } export declare class OpenAIProvider implements LLMProviderInterface { private apiKey; private baseUrl; constructor(apiKey: string, baseUrl?: string); generateResponse(messages: LLMMessage[], options?: LLMOptions): Promise; generateStreamingResponse(messages: LLMMessage[], options?: LLMOptions, onChunk?: (chunk: string) => void): Promise; getAvailableModels(): Promise; isAvailable(): Promise; getModelInfo(modelName: string): Promise<{ readonly name: string; readonly maxTokens: number; readonly contextWindow: number; readonly capabilities: string[]; } | null>; } export declare class OllamaProvider implements LLMProviderInterface { private baseUrl; constructor(baseUrl?: string); generateResponse(messages: LLMMessage[], options?: LLMOptions): Promise; generateStreamingResponse(messages: LLMMessage[], options?: LLMOptions, onChunk?: (chunk: string) => void): Promise; getAvailableModels(): Promise; isAvailable(): Promise; getModelInfo(modelName: string): Promise<{ readonly name: string; readonly maxTokens: number; readonly contextWindow: number; readonly capabilities: string[]; } | null>; } export declare class GeminiProvider implements LLMProviderInterface { private genAI; constructor(apiKey: string); generateResponse(messages: LLMMessage[], options?: LLMOptions): Promise; generateStreamingResponse(messages: LLMMessage[], options?: LLMOptions, onChunk?: (chunk: string) => void): Promise; getAvailableModels(): Promise; isAvailable(): Promise; getModelInfo(modelName: string): Promise<{ readonly name: string; readonly maxTokens: number; readonly contextWindow: number; readonly capabilities: string[]; } | null>; private convertMessagesToPrompt; } export declare class LLMAdapter implements LLMPort { private providers; private currentProvider; constructor(config: Configuration); generateResponse(messages: LLMMessage[], options?: LLMOptions): Promise; generateStreamingResponse(messages: LLMMessage[], options?: LLMOptions, onChunk?: (chunk: string) => void): Promise; getAvailableModels(): Promise; isAvailable(): Promise; getModelInfo(modelName: string): Promise<{ readonly name: string; readonly maxTokens: number; readonly contextWindow: number; readonly capabilities: string[]; } | null>; setProvider(provider: 'openai' | 'ollama'): void; getCurrentProvider(): string; } //# sourceMappingURL=LLMAdapter.d.ts.map