import { NormalOption as ObjectHashOptions } from 'object-hash'; import { TransformFunction } from './transformers'; import { Require } from './utils'; /** * Library options */ interface DeepEqualityDataStructuresOptions { /** * A function that transforms Map keys or Set values prior to normalization. * * NOTE: The caller is responsible for not mutating object inputs. */ transformer?: TransformFunction; /** * A function that transforms Map values prior to normalization. * * NOTE: The caller is responsible for not mutating object inputs. */ mapValueTransformer?: TransformFunction; /** * If true, objects will be JSON-serialized/deserialized into "plain" objects prior to hashing. */ useToJsonTransform?: boolean; /** * If true, all string values (including keys/values within objects and arrays) will use case-insensitive equality comparisons. */ caseInsensitive?: boolean; } export type Options = ObjectHashOptions & DeepEqualityDataStructuresOptions; /** * Given the specified options, resolve default values as appropriate. */ export declare function getOptionsWithDefaults(options: Options): Require, keyof DeepEqualityDataStructuresOptions>; export {};