"""
Subcommand handlers for the ``audit_discord_roles`` management command.

The CLI ``Command`` class lives in
``aa_discord_audit.management.commands.audit_discord_roles``;
its top-level skeleton (argparse, signal scope, dispatch) stays
there. The bodies of each subcommand live in private modules of
this package so the command file remains readable as the plugin
grows new diagnostics.

The handler functions all share the signature
``run_<name>(cmd: Command, ...) -> None`` and reach into ``cmd``
for ``stdout`` / ``style`` / signal-tracking attributes. The
shared invocation helpers (``_invocation``) are imported directly
from sibling modules and intentionally not re-exported here:
this package's public surface is the ``run_*`` entry points.
"""

from __future__ import annotations

from ._abandon import run_abandon
from ._diff import run_diff
from ._explain import run_explain
from ._from_fixture import run_from_fixture
from ._options import CommandOptions
from ._policy_preview import run_policy_preview
from ._resume import run_resume
from ._run import run_main

__all__ = [
    "CommandOptions",
    "run_abandon",
    "run_diff",
    "run_explain",
    "run_from_fixture",
    "run_main",
    "run_policy_preview",
    "run_resume",
]
