/**
 * Builds the Harper config file using user inputs and default values from defaultConfig.yaml
 * @param args - any args that the user provided.
 */
export function createConfigFile(args: any, skipFsValidation?: boolean): void;
/**
 * Get a default config value from in memory object.
 * If object is undefined read the default config yaml and instantiate default config obj.
 * @param param
 * @returns {*}
 */
export function getDefaultConfig(param: any): any;
/**
 * Get config value from in memory flattened config obj.
 * This functions depends on the config obj being initialized.
 * We do not want it to get value directly from config file as this adds unnecessary overhead.
 * @param param
 * @returns {undefined|*}
 */
export function getConfigValue(param: any): undefined | any;
/**
 * If in memory config obj is undefined or init is being forced,
 * read and parses the Harper config file and add to config object.
 * @param force
 */
export function initConfig(force?: boolean): void;
/**
 * Flattens the JSON version of Harper config with underscores separating each parent/child key.
 * @param obj
 * @returns {null}
 */
export function flattenConfig(obj: any): null;
/**
 * Updates and validates a config value in config file. Can also create a backup of config before updating.
 * @param param - the config value to update
 * @param value - the value to set the config to
 * @param parsedArgs - an object of param/values to update
 * @param createBackup - if true backup file is created
 * @param update_config_obj - if true updates the in memory flattened config object
 */
export function updateConfigValue(param: any, value: any, parsedArgs?: any, createBackup?: boolean, update_config_obj?: boolean, skipParamMap?: boolean): void;
/**
 * Updates the in memory flattened config object. Does not update the config file.
 * This is mainly here to accommodate older versions of environmentManager and unit tests.
 * @param param
 * @param value
 */
export function updateConfigObject(param: any, value: any): void;
/**
 * Get Configuration - this function returns all the config settings
 * @returns {{}}
 */
export function getConfiguration(): {};
/**
 * Set Configuration - this function sets new configuration
 * @param setConfigJson

 */
export function setConfiguration(setConfigJson: any): Promise<string>;
export function readConfigFile(): any;
/**
 * This function reads config settings from old settings file(before 4.0.0), aligns old keys to new keys, gets old
 * values, and updates the in-memory object.
 * --Located here instead of upgradeUtilities.js to prevent circular dependency--
 * @param oldConfigPath - a string with the old settings path ending in config/settings.js
 */
export function initOldConfig(oldConfigPath: any): {};
/**
 * Gets a config value directly from harperdb-config.yaml
 * @param param
 * @returns {undefined}
 */
export function getConfigFromFile(param: any): undefined;
export function getConfigFilePath(bootPropsFilePath?: string): any;
/**
 * Adds a top level element and any nested values to harperdb-config
 * @param topLevelElement - element name
 * @param values - JSON value which should have top level element
 * @returns {Promise<void>}
 */
export function addConfig(topLevelElement: any, values: any): Promise<void>;
export function deleteConfigFromFile(param: any): void;
export function getConfigObj(): any;
export function resolvePath(relativePath: any): any;
export function getFlatConfigObj(): any;
/**
 * Get a config value and resolve it as a path relative to rootPath.
 * Use this for any config param that represents a file/directory path.
 * @param param
 */
export function getConfigPath(param: any): any;
