export interface IArrayUtils { createWithRange(length: number): number[]; fillWithRange(length: number, valueFunction: (index: number) => TValue): TValue[]; findMostOccurringElement(array: T[]): T | null; getLastElement(array: T[]): T | undefined; getLastElementByIndex(array: T[], index: number): T | undefined; rotate(array: T[], times: number): T[]; shuffle(array: T[]): T[]; }