/**
 * SpecWeave Configuration Manager
 *
 * Handles reading, writing, and updating .specweave/config.json
 * with Zod validation.
 */
import { SpecWeaveConfig, ResearchConfig } from './types.js';
/**
 * ConfigManager - Manages SpecWeave configuration persistence
 *
 * **Features**:
 * - Zod schema validation on read/write
 * - Atomic updates (read-modify-write)
 * - Automatic timestamp updates
 * - Graceful error handling
 *
 * **Usage**:
 * ```typescript
 * const config = await ConfigManager.load();
 * config.research = { vision: insights };
 * await ConfigManager.save(config);
 * ```
 */
export declare class ConfigManager {
    /**
     * Default config file path
     */
    private static readonly CONFIG_PATH;
    /**
     * Load configuration from disk
     *
     * @param configPath - Path to config file (defaults to .specweave/config.json)
     * @returns Parsed and validated config
     * @throws Error if config is invalid or cannot be read
     */
    static load(configPath?: string): Promise<SpecWeaveConfig>;
    /**
     * Save configuration to disk
     *
     * @param config - Config object to save
     * @param configPath - Path to config file (defaults to .specweave/config.json)
     */
    static save(config: SpecWeaveConfig, configPath?: string): Promise<void>;
    /**
     * Update research insights in config
     *
     * Atomic read-modify-write operation.
     *
     * @param updates - Partial research config to merge
     * @param configPath - Path to config file
     */
    static updateResearch(updates: Partial<ResearchConfig>, configPath?: string): Promise<void>;
    /**
     * Check if config file exists
     *
     * @param configPath - Path to config file
     * @returns True if config file exists
     */
    static exists(configPath?: string): Promise<boolean>;
    /**
     * Initialize a new config file
     *
     * @param projectName - Name of the project
     * @param configPath - Path to config file
     * @returns Initialized config
     */
    static initialize(projectName: string, configPath?: string): Promise<SpecWeaveConfig>;
}
//# sourceMappingURL=ConfigManager.d.ts.map