import { Effect } from "@effect/core/io/Effect/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Duration } from "@tsplus/stdlib/data/Duration";
/**
 * Returns an effect that will timeout this effect, returning either the
 * default value if the timeout elapses before the effect has produced a
 * value or returning the result of applying the function `f` to the
 * success value of the effect.
 *
 * If the timeout elapses without producing a value, the running effect will
 * be safely interrupted.
 * @tsplus fluent ets/Effect timeoutTo
 * @tsplus location "@effect/core/io/Effect/operations/timeoutTo"
 */
export declare function timeoutTo_<R, E, A, B, B1>(self: Effect<R, E, A>, def: LazyArg<B1>, f: (a: A) => B, duration: LazyArg<Duration>, __tsplusTrace?: string): Effect<R, E, B | B1>;
/**
 * Returns an effect that will timeout this effect, returning either the
 * default value if the timeout elapses before the effect has produced a
 * value or returning the result of applying the function `f` to the
 * success value of the effect.
 *
 * If the timeout elapses without producing a value, the running effect will
 * be safely interrupted.
 * @tsplus static ets/Effect/Aspects timeoutTo
 * @tsplus pipeable ets/Effect timeoutTo
 * @tsplus location "@effect/core/io/Effect/operations/timeoutTo"
 */
export declare const timeoutTo: <A, B, B1>(def: import("@tsplus/stdlib/data/Function").LazyArg<B1>, f: (a: A) => B, duration: LazyArg<Duration>, __tsplusTrace?: string) => <R, E>(self: import("../definition").Effect<R, E, A>) => import("../definition").Effect<R, E, B | B1>;
//# sourceMappingURL=timeoutTo.d.ts.map