import type { Todo } from "@effect/core/stm/STM/definition/primitives"
import type { TxnId } from "@effect/core/stm/STM/TxnId"
import type { Versioned } from "@effect/core/stm/STM/Versioned"
import { _A, TRefSym } from "@effect/core/stm/TRef/definition"
export class TRefInternal implements TRef {
readonly [TRefSym]: TRefSym = TRefSym
readonly [_A]!: () => A
constructor(
public versioned: Versioned,
readonly todo: AtomicReference>
) {}
}
/**
* @tsplus macro remove
*/
export function concreteTRef(_: TRef): asserts _ is TRefInternal {
//
}