# `TypeSafeSDK.Choice`
[🔗](https://github.com/nshkrdotcom/typesafe_sdk/blob/v0.4.1/lib/typesafe_sdk/choice.ex#L1)

A question that selects one named alternative.

Construction intentionally does not validate the runtime shape of `criteria`.
This matches the Python SDK: structural schema validation belongs to the API,
while the SDK only requires that a typed Choice carries the field.

# `t`

```elixir
@type t() :: %TypeSafeSDK.Choice{criteria: term(), instructions: term() | nil}
```

# `new`

```elixir
@spec new(term(), keyword()) :: t()
```

---

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