import { z } from 'zod';
export declare const ConfigSchema: z.ZodObject<{
    embeddingModel: z.ZodDefault<z.ZodString>;
    embeddingDimensions: z.ZodDefault<z.ZodNumber>;
    defaultConfidence: z.ZodDefault<z.ZodNumber>;
    semanticSearchThreshold: z.ZodDefault<z.ZodNumber>;
    searchMode: z.ZodDefault<z.ZodEnum<["literal", "semantic", "hybrid"]>>;
    defaultListLimit: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    embeddingModel: string;
    embeddingDimensions: number;
    defaultConfidence: number;
    semanticSearchThreshold: number;
    searchMode: "literal" | "semantic" | "hybrid";
    defaultListLimit: number;
}, {
    embeddingModel?: string | undefined;
    embeddingDimensions?: number | undefined;
    defaultConfidence?: number | undefined;
    semanticSearchThreshold?: number | undefined;
    searchMode?: "literal" | "semantic" | "hybrid" | undefined;
    defaultListLimit?: number | undefined;
}>;
export type Config = z.infer<typeof ConfigSchema>;
export declare class ConfigManager {
    private static instance;
    private configPath;
    private config;
    private constructor();
    static getInstance(): ConfigManager;
    private loadConfig;
    private saveConfig;
    get<K extends keyof Config>(key: K): Config[K];
    set<K extends keyof Config>(key: K, value: Config[K]): void;
    getAll(): Config;
    update(updates: Partial<Config>): void;
    reset(): void;
}
//# sourceMappingURL=config.d.ts.map