import { Layer } from './layer';
export declare class HNSW {
    layers: Layer[];
    maxLayers: number;
    maxEdges: number;
    distanceFunction: Function;
    constructor(maxLayers: number, maxEdges: number, distanceFunction?: string | Function);
    add(id: string, vector: number[]): void;
    addBulk(bulkData: [string, number[]][]): void;
    remove(nodeId: string): void;
    query(queryVector: number[], nClosest?: number): string[];
    toJSON(): object;
    static rebuildFromJSON(json: object): HNSW;
    private getNodeById;
}
