import { Effect } from "@effect/core/io/Effect/definition";
import { Cause } from "@effect/core/io/Cause/definition";
/**
 * Returns an effect with its full cause of failure mapped using the specified
 * function. This can be used to transform errors while preserving the
 * original structure of `Cause`.
 *
 * See `absorb`, `sandbox`, `catchAllCause` for other functions for dealing
 * with defects.
 * @tsplus fluent ets/Effect mapErrorCause
 * @tsplus location "@effect/core/io/Effect/operations/mapErrorCause"
 */
export declare function mapErrorCause_<R, E, A, E2>(self: Effect<R, E, A>, f: (cause: Cause<E>) => Cause<E2>, __tsplusTrace?: string): Effect<R, E2, A>;
/**
 * Returns an effect with its full cause of failure mapped using the specified
 * function. This can be used to transform errors while preserving the
 * original structure of `Cause`.
 *
 * See `absorb`, `sandbox`, `catchAllCause` for other functions for dealing
 * with defects.
 * @tsplus static ets/Effect/Aspects mapErrorCause
 * @tsplus pipeable ets/Effect mapErrorCause
 * @tsplus location "@effect/core/io/Effect/operations/mapErrorCause"
 */
export declare const mapErrorCause: <E, E2>(f: (cause: import("../../Cause").Cause<E>) => import("../../Cause").Cause<E2>, __tsplusTrace?: string) => <R, A>(self: import("../definition").Effect<R, E, A>) => import("../definition").Effect<R, E2, A>;
//# sourceMappingURL=mapErrorCause.d.ts.map