# `Ash.Signals.Signal`
[🔗](https://github.com/ash-project/ash/blob/v3.36.1/lib/ash/signals/signal.ex#L5)

Represents a `signal` declared in an `Ash.Signals` module.

# `phase`

```elixir
@type phase() :: :before_action | :after_action | :after_transaction
```

# `t`

```elixir
@type t() :: %Ash.Signals.Signal{
  __spark_metadata__: Spark.Dsl.Entity.spark_meta(),
  arguments: [Ash.Signals.Field.t()],
  description: String.t() | nil,
  name: atom(),
  phase: phase(),
  struct: module()
}
```

---

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