UNPKG

@xec-sh/cli

Version:

Xec: The Universal Shell for TypeScript

41 lines (40 loc) 1.59 kB
import { SecretManager } from '../secrets/index.js'; import { TargetResolver } from './target-resolver.js'; import type { Configuration, ValidationError, VariableContext, ConfigManagerOptions } from './types.js'; export declare class ConfigurationManager { private options; private sources; private merged?; private interpolator; private validator; private secretManager; constructor(options?: ConfigManagerOptions); load(): Promise<Configuration>; get<T = any>(path: string): T | undefined; set(path: string, value: any): void; getCurrentProfile(): string | undefined; useProfile(profileName: string): Promise<void>; getProfiles(): string[]; interpolate(value: string, context?: Partial<VariableContext>): string; getConfig(): Configuration; getTargetResolver(): TargetResolver; validate(): Promise<ValidationError[]>; save(filePath?: string): Promise<void>; validateFile(filePath: string): Promise<ValidationError[]>; private loadBuiltinDefaults; private loadGlobalConfig; private loadProjectConfig; private loadEnvironmentConfig; private loadProfileConfig; private resolveProfileWithInheritance; private mergeConfigurations; private resolveVariables; private getByPath; private setByPath; getSecretManager(): SecretManager; updateSecretProvider(config: ConfigManagerOptions['secretProvider']): Promise<void>; } export declare class ConfigValidationError extends Error { errors: ValidationError[]; constructor(message: string, errors: ValidationError[]); }