# `BB.Dsl.Estimator`
[🔗](https://github.com/beam-bots/bb/blob/main/lib/bb/dsl/estimator.ex#L5)

A state estimator nested inside a `sensor` (single-input form, frame
inherited from the sensor) or a `link` (cross-sensor form, frame = link).

See `BB.Estimator` for the behaviour contract and `BB.Estimator.Server`
for runtime semantics.

# `child_spec`

```elixir
@type child_spec() :: module() | {module(), Keyword.t()}
```

# `t`

```elixir
@type t() :: %BB.Dsl.Estimator{
  __identifier__: any(),
  __spark_metadata__: Spark.Dsl.Entity.spark_meta(),
  child_spec: child_spec(),
  inputs: [BB.Dsl.Estimator.Input.t()],
  latency_budget: nil | Localize.Unit.t(),
  lost_after: nil | Localize.Unit.t(),
  name: atom(),
  on_degraded: nil | atom(),
  on_lost: nil | atom(),
  on_recovered: nil | atom(),
  outputs: [BB.Dsl.Estimator.Output.t()],
  recover_after: pos_integer(),
  sync_tolerance: nil | Localize.Unit.t()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
