import { Effect } from "@effect/core/io/Effect/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Duration } from "@tsplus/stdlib/data/Duration";
/**
 * The same as `timeout`, but instead of producing a `None` in the event of
 * timeout, it will produce the specified error.
 * @tsplus fluent ets/Effect timeoutFail
 * @tsplus location "@effect/core/io/Effect/operations/timeoutFail"
 */
export declare function timeoutFail_<R, E, E1, A>(self: Effect<R, E, A>, e: LazyArg<E1>, duration: LazyArg<Duration>, __tsplusTrace?: string): Effect<R, E | E1, A>;
/**
 * The same as `timeout`, but instead of producing a `None` in the event of
 * timeout, it will produce the specified error.
 * @tsplus static ets/Effect/Aspects timeoutFail
 * @tsplus pipeable ets/Effect timeoutFail
 * @tsplus location "@effect/core/io/Effect/operations/timeoutFail"
 */
export declare const timeoutFail: <E1>(e: import("@tsplus/stdlib/data/Function").LazyArg<E1>, duration: LazyArg<Duration>, __tsplusTrace?: string) => <R, E, A>(self: import("../definition").Effect<R, E, A>) => import("../definition").Effect<R, E | E1, A>;
//# sourceMappingURL=timeoutFail.d.ts.map