import { ExtendedMin, ExtendedMinMax, MinMax, ExtendedMax } from '../class/min-max'; import { ConstInterval } from '../intervals/const'; import { CmpFunc, ICloneable, IEquatable } from '../types'; export declare class ListUtils { static remove(list: T[], element: T): void; static removeBy(list: T[], callback: (currVal: T, index: number) => boolean): T | null; static shallowCopy(list: T[]): T[]; static deepCopy>(list: readonly T[]): T[]; static initByValue(numElements: number, initValue: T): T[]; static initByCallback(numElements: number, initCallback: (index: number) => T): T[]; static forEachOnInterval(interval: ConstInterval, callback: (index: number) => void): void; static reverseForEachOnInterval(interval: ConstInterval, callback: (index: number) => void): void; static reducedMap(list: readonly T[], callback: (currVal: T, index: number) => TRes | null, startIndex?: number, endIndex?: number): TRes[]; static filter(list: readonly T[], callback: (currVal: T, index: number) => boolean, startIndex?: number, endIndex?: number): T[]; static map(list: readonly T[], callback: (currVal: T, index: number) => TRes, startIndex?: number, endIndex?: number): TRes[]; static indexBy(list: readonly T[], callback: (currElement: T, index: number) => boolean, startIndex?: number, endIndex?: number): number; static reverseIndexBy(list: readonly T[], callback: (currElement: T, index: number) => boolean, startIndex?: number, endIndex?: number): number; static elementBy(list: readonly T[], callback: (currElement: T, index: number) => boolean, startIndex?: number, endIndex?: number): T | null; static reverseElementBy(list: readonly T[], callback: (currElement: T, index: number) => boolean, startIndex?: number, endIndex?: number): T | null; static last(list: readonly T[]): T; static setLast(list: T[], newVal: T): T; static incLast(list: number[]): number; static decLast(list: number[]): number; static equals>(a: T[], b: T[]): boolean; static equalsByReference(a: any[], b: any[]): boolean; static unique(list: T[], cmp: CmpFunc, equal?: CmpFunc, finalizeObj?: (obj: T) => void): T[]; static uniqueNumber(list: number[]): number[]; static forEach(list: readonly T[], callback: (value: T, index: number) => void, startIndex?: number, endIndex?: number): void; static forEach2(listA: readonly TA[], listB: readonly TB[], callback: (valueA: TA, valueB: TB, index: number) => void, startIndex?: number, endIndex?: number): void; static reverseForEach(list: readonly T[], callback: (value: T, index: number) => void, startIndex?: number, endIndex?: number): void; static reverseIndexOf(list: readonly T[], element: T, startIndex?: number, endIndex?: number): number; static accumulate(list: readonly T[], initAccValue: TAcc, callback: (acc: TAcc, currVal: T, index: number) => TAcc, startIndex?: number, endIndex?: number): TAcc; static accumulateNumber(list: readonly T[], callback: (currVal: T, index: number, acc: number) => number, initAccValue?: number, startIndex?: number, endIndex?: number): number; static anyOf(list: readonly T[], callback: (currVal: T, index: number) => boolean, startIndex?: number, endIndex?: number): boolean; static unsafeAnyOf(list: readonly T[], callback: (currVal: T, index: number) => TRes | null | undefined, startIndex?: number, endIndex?: number): TRes | null; static reverseAnyOf(list: readonly T[], callback: (currVal: T, index: number) => boolean, startIndex?: number, endIndex?: number): boolean; static unsafeReverseAnyOf(list: readonly T[], callback: (currVal: T, index: number) => TRes | null | undefined, startIndex?: number, endIndex?: number): TRes | null; static anyOf2(listA: readonly TA[], listB: TB[], callback: (currValA: TA, currValB: TB, index: number) => boolean, startIndex?: number, endIndex?: number): boolean; static allOf(list: readonly T[], callback: (currVal: T, index: number) => boolean, startIndex?: number, endIndex?: number): boolean; static allOf2(listA: readonly TA[], listB: TB[], callback: (currValA: TA, currValB: TB, index: number) => boolean, startIndex?: number, endIndex?: number): boolean; static allOfOnInterval(interval: ConstInterval, callback: (index: number) => boolean): boolean; static addListOnTail(resultList: T[], addedList: readonly T[]): T[]; static joinLists(converter: (list: T[]) => TRes[], ...lists: T[][]): TRes[]; static push(list: T[], element: T): T[]; static countIf(list: readonly T[], callback: (currElement: T, index: number) => boolean): number; static clear(list: T[]): void; static merge(list: T[], cmp: CmpFunc, shouldMerge: (a: T, b: T) => boolean, merge: (toMerge: T, fromMerge: T) => void, startIndex?: number, endIndex?: number): T[]; static min(list: readonly T[], getValue: (val: T) => number, startIndex?: number, endIndex?: number): T | null; static max(list: readonly T[], getValue: (val: T) => number, startIndex?: number, endIndex?: number): T | null; static minMax(list: readonly T[], getValue: (val: T) => number, startIndex?: number, endIndex?: number): MinMax | null; static minExtended(list: readonly T[], getValue: (val: T) => number, startIndex?: number, endIndex?: number): ExtendedMin | null; static maxExtended(list: readonly T[], getValue: (val: T) => number, startIndex?: number, endIndex?: number): ExtendedMax | null; static minMaxExtended(list: readonly T[], getValue: (val: T) => number, startIndex?: number, endIndex?: number): ExtendedMinMax | null; static minByCmp(list: readonly T[], cmp: CmpFunc, startIndex?: number, endIndex?: number): T | null; static maxByCmp(list: readonly T[], cmp: CmpFunc, startIndex?: number, endIndex?: number): T | null; static minMaxByCmp(list: readonly T[], cmp: CmpFunc, startIndex?: number, endIndex?: number): MinMax | null; } //# sourceMappingURL=list.d.ts.map