## Index

### Namespaces

- Controllers
- Events
- Scopes

### Enumerations

- State

### Classes

- BaseController
- ErrorController
- StepsController
- ValueResolutionController

### Interfaces

- ControlOptions
- Event
- HasControls

### Type aliases

- Controls
- EventName
- Process
- Scope

### Functions

- control
- run

## Type aliases

### Controls

Controls: Pick<StepsController, "update" | "declare" | "step">

- Defined in preserve/lib/control/types.ts:15

### EventName

EventName: "fail" | "abort" | "stop" | "begin" | "succeed" | "step" | "declare" | "resolve" | "update"

- Defined in preserve/lib/control/events.ts:3

### Process

Process<R, E>: AsyncGenerator<E, R, void>

- Defined in preserve/lib/control/types.ts:17

#### Type parameters

- #### R: any

- #### E: Event

### Scope

Scope: string[]

- Defined in preserve/lib/control/scopes.ts:1

## Functions

### control

- control<R, O>(controlOptions: ControlOptions<R, O>, methodOptions: Omit<O, "controls">): Process<R>

- - Defined in preserve/lib/control/control.ts:9

  #### Type parameters

  - #### R

  - #### O: HasControls

  #### Parameters

  - ##### controlOptions: ControlOptions<R, O>

  - ##### methodOptions: Omit<O, "controls">

  #### Returns Process<R>

### Const run

- run<R, O>(controlOptions: ControlOptions<R, O>, methodOptions: Pick<O, Exclude<keyof O, "controls">>): Promise<R>

- - Defined in preserve/lib/control/control.ts:46

  #### Type parameters

  - #### R

  - #### O: HasControls

  #### Parameters

  - ##### controlOptions: ControlOptions<R, O>

  - ##### methodOptions: Pick<O, Exclude<keyof O, "controls">>

  #### Returns Promise<R>

Generated using TypeDoc