UNPKG

@hashgraph/solo

Version:

An opinionated CLI tool to deploy and manage private Hedera Networks.

36 lines (35 loc) 1.32 kB
import { type ConfigBuilder } from './config-builder.js'; import { type Config } from './config.js'; /** * The ConfigProvider interface provides the ability to build, register, access, and release a Config instance. */ export interface ConfigProvider { /** * Retrieves the current configuration. * * @returns The current configuration. * @throws Error if the configuration has not been registered. */ config(): Config; /** * Registers the specified configuration with the provider. * * @param config - The configuration to be registered. * @throws ConfigurationError if a configuration has already been registered. */ register(config: Config): void; /** * Releases the configuration that is currently registered with the provider. * * @throws ConfigurationError if a configuration has not been registered. */ release(): void; /** * Creates a new configuration instance. The configuration built by this builder is not registered with the provider * by the {@link ConfigBuilder#build} method. Callers should use the {@link ConfigProvider#register} method to register * the configuration with the provider. * * @returns A new configuration builder instance. */ builder(): ConfigBuilder; }