# FilterSchema

- **Package:** libtmux-swift
- **Language:** Swift
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-swift/blob/f02a4668570e1cc5198c941413750e021f42c214/Sources/LibTmux/FilterSchema.swift#L7
- **Page:** https://libtmux.org/reference/swift/filterschema/

The filtering vocabulary, as a document.

A `FilterExpr` names fields by wire id, which is only useful to another
language if that language can learn what the ids are. This is that document:
versioned, `Codable`, and generated from the same registry the Swift API
lowers through, so a TypeScript, Rust, or CLI consumer reads the vocabulary
rather than guessing it.

## Members

- `!=(_:_:)` (function) — Returns a Boolean value indicating whether two values are not equal.
- `version` (property) — Bumped when the document's *shape* changes. Adding a field or an alias does not bump it; those are additive and old readers keep working.
- `schemaVersion` (property) — The ``version`` this document was written with, so a reader can tell whether it understands the shape before trying to use it.
- `models` (property) — One entry per filterable type, named as a client would ask for it.
- `Model` (struct) — The filterable fields of one type.
- `Field` (struct) — One filterable field, and every name that reaches it.
- `ValueType` (enum) — The kinds of value a field can hold. Deliberately three: tmux reports everything as text, and these are the only distinctions a filter has to make to compare correctly.
- `current` (property) — The vocabulary this build understands.
- `field(named:in:)` (method) — The field an id or alias names, within one model.
- `init(from:)` (method) — Creates a new instance by decoding from the given decoder.
