/** * Groups an array objects by property value * @param array the collection of objects to group * @param key the property to group by * @returns a Map keyed by property value, where values are are an array of objects with that property value. */ export declare function groupBy, TKey extends keyof TObject>(array: Array, key: TKey): Map; /** * Split an array into chunks of the given size * @param array - The array to split * @param chunkSize - The size of each chunk * @returns The array split into chunks */ export declare function chunk(array: T[], chunkSize: number): T[][]; /** * maps over an array, starting at the given offset and wrapping around. * @param array - The array to map over * @param startingOffset - The starting offset * @param mapFn - The mapping function * @returns The mapped array */ export declare function mapWithOffset(array: T[], startingOffset: number, mapFn: (item: T, i: number) => U): U[];