import type { Effect } from "./effect.js";
/**
* Folds an Iterable[A] using an effectual function f, working sequentially from left to right.
*/
export declare function reduce_(i: Iterable, zero: Z, f: (z: Z, a: A) => Effect, __trace?: string): Effect;
/**
* Folds an Iterable[A] using an effectual function f, working sequentially from left to right.
*
* @ets_data_first reduce_
*/
export declare function reduce(zero: Z, f: (z: Z, a: A) => Effect, __trace?: string): (i: Iterable) => Effect;
/**
* Folds an Iterable[A] using an effectual function f, working sequentially from left to right.
*/
export declare function reduceRight_(i: Iterable, zero: Z, f: (a: A, z: Z) => Effect, __trace?: string): Effect;
/**
* Folds an Iterable[A] using an effectual function f, working sequentially from left to right.
*
* @ets_data_first reduceRight_
*/
export declare function reduceRight(zero: Z, f: (a: A, z: Z) => Effect, __trace?: string): (i: Iterable) => Effect;
//# sourceMappingURL=reduce.d.ts.map