export declare type Iiterator = (value: any, key: string | number, accumulator: any) => Promise; export declare type Ireduce = (iterable: Array | { [key: string]: any | Array; }, iterator: Iiterator, initializerValue: Promise | any) => Promise<[null | Error, any]>; export declare type IiterableError = { [K in string | number]: Error | null; }; export declare type Iiterable = { [K in string | number]: any; }; /** * Iterates over a given object or array, calling the provided iterator function * @param iterable - array or object that will be passed as the argument given in the iterator function * @param iterator - a function that gets called in series: should return the target promises * @param initilizerValue - a value of any type that will be passed into the given funtion as the the first 'lastResolvedValue', defaults to null * @return a Promise which resolves to a tuple of type [ShapeofPassediterableAsErrors, ShapeofPassediterable] */ export declare function reduce(iterable: Iiterable, iterator?: Iiterator, initializerValue?: any): Promise<[IiterableError, Iiterable]>; /** * Iterates over a given object or array, calling the provided iterator function * @param iterable - array or object that will be passed as the argument given in the iterator function * @param iterator - a function that gets called in series: should return the target promises * @param initilizerValue - a value of any type that will be passed into the given funtion as the the first 'lastResolvedValue', defaults to null * @return a Promise which resolves to a tuple of type [ShapeofPassediterableAsErrors, ShapeofPassediterable] */ export declare function series(iterable: Iiterable, iterator?: Iiterator, initializerValue?: any): Promise<[IiterableError, Iiterable]>;