Import
import { setOpen } from "@typed/ui/Dialog";Signatures
export declare function setOpen<E, R>(state: RefSubject.RefSubject<State, E, R>, open: boolean): Effect.Effect<State, E, R>;Why
Explicit state transitions stay outside renderers and retain Effect typing.
Ownership and lifetime
The Effect uses the existing RefSubject lifetime and acquires no resource.
Examples
import { Effect } from "effect"
import * as Dialog from "@typed/ui/Dialog"
const program = Effect.gen(function* () {
const state = yield* Dialog.makeState()
yield* Dialog.setOpen(state, true)
})Other public imports
These import paths expose the same declaration. Each page retains its own public name and signature.