import { AppConfig } from "../types/config";
/**
 * Manages application Configuration
 */
export declare class ConfigManager {
    private configPath;
    private config;
    constructor(configPath?: string);
    /**
     * Initialize configuration by loading from disk or creating default
     */
    private initConfig;
    /**
     * Save configuration to disk
     */
    saveConfig(): void;
    /**
     * Get the current configuration
     */
    getConfig(): AppConfig;
    /**
     * Update Bitcoin RPC configuration
     */
    updateBitcoinConfig(bitcoinConfig: Partial<AppConfig["bitcoin"]>): void;
    /**
     * Update application directories
     */
    updateDirectories(dirs: Partial<Pick<AppConfig, "appDir" | "caravanDir" | "keysDir">>): void;
    changeConfigLocation(newPath: string): Promise<void>;
}
