# `ExDoc.ModuleNode`
[🔗](https://github.com/elixir-lang/ex_doc/blob/v0.40.3/lib/ex_doc/nodes.ex#L2)

Represents a module.

# `t`

```elixir
@type t() :: %ExDoc.ModuleNode{
  annotations: [atom()],
  deprecated: String.t() | nil,
  doc: ExDoc.DocAST.t() | nil,
  docs_groups: [ExDoc.DocGroupNode.t()],
  group: atom() | nil,
  id: String.t(),
  language: module(),
  metadata: map(),
  module: module(),
  moduledoc_file: String.t(),
  moduledoc_line: non_neg_integer(),
  nested_context: String.t() | nil,
  nested_title: String.t() | nil,
  source_doc: term() | nil,
  source_format: String.t() | nil,
  source_path: String.t() | nil,
  source_url: String.t() | nil,
  title: String.t(),
  type: atom(),
  typespecs: [ExDoc.DocNode.t()]
}
```

---

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