# `StatifierBlocks.Document.DatamodelEntry`
[🔗](https://github.com/riddler/statifier_blocks/blob/v0.44.1/lib/statifier_blocks/document.ex#L1)

One root the document itself declares (ADR-0001 decision 11).

A document-declared root is a top-level `datamodel` entry: an `id` the
document's own guards and assigns read, an optional `expr` the root
starts with, and an optional `description` for a human reading the
document rather than for the chart - it is prose, never compiled and
never emitted (`StatifierBlocks.Compiler.DeclaredRoots.document_declarations/1`
drops it). This is the document's own declaration surface, distinct from
the compile call's `:declare` option, which leads it
(`StatifierBlocks.Compiler`'s moduledoc).

# `t`

```elixir
@type t() :: %StatifierBlocks.Document.DatamodelEntry{
  description: String.t() | nil,
  expr: String.t() | nil,
  id: String.t()
}
```

---

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