# selection.WhereDocumentV1

- **Module:** selection
- **Package:** libtmux
- **Language:** TypeScript
- **Kind:** typealias
- **Source:** https://github.com/libtmux/libtmux-ts/blob/46cccfef2a546de55ce8b308249b8c76339089a0/packages/libtmux/src/selection.ts#L587
- **Page:** https://libtmux.org/en/ts/latest/reference/selection-wheredocumentv1/

```ts
type WhereDocumentV1 = | { readonly model: "session"; readonly version: 1; readonly where: SessionWhere }
| { readonly model: "window"; readonly version: 1; readonly where: WindowWhere }
| { readonly model: "pane"; readonly version: 1; readonly where: PaneWhere }
| { readonly model: "client"; readonly version: 1; readonly where: ClientWhere }
```

Criteria as a portable document: which model, which version, and the criteria themselves.

The version is in the payload because these cross a process boundary — an
MCP client, a config file — where the reader's library may be older than
the writer's. Nothing widens `1` in place; a new shape gets a new number.
