interface IIdentity { id?: number | string; } export declare function comparer(iterators: Array<(a: T) => number | string | undefined>, itemA: T, itemB: T): 0 | 1 | -1; export declare function mergeByIdentityKeepRight(left: T[], right: T[]): T[]; export declare function sortedMultipleUniqBy(array: T[], iterators: Array<(a: T) => number | string | undefined>): T[]; export declare function mergeMultipleKeepRight(left: T[], right: T[], iterators: Array<(a: T) => number | string | undefined>): T[]; export declare function mergeKeepRight(left: T[], right: T[], iterator: (a: T) => number | string | undefined): T[]; export declare function mergeMultipleSortedKeepRight(as: T[], bs: T[], iterators: Array<(a: T) => number | string | undefined>): T[]; export declare function mergeSortedKeepRight(as: T[], bs: T[], iterator: (a: T) => number | string | undefined): T[]; export declare function anyIntersectionSorted(as: T[], bs: U[], iteratorT: (a: T) => N, iteratorU: (b: U) => N): 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) => number | string | undefined>, mergeOperator: (a: T, b: T) => T): T[]; export declare function mergeSorted(as: T[], bs: T[], iterator: (a: T) => number | string | undefined, mergeOperator: (a: T, b: T) => T): T[]; export declare function insertSortedMultiple(items: T[], item: T, transforms: Array<(t: T) => U>): T[]; export declare function insertSorted(items: T[], item: T, transform: (t: T) => U): T[]; export declare function removeSorted(items: T[], item: T, transform: (t: T) => number): T[]; export declare function removeSortedByIdentity(items: T[], id: number | string): T[]; export declare function removeSortedBy(items: T[], id: V, transform: (v: V) => U): T[]; export declare const identityTransform: (withId: IIdentity) => string | number | undefined; export declare function sortedGetByIdentity(items: T[], id: number): T | undefined; export declare function sortedGetById(items: T[], value: any, transform: (t1: T) => number): T | undefined; export declare function sortedGetById2(items: T[], value: U, transform1: (t1: T) => number, transform2: (u1: U) => number): 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: T, transform: (t: T) => U): T | undefined; export declare function insertGroupSortedMultiple(items: T[], item: T, transform: (t: T) => U, merger: (item: T, existingItem: T) => T): T[]; export declare const intersectionTransformSortedArraysBy: (array1: any, array2: any, comparee: any, transform: any) => any[]; export declare function sortedDifferenceBy(t1s: T1[], t2s: T2[], iteratee: (t1: T1) => T2): T1[]; export {};