import { AIProviderConfig, HealthStatus, ModelInfo, CostEstimate, ValidationResult } from './types'; import { CompletionRequest, EmbeddingRequest } from './types/request-types'; import { CompletionResponse, StreamChunk, EmbeddingResponse, ModerationResponse } from './types/response-types'; import { AIProviderError } from './types/error-types'; /** * Abstract AI Provider Interface * All provider implementations (OpenAI, Anthropic, etc.) must implement this interface */ export declare abstract class AIProvider { protected config: AIProviderConfig; constructor(config: AIProviderConfig); /** * Generate text completion */ abstract complete(request: CompletionRequest): Promise; /** * Generate streaming text completion */ abstract streamComplete(request: CompletionRequest): AsyncGenerator; /** * Generate embeddings for text */ abstract generateEmbeddings(request: EmbeddingRequest): Promise; /** * Check content moderation */ abstract moderate(content: string): Promise; /** * Get available models */ abstract getAvailableModels(): Promise; /** * Check provider health */ abstract checkHealth(): Promise; /** * Get provider name */ getProviderName(): string; /** * Get provider version */ getProviderVersion(): string; /** * Check if provider is available */ isAvailable(): Promise; /** * Estimate token count (override for provider-specific logic) */ estimateTokens(text: string): number; /** * Estimate cost (override for provider-specific pricing) */ estimateCost(request: CompletionRequest): CostEstimate; /** * Validate request before sending */ protected validateRequest(request: CompletionRequest): ValidationResult; /** * Handle provider errors consistently */ protected handleError(error: unknown): AIProviderError; } //# sourceMappingURL=AIProvider.d.ts.map