# Interface: NarrationManagerInterface (/pixi-vn/index/interfaces/NarrationManagerInterface)



Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:20](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L20)

## Properties [#properties]

### ~~alreadyCurrentStepMadeChoices~~ [#alreadycurrentstepmadechoices]

\> `readonly` **alreadyCurrentStepMadeChoices**: `number`\[] | `undefined`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:92](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L92)

Get the choices already made in the current step. **Attention**: if the choice step index is edited or the code of choice step is edited, the result will be wrong.

#### Returns [#returns]

The choices already made in the current step. If there are no choices, it will return undefined.

#### Deprecated [#deprecated]

Use [queries](#queries).alreadyCurrentStepMadeChoices instead.

***

### canContinue [#cancontinue]

\> `readonly` **canContinue**: `boolean`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:139](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L139)

Return if can go to the next step. It's `false` when:

* A `step` is running
* The player must "make a choice"
* The player must "enter a value"

#### Returns [#returns-1]

True if can go to the next step.

***

### continue [#continue]

\> **continue**: (`props`, `options?`) => `Promise`\<[`StepLabelResultType`](/pixi-vn/index/type-aliases/StepLabelResultType)>

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:165](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L165)

Execute the next step and add it to the history. If a step is already running, it will put the request in the queue,
and when the step is finished, it will execute the next step.

#### Parameters [#parameters]

##### props [#props]

`StepLabelProps`

The props to pass to the step.

##### options? [#options]

The options.

###### runNow? [#runnow]

`boolean`

If true, ignore the running step, ignore the choice menu/required input and run the next step immediately.

###### steps? [#steps]

`number`

The number of steps to advance. Must be a valid finite number greater than 0.
If NaN, Infinity, or a value less than or equal to 0 is provided, the implementation
will emit a warning and return early without advancing steps.

**Default**

```ts
1
```

#### Returns [#returns-2]

`Promise`\<[`StepLabelResultType`](/pixi-vn/index/type-aliases/StepLabelResultType)>

StepLabelResultType or undefined.

#### Example [#example]

```ts
    function nextOnClick() {
    setLoading(true)
    narration.continue(yourParams)
        .then((result) => {
            setUpdate((p) => p + 1)
            setLoading(false)
            if (result) {
                // your code
            }
        })
        .catch((e) => {
            setLoading(false)
            console.error(e)
        })
}
```

***

### ~~currentLabel~~ [#currentlabel]

\> `readonly` **currentLabel**: [`LabelAbstract`](/pixi-vn/index/classes/LabelAbstract)\<`any`, \{ }, `number`> | `undefined`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:65](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L65)

currentLabel is the current label that occurred during the progression of the steps.

#### Deprecated [#deprecated-1]

Use [labels](#labels).current instead.

***

### currentStepTimesCounter [#currentsteptimescounter]

\> **currentStepTimesCounter**: `number`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:31](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L31)

Counter of execution times of the current step. Current execution is also included. Starts from 1.

**Attention**: if the step index is edited or the code of step is edited, the counter will be reset.

You can restart the counter in this way:

```ts
narration.currentStepTimesCounter = 0
```

***

### dialogGlue [#dialogglue]

\> **dialogGlue**: `boolean`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:294](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L294)

If true, the next dialogue text will be added to the current dialogue text.

***

### input [#input]

\> `readonly` **input**: [`NarrationInputInterface`](/pixi-vn/index/interfaces/NarrationInputInterface)

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:120](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L120)

Namespace for operations on the input requested to the player.

***

### ~~inputType~~ [#inputtype]

\> `readonly` **inputType**: `string` | `undefined`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:309](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L309)

Returns the type of input prompt requested.

#### Deprecated [#deprecated-2]

Use [input](#input).type instead.

***

### ~~inputValue~~ [#inputvalue]

\> **inputValue**: [`StorageElementType`](/pixi-vn/index/type-aliases/StorageElementType)

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:299](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L299)

The input value to be inserted by the player.

#### Deprecated [#deprecated-3]

Use [input](#input).value instead.

***

### ~~isCurrentStepAlreadyOpened~~ [#iscurrentstepalreadyopened]

\> `readonly` **isCurrentStepAlreadyOpened**: `boolean`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:98](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L98)

Check if the current step is already completed.

#### Returns [#returns-3]

True if the current step is already completed.

