# `MingaEditor.Renderer.ObservedBuffers`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_editor/renderer/observed_buffers.ex#L1)

Renderer-local buffer monitor and consumed-version owner.
Versions are retained only for currently monitored buffers. Exact `:DOWN`
matching removes both the monitor reference and the recorded version, while
stale `:DOWN` messages are ignored.

# `t`

```elixir
@type t() :: %MingaEditor.Renderer.ObservedBuffers{
  monitors: %{optional(pid()) =&gt; reference()},
  versions: %{optional(pid()) =&gt; non_neg_integer()}
}
```

# `drop_down`

```elixir
@spec drop_down(t(), reference(), pid()) :: {t(), boolean()}
```

# `monitored_versions`

```elixir
@spec monitored_versions(t(), %{optional(pid()) =&gt; non_neg_integer()}) :: %{
  optional(pid()) =&gt; non_neg_integer()
}
```

# `new`

```elixir
@spec new() :: t()
```

# `reconcile`

```elixir
@spec reconcile(t(), MapSet.t(pid())) :: t()
```

# `record_version`

```elixir
@spec record_version(t(), pid(), non_neg_integer()) :: t()
```

# `recorded_version`

```elixir
@spec recorded_version(t(), pid()) :: non_neg_integer() | nil
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
