import type { Cause } from "../Cause/cause";
import type { Effect, RIO } from "./effect";
/**
 * A more powerful version of `fold` that allows recovering from any kind of failure except interruptions.
 */
export declare function foldCause_<R, E, A, A2, A3>(value: Effect<R, E, A>, failure: (cause: Cause<E>) => A2, success: (a: A) => A3, __trace?: string): RIO<R, A2 | A3>;
/**
 * A more powerful version of `fold` that allows recovering from any kind of failure except interruptions.
 *
 * @ets_data_first foldCause_
 */
export declare function foldCause<E, A, A2, A3>(failure: (cause: Cause<E>) => A2, success: (a: A) => A3, __trace?: string): <R>(value: Effect<R, E, A>) => RIO<R, A2 | A3>;
//# sourceMappingURL=foldCause.d.ts.map