export declare function zip(fn: (a: A, b: B) => C, as: A[], bs: B[]): C[];
export declare function zip3(as: A[], bs: B[], cs: C[]): [A, B, C][];
export declare function zeroRange(to: number): number[];
export declare function notEmpty(value: TValue | null | undefined): value is TValue;
export declare function intersection(arrays: T[][]): T[];
export declare type Comparator = (a: T, b: T) => boolean;
export interface AddressListItem {
address: string;
value: T;
}
export declare function linkedListChange(sortedList: Array>, change: AddressListItem, comparator: Comparator): {
lesser: string;
greater: string;
list: Array>;
};
export declare function linkedListChanges(sortedList: Array>, changeList: Array>, comparator: Comparator): {
lessers: string[];
greaters: string[];
list: Array>;
};