import * as pMap from "p-map"; type PromiseArray = (T | Promise)[]; type MapIteratee = (value: T, index: number) => R | Promise; type ReduceIteratee = (previousResult: P, currentValue: C, index: number) => R | Promise; export type MapAsync = lodash.CurriedFunction3 R | Promise, { concurrency?: number }, Promise>; export declare function reduceAsync(promiseArray: PromiseArray): (iteratee: ReduceIteratee, initialValue?: I) => Promise;