/** * Embedding Provider Interface * Defines the contract for all embedding implementations */ export interface ModelInfo { provider: string; model: string; dimensions: number; available: boolean; } export interface EmbeddingProvider { /** * Initialize the embedding provider * Should handle graceful failure if provider unavailable */ initialize(): Promise; /** * Check if embeddings are available */ isAvailable(): boolean; /** * Generate embedding for a single text */ embed(text: string): Promise; /** * Generate embeddings for multiple texts (batched for efficiency) */ embedBatch(texts: string[], batchSize?: number): Promise; /** * Get information about the model being used */ getModelInfo(): ModelInfo; } //# sourceMappingURL=EmbeddingProvider.d.ts.map