# `Raxol.Core.Behaviours.BaseManager`
[🔗](https://github.com/DROOdotFOO/raxol/blob/v2.8.0/lib/raxol/core/behaviours/base_manager.ex#L1)

Base behavior for manager GenServers to reduce code duplication.
Provides common patterns for state management, lifecycle, and error handling.

# `handle_manager_call`
*optional* 

```elixir
@callback handle_manager_call(any(), GenServer.from(), any()) ::
  {:reply, any(), any()} | {:noreply, any()} | {:stop, any(), any(), any()}
```

Called to handle manager-specific requests.

# `handle_manager_cast`
*optional* 

```elixir
@callback handle_manager_cast(any(), any()) :: {:noreply, any()} | {:stop, any(), any()}
```

Called to handle manager-specific casts.

# `handle_manager_info`
*optional* 

```elixir
@callback handle_manager_info(any(), any()) :: {:noreply, any()} | {:stop, any(), any()}
```

Called to handle manager-specific info messages.

# `init_manager`

```elixir
@callback init_manager(term()) :: {:ok, any()} | {:stop, term()}
```

Called to initialize the manager state.
Returns `{:ok, state}`, or `{:stop, reason}` to refuse to start: the
process exits with `reason` and `start_link` returns `{:error, reason}`.
For a failure that is a bug, raise.

---

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