# TerminalRouterOptions

Source: /tuil/docs/reference/packages/router/api/terminal-router-options
Locale: en

interface exported by @mwillbanks/tuil-router.



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

## interface [#interface]

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

```ts
export interface TerminalRouterOptions {
  readonly captureFocus?: () => FocusSnapshot | undefined;
  readonly restoreFocus?: (
    snapshot: FocusSnapshot,
    signal: AbortSignal,
  ) => void | Promise<void>;
  readonly onObserverError?: (error: unknown) => void;
}
```

## Members [#members]

| Member            | Type                                                                                     | Required | Description                                                                                                                           | Related types                                                         |
| ----------------- | ---------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `captureFocus`    | `(() => FocusSnapshot \| undefined) \| undefined`                                        | No       | The `captureFocus` member uses the `(() => FocusSnapshot \| undefined) \| undefined` contract.                                        | [`FocusSnapshot`](/tuil/docs/reference/packages/router/api/focus-snapshot) |
| `restoreFocus`    | `((snapshot: FocusSnapshot, signal: AbortSignal) => void \| Promise<void>) \| undefined` | No       | The `restoreFocus` member uses the `((snapshot: FocusSnapshot, signal: AbortSignal) => void \| Promise<void>) \| undefined` contract. | [`FocusSnapshot`](/tuil/docs/reference/packages/router/api/focus-snapshot) |
| `onObserverError` | `((error: unknown) => void) \| undefined`                                                | No       | The `onObserverError` member uses the `((error: unknown) => void) \| undefined` contract.                                             | —                                                                     |

## 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]

* [`FocusSnapshot`](/tuil/docs/reference/packages/router/api/focus-snapshot)

## Source [#source]

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

## Package [#package]

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