import { Store } from "../Store"; import { Layer } from "./Layer"; import { HNSWPoint } from "./HNSWPoint"; import { BasePoint } from "../BasePoint"; export interface IHNSWSettings { baseNN: number; probabilityThreshold: number; } export declare class HNSW extends Store { static Point: typeof HNSWPoint; static Layer: typeof Layer; static defaultSettings: IHNSWSettings; highestLayer: number; points: Record; layers: Layer[]; settings: IHNSWSettings; constructor(settings?: Partial); query(pointEmbeddings: BasePoint["embeddings"]): HNSWPoint; add(input: number[] | number[][] | HNSWPoint | HNSWPoint[], overwrite?: boolean): HNSWPoint[]; getLayerToAppendPoint(): Layer; private addPoint; get entryPoint(): HNSWPoint; get entryLayer(): Layer; get Point(): typeof HNSWPoint; get Layer(): typeof Layer; get layersStats(): { NN: number; level: number; settings: import("./Layer").ILayerSettings; assignPropability: number; points: number; }[]; }