# NavigationEntry

Source: /tuil/docs/reference/packages/router/api/navigation-entry
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 NavigationEntry {
  readonly id: string;
  readonly route: string;
  readonly params: Readonly<Record<string, unknown>>;
  readonly surface: NavigationSurface;
  readonly data?: unknown;
  readonly matches: readonly RouteMatch[];
  readonly focus?: FocusSnapshot;
  readonly createdAt: number;
}
```

## Members [#members]

| Member      | Type                                | Required | Description                                                                | Related types                                                                 |
| ----------- | ----------------------------------- | -------- | -------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `id`        | `string`                            | Yes      | The `id` member uses the `string` contract.                                | —                                                                             |
| `route`     | `string`                            | Yes      | The `route` member uses the `string` contract.                             | —                                                                             |
| `params`    | `Readonly<Record<string, unknown>>` | Yes      | The `params` member uses the `Readonly<Record<string, unknown>>` contract. | —                                                                             |
| `surface`   | `NavigationSurface`                 | Yes      | The `surface` member uses the `NavigationSurface` contract.                | [`NavigationSurface`](/tuil/docs/reference/packages/router/api/navigation-surface) |
| `data`      | `unknown`                           | No       | The `data` member uses the `unknown` contract.                             | —                                                                             |
| `matches`   | `readonly RouteMatch[]`             | Yes      | The `matches` member uses the `readonly RouteMatch[]` contract.            | [`RouteMatch`](/tuil/docs/reference/packages/router/api/route-match)               |
| `focus`     | `FocusSnapshot \| undefined`        | No       | The `focus` member uses the `FocusSnapshot \| undefined` contract.         | [`FocusSnapshot`](/tuil/docs/reference/packages/router/api/focus-snapshot)         |
| `createdAt` | `number`                            | Yes      | The `createdAt` member uses the `number` 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)
* [`NavigationSurface`](/tuil/docs/reference/packages/router/api/navigation-surface)
* [`RouteMatch`](/tuil/docs/reference/packages/router/api/route-match)

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