import { HnswlibModule, HierarchicalNSW as HierarchicalNSWT } from 'closevector-hnswlib-wasm';
import { CloseVectorEmbeddings, CloseVectorHNSWLibArgs, CloseVectorSaveableVectorStore, CloseVectorDocument, SynchronousInMemoryDocstore, CloseVectorHNSWLibBase, CloseVectorCredentials } from 'closevector-common';
export { CloseVectorEmbeddings, CloseVectorHNSWLibArgs, CloseVectorSaveableVectorStore, CloseVectorDocument, SynchronousInMemoryDocstore, CloseVectorHNSWLibBase, CloseVectorCredentials, } from 'closevector-common';
export type { HierarchicalNSW as HierarchicalNSWT } from 'closevector-hnswlib-wasm';
export type { HnswlibModule };
export declare class CloseVectorHNSWWeb extends CloseVectorSaveableVectorStore {
    FilterType: (doc: CloseVectorDocument) => boolean;
    _index?: HierarchicalNSWT;
    docstore: SynchronousInMemoryDocstore;
    args: CloseVectorHNSWLibBase;
    _uuid?: string;
    _vectorstoreType(): string;
    constructor(embeddings: CloseVectorEmbeddings, args: CloseVectorHNSWLibArgs<HierarchicalNSWT> & {
        credentials?: CloseVectorCredentials;
    });
    addDocuments(documents: CloseVectorDocument[]): Promise<void>;
    private static getHierarchicalNSW;
    private initIndex;
    get index(): HierarchicalNSWT;
    private set index(value);
    get uuid(): string;
    private set uuid(value);
    addVectors(vectors: number[][], documents: CloseVectorDocument[]): Promise<void>;
    similaritySearchVectorWithScore(query: number[], k: number, filter?: this['FilterType']): Promise<[CloseVectorDocument<Record<string, any>>, number][]>;
    saveToCloud(options?: {
        uuid?: string;
        public?: boolean;
        description?: string;
        credentials?: CloseVectorCredentials;
        onProgress?: (progress: {
            loaded: number;
            total: number;
        }) => void;
    }): Promise<void>;
    save(directory: string): Promise<void>;
    static loadFromCloud(options: {
        embeddings: CloseVectorEmbeddings;
        uuid: string;
        public?: boolean;
        credentials?: CloseVectorCredentials;
        onProgress?: (progress: {
            loaded: number;
            total: number;
        }) => void;
    }): Promise<CloseVectorHNSWWeb>;
    static load(directory: string, embeddings: CloseVectorEmbeddings): Promise<CloseVectorHNSWWeb>;
    static fromTexts(texts: string[], metadatas: object[] | object, embeddings: CloseVectorEmbeddings, dbConfig?: {
        docstore?: SynchronousInMemoryDocstore;
    }): Promise<CloseVectorHNSWWeb>;
    static fromDocuments(docs: CloseVectorDocument[], embeddings: CloseVectorEmbeddings, dbConfig?: {
        docstore?: SynchronousInMemoryDocstore;
    }): Promise<CloseVectorHNSWWeb>;
    static imports(): Promise<HnswlibModule>;
}
export declare const HNSWLib: typeof CloseVectorHNSWWeb;
