export declare namespace Equals {
    /**
     * Compares two arrays to check if they are deeply equal.
     * @param arr1 The first array to compare.
     * @param arr2 The second array to compare.
     * @returns `true` if arrays are deeply equal, `false` otherwise.
     */
    function areArraysEqual<T>(arr1: Array<T>, arr2: Array<T>, equalityFn?: (a: T, b: T) => boolean): boolean;
    /**
     * Performs a deep comparison of two objects to determine if they are equal.
     * @param obj1 The first object to compare.
     * @param obj2 The second object to compare.
     * @returns `true` if objects are deeply equal, `false` otherwise.
     */
    function areObjectsEqual<T extends object>(obj1: T | null, obj2: T | null): boolean;
    /**
     * General purpose equality check for any values, including nested objects.
     * @param val1 The first value to compare.
     * @param val2 The second value to compare.
     * @returns `true` if the values are equal, `false` otherwise.
     */
    function isEqual<T>(val1: T, val2: T): boolean;
}
//# sourceMappingURL=Equals.d.ts.map