export declare const isObject: (val: unknown) => val is object;
export declare const isArray: (val: unknown) => val is [];
export declare const isFunction: (val: unknown) => val is Function;
/**
 * Deeply unref a value, recursing into objects and arrays.
 *
 * @param {Mixed} val - The value to deeply unref.
 * @return {Mixed}
 */
export declare const deepUnref: (val: any) => any;
/**
 * Unref a value, recursing into it if it's an object.
 *
 * @param {Mixed} val - The value to unref.
 * @return {Mixed}
 */
export declare const smartUnref: (val: any) => any;
/**
 * Unref an array, recursively.
 *
 * @param {Array} arr - The array to unref.
 * @return {Array}
 */
export declare const unrefArray: any;
/**
 * Unref an object, recursively.
 *
 * @param {Object} obj - The object to unref.
 * @return {Object}
 */
export declare const unrefObject: (obj: any) => any;
/**
 * Merge two objects, deeply.
 * @param {Object} source - The source object.
 * @param {Object} target - The target object.
 * @return {Object}
 */
export declare const mergeRightDeep: (source?: any, target?: any) => any;
