import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Collection } from "@tsplus/stdlib/collections/Collection/definition";
import { STM } from "@effect/core/stm/STM/definition/base";
/**
 * Folds an `Collection<A>` using an effectual function f, working sequentially
 * from left to right.
 * @tsplus static ets/STM/Ops reduce
 * @tsplus location "@effect/core/stm/STM/operations/reduce"
 */
export declare function reduce<A, Z, R, E>(as: LazyArg<Collection<A>>, z: LazyArg<Z>, f: (z: Z, a: A) => STM<R, E, Z>): STM<R, E, Z>;
//# sourceMappingURL=reduce.d.ts.map