@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
28 lines (27 loc) • 1.26 kB
TypeScript
import { type ConfigSource } from '../spi/config-source.js';
import { type ObjectMapper } from '../../mapper/api/object-mapper.js';
import { type StorageBackend } from '../../backend/api/storage-backend.js';
import { type Forest } from '../../key/lexer/forest.js';
import { type ClassConstructor } from '../../../business/utils/class-constructor.type.js';
export declare abstract class LayeredConfigSource implements ConfigSource {
readonly backend: StorageBackend;
protected readonly mapper: ObjectMapper;
readonly prefix?: string;
/**
* The forest model of the configuration keys and values.
* @protected
*/
protected forest: Forest;
protected constructor(backend: StorageBackend, mapper: ObjectMapper, prefix?: string);
abstract get name(): string;
abstract get ordinal(): number;
asBoolean(key: string): boolean | null;
asNumber(key: string): number | null;
asObject<T>(cls: ClassConstructor<T>, key?: string): T;
asObjectArray<T extends Array<T>>(cls: ClassConstructor<T>, key: string): T[];
asString(key: string): string | null;
asStringArray(key: string): string[] | null;
properties(): Map<string, string>;
propertyNames(): Set<string>;
abstract load(): Promise<void>;
}