# choice (/docs/api/core/functions/choice)



```ts
function choice<T>(instructions, criteria): ChoiceQuestion<T>;
```

## Type Parameters [#type-parameters]

| Type Parameter                                                               |
| ---------------------------------------------------------------------------- |
| `T` *extends* [`ChoiceCriteria`](/docs/api/core/type-aliases/ChoiceCriteria) |

## Parameters [#parameters]

| Parameter      | Type                                         |
| -------------- | -------------------------------------------- |
| `instructions` | [`Entry`](/docs/api/core/type-aliases/Entry) |
| `criteria`     | `T`                                          |

## Returns [#returns]

[`ChoiceQuestion`](/docs/api/core/interfaces/ChoiceQuestion)\<`T`>
