import type { ChromaClientParams, Collection, Where, WhereDocument } from "chromadb";
import { ChromaClient } from "chromadb";
import type { BaseNode } from "../../Node.js";
import { VectorStoreBase, type IEmbedModel, type VectorStoreNoEmbedModel, type VectorStoreQuery, type VectorStoreQueryResult } from "./types.js";
type ChromaDeleteOptions = {
    where?: Where;
    whereDocument?: WhereDocument;
};
type ChromaQueryOptions = {
    whereDocument?: WhereDocument;
};
export declare class ChromaVectorStore extends VectorStoreBase implements VectorStoreNoEmbedModel {
    storesText: boolean;
    flatMetadata: boolean;
    textKey: string;
    private chromaClient;
    private collection;
    private collectionName;
    constructor(init: {
        collectionName: string;
        textKey?: string;
        chromaClientParams?: ChromaClientParams;
    } & Partial<IEmbedModel>);
    client(): ChromaClient;
    getCollection(): Promise<Collection>;
    private getDataToInsert;
    add(nodes: BaseNode[]): Promise<string[]>;
    delete(refDocId: string, deleteOptions?: ChromaDeleteOptions): Promise<void>;
    query(query: VectorStoreQuery, options?: ChromaQueryOptions): Promise<VectorStoreQueryResult>;
}
export {};
