/**
 * 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