import { Scope } from "@effect/core/io/Scope/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Effect } from "@effect/core/io/Effect/definition";
/**
 * Uses the scope by providing it to an `Effect` workflow that needs a scope,
 * guaranteeing that the scope is closed with the result of that workflow as
 * soon as the workflow completes execution, whether by success, failure, or
 * interruption.
 * @tsplus fluent ets/Scope/Closeable use
 * @tsplus location "@effect/core/io/Scope/operations/use"
 */
export declare function use_<R, E, A>(self: Scope.Closeable, effect: LazyArg<Effect<R, E, A>>): Effect<Exclude<R, Scope>, E, A>;
/**
 * Uses the scope by providing it to an `Effect` workflow that needs a scope,
 * guaranteeing that the scope is closed with the result of that workflow as
 * soon as the workflow completes execution, whether by success, failure, or
 * interruption.
 * @tsplus static ets/Scope/Aspects use
 * @tsplus pipeable ets/Scope/Closeable use
 * @tsplus location "@effect/core/io/Scope/operations/use"
 */
export declare const use: <R, E, A>(effect: import("@tsplus/stdlib/data/Function").LazyArg<import("../../Effect").Effect<R, E, A>>) => (self: Scope.Closeable) => import("../../Effect").Effect<Exclude<R, import("../definition").Scope>, E, A>;
//# sourceMappingURL=use.d.ts.map