import { at, clampArrayRange, flatten, last, mergeArrayable, move, partition, remove, sample, shuffle, toArray, uniqueBy } from './helpers'; import { average, median, mode, range, sum } from './math'; import { contains, containsAll, containsAny, containsNone, containsOnly, doesNotContain } from './contains'; import type { Arrayable, Nullable } from '@stacksjs/types'; import type { PartitionFilter } from './helpers'; /** * @defaultValue * ```ts * { * contains: (needle: string, haystack: string[]) => boolean, * containsAll: (needles: string[], haystack: string[]) => boolean, * containsAny: (needles: string[], haystack: string[]) => boolean, * containsNone: (needles: string[], haystack: string[]) => boolean, * containsOnly: (needles: string[], haystack: string[]) => boolean, * doesNotContain: (needle: string, haystack: string[]) => boolean, * toArray: (array?: Nullable>) => Array, * flatten: (array?: Nullable>) => T[], * mergeArrayable: (...args: Nullable>[]) => Array, * partition: (array: readonly T[], filter: PartitionFilter) => [T[], T[]], * random: (arr: T[], count?: number) => T[], * sample: (arr: T[], count?: number) => T[], * unique: (arr: T[]) => T[], * uniqueBy: (arr: readonly T[], equalFn: (a: any, b: any) => boolean) => T[], * last: (arr: T[]) => T | undefined, * remove: (arr: T[], value: T) => boolean, * at: (arr: any[], index: number) => any, * range: (arr: readonly number[]) => number, * move: (arr: T[], from: number, to: number) => T[], * clampArrayRange: (arr: readonly unknown[], n: number) => number, * shuffle: (arr: T[]) => T[], * sum: (arr: number[]) => number, * average: (arr: number[]) => number, * avg: (arr: number[]) => number, * median: (arr: number[]) => number, * mode: (arr: number[]) => number * } * ``` */ export declare const Arr: { contains: (needle: string, haystack: string[]) => boolean; containsAll: (needles: string[], haystack: string[]) => boolean; containsAny: (needles: string[], haystack: string[]) => boolean; containsNone: (needles: string[], haystack: string[]) => boolean; containsOnly: (needles: string[], haystack: string[]) => boolean; doesNotContain: (needle: string, haystack: string[]) => boolean; toArray: (array?: Nullable>) => Array; flatten: (array?: Nullable>) => T[]; mergeArrayable: (...args: Nullable>[]) => Array; partition: (array: readonly T[], filter: PartitionFilter) => [T[], T[]]; /** * Returns a random item/s from the array */ random: (arr: T[], count?: number) => T[]; /** * Returns random item/s from the array */ sample: (arr: T[], count?: number) => T[]; unique: (arr: T[]) => T[]; uniqueBy: (arr: readonly T[], equalFn: (a: any, b: any) => boolean) => T[]; last: (arr: T[]) => T | undefined; remove: (arr: T[], value: T) => boolean; at: (arr: any[], index: number) => any; range: (arr: readonly number[]) => number; move: (arr: T[], from: number, to: number) => T[]; clampArrayRange: (arr: readonly unknown[], n: number) => number; shuffle: (arr: T[]) => T[]; /** * Returns the sum of all items in the array */ sum: (arr: number[]) => number; /** * Returns the average of all items in the array */ average: (arr: number[]) => number; avg: (arr: number[]) => number; /** * Returns the median of all items in the array */ median: (arr: number[]) => number; /** * Returns the mode of all items in the array */ mode: (arr: number[]) => number }; export declare const arr: typeof Arr;