declare function typedIncludes(arr: T, item: unknown): item is T[number]; declare function enumerate(arr: T): [number, T[number]][]; declare function isShallowEqual(a: readonly any[], b: readonly any[]): boolean; /** * Ponyfill for ES2023's findLastIndex. */ declare function findLastIndex(arr: readonly T[], predicate: (item: T) => boolean): number; declare function groupBy(arr: Iterable, key: (item: T) => K): Map; declare function range(endExclusive: number): number[]; declare function range(startInclusive: number, endExclusive: number): number[]; declare function range(startInclusive: number, endExclusive: number, step: number): number[]; declare function rotateLeft(arr: readonly any[], n: number): any[]; declare function rotateRight(arr: readonly any[], n: number): any[]; declare function shuffle(arr: readonly T[]): T[]; declare function outerProduct(arr1: readonly T[], arr2: readonly U[]): [T, U][]; declare function unique(arr: readonly T[]): T[]; export { enumerate, findLastIndex, groupBy, isShallowEqual, outerProduct, range, rotateLeft, rotateRight, shuffle, typedIncludes, unique };