import type { Curried } from '../../compositions/curry.js'; import type { Series, SyncSeries } from '../../controls/types.js'; declare function _syncReduce(input: SyncSeries, reducer: (accumulator: R | I, value: T) => R, initialValue: I): I | R; declare function _asyncReduce(input: Series, reducer: (accumulator: Awaited, value: Awaited) => R | Promise, initialValue: I | Promise): Promise | Awaited>; export declare function reduceSync(...args: Parameters>): ReturnType>; export declare function reduceSync(...args: Parameters>>): ReturnType>>; export declare function reduceAsync(...args: Parameters>): ReturnType>; export declare function reduceAsync(...args: Parameters>>): ReturnType>>; /** Reduce elements into one accumulated value by the specified reducer. */ export declare namespace reduce { const sync: typeof reduceSync; const async: typeof reduceAsync; } export {}; //# sourceMappingURL=reduce.d.ts.map