import EventEmitter from 'events'; import { z, type z as ZodType } from 'zod'; declare const configSchema: z.ZodObject<{ provider: z.ZodEnum<{ docs: "docs"; openai: "openai"; mistral: "mistral"; ollama: "ollama"; }>; model: z.ZodString; includeSampleDocs: z.ZodBoolean; defaultCollection: z.ZodOptional; }, z.core.$strip>; export type ConfigSchema = ZodType.infer; type ConfigKeys = keyof ConfigSchema; export declare class Config extends EventEmitter<{ change: [ { key: ConfigKeys; value: ConfigSchema[ConfigKeys]; } ]; }> { private readonly replConfig; private configMap; private constructor(); static create(replConfig: { set: (key: string, value: unknown) => Promise; get: (key: string) => Promise; }): Promise; get(key: K): ConfigSchema[K]; assertKey(key: string): asserts key is ConfigKeys; set(key: ConfigKeys, value: ConfigSchema[ConfigKeys]): Promise; } export {};