#### Deprecated [#deprecated-4]

Use [queries](#queries).isCurrentStepAlreadyOpened instead.

***

### ~~isRequiredInput~~ [#isrequiredinput]

\> `readonly` **isRequiredInput**: `boolean`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:304](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L304)

If true, the player must enter a value.

#### Deprecated [#deprecated-5]

Use [input](#input).isRequired instead.

***

### labels [#labels]

\> `readonly` **labels**: [`NarrationLabelsInterface`](/pixi-vn/index/interfaces/NarrationLabelsInterface)

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:124](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L124)

Namespace for operations on the opened labels.

***

### ~~openedLabels~~ [#openedlabels]

\> `readonly` **openedLabels**: [`OpenedLabel`](/pixi-vn/index/interfaces/OpenedLabel)\[]

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:60](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L60)

The stack of the opened labels.

#### Deprecated [#deprecated-6]

Use [labels](#labels).opened instead.

***

### queries [#queries]

\> `readonly` **queries**: [`NarrationQueriesInterface`](/pixi-vn/index/interfaces/NarrationQueriesInterface)

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:128](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L128)

Namespace for queries about the current state of the narration.

***

### stepCounter [#stepcounter]

\> `readonly` **stepCounter**: `number`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:55](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L55)

This counter corresponds to the total number of steps that have been executed so far.

**Not is the history.stepsHistory.length - 1.**

## Accessors [#accessors]

### choices [#choices]

#### Get Signature [#get-signature]

\> **get** **choices**(): [`NarrationChoicesInterface`](/pixi-vn/index/interfaces/NarrationChoicesInterface)

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:275](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L275)

Namespace for operations on the choices to be shown in the game.

##### Returns [#returns-4]

[`NarrationChoicesInterface`](/pixi-vn/index/interfaces/NarrationChoicesInterface)

#### Set Signature [#set-signature]

\> **set** **choices**(`data`): `void`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:290](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L290)

Shortcut for [NarrationChoicesInterface.list](/pixi-vn/index/interfaces/NarrationChoicesInterface#list).

##### Throws [#throws]

when a choice contains functions or class instances that cannot be serialized to JSON.

##### Example [#example-1]

```ts
narration.choices = [
    newChoiceOption("Events Test", EventsTestLabel, {}),
    newChoiceOption("Show Image Test", ShowImageTest, { image: "imageId" }, "call"),
    newChoiceOption("Ticker Test", TickerTestLabel, {}),
    newChoiceOption("Tinting Test", TintingTestLabel, {}, "jump"),
    newChoiceOption("Base Canvas Element Test", BaseCanvasElementTestLabel, {})
]
```

##### Parameters [#parameters-1]

###### data [#data]

[`StoredChoiceInterface`](/pixi-vn/index/type-aliases/StoredChoiceInterface)\[] | `undefined`

##### Returns [#returns-5]

`void`

***

### dialogue [#dialogue]

#### Get Signature [#get-signature-1]

\> **get** **dialogue**(): [`DialogueInterface`](/pixi-vn/index/interfaces/DialogueInterface) | `undefined`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:266](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L266)

Dialogue to be shown in the game

##### Returns [#returns-6]

[`DialogueInterface`](/pixi-vn/index/interfaces/DialogueInterface) | `undefined`

#### Set Signature [#set-signature-1]

\> **set** **dialogue**(`props`): `void`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:271](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L271)

Dialogue to be shown in the game

##### Throws [#throws-1]

when the dialogue contains functions or class instances that cannot be serialized to JSON.

##### Parameters [#parameters-2]

###### props [#props-1]

`string` | `string`\[] | [`DialogueInterface`](/pixi-vn/index/interfaces/DialogueInterface) | `undefined`

##### Returns [#returns-7]

`void`

## Methods [#methods]

### addCurrentStepToHistory() [#addcurrentsteptohistory]

\> **addCurrentStepToHistory**(): `Promise`\<`void`>

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:116](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L116)

Save the current step to the history.

#### Returns [#returns-8]

`Promise`\<`void`>

A promise that resolves once the history is saved and the step counter is updated.

***

### call() [#call]

\> **call**\<`T`>(`label`, `props`): `Promise`\<[`StepLabelResultType`](/pixi-vn/index/type-aliases/StepLabelResultType)>

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:202](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L202)

Execute the label, add the label to the history and execute the next step of the label.

