import * as tsplus_module_1 from "@effect/core/io/Effect/operations/acquireReleaseInterruptibleExit";
/**
 * A variant of `acquireRelease` that allows the `acquire` effect to be
 * interruptible. Since the `acquire` effect could be interrupted after
 * partially acquiring resources, the `release` effect is not allowed to
 * access the resource produced by `acquire` and must independently determine
 * what finalization, if any, needs to be performed (e.g. by examining in
 * memory state).
 *
 * @tsplus static ets/Effect/Ops acquireReleaseInterruptible
 * @tsplus fluent ets/Effect acquireReleaseInterruptible
 */

export function acquireReleaseInterruptible(acquire, release, __tsplusTrace) {
  return tsplus_module_1.acquireReleaseInterruptibleExit(acquire, release, __tsplusTrace);
}
//# sourceMappingURL=acquireReleaseInterruptible.mjs.map