# Router

The service requirements shared by every Typed router runtime.

## Signatures

```ts
export type Router = CurrentRoute | Navigation;
```

## Why

Matching requires both a live Navigation backend and a stable CurrentRoute mount boundary.

## Ownership and lifetime

This union is type-only. The selected provider Layer owns both services and their scopes.
