import { z } from 'zod';
export declare const ConfigSchema: z.ZodObject<{
    version: z.ZodDefault<z.ZodString>;
    directory: z.ZodString;
    extensions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    exclude: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    embedding: z.ZodObject<{
        provider: z.ZodDefault<z.ZodEnum<["gemini", "openai"]>>;
        model: z.ZodDefault<z.ZodString>;
        chunkSize: z.ZodDefault<z.ZodNumber>;
        chunkOverlap: z.ZodDefault<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        provider: "gemini" | "openai";
        model: string;
        chunkSize: number;
        chunkOverlap: number;
    }, {
        provider?: "gemini" | "openai" | undefined;
        model?: string | undefined;
        chunkSize?: number | undefined;
        chunkOverlap?: number | undefined;
    }>;
    llm: z.ZodObject<{
        provider: z.ZodDefault<z.ZodEnum<["gemini", "openai"]>>;
        model: z.ZodDefault<z.ZodString>;
        temperature: z.ZodDefault<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        provider: "gemini" | "openai";
        model: string;
        temperature: number;
    }, {
        provider?: "gemini" | "openai" | undefined;
        model?: string | undefined;
        temperature?: number | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    version: string;
    directory: string;
    extensions: string[];
    exclude: string[];
    embedding: {
        provider: "gemini" | "openai";
        model: string;
        chunkSize: number;
        chunkOverlap: number;
    };
    llm: {
        provider: "gemini" | "openai";
        model: string;
        temperature: number;
    };
}, {
    directory: string;
    embedding: {
        provider?: "gemini" | "openai" | undefined;
        model?: string | undefined;
        chunkSize?: number | undefined;
        chunkOverlap?: number | undefined;
    };
    llm: {
        provider?: "gemini" | "openai" | undefined;
        model?: string | undefined;
        temperature?: number | undefined;
    };
    version?: string | undefined;
    extensions?: string[] | undefined;
    exclude?: string[] | undefined;
}>;
export type Config = z.infer<typeof ConfigSchema>;
export declare const MetadataSchema: z.ZodObject<{
    indexedAt: z.ZodString;
    fileCount: z.ZodNumber;
    totalChunks: z.ZodNumber;
    dbSize: z.ZodString;
}, "strip", z.ZodTypeAny, {
    indexedAt: string;
    fileCount: number;
    totalChunks: number;
    dbSize: string;
}, {
    indexedAt: string;
    fileCount: number;
    totalChunks: number;
    dbSize: string;
}>;
export type Metadata = z.infer<typeof MetadataSchema>;
export declare const CacheEntrySchema: z.ZodObject<{
    path: z.ZodString;
    hash: z.ZodString;
    modifiedAt: z.ZodNumber;
    chunks: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    path: string;
    hash: string;
    modifiedAt: number;
    chunks: number;
}, {
    path: string;
    hash: string;
    modifiedAt: number;
    chunks: number;
}>;
export type CacheEntry = z.infer<typeof CacheEntrySchema>;
export declare const CacheSchema: z.ZodObject<{
    version: z.ZodDefault<z.ZodString>;
    entries: z.ZodRecord<z.ZodString, z.ZodObject<{
        path: z.ZodString;
        hash: z.ZodString;
        modifiedAt: z.ZodNumber;
        chunks: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        path: string;
        hash: string;
        modifiedAt: number;
        chunks: number;
    }, {
        path: string;
        hash: string;
        modifiedAt: number;
        chunks: number;
    }>>;
}, "strip", z.ZodTypeAny, {
    version: string;
    entries: Record<string, {
        path: string;
        hash: string;
        modifiedAt: number;
        chunks: number;
    }>;
}, {
    entries: Record<string, {
        path: string;
        hash: string;
        modifiedAt: number;
        chunks: number;
    }>;
    version?: string | undefined;
}>;
export type Cache = z.infer<typeof CacheSchema>;
//# sourceMappingURL=config.d.ts.map