import { IFileSystem } from "@azure-tools/datastore"; import { AutorestConfiguration } from "../autorest-configuration"; import { AutorestNormalizedConfiguration } from "../autorest-normalized-configuration"; import { ConfigurationFile } from "./configuration-file"; /** * Class organizing configurations and merging them together. * Configuration should be added in order of higher priority to lower priority. * This means the first configs values will be able to be used in following configs. * This also means that if a property is defined in 2 config the first one will be the one kept. */ export declare class ConfigurationManager { private configFileOrFolderUri; private fileSystem; private configItems; constructor(configFileOrFolderUri: string, fileSystem: IFileSystem); addConfig(config: AutorestNormalizedConfiguration): Promise; /** * Adds a configuration with high priority. * This means this configuration will be loaded first, its value will be able to be used in later configurations. * @param config Configuration. */ addHighPriorityConfig(config: AutorestNormalizedConfiguration): Promise; /** * Adds a configuration. * @param config Configuration. */ addConfigFile(file: ConfigurationFile): void; /** * Resolve the @see AutorestConfiguration from all the configurations. * It will resolve potential condition for configuration file blocks to be included. */ resolveConfig(): Promise; /** * Merge the given config file into the given config. Config file doesn't override values. * @param config Current config. Will be used to resolve values in the config file.(Such as condition or interpolate values). * @param configFile Config file. */ private mergeConfigFile; } //# sourceMappingURL=configuration-manager.d.ts.map