/** * Represents a structure that can be checked against another * given structure for equality * * @typeParam Value - The type of object to compare the current object to */ interface Equatable { /** * Whether or not this is equal to another structure */ equals: (other: Value) => boolean; } /** * Indicates if an object is equatable or not. * * @param maybeEquatable - The object to check against */ declare function isEquatable(maybeEquatable: unknown): maybeEquatable is Equatable; export { type Equatable, isEquatable };