# `CliSubprocessCore.Payload.CostUpdate`
[🔗](https://github.com/nshkrdotcom/cli_subprocess_core/blob/v0.1.0/lib/cli_subprocess_core/payload.ex#L303)

Represents token and cost accounting updates.

# `t`

```elixir
@type t() :: %CliSubprocessCore.Payload.CostUpdate{
  cost_usd: number(),
  extra: map(),
  input_tokens: non_neg_integer(),
  metadata: map(),
  output_tokens: non_neg_integer(),
  total_tokens: non_neg_integer()
}
```

# `new`

```elixir
@spec new(keyword() | map() | struct()) :: struct()
```

# `parse`

```elixir
@spec parse(keyword() | map() | struct()) ::
  {:ok, struct()}
  | {:error,
     {:invalid_payload, module(), CliSubprocessCore.Schema.error_detail()}}
```

# `parse!`

```elixir
@spec parse!(keyword() | map() | struct()) :: struct()
```

# `schema`

```elixir
@spec schema() :: Zoi.schema()
```

# `to_map`

```elixir
@spec to_map(struct()) :: map()
```

---

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