# LibTmux.FormatObservation

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** Julia
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/formats.jl#L24
- **Page:** https://libtmux.org/en/julia/latest/reference/libtmux-formatobservation/

```
(var"#ctor-self#"::Type{LibTmux.FormatObservation{T}} where T)(
    field,
    raw,
    value,
    availability
)

LibTmux.FormatObservation(
    field::LibTmux.FormatField{T},
    raw::String,
    value::Union{Nothing, T},
    availability::Symbol
) where T
```

One explicit format observation. `:present` means a nonempty expansion, not a version-support guarantee. Empty expansions have `availability=:unverified`: tmux cannot distinguish an empty value from an unknown or unavailable variable. `raw` always retains the decoded text. Empty strings retain `value=""`; numeric and Boolean observations use `value=nothing` until their value is verified.

## Methods

### `FormatObservation` (overload 1)

```julia
(var"#ctor-self#"::Type{LibTmux.FormatObservation{T}} where T)(
    field,
    raw,
    value,
    availability
)
```

[Source](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/formats.jl#L32).

### `FormatObservation` (overload 2)

```julia
LibTmux.FormatObservation(
    field::LibTmux.FormatField{T},
    raw::String,
    value::Union{Nothing, T},
    availability::Symbol
) where T
```

[Source](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/formats.jl#L32).

## Parameters

- `field` (`Any`) (for `FormatObservation(field, raw, value, availability) [overload 1]`)
- `raw` (`Any`) (for `FormatObservation(field, raw, value, availability) [overload 1]`)
- `value` (`Any`) (for `FormatObservation(field, raw, value, availability) [overload 1]`)
- `availability` (`Any`) (for `FormatObservation(field, raw, value, availability) [overload 1]`)
- `field` (`LibTmux.FormatField{T}`) (for `FormatObservation(field, raw, value, availability) [overload 2]`)
- `raw` (`String`) (for `FormatObservation(field, raw, value, availability) [overload 2]`)
- `value` (`Union{Nothing, T}`) (for `FormatObservation(field, raw, value, availability) [overload 2]`)
- `availability` (`Symbol`) (for `FormatObservation(field, raw, value, availability) [overload 2]`)

## Members

### Other members

- `availability` (property)
- `field` (property)
- `raw` (property)
- `value` (property)
