# `Chronicle.ReadModels.Definition`
[🔗](https://github.com/Cratis/Chronicle.Elixir/blob/main/lib/chronicle/read_models.ex#L126)

Read-model definition metadata returned by `Chronicle.ReadModels.definitions/1`.

# `observer_type`

```elixir
@type observer_type() :: :not_set | :reducer | :projection
```

# `owner`

```elixir
@type owner() :: :none | :client | :server
```

# `source`

```elixir
@type source() :: :unknown | :code | :user
```

# `t`

```elixir
@type t() :: %Chronicle.ReadModels.Definition{
  container_name: String.t() | nil,
  display_name: String.t() | nil,
  generation: non_neg_integer(),
  identifier: String.t() | nil,
  indexes: [String.t()],
  observer_identifier: String.t() | nil,
  observer_type: observer_type(),
  owner: owner(),
  schema: String.t() | nil,
  sink: map(),
  source: source()
}
```

---

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