import type { RawValues, SourceType } from '../../types'; export declare abstract class ConfigSource { /** * Wrapped .loadRaw() method which should be implemented in * derived class and enforces basic validation and error transforming. * * NOTE: Guarantees that only ConfigSourceException can't be thrown * @returns Promise */ load(): Promise; /** * Flattens raw configuration and validates that each property is * either primitive or array of primitives. * * @param obj Raw configuration object obtained from source * @param prefix recursive calls chain path in for of string * @returns Vars */ private flattenEndValidate; abstract name(): string; abstract type(): SourceType; abstract loadRaw(): Promise; }