export type Config = import("./lib/config").Config; export type DeferredConfig = import("./defer").DeferredConfig; /** * @template T * @overload * @param {Promise} promiseOrFunc * @returns {Promise} */ export function asyncConfig(promiseOrFunc: Promise): Promise; /** * @template T * @overload * @param {(config: Config, original: any) => Promise} promiseOrFunc * @returns {DeferredConfig} */ export function asyncConfig(promiseOrFunc: (config: Config, original: any) => Promise): DeferredConfig; /** * Do not use `config.get` before executing this method, it will freeze the config object. * @param {Config} config the main config object, returned from require('config') * @returns {Promise} once all promises are resolved, return the original config object * @deprecated please use async functions with defer and Util.resolveAsyncConfigs */ export function resolveAsyncConfigs(config: Config): Promise;