import type { ChannelOptions } from "@grpc/grpc-js";
import { MilvusClient, type ClientConfig, type DeleteReq } from "@zilliz/milvus2-sdk-node";
import { BaseNode, type Metadata } from "../../Node.js";
import { VectorStoreBase, type IEmbedModel, type VectorStoreNoEmbedModel, type VectorStoreQuery, type VectorStoreQueryResult } from "./types.js";
export declare class MilvusVectorStore extends VectorStoreBase implements VectorStoreNoEmbedModel {
    storesText: boolean;
    isEmbeddingQuery?: boolean;
    private flatMetadata;
    private milvusClient;
    private collectionInitialized;
    private collectionName;
    private idKey;
    private contentKey;
    private metadataKey;
    private embeddingKey;
    constructor(init?: Partial<{
        milvusClient: MilvusClient;
    }> & Partial<IEmbedModel> & {
        params?: {
            configOrAddress: ClientConfig | string;
            ssl?: boolean;
            username?: string;
            password?: string;
            channelOptions?: ChannelOptions;
        };
        collection?: string;
        idKey?: string;
        contentKey?: string;
        metadataKey?: string;
        embeddingKey?: string;
    });
    client(): MilvusClient;
    private createCollection;
    private ensureCollection;
    add(nodes: BaseNode<Metadata>[]): Promise<string[]>;
    delete(refDocId: string, deleteOptions?: Omit<DeleteReq, "ids">): Promise<void>;
    query(query: VectorStoreQuery, _options?: any): Promise<VectorStoreQueryResult>;
    persist(): Promise<void>;
}
