import { z } from 'zod';
import type { ConfigOf, RedactedSchema } from '../secrets.ts';
export type EmbedFn = (text: string) => Promise<number[]>;
export declare const QdrantConfig: z.ZodObject<{
    url: z.ZodOptional<z.ZodString>;
    host: z.ZodOptional<z.ZodString>;
    port: z.ZodOptional<z.ZodNumber>;
    https: z.ZodOptional<z.ZodBoolean>;
    apiKey: z.ZodOptional<import("../secrets.ts").SecretSchema<z.ZodString>>;
    collection: z.ZodOptional<z.ZodString>;
    groupBy: z.ZodOptional<z.ZodArray<z.ZodString>>;
    basenameFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
    idField: z.ZodOptional<z.ZodString>;
    nameField: z.ZodOptional<z.ZodString>;
    textField: z.ZodOptional<z.ZodString>;
    blobField: z.ZodOptional<z.ZodString>;
    blobExt: z.ZodOptional<z.ZodString>;
    vectorField: z.ZodOptional<z.ZodString>;
    searchLimit: z.ZodOptional<z.ZodNumber>;
    maxRows: z.ZodOptional<z.ZodNumber>;
    embeddingModel: z.ZodOptional<z.ZodString>;
    cloudInference: z.ZodOptional<z.ZodBoolean>;
    embed: z.ZodOptional<import("../secrets.ts").SecretSchema<z.ZodCustom<EmbedFn, EmbedFn>>>;
    timeout: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export type QdrantConfig = ConfigOf<typeof QdrantConfig>;
export declare function resolveQdrantConfig(config: QdrantConfig): {
    timeout: number;
    url: string | null;
    host: string;
    port: number;
    https: boolean;
    apiKey: string | null;
    collection: string | null;
    groupBy: string[];
    basenameFields: string[];
    idField: string;
    nameField: string | null;
    textField: string | null;
    blobField: string | null;
    blobExt: string;
    vectorField: string | null;
    searchLimit: number;
    maxRows: number;
    embeddingModel: string;
    cloudInference: boolean;
    embed: EmbedFn | null;
};
export declare function redactQdrantConfig(config: ReturnType<typeof resolveQdrantConfig>): RedactedSchema<typeof QdrantConfig, ReturnType<typeof resolveQdrantConfig>>;
//# sourceMappingURL=config.d.ts.map