import type { SemanticSearchOptions, SearchResult } from '../types/index.js'; import { FileRegistry } from '../indexing/file-registry.js'; import { FileCache } from '../cache/file-cache.js'; /** * Semantic search using embeddings */ export declare class SemanticSearch { private registry; private fileCache; private embeddingCache; private embeddingData; private embeddingModel; private provider; private modelName; constructor(registry: FileRegistry, fileCache: FileCache); /** * Gets the model name for the configured provider */ private getModelName; /** * Initializes the semantic search (loads or builds embeddings) */ initialize(): Promise; /** * Builds embeddings for all documents */ private buildEmbeddings; /** * Generates an embedding for text */ private embedText; /** * Generates embedding using local model (@xenova/transformers) */ private embedTextLocal; /** * Generates embedding using Voyage AI (stub - requires voyageai package) */ private embedTextVoyage; /** * Generates embedding using OpenAI (stub - requires openai package) */ private embedTextOpenAI; /** * Performs semantic search */ search(options: SemanticSearchOptions): Promise; /** * Gets embedding for a specific document (for related articles) */ getDocumentEmbedding(filePath: string): Promise; } //# sourceMappingURL=semantic.d.ts.map