# API documentation

Source: https://libtmux.org/en/haskell/latest/guides/api-documentation/

> API documentation: libtmux-haskell documentation.

The public modules are:

| Module | Read it for |
| --- | --- |
| [LibTmux.Id](https://libtmux.org/en/haskell/latest/reference/libtmux-id/) | Distinct entity IDs, canonical parsing, rendering and [`IdError`](<https://libtmux.org/en/haskell/latest/reference/libtmux-id-t-iderror/>) |
| [LibTmux.Value](https://libtmux.org/en/haskell/latest/reference/libtmux-value/) | Checked dimensions/indices, numeric access and [`ValueError`](<https://libtmux.org/en/haskell/latest/reference/libtmux-value-t-valueerror/>) |
| [LibTmux.Version](https://libtmux.org/en/haskell/latest/reference/libtmux-version/) | Stable-release identity, admission and [`VersionError`](<https://libtmux.org/en/haskell/latest/reference/libtmux-version-t-versionerror/>) |

Build the native Haddock browser from a checkout:

```console
$ cabal haddock lib:libtmux-haskell
```

Open the `index.html` path printed by Cabal. Module overviews explain the
types; declaration documentation specifies input domains, results and
errors. The project enables declaration-to-source links, interactive symbol
search and a Hoogle index for this package. The current public functions are
pure: no field access or parser starts a tmux process.

Haddock 2.33.0 generates some derived-instance method self-links without
targets. Follow the instance's class link for its method contract. Package
declaration links, symbol search and declaration-to-source navigation have
been checked separately.

The complete [typed-value example](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/examples/typed-values/Main.hs) uses
only these exports. Its source and output are checked against the source
archive by the [consumer check](https://github.com/libtmux/libtmux-haskell/blob/581f0ee45016ffb2283366bb1edc1658df26c5ed/scripts/check_sdist.py).

Private graph, framing and transport modules are implementation details.
They do not constitute an available client API; see [status](https://libtmux.org/en/haskell/latest/guides/status/).
