import { Effect } from "@effect/core/io/Effect/definition";
import { Tuple } from "@tsplus/stdlib/data/Tuple/definition";
import { Trace } from "@effect/core/io/Trace/definition";
/**
 * A version of `foldEffect` that gives you the trace of the error.
 * @tsplus fluent ets/Effect foldTraceEffect
 * @tsplus location "@effect/core/io/Effect/operations/foldTraceEffect"
 */
export declare function foldTraceEffect_<R, E, A, R2, E2, A2, R3, E3, A3>(self: Effect<R, E, A>, failure: (tuple: Tuple<[E, Trace]>) => Effect<R2, E2, A2>, success: (a: A) => Effect<R3, E3, A3>, __tsplusTrace?: string): Effect<R | R2 | R3, E2 | E3, A2 | A3>;
/**
 * A version of `foldEffect` that gives you the trace of the error.
 * @tsplus static ets/Effect/Aspects foldTraceEffect
 * @tsplus pipeable ets/Effect foldTraceEffect
 * @tsplus location "@effect/core/io/Effect/operations/foldTraceEffect"
 */
export declare const foldTraceEffect: <E, A, R2, E2, A2, R3, E3, A3>(failure: (tuple: import("@tsplus/stdlib/data/Tuple").Tuple<[E, import("../../Trace").Trace]>) => import("../definition").Effect<R2, E2, A2>, success: (a: A) => import("../definition").Effect<R3, E3, A3>, __tsplusTrace?: string) => <R>(self: import("../definition").Effect<R, E, A>) => import("../definition").Effect<R | R2 | R3, E2 | E3, A2 | A3>;
//# sourceMappingURL=foldTraceEffect.d.ts.map