# setOpen

Sets disclosure visibility.

## Signatures

```ts
export declare function setOpen<E, R>(state: RefSubject.RefSubject<State, E, R>, open: boolean): Effect.Effect<State, E, R>;
```

## Why

Explicit state transitions remain composable with Effect and outside renderers.

## Ownership and lifetime

The Effect reuses the existing state lifetime and acquires no resource.

## Examples

```ts
import { Effect } from "effect"
import * as Disclosure from "@typed/ui/Disclosure"

const program = Effect.gen(function* () {
  const state = yield* Disclosure.makeState()
  yield* Disclosure.setOpen(state, true)
})
```
