export interface SearchResult { docId: string; distance: number; metadata?: Record; } export interface NodeExport { id: number; docId: string; level: number; neighbors: Record; } export declare class HNSWIndex { private dimensions; private metric; private M; private efConstruction; private nodes; private docIdMap; private enterPoint; private nextNodeId; private maxLevel; constructor(dimensions: number, metric?: 'cosine' | 'l2', M?: number, efConstruction?: number); insert(docId: string, vector: Float32Array): void; search(query: Float32Array, k: number): SearchResult[]; private searchLayer; private selectNeighbors; private distance; private randomLevel; size(): number; exportNodes(): Map; importNodes(exported: NodeExport[], vectors: Map): void; } //# sourceMappingURL=HNSWIndex.d.ts.map