@xec-sh/cli
Version:
Xec: The Universal Shell for TypeScript
41 lines (40 loc) • 1.59 kB
TypeScript
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[]);
}