# `Selecto.Subfilter.FilterSpec`

Filter specification for subfilter conditions.

# `agg_function`

```elixir
@type agg_function() :: :count | :sum | :avg | :min | :max
```

# `filter_type`

```elixir
@type filter_type() ::
  :equality | :comparison | :in_list | :range | :aggregation | :temporal
```

# `t`

```elixir
@type t() :: %Selecto.Subfilter.FilterSpec{
  agg_function: agg_function() | nil,
  max_value: any() | nil,
  min_value: any() | nil,
  operator: String.t() | nil,
  temporal_type: temporal_type() | nil,
  type: filter_type(),
  value: any(),
  values: [any()] | nil
}
```

# `temporal_type`

```elixir
@type temporal_type() :: :recent_years | :within_days | :within_hours | :since_date
```

---

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