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

Represents an approval decision.

# `decision`

```elixir
@type decision() :: :allow | :deny | atom() | String.t() | nil
```

# `t`

```elixir
@type t() :: %CliSubprocessCore.Payload.ApprovalResolved{
  approval_id: String.t() | nil,
  decision: decision(),
  extra: map(),
  metadata: map(),
  reason: String.t() | nil
}
```

# `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*