#### Type Parameters [#type-parameters]

##### T [#t]

`T` *extends* `object` = \{ }

#### Parameters [#parameters-3]

##### label [#label]

`string` | [`LabelAbstract`](/pixi-vn/index/classes/LabelAbstract)\<`any`, `T`, `number`>

The label to execute or the id of the label

##### props [#props-2]

[`StepLabelPropsType`](/pixi-vn/index/type-aliases/StepLabelPropsType)\<`T`>

The props to pass to the label.

#### Returns [#returns-9]

`Promise`\<[`StepLabelResultType`](/pixi-vn/index/type-aliases/StepLabelResultType)>

StepLabelResultType or undefined.

#### Throws [#throws-2]

when the label is not found in the registered labels.

#### Examples [#examples]

```ts
narration.call(startLabel, yourParams).then((result) => {
    if (result) {
        // your code
    }
})
```

```ts
// if you use it in a step label you should return the result.
return narration.call(startLabel).then((result) => {
    return result
})
```

***

### clear() [#clear]

\> **clear**(): `void`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:326](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L326)

Clear all narration data

#### Returns [#returns-10]

`void`

***

### ~~closeAllLabels()~~ [#closealllabels]

\> **closeAllLabels**(): `void`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:79](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L79)

Close all labels and add them to the history. **Attention: This method can cause an unhandled game ending.**

#### Returns [#returns-11]

`void`

#### Deprecated [#deprecated-7]

Use [labels](#labels).closeAll instead.

***

### ~~closeCurrentLabel()~~ [#closecurrentlabel]

\> **closeCurrentLabel**(): `void`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:74](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L74)

Close the current label and add it to the history.

#### Returns [#returns-12]

`void`

#### Deprecated [#deprecated-8]

Use [labels](#labels).closeCurrent instead.

***

### export() [#export]

\> **export**(): [`NarrationGameState`](/pixi-vn/index/interfaces/NarrationGameState)

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:334](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L334)

Export the narration to an object.

#### Returns [#returns-13]

[`NarrationGameState`](/pixi-vn/index/interfaces/NarrationGameState)

The narration in an object.

***

### getRandomNumber() [#getrandomnumber]

\> **getRandomNumber**(`min`, `max`, `options?`): `number` | `undefined`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:39](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L39)

Get a random number between min and max.

#### Parameters [#parameters-4]

##### min [#min]

`number`

The minimum number.

##### max [#max]

`number`

The maximum number.

##### options? [#options-1]

The options.

###### onceOnly? [#onceonly]

`boolean`

If `true`, the number will be generated only once for the current `step` of the `label` (default: `false`). Note: `min` and `max` affect the storage of already generated numbers.

**Default**

```ts
false
```

#### Returns [#returns-14]

`number` | `undefined`

The random number or undefined. If options.onceonly is true and all numbers between min and max have already been generated, it will return undefined.

***

### ~~getTimesChoiceMade()~~ [#gettimeschoicemade]

\> **getTimesChoiceMade**(`index`): `number`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:111](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L111)

Get times a choice has been made in the current step.

#### Parameters [#parameters-5]

##### index [#index]

`number`

The index of the choice.

#### Returns [#returns-15]

`number`

The number of times the choice has been made.

#### Deprecated [#deprecated-9]

Use [queries](#queries).timesChoiceMade instead.

***

### ~~getTimesLabelOpened()~~ [#gettimeslabelopened]

\> **getTimesLabelOpened**(`label`): `number`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:104](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L104)

Get times a label has been opened

#### Parameters [#parameters-6]

##### label [#label-1]

`string`

#### Returns [#returns-16]

`number`

times a label has been opened

#### Deprecated [#deprecated-10]

Use [queries](#queries).timesLabelOpened instead.

***

### ~~isLabelAlreadyCompleted()~~ [#islabelalreadycompleted]

\> **isLabelAlreadyCompleted**(`label`): `boolean`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:86](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L86)

Check if the label is already completed.

#### Parameters [#parameters-7]

##### label [#label-2]

`string` | [`LabelAbstract`](/pixi-vn/index/classes/LabelAbstract)\<`any`, \{ }, `number`>

The label to check.

#### Returns [#returns-17]

`boolean`

True if the label is already completed.

#### Deprecated [#deprecated-11]

