import type { Comparator, Fn, Keys, Val1 } from "@thi.ng/api"; /** * HOF comparator. Returns new comparator to sort objects by given `key` * and with optional comparator `cmp` (default: {@link compare}). * * @param key - * @param cmp - */ export declare function compareByKey>(key: K, cmp?: Comparator>): Comparator; export declare function compareByKey(a: Fn, cmp?: Comparator): Comparator; /** * HOF comparator. Returns new comparator to sort objects by given keys * `a` (major), `b` (minor) and with optional comparators (default for * each: {@link compare}). * * @param major - * @param minor - * @param cmpA - * @param cmpB - */ export declare function compareByKeys2, B extends Keys>(major: A, minor: B, cmpA?: Comparator>, cmpB?: Comparator>): Comparator; export declare function compareByKeys2(major: Fn, minor: Fn, cmpA?: Comparator, cmpB?: Comparator): Comparator; /** * Same as {@link compareByKeys2}, but for 3 sort keys / comparators. * * @param major - * @param minor - * @param patch - * @param cmpA - * @param cmpB - * @param cmpC - */ export declare function compareByKeys3, B extends Keys, C extends Keys>(major: A, minor: B, patch: C, cmpA?: Comparator>, cmpB?: Comparator>, cmpC?: Comparator>): Comparator; export declare function compareByKeys3(major: Fn, minor: Fn, patch: Fn, cmpA?: Comparator, cmpB?: Comparator, cmpC?: Comparator): Comparator; /** * Same as {@link compareByKeys2}, but for 4 sort keys / comparators. * * @param a - * @param b - * @param c - * @param d - * @param cmpA - * @param cmpB - * @param cmpC - * @param cmpD - */ export declare function compareByKeys4, B extends Keys, C extends Keys, D extends Keys>(a: A, b: B, c: C, d: D, cmpA?: Comparator>, cmpB?: Comparator>, cmpC?: Comparator>, cmpD?: Comparator>): Comparator; export declare function compareByKeys4(a: Fn, b: Fn, c: Fn, d: Fn, cmpA?: Comparator, cmpB?: Comparator, cmpC?: Comparator, cmpD?: Comparator): Comparator; //# sourceMappingURL=keys.d.ts.map