import { AIProvider, AIProviderConfig, IAIProvider, AIResponse, SummarizationRequest, CodeAnalysisRequest, DiagramGenerationRequest } from './base'; export interface AIProviderManagerConfig { providers: AIProviderConfig[]; primaryProvider?: AIProvider; fallbackProviders?: AIProvider[]; enableFallback?: boolean; maxRetries?: number; retryDelay?: number; } export declare class AIProviderManager { private providers; private primaryProvider?; private fallbackProviders; private config; constructor(config: AIProviderManagerConfig); private initializeProviders; initialize(): Promise; validateProviders(): Promise>; getProvider(provider?: AIProvider): IAIProvider | undefined; setPrimaryProvider(provider: AIProvider): void; generateText(prompt: string, systemPrompt?: string, provider?: AIProvider): Promise; generateStream(prompt: string, systemPrompt?: string, provider?: AIProvider): AsyncGenerator; summarize(request: SummarizationRequest, provider?: AIProvider): Promise; analyzeCode(request: CodeAnalysisRequest, provider?: AIProvider): Promise; generateDiagram(request: DiagramGenerationRequest, provider?: AIProvider): Promise; generateEmbedding(text: string, provider?: AIProvider): Promise; private executeWithFallback; getTokenCount(): number; resetTokenCount(): void; getProviderTokenCount(provider: AIProvider): number; getAvailableModels(provider?: AIProvider): Promise; getConfiguredProviders(): AIProvider[]; isProviderConfigured(provider: AIProvider): boolean; } //# sourceMappingURL=manager.d.ts.map