# NavigationNavigateOptions

Configures a push or replacement navigation and carries application state and handler metadata.

## Signatures

```ts
export interface NavigationNavigateOptions {
    readonly state?: unknown;
    readonly info?: unknown;
    readonly history?: "auto" | "push" | "replace";
}
```

## Why

Navigation state belongs to the committed entry, while `info` is transient coordination data for
handlers. `history: "auto"` replaces when origin and pathname match, so query/hash-only changes
do not grow history.

## Ownership and lifetime

This immutable options object acquires no resources. The navigation Effect retains it only for
the transition; providers retain `state` only if the destination commits.

## Property: history

Selects automatic, push, or replace history placement.

## Property: history: Why

Automatic placement replaces same-origin, same-pathname changes so query or hash updates do not grow history.

## Property: history: Ownership and lifetime

The navigation Effect reads this mode for one transition and does not retain the options object after completion.

## Property: info

Transient metadata delivered to navigation handlers.

## Property: info: Why

Coordination data can accompany a transition without being serialized as entry state.

## Property: info: Ownership and lifetime

The transition retains this metadata only until post-commit handlers finish; it is not stored on the Destination history entry.

## Property: state

Application state stored with a committed destination.

## Property: state: Why

Persistent entry data stays distinct from transient handler information.

## Property: state: Ownership and lifetime

The caller owns the supplied state value. A successful commit retains it on the resulting Destination; a cancelled or failed transition does not.
