import { Scope } from "@effect/core/io/Scope/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Effect } from "@effect/core/io/Effect/definition";
/**
 * Adds a finalizer to this scope. The finalizer is guaranteed to be run when
 * the scope is closed.
 * @tsplus fluent ets/Scope addFinalizer
 * @tsplus fluent ets/Scope/Closeable addFinalizer
 * @tsplus location "@effect/core/io/Scope/operations/addFinalizer"
 */
export declare function addFinalizer_(self: Scope, finalizer: LazyArg<Effect<never, never, unknown>>): Effect<never, never, void>;
/**
 * Adds a finalizer to this scope. The finalizer is guaranteed to be run when
 * the scope is closed.
 * @tsplus static ets/Scope/Aspects addFinalizer
 * @tsplus pipeable ets/Scope addFinalizer
 * @tsplus location "@effect/core/io/Scope/operations/addFinalizer"
 */
export declare const addFinalizer: (finalizer: LazyArg<Effect<never, never, unknown>>) => (self: Scope) => import("../../Effect").Effect<never, never, void>;
//# sourceMappingURL=addFinalizer.d.ts.map