---
url: >-
  https://lit-ui-router.dev/api/lit-ui-router-ssr/index/type-aliases/ResponseHandlers.md
---
[lit-ui-router-ssr](../../index.md) / [lit-ui-router-ssr](../index.md) / ResponseHandlers

# Type Alias: ResponseHandlers\<Decls, Resolves>

```ts
type ResponseHandlers<Decls, Resolves> = { readonly [N in ResponseState<Decls>]: ResponseHandler<N extends keyof Resolves ? Resolves[N] & object : ResponseContext["resolves"]> };
```

Defined in: packages/ui-router-server/dist/ssr.d.ts:30

A handler for every response state a router declares, keyed by state name:
exactly the names of the rows marked `response: true` for `as const`
routes, any name for an untyped router. `Resolves` types each handler's
resolves by state name; a state it omits reads untyped resolves.

## Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
|  `Decls` *extends* `RouteDeclaration` | `RouteDeclaration` |
|  `Resolves` *extends* `object` | { } |

## Example

```ts
const responses = {
  badge: ({ resolves }) => new Response(resolves.svg, { headers: { 'Content-Type': 'image/svg+xml' } }),
} satisfies ResponseHandlers<(typeof routes)[number], { badge: { svg: string } }>;
```
