/** * Embeddings provider — pluggable embedding generation for semantic search. * * Supports multiple backends: * - fastembed (local ONNX runtime, no network, default) * - openai (OpenAI embeddings API) * - voyage (Voyage AI embeddings API) * * Each provider normalizes output to float32 arrays for consistent distance computation. */ export interface EmbeddingProvider { readonly name: string; /** Dimensionality of the embedding vectors. */ readonly dimensions: number; /** Generate embeddings for a batch of text chunks. */ embed(texts: string[]): Promise; /** Check if the provider is ready (e.g., model loaded, API key present). */ isReady(): boolean; /** Initialize the provider (load model, verify API key, etc). */ init(): Promise; } export interface EmbeddingConfig { /** Provider to use. Default: 'fastembed'. */ provider?: 'fastembed' | 'openai' | 'voyage'; /** Model name for the provider. */ model?: string; /** API key (for OpenAI/Voyage). Auto-detected from env if omitted. */ apiKey?: string; /** Max batch size for embedding calls. */ batchSize?: number; } /** * Create an embedding provider based on configuration. */ export declare function createEmbeddingProvider(config?: EmbeddingConfig): EmbeddingProvider; //# sourceMappingURL=provider.d.ts.map