qraft
Version:
A powerful CLI tool to qraft structured project setups from GitHub template repositories
130 lines • 4.04 kB
TypeScript
import { RegistryConfig, RegistryManagerConfig } from '../types';
/**
* ConfigManager handles loading, saving, and managing configuration for registries and authentication
*/
export declare class ConfigManager {
private configPath;
private config;
constructor(configPath?: string);
/**
* Get the default configuration file path
* @returns string Path to the default config file
*/
private getDefaultConfigPath;
/**
* Load configuration from file
* @returns Promise<RegistryManagerConfig> Loaded configuration
*/
loadConfig(): Promise<RegistryManagerConfig>;
/**
* Save configuration to file
* @returns Promise<void>
*/
saveConfig(): Promise<void>;
/**
* Create default configuration
* @returns RegistryManagerConfig Default configuration
*/
private createDefaultConfig;
/**
* Get current configuration
* @returns Promise<RegistryManagerConfig> Current configuration
*/
getConfig(): Promise<RegistryManagerConfig>;
/**
* Set the default registry
* @param registryName Name of the registry to set as default
* @returns Promise<void>
*/
setDefaultRegistry(registryName: string): Promise<void>;
/**
* Add or update a registry
* @param registry Registry configuration to add/update
* @returns Promise<void>
*/
setRegistry(registry: RegistryConfig): Promise<void>;
/**
* Remove a registry
* @param registryName Name of the registry to remove
* @returns Promise<void>
*/
removeRegistry(registryName: string): Promise<void>;
/**
* Get a specific registry configuration
* @param registryName Name of the registry
* @returns Promise<RegistryConfig | null> Registry configuration or null if not found
*/
getRegistry(registryName: string): Promise<RegistryConfig | null>;
/**
* List all configured registries
* @returns Promise<RegistryConfig[]> Array of registry configurations
*/
listRegistries(): Promise<RegistryConfig[]>;
/**
* Set global GitHub token
* @param token GitHub token
* @returns Promise<void>
*/
setGlobalToken(token: string): Promise<void>;
/**
* Remove global GitHub token
* @returns Promise<void>
*/
removeGlobalToken(): Promise<void>;
/**
* Set token for a specific registry
* @param registryName Name of the registry
* @param token GitHub token
* @returns Promise<void>
*/
setRegistryToken(registryName: string, token: string): Promise<void>;
/**
* Remove token from a specific registry
* @param registryName Name of the registry
* @returns Promise<void>
*/
removeRegistryToken(registryName: string): Promise<void>;
/**
* Update cache settings
* @param cacheSettings Cache configuration
* @returns Promise<void>
*/
setCacheSettings(cacheSettings: {
enabled?: boolean;
ttl?: number;
directory?: string;
}): Promise<void>;
/**
* Add a new registry
* @param name Registry name
* @param registry Registry configuration
* @returns Promise<void>
*/
addRegistry(name: string, registry: RegistryConfig): Promise<void>;
/**
* Update cache configuration (alias for setCacheSettings)
* @param updates Partial cache configuration updates
* @returns Promise<void>
*/
updateCacheConfig(updates: {
enabled?: boolean;
ttl?: number;
directory?: string;
}): Promise<void>;
/**
* Reset configuration to defaults
* @returns Promise<void>
*/
resetConfig(): Promise<void>;
/**
* Get the configuration file path
* @returns string Path to the configuration file
*/
getConfigPath(): string;
/**
* Check if configuration file exists
* @returns Promise<boolean> True if config file exists
*/
configExists(): Promise<boolean>;
}
//# sourceMappingURL=config.d.ts.map