Use [queries](#queries).isLabelAlreadyCompleted instead.

***

### jump() [#jump]

\> **jump**\<`T`>(`label`, `props`): `Promise`\<[`StepLabelResultType`](/pixi-vn/index/type-aliases/StepLabelResultType)>

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:228](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L228)

Execute the label, replace the current label in the history with the new label and execute the next step of the label.

#### Type Parameters [#type-parameters-1]

##### T [#t-1]

`T` *extends* `object`

#### Parameters [#parameters-8]

##### label [#label-3]

`string` | [`LabelAbstract`](/pixi-vn/index/classes/LabelAbstract)\<`any`, `T`, `number`>

The label to execute.

##### props [#props-3]

[`StepLabelPropsType`](/pixi-vn/index/type-aliases/StepLabelPropsType)\<`T`>

The props to pass to the label or the id of the label

#### Returns [#returns-18]

`Promise`\<[`StepLabelResultType`](/pixi-vn/index/type-aliases/StepLabelResultType)>

StepLabelResultType or undefined.

#### Throws [#throws-3]

when the label is not found in the registered labels.

#### Examples [#examples-1]

```ts
narration.jump(startLabel, yourParams).then((result) => {
    if (result) {
        // your code
    }
})
```

```ts
// if you use it in a step label you should return the result.
return narration.jump(startLabel).then((result) => {
    return result
})
```

***

### ~~removeInputRequest()~~ [#removeinputrequest]

\> **removeInputRequest**(): `void`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:321](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L321)

Remove the input request.

#### Returns [#returns-19]

`void`

#### Deprecated [#deprecated-12]

Use [input](#input).removeRequest instead.

***

### ~~requestInput()~~ [#requestinput]

\> **requestInput**(`info?`, `defaultValue?`): `void`

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:316](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L316)

Returns `true` if the player must enter a value.

#### Parameters [#parameters-9]

##### info? [#info]

`Omit`\<[`InputInfo`](/pixi-vn/index/type-aliases/InputInfo), `"isRequired"`>

The input value to be inserted by the player.

##### defaultValue? [#defaultvalue]

[`StorageElementType`](/pixi-vn/index/type-aliases/StorageElementType)

The default value to be inserted.

#### Returns [#returns-20]

`void`

#### Deprecated [#deprecated-13]

Use [input](#input).request instead.

***

### restore() [#restore]

\> **restore**(`data`, `lastHistoryStep`): `Promise`\<`void`>

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:339](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L339)

Restore the narration from an object.

#### Parameters [#parameters-10]

##### data [#data-1]

`object`

The narration in an object.

##### lastHistoryStep [#lasthistorystep]

`Omit`\<[`HistoryStep`](/pixi-vn/index/interfaces/HistoryStep), `"diff"`> | `null`

#### Returns [#returns-21]

`Promise`\<`void`>

***

### ~~selectChoice()~~ [#selectchoice]

\> **selectChoice**\<`T`>(`item`, `props`): `Promise`\<[`StepLabelResultType`](/pixi-vn/index/type-aliases/StepLabelResultType)>

Defined in: [src/narration/interfaces/NarrationManagerInterface.ts:254](https://github.com/DRincs-Productions/pixi-vn/blob/5bb5bb1f92e38998ea2f477b600168d8da3ece19/src/narration/interfaces/NarrationManagerInterface.ts#L254)

Select a choice from the choice menu. and close the choice menu.

#### Type Parameters [#type-parameters-2]

##### T [#t-2]

`T` *extends* `object`

#### Parameters [#parameters-11]

##### item [#item]

[`StoredIndexedChoiceInterface`](/pixi-vn/index/type-aliases/StoredIndexedChoiceInterface)

##### props [#props-4]

[`StepLabelPropsType`](/pixi-vn/index/type-aliases/StepLabelPropsType)\<`T`>

#### Returns [#returns-22]

`Promise`\<[`StepLabelResultType`](/pixi-vn/index/type-aliases/StepLabelResultType)>

#### Throws [#throws-4]

when the choice type is not `"call"`, `"jump"`, or `"close"`.

#### Example [#example-2]

```ts
narration.selectChoice(item, {
    navigate: navigate,
    // your props
    ...item.props
})
    .then(() => {
        // your code
    })
    .catch((e) => {
        // your code
    })
```

#### Deprecated [#deprecated-14]

Use [choices](#choices).select instead.
