declare class CrossEnvConfig { private static _overrides; /** * This is a key/value object of config values that can be used to look up values. * Set with attachConfigRegistry */ private static _registry?; /** * A function that can be used to dynamically look up config values. * Set with attachConfigFactory */ private static _factory?; /** * A map of aliases that can be used to look up config values. * * @private */ private static readonly _aliases; /** * Get a config value from either the environment or any registry overrides * @param prop */ static get(prop: string): string | undefined; /** * Set a value explicitly * * @param key * @param value */ static set(key: string, value: string): Map; /** * Alias a key to another key if helpful. This is useful if you have different naming * constructs for different environments. * * @param from * @param to */ static alias(from: string, to: string): Map; /** * Helpful if you've decided to store settings in another object and want to * make that available here. For example in client-side implementations you may reserve * a window.FLATFILE_CONFIG object to store settings. * * @param obj */ static attachConfigRegistry(obj: any): void; /** * Use this to provide an override getter for config values. This is useful * if you need to dynamically look up values. Overrides will still take precedence. * * @param cb */ static attachConfigFactory(cb?: (key: string) => string): void; static reset(): void; /** * Internal function for traversing the possible environment sources for a value * * @param prop * @private */ private static safeEnvLookup; /** * Internal function for checking for stored variables in a browser-like environment * * @param prop * @private */ private static checkForBrowserVariables; } export { CrossEnvConfig };