# `Snodo.Completion`
[🔗](https://github.com/joshrotenberg/snodo/blob/v0.1.0/lib/snodo/completion.ex#L1)

A normalized, protocol-neutral completion request.

Completion callbacks receive the registered prompt or resource-template
reference, the argument being completed, its partial value, and any
previously resolved string arguments. Protocol dialects remain responsible
for translating their wire representation into this shape.

# `reference_type`

```elixir
@type reference_type() :: :prompt | :resource_template
```

# `t`

```elixir
@type t() :: %Snodo.Completion{
  argument: String.t(),
  arguments: %{optional(String.t()) =&gt; String.t()},
  reference: String.t(),
  reference_type: reference_type(),
  value: String.t()
}
```

---

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