/**
 * NeuroLink Config Manager with Backup/Restore System
 * Industry standard configuration management with safety mechanisms
 */
import type { NeuroLinkConfig, ProviderRuntimeConfig, BackupInfo, ConfigValidationResult, ConfigUpdateOptions } from "../types/index.js";
/**
 * Enhanced Config Manager with automatic backup/restore capabilities
 */
export declare class NeuroLinkConfigManager {
    private configPath;
    private backupDir;
    private config;
    private configCache;
    /**
     * Load configuration with caching
     */
    loadConfig(): Promise<NeuroLinkConfig>;
    /**
     * Update configuration with automatic backup
     */
    updateConfig(updates: Partial<NeuroLinkConfig>, options?: ConfigUpdateOptions): Promise<void>;
    /**
     * Create a backup with metadata
     */
    createBackup(reason?: string): Promise<string>;
    /**
     * List all available backups
     */
    listBackups(): Promise<BackupInfo[]>;
    /**
     * Restore from specific backup
     */
    restoreFromBackup(backupFilename: string): Promise<void>;
    /**
     * Restore from latest backup
     */
    restoreLatestBackup(): Promise<void>;
    /**
     * Clean up old backups
     */
    cleanupOldBackups(keepCount?: number): Promise<void>;
    /**
     * Update provider status
     */
    updateProviderStatus(providerId: string, status: Partial<ProviderRuntimeConfig>): Promise<void>;
    /**
     * Validate configuration
     */
    validateConfig(config: NeuroLinkConfig): Promise<ConfigValidationResult>;
    /**
     * Generate default configuration
     */
    generateDefaultConfig(): Promise<NeuroLinkConfig>;
    private ensureBackupDirectory;
    private readConfigFile;
    private persistConfig;
    private generateConfigHash;
    private extractMetadataFromBackup;
    private extractConfigFromBackup;
}
