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";
import { Maybe } from "@tsplus/stdlib/data/Maybe/definition";
/**
 * Adds a finalizer to the finalizers associated with this scope. If the
 * scope is still open, a key will be returned. This is an identifier that can
 * be used to activate this finalizer and remove it from the map. If the scope
 * has been closed, the finalizer will be executed immediately (with the `Exit`
 * value with which the scope has ended) and no key will be returned.
 * @tsplus fluent ets/ReleaseMap addIfOpen
 * @tsplus location "@effect/core/io/Scope/ReleaseMap/operations/addIfOpen"
 */
export declare function addIfOpen_(self: ReleaseMap, finalizer: Scope.Finalizer, __tsplusTrace?: string): Effect<never, never, Maybe<number>>;
/**
 * Adds a finalizer to the finalizers associated with this scope. If the
 * scope is still open, a key will be returned. This is an identifier that can
 * be used to activate this finalizer and remove it from the map. If the scope
 * has been closed, the finalizer will be executed immediately (with the `Exit`
 * value with which the scope has ended) and no key will be returned.
 * @tsplus static ets/ReleaseMap/Aspects addIfOpen
 * @tsplus pipeable ets/ReleaseMap addIfOpen
 * @tsplus location "@effect/core/io/Scope/ReleaseMap/operations/addIfOpen"
 */
export declare const addIfOpen: (finalizer: Scope.Finalizer, __tsplusTrace?: string) => (self: ReleaseMap) => import("../../../Effect").Effect<never, never, import("@tsplus/stdlib/data/Maybe").Maybe<number>>;
//# sourceMappingURL=addIfOpen.d.ts.map