export {}; type ArrayItemCallback = (item: T, index: number, array: T[]) => R; declare global { interface Array { empty(): boolean; random(): T; randomIndex(): number; pluck(this: T[], property: K): T[K][]; mapAsync(callback: ArrayItemCallback>, thisArg?: this): Promise; forEachAsync(callback: ArrayItemCallback, thisArg?: this): Promise; findWhere(this: T[], property: K, value: T[K] | ArrayItemCallback): T | undefined; first(this: T[], defaultValue?: T): T | undefined; last(this: T[], defaultValue?: T): T | undefined; remove(this: T[], ...items: T[]): void; where(this: T[], property: K, value?: T[K]): T[]; whereNot(this: T[], property: K, value?: T[K]): T[]; whereIn(this: T[], property: K, value: T[K][]): T[]; whereNotIn(this: T[], property: K, value: T[K][]): T[]; groupBy(this: T[], property: K): Record; sortBy(this: T[], key: K, order?: 'ASC' | 'DESC' | 1 | -1): T[]; groupBy(this: T[], callback: ArrayItemCallback): Record; unique(this: T[], key?: K | ((item: T, index: number) => unknown)): T[]; sum(this: T[]): number; sum(key: K | ArrayItemCallback): U; whenNotEmpty(this: T[], callback: (values: T[]) => void): this; whenEmpty(callback: () => void): this; } } //# sourceMappingURL=Array.d.ts.map