import { Ref } from "@effect/core/io/Ref/definition"; import { TSemaphore } from "@effect/core/stm/TSemaphore/definition"; import { Effect } from "@effect/core/io/Effect"; import { _A, RefSym, SynchronizedSym } from "@effect/core/io/Ref/definition"; import type { Maybe } from "@tsplus/stdlib/data/Maybe"; export declare class SynchronizedInternal implements Ref.Synchronized { readonly ref: Ref; readonly semaphore: TSemaphore; get [RefSym](): RefSym; get [SynchronizedSym](): SynchronizedSym; get [_A](): (_: never) => A; constructor(ref: Ref, semaphore: TSemaphore); modifyEffect(this: this, f: (a: A) => Effect): Effect; getAndUpdateEffect(this: this, f: (a: A) => Effect): Effect; getAndUpdateSomeEffect(this: this, pf: (a: A) => Maybe>): Effect; modifySomeEffect(this: this, fallback: B, pf: (a: A) => Maybe>): Effect; updateEffect(this: this, f: (a: A) => Effect): Effect; updateAndGetEffect(this: this, f: (a: A) => Effect): Effect; updateSomeEffect(this: this, pf: (a: A) => Maybe>): Effect; updateSomeAndGetEffect(this: this, pf: (a: A) => Maybe>): Effect; get get(): Effect; modify(this: this, f: (a: A) => readonly [B, A]): Effect; set(this: this, a: A): Effect; getAndSet(this: this, a: A): Effect; getAndUpdate(this: this, f: (a: A) => A): Effect; getAndUpdateSome(this: this, pf: (a: A) => Maybe): Effect; modifySome(this: this, fallback: B, pf: (a: A) => Maybe): Effect; update(this: this, f: (a: A) => A): Effect; updateAndGet(this: this, f: (a: A) => A): Effect; updateSome(this: this, pf: (a: A) => Maybe): Effect; updateSomeAndGet(this: this, pf: (a: A) => Maybe): Effect; } //# sourceMappingURL=SynchronizedInternal.d.ts.map