import { exposeObject } from "@pafyll/core"; import { __$arrayReduce, __$arrayReduceThis } from "./internals/reduce.js"; export { __$arrayReduce as arrayReduce }; exposeObject(Array, "reduce", __$arrayReduceThis); declare global { interface Array { reduce( callback: ( previousValue: T, currentValue: T, index: number, array: Array ) => any ): T; reduce( callback: ( previousValue: T, currentValue: T, index: number, array: Array ) => any, initialValue: T ): T; reduce( callback: ( previousValue: T, currentValue: T, index: number, array: Array ) => any, initialValue: U ): U; } }