export declare function isArray(value: unknown): value is unknown[]; export declare function toMap(source: T, key: K): Map; export declare const choice: (list: T[] | Readonly) => T; export declare const range: (min: number, max: number) => number[]; export declare function unique(array: T[]): T[]; export declare function isNonEmptyArray(array: T | undefined): array is T; export declare function asArray(input: T | T[] | null): T[]; export declare function isSame(arrayA: any[], arrayB: any[]): boolean; export declare function lastItemInArray(array: T): T[number]; export declare function allButLastArrayItems(array: T): T[number][]; export declare function shuffle(array: T[]): T[]; export declare function isEmptyArray(value: unknown): value is unknown[]; export declare function isStringArray(value: unknown): value is string[]; export declare function isNumberArray(value: unknown): value is number[]; export declare function asSingle(value: T | T[]): T; export declare function repeat(count: number, method: (index: number) => T): T[]; export declare function some(source: T[], min?: number, max?: number): T[]; export declare function intersects(first: unknown[], ...rest: unknown[][]): boolean; export declare function groupBy(source: T[], key: K): Map; export declare function separate(source: T[], filter: (value: T) => boolean): [found: T[], notFound: T[]]; export declare function toggle(source: T[], value: T, force?: boolean): T[];