import * as _zilliz_milvus2_sdk_node from '@zilliz/milvus2-sdk-node';
import { ClientConfig, RowData } from '@zilliz/milvus2-sdk-node';
import * as genkit from 'genkit';
import { z, Genkit } from 'genkit';
import { EmbedderArgument } from '@genkit-ai/ai/embedder';
import { GenkitPlugin } from 'genkit/plugin';

declare const DocumentSchema: z.ZodObject<{
    id: z.ZodNumber;
    vector: z.ZodArray<z.ZodNumber, "many">;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
}, "strip", z.ZodTypeAny, {
    id: number;
    vector: number[];
    metadata?: Record<string, any> | undefined;
}, {
    id: number;
    vector: number[];
    metadata?: Record<string, any> | undefined;
}>;
interface MilvusPluginOptions<EmbedderCustomOptions extends z.ZodTypeAny = z.ZodTypeAny> {
    collectionName: string;
    dbName?: string;
    clientParams?: ClientConfig;
    embedder: EmbedderArgument<EmbedderCustomOptions>;
    embedderOptions?: z.infer<EmbedderCustomOptions>;
}
/**
 * Milvus plugin that provides a milvus retriever and indexer.
 */
declare function milvus<EmbedderCustomOptions extends z.ZodTypeAny>(params: MilvusPluginOptions<EmbedderCustomOptions>[]): GenkitPlugin;

declare const milvusRetrieverRef: (params: {
    collectionName: string;
    displayName?: string;
}) => genkit.RetrieverReference<z.ZodOptional<z.ZodObject<z.objectUtil.extendShape<{
    k: z.ZodOptional<z.ZodNumber>;
}, {
    k: z.ZodDefault<z.ZodNumber>;
    filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    limit: z.ZodOptional<z.ZodNumber>;
}>, "strip", z.ZodTypeAny, {
    k: number;
    filter?: Record<string, any> | undefined;
    limit?: number | undefined;
}, {
    filter?: Record<string, any> | undefined;
    k?: number | undefined;
    limit?: number | undefined;
}>>>;
declare const milvusIndexerRef: (params: {
    collectionName: string;
    displayName?: string;
}) => genkit.IndexerReference<z.ZodOptional<z.ZodOptional<z.ZodNull>>>;
/**
 * Configures a Milvus vector store retriever.
 */
declare function milvusRetriever<EmbedderCustomOptions extends z.ZodTypeAny>(ai: Genkit, params: MilvusPluginOptions<EmbedderCustomOptions>): genkit.RetrieverAction<z.ZodObject<z.objectUtil.extendShape<{
    k: z.ZodOptional<z.ZodNumber>;
}, {
    k: z.ZodDefault<z.ZodNumber>;
    filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    limit: z.ZodOptional<z.ZodNumber>;
}>, "strip", z.ZodTypeAny, {
    k: number;
    filter?: Record<string, any> | undefined;
    limit?: number | undefined;
}, {
    filter?: Record<string, any> | undefined;
    k?: number | undefined;
    limit?: number | undefined;
}>>;
/**
 * Configures a Milvus vector store indexer.
 */
declare function milvusIndexer<EmbedderCustomOptions extends z.ZodTypeAny>(ai: Genkit, params: MilvusPluginOptions<EmbedderCustomOptions>): genkit.IndexerAction<z.ZodOptional<z.ZodOptional<z.ZodNull>>>;
declare function createMilvusCollection(params: {
    collectionName: string;
    dimension: number;
    dbName?: string;
    clientParams?: ClientConfig;
}): Promise<_zilliz_milvus2_sdk_node.ResStatus>;
declare function describeMilvusCollection(params: {
    collectionName: string;
    dbName?: string;
    clientParams?: ClientConfig;
}): Promise<_zilliz_milvus2_sdk_node.DescribeCollectionResponse>;
declare function insertMilvusData(params: {
    collectionName: string;
    dbName?: string;
    entries: RowData[];
    clientParams?: ClientConfig;
}): Promise<_zilliz_milvus2_sdk_node.MutationResult>;
declare function searchMilvusData(params: {
    collectionName: string;
    dbName?: string;
    query: number[];
    limit?: number;
    filter?: string;
    topk?: number;
    clientParams?: ClientConfig;
}): Promise<_zilliz_milvus2_sdk_node.SearchResults>;
declare function deleteMilvusCollection(params: {
    collectionName: string;
    dbName?: string;
    clientParams?: ClientConfig;
}): Promise<_zilliz_milvus2_sdk_node.ResStatus>;
declare function hasMilvusCollection(params: {
    collectionName: string;
    dbName?: string;
    clientParams?: ClientConfig;
}): Promise<Boolean>;

export { DocumentSchema, createMilvusCollection, milvus as default, deleteMilvusCollection, describeMilvusCollection, hasMilvusCollection, insertMilvusData, milvus, milvusIndexer, milvusIndexerRef, milvusRetriever, milvusRetrieverRef, searchMilvusData };
