# `Buble.Types`
[🔗](https://github.com/bublehq/sdks/blob/main/lib/buble/types.ex#L1)

Shared public types used by the Buble Elixir SDK.

The API is configuration-driven, so responses are returned as decoded JSON maps.
These types document the stable outer shapes without discarding newly introduced
fields returned by Buble.

# `app_generation_task`

```elixir
@type app_generation_task() :: map()
```

# `chat_request`

```elixir
@type chat_request() :: map()
```

# `chat_response`

```elixir
@type chat_response() :: map()
```

# `envelope`

```elixir
@type envelope(data) :: %{data: data} | %{optional(String.t()) =&gt; data}
```

# `generation_task`

```elixir
@type generation_task() :: map()
```

# `json`

```elixir
@type json() ::
  nil
  | boolean()
  | number()
  | String.t()
  | [json()]
  | %{optional(String.t()) =&gt; json()}
```

# `task_status`

```elixir
@type task_status() :: String.t()
```

---

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