# DaprStateStore API

State store adapter backed by a Dapr state component.

---
Canonical: /handbook/api/classes/_purista_dapr-sdk.DaprStateStore/
Source: dapr-sdk/src/DaprStateStore/DaprStateStore.impl.ts
Format: Markdown for agents
---

State store adapter backed by a Dapr state component.

Package: `@purista/dapr-sdk`

## Signature

```typescript
class DaprStateStore
```

## Members

### Constructors

- `new constructor(config?: { cacheTtl: number; clientConfig: DaprClientConfig; enableCache: boolean; enableGet: boolean; enableRemove: boolean; enableSet: boolean; ... })` — Creates a Dapr-backed state store.

### Properties

- `config: { cacheTtl: number; clientConfig: DaprClientConfig; enableCache: boolean; enableGet: boolean; enableRemove: boolean; enableSet: boolean; ... }` — Store configuration including operation toggles.
- `logger: Logger` — Child logger scoped to the store name.
- `name: string` — Store name used in logs and diagnostics.

### Methods

- `destroy(): Promise<void>` — Shutdown hook for store adapters.
- `getState<StateNames>(...stateNames: StateNames): Promise<ObjectWithKeysFromStringArray<StateNames>>` — Get one or more state values by name.
- `getStateImpl<StateNames>(...stateNames: StateNames): Promise<ObjectWithKeysFromStringArray<StateNames>>` — Reads one or more state values from the configured Dapr component.
- `removeState(stateName: string): Promise<void>` — Remove one state value by name.
- `removeStateImpl(stateName: string): Promise<void>` — Removes a state value from the configured Dapr component.
- `setState(stateName: string, stateValue: unknown): Promise<void>` — Store or replace one state value.
- `setStateImpl(stateName: string, stateValue: unknown): Promise<void>` — Writes a state value to the configured Dapr component.
