import type { Effect } from "./effect.js"; /** * Merges an `Iterable[IO]` to a single IO, working sequentially. * * @ets_data_first mergeAll_ */ export declare function mergeAll(zero: B, f: (b: B, a: A) => B, __trace?: string): (as: Iterable>) => Effect; /** * Merges an `Iterable[IO]` to a single IO, working sequentially. */ export declare function mergeAll_(as: Iterable>, zero: B, f: (b: B, a: A) => B, __trace?: string): Effect; /** * Merges an `Iterable[IO]` to a single IO, working in parallel. * * Due to the parallel nature of this combinator, `f` must be both: * - commutative: `f(a, b) == f(b, a)` * - associative: `f(a, f(b, c)) == f(f(a, b), c)` * * It's unsafe to execute side effects inside `f`, as `f` may be executed * more than once for some of `in` elements during effect execution. * * @ets_data_first mergeAllPar_ */ export declare function mergeAllPar(zero: B, f: (b: B, a: A) => B, __trace?: string): (as: Iterable>) => Effect; /** * Merges an `Iterable[IO]` to a single IO, working in parallel. * * Due to the parallel nature of this combinator, `f` must be both: * - commutative: `f(a, b) == f(b, a)` * - associative: `f(a, f(b, c)) == f(f(a, b), c)` * * It's unsafe to execute side effects inside `f`, as `f` may be executed * more than once for some of `in` elements during effect execution. */ export declare function mergeAllPar_(as: Iterable>, zero: B, f: (b: B, a: A) => B, __trace?: string): Effect; /** * Merges an `Iterable[IO]` to a single IO, working in with up to `n` fibers in parallel. * * Due to the parallel nature of this combinator, `f` must be both: * - commutative: `f(a, b) == f(b, a)` * - associative: `f(a, f(b, c)) == f(f(a, b), c)` * * It's unsafe to execute side effects inside `f`, as `f` may be executed * more than once for some of `in` elements during effect execution. * * @ets_data_first mergeAllParN_ */ export declare function mergeAllParN(n: number, zero: B, f: (b: B, a: A) => B, __trace?: string): (as: Iterable>) => Effect; /** * Merges an `Iterable[IO]` to a single IO, working in with up to `n` fibers in parallel. * * Due to the parallel nature of this combinator, `f` must be both: * - commutative: `f(a, b) == f(b, a)` * - associative: `f(a, f(b, c)) == f(f(a, b), c)` * * It's unsafe to execute side effects inside `f`, as `f` may be executed * more than once for some of `in` elements during effect execution. */ export declare function mergeAllParN_(as: Iterable>, n: number, zero: B, f: (b: B, a: A) => B, __trace?: string): Effect; //# sourceMappingURL=mergeAll.d.ts.map