/**
 *
 * @description
 * Performs a **deep equality comparison** between two values.
 * Handles special cases such as `NaN` and object references.
 *
 * This function recursively compares the properties of objects and elements of arrays,
 * ensuring that all nested values are equal.
 *
 * @param {unknown} value The first value to compare
 * @param {unknown} other The second value to compare
 * @returns {boolean} `true` if the values are equal, `false` otherwise
 *
 *  * @example
 * isEqual({ a: 1 }, { a: 1 }); // true
 * isEqual([1, 2], [1, 2]);     // true
 * isEqual(NaN, NaN);           // true
 * isEqual({ a: { b: 2 } }, { a: { b: 2 } }); // true (deep comparison)
 */
declare function isEqual(value: unknown, other: unknown): boolean;

export { isEqual as default, isEqual };
