import { ReleaseMap } from "@effect/core/io/Scope/ReleaseMap/definition";
import { Scope } from "@effect/core/io/Scope/definition";
import { Effect } from "@effect/core/io/Effect/definition";
/**
 * Adds a finalizer to the finalizers associated with this scope. If the
 * finalizers associated with this scope have already been run this
 * finalizer will be run immediately.
 *
 * The finalizer returned from this method will remove the original
 * finalizer from the map and run it.
 * @tsplus fluent ets/ReleaseMap add
 * @tsplus location "@effect/core/io/Scope/ReleaseMap/operations/add"
 */
export declare function add_(self: ReleaseMap, finalizer: Scope.Finalizer, __tsplusTrace?: string): Effect<never, never, Scope.Finalizer>;
/**
 * Adds a finalizer to the finalizers associated with this scope. If the
 * finalizers associated with this scope have already been run this
 * finalizer will be run immediately.
 *
 * The finalizer returned from this method will remove the original
 * finalizer from the map and run it.
 * @tsplus static ets/ReleaseMap/Aspects add
 * @tsplus pipeable ets/ReleaseMap add
 * @tsplus location "@effect/core/io/Scope/ReleaseMap/operations/add"
 */
export declare const add: (finalizer: Scope.Finalizer, __tsplusTrace?: string) => (self: ReleaseMap) => import("../../../Effect").Effect<never, never, import("../../definition").Scope.Finalizer>;
//# sourceMappingURL=add.d.ts.map