import { CompareValuesOptions, Data, Key, Options, ValidTypes, Value } from './types';
export declare function canHaveLength(...arguments_: any): boolean;
export declare function checkEquality(left: Data, right: Data, value: Value): any;
export declare function compareNumbers<K = Key>(previousData: Data, data: Data, options: Options<K>): boolean;
export declare function compareValues<K = Key>(previousData: Data, data: Data, options: CompareValuesOptions<K>): any;
export declare function getIterables<K = Key>(previousData: Data, data: Data, { key }?: Options<K>): any[];
export declare function hasEntry(input: Value): ([key, value]: [string, Value]) => boolean;
export declare function hasExtraKeys(left: string[], right: string[]): boolean;
export declare function hasValue(input: Value): (value: Value) => boolean;
export declare function includesOrEqualsTo<T>(previousValue: T | T[], value: T): boolean;
export declare function isEqualPredicate(data: unknown[]): (value: unknown) => boolean;
export declare function isSameType(...arguments_: ValidTypes[]): boolean;
export declare function nested<T extends Data, K = Key>(data: T, property?: K): any;
