export declare function groupBy(array: T[], selectId: (t: T) => I): Map; export declare function sortedMultipleUniqBy(array: T[], iteratees: Array<(a: T) => I>): T[]; export declare function mergeMultipleKeepRight(left: T[], right: T[], iterators: Array<(a: T) => I>): T[]; export declare function mergeKeepRight(left: T[], right: T[], iterator: (a: T) => I): T[]; export declare function mergeMultipleSortedKeepRight(as: T[], bs: T[], iterators: Array<(a: T) => I>): T[]; export declare function mergeSortedKeepRight(as: T[], bs: T[], iterator: (a: T) => I): T[]; export declare function anyIntersectionSorted(as: T[], bs: U[], comparator: (a: T, b: U) => number): boolean; export declare function intersectionMergeSorted(as: T[], bs: U[], iteratorT: (a: T) => N, iteratorU: (b: U) => N, mergeOperator: (a: T, b: U) => V): V[]; export declare function mergeMultipleSorted(as: T[], bs: T[], iterators: Array<(a: T) => I>, mergeOperator: (a: T, b: T) => T): T[]; export declare function mergeSorted(as: T[], bs: T[], iterator: (a: T) => I, mergeOperator: (a: T, b: T) => T): T[]; export declare function insertSortedMultiple(items: T[], item: T, transforms: Array<(t: T) => U>): T[]; export declare function updateSortedOne(items: T[], item: T, tComparator: (a: T, b: T) => number, merger: (existingItem: T, newItem: T) => T, idx?: number): { idx: number; items: T[]; }; export declare function removeSortedOne(items: T[], u: U, tComparator: (a: T, u: U) => number): T[]; export declare function removeSortedMany(items: T[], us: U[], tComparator: (a: T, u: U) => number): T[]; export declare function sortedGetById(items: T[], value: any, transform: (t1: T) => I): T | undefined; export declare function sortedGetById2(items: T[], value: U, transform1: (t1: T) => I, transform2: (u1: U) => I): T | undefined; export declare function sortedFilterBy(items: T[], value: any, filterCompare: (t: T) => U): T[]; export declare function mergeSortedArraysBy(array1: T[], array2: T[], keepUniqueFromArray1: boolean, comparee: (a: T, b: T) => number): T[]; export declare function sortedFind(items: T[], item: B, tComparator: (a: T, b: B) => number, currIndex?: number): { idx: number; item: T; } | { idx: number; item: undefined; }; export declare function insertGroupSortedMultiple(items: T[], item: T, transform: (t: T) => U, merger: (item: T, existingItem: T) => T): T[]; export declare function intersectionSortedArraysBy(array1: T1[], array2: T2[], comparee: (t1: T1, t2: T2) => number, merger: (t1: T1, t2: T2) => R): R[]; export declare function sortedDifferenceBy(t1s: T1[], t2s: T2[], iteratee: (t1: T1) => T2): T1[];