import { Ref } from "@effect/io/Ref";
import { Semaphore, Effect } from "@effect/io/Effect";
/**
* Ref has atomic modify support if synchronous, for Effect we need a Semaphore.
* @tsplus fluent effect/io/Ref modifyWithEffect
* @tsplus location "@effect-ts-app/boilerplate-prelude/_ext/Ref"
*/
export declare function modifyWithPermitWithEffect(ref: Ref, semaphore: Semaphore): (mod: (a: A) => import("@effect/io/Effect").Effect) => import("@effect/io/Effect").Effect;
//# sourceMappingURL=Ref.d.ts.map