```ts
function useMultistepIndicator(__namedParameters): readonly [{
  allStepsCompleted: boolean;
  currentStepIndex: number;
  prevStepsCompleted: boolean;
  steps: MultistepItem[];
}, {
  moveToStep: (stepIndex, __namedParameters) => void;
  resetAllSteps: () => void;
  resetStep: (stepIndex) => void;
  updateStepActive: (stepIndex, isActive) => void;
  updateStepCompleted: (stepIndex, __namedParameters) => void;
  updateStepFailed: (stepIndex, __namedParameters) => void;
  updateStepDisabled: (stepIndex, isDisabled) => void;
  updateStepLeave: (stepIndex, __namedParameters) => void;
}];
```

Convenience hook for using steps in MultistepIndicator

## Parameters

| Parameter | Type |
| ------ | ------ |
| `__namedParameters` | \{ `initialSteps`: [`MultistepItem`](../interfaces/MultistepItem.mdx)[]; `currentStepIndex?`: `number`; \} |
| `__namedParameters.initialSteps` | [`MultistepItem`](../interfaces/MultistepItem.mdx)[] |
| `__namedParameters.currentStepIndex?` | `number` |

## Returns

readonly \[\{
  `allStepsCompleted`: `boolean`;
  `currentStepIndex`: `number`;
  `prevStepsCompleted`: `boolean`;
  `steps`: [`MultistepItem`](../interfaces/MultistepItem.mdx)[];
\}, \{
```ts
moveToStep: (stepIndex, __namedParameters) => void;
```
```ts
resetAllSteps: () => void;
```
```ts
resetStep: (stepIndex) => void;
```
```ts
updateStepActive: (stepIndex, isActive) => void;
```
```ts
updateStepCompleted: (stepIndex, __namedParameters) => void;
```
```ts
updateStepFailed: (stepIndex, __namedParameters) => void;
```
```ts
updateStepDisabled: (stepIndex, isDisabled) => void;
```
```ts
updateStepLeave: (stepIndex, __namedParameters) => void;
```
\}\]
