# PersistedWorkflow

Source: /tuil/docs/reference/packages/workflow/api/persisted-workflow
Locale: en

interface exported by @mwillbanks/tuil-workflow.



{/* Generated by tooling/docs/generate-reference.ts. */}

## interface [#interface]

Public interface exported by `@mwillbanks/tuil-workflow`.

```ts
export interface PersistedWorkflow<TState> {
  readonly version: number;
  readonly state: TState;
  readonly currentStep?: string;
  readonly completedSteps: readonly string[];
  readonly skippedSteps: readonly string[];
  readonly history: readonly string[];
  readonly status?: WorkflowStatus;
  readonly errors?: readonly string[];
  readonly nested?: PersistedWorkflow<unknown>;
  readonly parallel?: readonly WorkflowParallelSnapshot[];
  readonly operations?: readonly OperationSnapshot[];
}
```

## Members [#members]

| Member           | Type                                                 | Required | Description                                                                                     | Related types                                                                                  |
| ---------------- | ---------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `version`        | `number`                                             | Yes      | The `version` member uses the `number` contract.                                                | —                                                                                              |
| `state`          | `TState`                                             | Yes      | The `state` member uses the `TState` contract.                                                  | —                                                                                              |
| `currentStep`    | `string \| undefined`                                | No       | The `currentStep` member uses the `string \| undefined` contract.                               | —                                                                                              |
| `completedSteps` | `readonly string[]`                                  | Yes      | The `completedSteps` member uses the `readonly string[]` contract.                              | —                                                                                              |
| `skippedSteps`   | `readonly string[]`                                  | Yes      | The `skippedSteps` member uses the `readonly string[]` contract.                                | —                                                                                              |
| `history`        | `readonly string[]`                                  | Yes      | The `history` member uses the `readonly string[]` contract.                                     | —                                                                                              |
| `status`         | `WorkflowStatus \| undefined`                        | No       | The `status` member uses the `WorkflowStatus \| undefined` contract.                            | [`WorkflowStatus`](/tuil/docs/reference/packages/workflow/api/workflow-status)                      |
| `errors`         | `readonly string[] \| undefined`                     | No       | The `errors` member uses the `readonly string[] \| undefined` contract.                         | —                                                                                              |
| `nested`         | `PersistedWorkflow<unknown> \| undefined`            | No       | The `nested` member uses the `PersistedWorkflow<unknown> \| undefined` contract.                | [`PersistedWorkflow`](/tuil/docs/reference/packages/workflow/api/persisted-workflow)                |
| `parallel`       | `readonly WorkflowParallelSnapshot[] \| undefined`   | No       | The `parallel` member uses the `readonly WorkflowParallelSnapshot[] \| undefined` contract.     | [`WorkflowParallelSnapshot`](/tuil/docs/reference/packages/workflow/api/workflow-parallel-snapshot) |
| `operations`     | `readonly OperationSnapshot<unknown>[] \| undefined` | No       | The `operations` member uses the `readonly OperationSnapshot<unknown>[] \| undefined` contract. | [`OperationSnapshot`](/tuil/docs/reference/packages/operations/api/operation-snapshot)              |

## Parameters [#parameters]

This declaration has no public members.

## Returns [#returns]

This declaration does not return a value.

## Throws [#throws]

No thrown errors are documented for this declaration.

## Related types [#related-types]

* [`WorkflowParallelSnapshot`](/tuil/docs/reference/packages/workflow/api/workflow-parallel-snapshot)
* [`WorkflowStatus`](/tuil/docs/reference/packages/workflow/api/workflow-status)

## Source [#source]

[View the secondary source reference](https://github.com/mwillbanks/tuil/blob/main/packages/workflow/src/index.ts)

## Package [#package]

[@mwillbanks/tuil-workflow](/tuil/docs/reference/packages/workflow)
