# `Minga.Mode.BranchDeleteConfirmState`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga/mode/branch_delete_confirm_state.ex#L1)

FSM state for confirming git branch deletion.

Holds the git root, branch name, and whether the prompt is the initial safe delete or the force-delete fallback after git reports unmerged commits.

# `phase`

```elixir
@type phase() :: :delete | :force
```

# `t`

```elixir
@type t() :: %Minga.Mode.BranchDeleteConfirmState{
  count: non_neg_integer() | nil,
  git_root: String.t(),
  name: String.t(),
  phase: phase(),
  reason: String.t() | nil
}
```

# `new`

```elixir
@spec new(String.t(), String.t()) :: t()
```

Creates a new branch delete confirmation state.

# `to_force`

```elixir
@spec to_force(t(), String.t()) :: t()
```

Transitions to the force-delete confirmation prompt.

---

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