revit-cli
Version:
A scalable CLI tool for Revit communication and data manipulation
79 lines • 1.82 kB
TypeScript
import { Config } from '../types';
/**
* Manages configuration for the CLI and tools
*/
export declare class ConfigManager {
private config;
private configPath;
private logger;
private defaultConfig;
constructor();
/**
* Initialize the configuration manager
*/
initialize(): Promise<void>;
/**
* Get the default configuration file path
*/
private getDefaultConfigPath;
/**
* Ensure the configuration directory exists
*/
private ensureConfigDirectory;
/**
* Load configuration from file
*/
private loadConfig;
/**
* Save configuration to file
*/
private saveConfig;
/**
* Deep merge two configuration objects
*/
private mergeConfig;
/**
* Get the current configuration
*/
getConfig(): Config;
/**
* Get a specific configuration value
*/
get<T = any>(path: string, defaultValue?: T): T;
/**
* Set a configuration value
*/
set(path: string, value: any): Promise<void>;
/**
* Interactive configuration editor
*/
editConfig(): Promise<void>;
/**
* Set custom configuration file path
*/
setConfigPath(configPath: string): void;
/**
* Reset configuration to defaults
*/
resetToDefaults(): Promise<void>;
/**
* Interactive configuration editing
*/
editInteractive(): Promise<void>;
/**
* Validate configuration
*/
validateConfig(): {
isValid: boolean;
errors: string[];
};
/**
* Get tool-specific configuration
*/
getToolConfig(toolName: string): any;
/**
* Set tool-specific configuration
*/
setToolConfig(toolName: string, config: any): Promise<void>;
}
//# sourceMappingURL=config-manager.d.ts.map