import { Node, Chunk } from '../types/graph.js'; export interface VectorSearchResult { id: string; score: number; node?: Node; chunk?: Chunk; } export declare class VectorStore { private dimension; private maxElements; private nodeMap; private chunkMap; private embeddings; private currentIndex; constructor(dimension?: number, maxElements?: number); initialize(): Promise; addNode(node: Node): Promise; addChunk(chunk: Chunk): Promise; searchNodes(queryEmbedding: number[], topK?: number, threshold?: number): Promise; searchByNodeTypes(queryEmbedding: number[], nodeTypes: string[], topK?: number, threshold?: number): Promise; searchChunks(queryEmbedding: number[], topK?: number, threshold?: number): Promise; getNodeById(id: string): Promise; getChunkById(id: string): Promise; updateNode(node: Node): Promise; removeNode(id: string): Promise; batchAddNodes(nodes: Node[]): Promise; batchAddChunks(chunks: Chunk[]): Promise; getStats(): { totalNodes: number; totalChunks: number; dimension: number; maxElements: number; }; saveIndex(filePath: string): Promise; loadIndex(filePath: string): Promise; clear(): Promise; static cosineSimilarity(a: number[], b: number[]): number; static euclideanDistance(a: number[], b: number[]): number; } //# sourceMappingURL=vector-store.d.ts.map