/** * Performs a deep equality comparison between two values. * * Recursively compares values, handling: * - Primitives (strict equality) * - Arrays (element-by-element comparison) * - Map (size and key-value comparison) * - Set (size and entry comparison) * - TypedArrays (ArrayBuffer views like Int8Array, Uint8Array, etc.) * - RegExp (source and flags comparison) * - Objects with custom valueOf/toString methods * - Plain objects (key-by-key comparison) * - NaN values (considered equal to each other) * * @param a - The first value to compare. * @param b - The second value to compare. * @returns True if the values are deeply equal, otherwise false. * * @example * ```ts * deepEqual(1, 1); // true * deepEqual({ a: 1 }, { a: 1 }); // true * deepEqual([1, 2], [1, 2]); // true * deepEqual({ a: { b: 1 } }, { a: { b: 1 } }); // true * deepEqual(NaN, NaN); // true * deepEqual(new Map([['a', 1]]), new Map([['a', 1]])); // true * deepEqual(new Set([1, 2]), new Set([1, 2])); // true * deepEqual({ a: 1 }, { a: 2 }); // false * ``` */ export declare function deepEqual(a: unknown, b: unknown): boolean; //# sourceMappingURL=deep-equal.d.ts.map