import { Exit } from "@effect/core/io/Exit/definition";
import { Cause } from "@effect/core/io/Cause/definition";
import { Effect } from "@effect/core/io/Effect/definition";
/**
 * Sequentially zips the this result with the specified result or else returns
 * the failed `Cause<E>`.
 * @tsplus fluent ets/Exit foldEffect
 * @tsplus location "@effect/core/io/Exit/operations/foldEffect"
 */
export declare function foldEffect_<E, A, R1, E1, A1, R2, E2, A2>(self: Exit<E, A>, failed: (cause: Cause<E>) => Effect<R1, E1, A1>, completed: (a: A) => Effect<R2, E2, A2>, __tsplusTrace?: string): Effect<R1 | R2, E1 | E2, A1 | A2>;
/**
 * Sequentially zips the this result with the specified result or else returns
 * the failed `Cause<E>`.
 * @tsplus static ets/Exit/Aspects foldEffect
 * @tsplus pipeable ets/Exit foldEffect
 * @tsplus location "@effect/core/io/Exit/operations/foldEffect"
 */
export declare const foldEffect: <E, A, R1, E1, A1, R2, E2, A2>(failed: (cause: import("../../Cause").Cause<E>) => import("../../Effect").Effect<R1, E1, A1>, completed: (a: A) => import("../../Effect").Effect<R2, E2, A2>, __tsplusTrace?: string) => (self: import("../definition").Exit<E, A>) => import("../../Effect").Effect<R1 | R2, E1 | E2, A1 | A2>;
//# sourceMappingURL=foldEffect.d.ts.map