---
url: /api/kiln/interfaces/State.md
---
[Kiln API](../../index.md) / [kiln](../index.md) / State

# Interface: State\<S>

A finite state machine resource: game screens, pause, round phases.

## Extends

* [`Resource`](Resource.md)<[`StateValue`](../classes/StateValue.md)<`S`>>

## Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
| `S` *extends* `string` | `string` |

## Properties

| Property | Modifier | Type | Description | Inherited from |
| ------ | ------ | ------ | ------ | ------ |
|  `[$resource]` | `readonly` | `true` | - | [`Resource`](Resource.md).[`[$resource]`](Resource.md#property-resource) |
|  `create` | `readonly` | (`app`) => [`StateValue`](../classes/StateValue.md) | - | [`Resource`](Resource.md).[`create`](Resource.md#property-create) |
|  `opaque` | `readonly` | `boolean` | Skip the dev read-only proxy (for Three.js objects and other class graphs). | [`Resource`](Resource.md).[`opaque`](Resource.md#property-opaque) |
|  `name` | `readonly` | `string` | Name used in errors, snapshots and `kiln describe`. | [`Resource`](Resource.md).[`name`](Resource.md#property-name) |
|  `values` | `readonly` | readonly `S`\[] | - | - |
|  `initial` | `readonly` | `S` | - | - |

## Methods

### named()

```ts
named(name): this;
```

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `name` | `string` |

#### Returns

`this`

#### Inherited from

[`Resource`](Resource.md).[`named`](Resource.md#named)
