/**
 * Persistent Configuration Manager
 * Stores user preferences and learns from interactions
 * Survives CLI updates by storing in user's home directory
 */
interface UserPreferences {
    defaultStack: string;
    preferredAgents: Record<string, string>;
    routingOverrides: Array<{
        pattern: string;
        agent: string;
        timestamp: string;
        confidence: number;
    }>;
    techStackHistory: Array<{
        project: string;
        stack: string;
        timestamp: string;
    }>;
    clarificationHistory: Array<{
        prompt: string;
        questions: string[];
        answers: string[];
        timestamp: string;
    }>;
    theme: 'dark' | 'light';
    autoConfirm: boolean;
    confidenceThreshold: number;
}
interface AgentRegistry {
    agents: Array<{
        name: string;
        description: string;
        department: string;
        version: string;
        lastUpdated: string;
    }>;
    workflows: Array<{
        name: string;
        description: string;
        agents: string[];
    }>;
}
export declare class ConfigManager {
    private static instance;
    private configDir;
    private preferencesPath;
    private registryPath;
    private cacheDir;
    private constructor();
    static getInstance(): ConfigManager;
    private ensureDirectories;
    /**
     * Get user preferences
     */
    getPreferences(): UserPreferences;
    /**
     * Save user preferences
     */
    savePreferences(preferences: UserPreferences): void;
    /**
     * Update a specific preference
     */
    updatePreference<K extends keyof UserPreferences>(key: K, value: UserPreferences[K]): void;
    /**
     * Learn from user override
     */
    learnOverride(pattern: string, agent: string, confidence: number): void;
    /**
     * Check if user has preferred agent for task
     */
    getPreferredAgent(task: string): string | null;
    /**
     * Record clarification interaction
     */
    recordClarification(prompt: string, questions: string[], answers: string[]): void;
    /**
     * Get similar past clarifications
     */
    getSimilarClarifications(prompt: string): Array<{
        questions: string[];
        answers: string[];
    }>;
    /**
     * Get default tech stack from history
     */
    getDefaultStack(): string;
    /**
     * Record tech stack choice
     */
    recordStackChoice(project: string, stack: string): void;
    /**
     * Get agent registry (cached or fresh)
     */
    getAgentRegistry(): AgentRegistry;
    /**
     * Update agent registry
     */
    updateRegistry(registry: AgentRegistry): void;
    /**
     * Check for agent updates
     */
    checkForUpdates(): {
        hasUpdates: boolean;
        outdatedAgents: string[];
    };
    /**
     * Export all user data
     */
    exportData(): string;
    /**
     * Import user data
     */
    importData(data: string): void;
    /**
     * Reset all preferences
     */
    reset(): void;
    /**
     * Get default preferences
     */
    private getDefaultPreferences;
    /**
     * Get default registry
     */
    private getDefaultRegistry;
    /**
     * Infer task type from prompt
     */
    private inferTaskType;
}
export declare const config: ConfigManager;
export {};
//# sourceMappingURL=config-manager.d.ts.map