export declare class Embeddings { private cache; private ollamaModel; private ollamaBaseUrl; private initialized; init(): Promise; /** Embed a string — returns a unit-norm vector. Uses cache when available. */ embed(text: string): Promise; /** Cosine similarity between two same-length vectors (L2-normalized assumed). */ static cosine(a: number[], b: number[]): number; /** Rank candidates by cosine similarity to the query embedding. */ semanticSearch(query: string, candidates: Array<{ id: string; text: string; }>, topK?: number): Promise>; flush(): Promise; private embedOllama; /** Zero-dep local embedding: char tri-grams → hashed bag → dim 128 → TF weighting → L2 normalize. */ private embedLocal; private persist; } export declare function getEmbeddings(): Embeddings; export declare function resetEmbeddingsForTests(): void; //# sourceMappingURL=embeddings.d.ts.map