import type { ComparatorConfig, CreateState, CustomEqualCreatorOptions, EqualityComparator, InternalEqualityComparator } from './internalTypes.js';
interface CreateIsEqualOptions {
circular: boolean;
comparator: EqualityComparator;
createState: CreateState | undefined;
equals: InternalEqualityComparator;
strict: boolean;
}
/**
* Create a comparator method based on the type-specific equality comparators passed.
*/
export declare function createEqualityComparator({ areArrayBuffersEqual, areArraysEqual, areDataViewsEqual, areDatesEqual, areErrorsEqual, areFunctionsEqual, areMapsEqual, areNumbersEqual, areObjectsEqual, arePrimitiveWrappersEqual, areRegExpsEqual, areSetsEqual, areTypedArraysEqual, areUrlsEqual, unknownTagComparators, }: ComparatorConfig): EqualityComparator;
/**
* Create the configuration object used for building comparators.
*/
export declare function createEqualityComparatorConfig({ circular, createCustomConfig, strict, }: CustomEqualCreatorOptions): ComparatorConfig;
/**
* Default equality comparator pass-through, used as the standard `isEqual` creator for
* use inside the built comparator.
*/
export declare function createInternalEqualityComparator(compare: EqualityComparator): InternalEqualityComparator;
/**
* Create the `isEqual` function used by the consuming application.
*/
export declare function createIsEqual({ circular, comparator, createState, equals, strict }: CreateIsEqualOptions): (a: A, b: B) => boolean;
export {};