import Dictionary from '../types/Dictionary'; /** * Simple object check. * Source: https://stackoverflow.com/questions/27936772/how-to-deep-merge-instead-of-shallow-merge * @param {Any} item * @param {Boolean} arrayIsObject * @returns {Boolean} */ export declare const isObject: (item: any, arrayIsObject?: boolean) => boolean; /** * Check whether value is null or undefined is empty * @param {Any} value * @returns {Boolean} */ export declare const isNull: (value: any) => boolean; /** * clone * deep clone javascript object * @param {Any} obj * @returns {Any} */ export declare const clone: (obj: any) => any; /** * Deep merge two objects. * Source: https://stackoverflow.com/questions/27936772/how-to-deep-merge-instead-of-shallow-merge * @param {Object} target * @param {Object} sources * @returns {Object} */ export declare const mergeDeep: (target: Dictionary, ...sources: Array>) => Dictionary; /** * Deep compare two objects * Will not work with circular objects and only compares method names * @param {Any} obj1 * @param {Any} obj2 * @returns {Boolean} */ export declare const deepCompare: (obj1: any, obj2: any) => boolean; /** * Call value if callable else return value * @param {Any} value * @param {any} context * @param {Any} args * @returns {Any} */ export declare const funcEval: (value: any, context?: any, ...args: Array) => any; /** * Call value if callable else use value to resolve Promise * @param {Any} value * @param {Any} context * @param {Any} args * @returns {Promise} */ export declare const promiseEval: (value: any, context?: any, ...args: Array) => Promise; /** * Format string with placeholders * E.g. "Test String {value}" + {value: 5} = "Test String 5" * https://stackoverflow.com/questions/610406/javascript-equivalent-to-printf-string-format/18234317 */ export declare const format: (str: string, args: Dictionary) => string; export declare const NO_VALUE: {};