import { Effect } from "@effect/core/io/Effect/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
/**
 * Executes this effect and returns its value, if it succeeds, but otherwise
 * fails with the specified error.
 * @tsplus fluent ets/Effect orElseFail
 * @tsplus location "@effect/core/io/Effect/operations/orElseFail"
 */
export declare function orElseFail_<R, E, A, E2>(self: Effect<R, E, A>, e: LazyArg<E2>, __tsplusTrace?: string): Effect<R, E2, A>;
/**
 * Executes this effect and returns its value, if it succeeds, but otherwise
 * fails with the specified error.
 * @tsplus static ets/Effect/Aspects orElseFail
 * @tsplus pipeable ets/Effect orElseFail
 * @tsplus location "@effect/core/io/Effect/operations/orElseFail"
 */
export declare const orElseFail: <E2>(e: import("@tsplus/stdlib/data/Function").LazyArg<E2>, __tsplusTrace?: string) => <R, E, A>(self: import("../definition").Effect<R, E, A>) => import("../definition").Effect<R, E2, A>;
//# sourceMappingURL=orElseFail.d.ts.map