"""Data models for Skland API responses."""

from .auth import (
    GrantCodeDataType0,
    HypergryphTokenData,
    ScanLoginAppInfo,
    SKlandCredential,
    SklandUserInfo,
    TokenRefreshData,
    UserBasicInfo,
    UserCheckData,
)
from .base import HypergryphResponse, SklandResponse
from .game import (
    Activity,
    ActivityZone,
    AssistCharacter,
    AttendanceAward,
    AttendanceData,
    AttendanceResource,
    BindingData,
    BindingRole,
    Building,
    BuildingBubble,
    BuildingBubbleInfo,
    BuildingChar,
    Campaign,
    CampaignRecord,
    CampaignReward,
    Character,
    CharacterEquip,
    CharacterSkill,
    CharInfo,
    ClueInfo,
    ControlRoom,
    CorridorInfo,
    DormitoryRoom,
    ElevatorInfo,
    EquipmentInfo,
    FurnitureInfo,
    GameBinding,
    HireRoom,
    LaborInfo,
    ManufactureRoom,
    MeetingRoom,
    PlayerAP,
    PlayerAvatar,
    PlayerData,
    PlayerSecretary,
    PlayerStatus,
    PowerRoom,
    RecruitSlot,
    Rogue,
    RogueBank,
    RogueRecord,
    Routine,
    RoutineTask,
    ShowConfig,
    SkinData,
    SkinInfo,
    TiredChar,
    Tower,
    TowerReward,
    TowerRewardItem,
    TradingOrder,
    TradingRoom,
    TradingStock,
    TrainingRoom,
)

__all__ = [  # noqa: RUF022
    # Base
    "HypergryphResponse",
    "SklandResponse",
    # Auth
    "SKlandCredential",
    "GrantCodeDataType0",
    "HypergryphTokenData",
    "ScanLoginAppInfo",
    "SklandUserInfo",
    "TokenRefreshData",
    "UserBasicInfo",
    "UserCheckData",
    # Game - Binding
    "BindingData",
    "BindingRole",
    "GameBinding",
    # Game - Attendance
    "AttendanceAward",
    "AttendanceData",
    "AttendanceResource",
    # Game - Player
    "PlayerAP",
    "PlayerAvatar",
    "PlayerData",
    "PlayerSecretary",
    "PlayerStatus",
    "ShowConfig",
    # Game - Character
    "AssistCharacter",
    "Character",
    "CharacterEquip",
    "CharacterSkill",
    # Game - Building
    "Building",
    "BuildingBubble",
    "BuildingBubbleInfo",
    "BuildingChar",
    "ClueInfo",
    "ControlRoom",
    "CorridorInfo",
    "DormitoryRoom",
    "ElevatorInfo",
    "FurnitureInfo",
    "HireRoom",
    "LaborInfo",
    "ManufactureRoom",
    "MeetingRoom",
    "PowerRoom",
    "TiredChar",
    "TradingOrder",
    "TradingRoom",
    "TradingStock",
    "TrainingRoom",
    # Game - Recruit
    "RecruitSlot",
    # Game - Campaign
    "Campaign",
    "CampaignRecord",
    "CampaignReward",
    # Game - Tower
    "Tower",
    "TowerReward",
    "TowerRewardItem",
    # Game - Rogue
    "Rogue",
    "RogueBank",
    "RogueRecord",
    # Game - Routine
    "Routine",
    "RoutineTask",
    # Game - Activity
    "Activity",
    "ActivityZone",
    # Game - Skin
    "SkinData",
    # Game - Info Maps
    "CharInfo",
    "EquipmentInfo",
    "SkinInfo",
]
