# StatifierDatamodel v0.7.1 - API Reference

## Modules

- [StatifierDatamodel](StatifierDatamodel.md): The datamodel document and what can be decided from it, with no dependency
on the block editor, the compiler, or the UI.
- [StatifierDatamodel.Events](StatifierDatamodel.Events.md): The index over a datamodel document's `events` and `sends` keys
(ADR-0004 decisions 1-5): per event name, the type of its payload.
- [StatifierDatamodel.Reads](StatifierDatamodel.Reads.md): ADR-0004 decision 6: the read check over reads handed in as data.

- Document and index
  - [StatifierDatamodel.Document](StatifierDatamodel.Document.md): The document-level reads: the three questions a consumer asks of a raw,
decoded datamodel document rather than of an index it already holds.
  - [StatifierDatamodel.Index](StatifierDatamodel.Index.md): The path/type index over a datamodel document (ADR-0001), and the
projections that record promises.
  - [StatifierDatamodel.Schema](StatifierDatamodel.Schema.md): Where the datamodel document's JSON Schema is, and what it says (ADR-0002).

- Declared types
  - [StatifierDatamodel.Declarations](StatifierDatamodel.Declarations.md): The index over a datamodel document's `types` key (ADR-0001 decision 5):
the named record and shape declarations, by name.
  - [StatifierDatamodel.Types](StatifierDatamodel.Types.md): Type expressions over a datamodel document, and ADR-0001 decision 8's read
check.

- Compatibility and coverage
  - [StatifierDatamodel.Compatibility](StatifierDatamodel.Compatibility.md): ADR-0001 decision 9: what a redefined declaration takes away from the one
it replaces.
  - [StatifierDatamodel.Conformance](StatifierDatamodel.Conformance.md): ADR-0004 decision 7: whether a value conforms to a type expression.
  - [StatifierDatamodel.Coverage](StatifierDatamodel.Coverage.md): ADR-0001 decision 10: which required fields of a shape a map does not fill.

