import { z } from 'zod';
declare const enumsSchema: z.ZodObject<{
    userExperience: z.ZodArray<z.ZodString, "many">;
    developmentPhase: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    userExperience: string[];
    developmentPhase: string[];
}, {
    userExperience: string[];
    developmentPhase: string[];
}>;
export interface VibeCLIConfig {
    enums: z.infer<typeof enumsSchema>;
}
export declare class ConfigProvider {
    private static instance;
    private config;
    private constructor();
    static getInstance(): ConfigProvider;
    load(): Promise<void>;
    private loadDefaults;
    private loadOverrides;
    private validate;
    private merge;
    private isPlainObject;
    getConfig(): VibeCLIConfig;
    getEnum(key: keyof VibeCLIConfig['enums']): string[];
    isValidEnum(key: keyof VibeCLIConfig['enums'], value: string): boolean;
    private watcher?;
    private setupWatcher;
    private ensureOverrideDir;
}
export declare const GlobalConfig: ConfigProvider;
export {};
//# sourceMappingURL=config-provider.d.ts.map