# `EKV.Event`

Represents a key change event delivered to subscribers.

- `:put` — `value` is the new value being written
- `:delete` — `value` is the previous value before deletion (or `nil` if the key didn't exist locally)
- `:expired` — `value` is the last local value observed before TTL expiry

# `t`

```elixir
@type t() :: %EKV.Event{
  key: String.t(),
  type: :put | :delete | :expired,
  value: term() | nil
}
```

---

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