"""Composable remote test suites."""

from __future__ import annotations

from typing import TYPE_CHECKING

from tests.remote.suites.clean import CleanSuite
from tests.remote.suites.doctor import DoctorSuite
from tests.remote.suites.full import FullSuite
from tests.remote.suites.inference import InferenceSuite
from tests.remote.suites.install import InstallSuite
from tests.remote.suites.serve import ServeSuite
from tests.remote.suites.uninstall import UninstallSuite
from tests.remote.suites.upgrade import UpgradeSuite

if TYPE_CHECKING:
    from tests.remote.suites.base import BaseSuite

SUITE_REGISTRY: dict[str, type[BaseSuite]] = {
    "clean": CleanSuite,
    "install": InstallSuite,
    "doctor": DoctorSuite,
    "serve": ServeSuite,
    "inference": InferenceSuite,
    "upgrade": UpgradeSuite,
    "uninstall": UninstallSuite,
    "full": FullSuite,
}

__all__ = [
    "SUITE_REGISTRY",
    "CleanSuite",
    "DoctorSuite",
    "FullSuite",
    "InferenceSuite",
    "InstallSuite",
    "ServeSuite",
    "UninstallSuite",
    "UpgradeSuite",
]
