import { Logger } from 'pino'; export interface LLMResponse { content: string; tokensUsed?: { prompt: number; completion: number; total: number; }; } export interface LLMRequest { systemPrompt: string; userPrompt: string; maxTokens: number; temperature: number; model: string; } export declare abstract class LLMProvider { protected logger: Logger; constructor(logger: Logger); abstract isSupported(model: string): boolean; abstract generate(request: LLMRequest): Promise; } export declare class OpenAIProvider extends LLMProvider { private client; constructor(logger: Logger, apiKey?: string); isSupported(model: string): boolean; generate(request: LLMRequest): Promise; } export declare class AnthropicProvider extends LLMProvider { private client; constructor(logger: Logger, apiKey?: string); isSupported(model: string): boolean; generate(request: LLMRequest): Promise; } export declare class OllamaProvider extends LLMProvider { private baseUrl; constructor(logger: Logger, host?: string, port?: number); isSupported(model: string): boolean; generate(request: LLMRequest): Promise; } export declare class JANProvider extends LLMProvider { private baseUrl; private apiKey; constructor(logger: Logger, host?: string, port?: number, apiKey?: string); isSupported(model: string): boolean; generate(request: LLMRequest): Promise; } export declare class LLMProviderManager { private logger; private providers; constructor(logger: Logger, config?: { host?: string; port?: number; janPort?: number; }); getProvider(model: string): LLMProvider; generate(request: LLMRequest): Promise; } //# sourceMappingURL=llm-provider.d.ts.map