"""Data models for Steam API."""

# Base models
from .base import SteamModel, SteamResponse, PaginatedResponse, ErrorResponse

# Player models
from .player import (
    PersonaState,
    CommunityVisibilityState,
    PlayerSummary,
    Friend,
    PlayerBan,
    VanityURLResolution,
    PlayerSummariesResponse,
    FriendsListResponse,
    PlayerBansResponse,
    ResolveVanityURLResponse,
)

# Game models
from .game import (
    OwnedGame,
    SteamApp,
    Achievement,
    GameStat,
    GameSchema,
    SchemaAchievement,
    SchemaStat,
    AppDetails,
    OwnedGamesResponse,
    AppListResponse,
    PlayerAchievementsResponse,
    UserStatsResponse,
    GameSchemaResponse,
    GetOwnedGamesResponse,
    GetAppListResponse,
    GetPlayerAchievementsResponse,
    GetUserStatsResponse,
    GetSchemaResponse,
)

# Market models
from .market import (
    MarketItem,
    PriceInfo,
    MarketListing,
    MarketHistoryEntry,
    MarketSearch,
    InventoryItem,
    ItemDescription,
    ItemPriceResponse,
    MarketListingsResponse,
    MarketHistoryResponse,
    InventoryResponse,
)

# Stats models
from .stats import (
    GlobalStat,
    UserStat,
    UserAchievement,
    GlobalAchievementStat,
    PlayerCount,
    NewsItem,
    LeaderboardEntry,
    GlobalStatsResponse,
    UserStatsResponse as StatsUserStatsResponse,
    GlobalAchievementResponse,
    PlayerCountResponse,
    NewsResponse,
    LeaderboardResponse,
    GetGlobalStatsResponse,
    GetUserStatsGameResponse,
    GetGlobalAchievementResponse,
    GetPlayerCountResponse,
    GetNewsResponse,
)

__all__ = [
    # Base models
    "SteamModel",
    "SteamResponse",
    "PaginatedResponse",
    "ErrorResponse",
    # Player models
    "PersonaState",
    "CommunityVisibilityState",
    "PlayerSummary",
    "Friend",
    "PlayerBan",
    "VanityURLResolution",
    "PlayerSummariesResponse",
    "FriendsListResponse",
    "PlayerBansResponse",
    "ResolveVanityURLResponse",
    # Game models
    "OwnedGame",
    "SteamApp",
    "Achievement",
    "GameStat",
    "GameSchema",
    "SchemaAchievement",
    "SchemaStat",
    "AppDetails",
    "OwnedGamesResponse",
    "AppListResponse",
    "PlayerAchievementsResponse",
    "UserStatsResponse",
    "GameSchemaResponse",
    "GetOwnedGamesResponse",
    "GetAppListResponse",
    "GetPlayerAchievementsResponse",
    "GetUserStatsResponse",
    "GetSchemaResponse",
    # Market models
    "MarketItem",
    "PriceInfo",
    "MarketListing",
    "MarketHistoryEntry",
    "MarketSearch",
    "InventoryItem",
    "ItemDescription",
    "ItemPriceResponse",
    "MarketListingsResponse",
    "MarketHistoryResponse",
    "InventoryResponse",
    # Stats models
    "GlobalStat",
    "UserStat",
    "UserAchievement",
    "GlobalAchievementStat",
    "PlayerCount",
    "NewsItem",
    "LeaderboardEntry",
    "GlobalStatsResponse",
    "StatsUserStatsResponse",
    "GlobalAchievementResponse",
    "PlayerCountResponse",
    "NewsResponse",
    "LeaderboardResponse",
    "GetGlobalStatsResponse",
    "GetUserStatsGameResponse",
    "GetGlobalAchievementResponse",
    "GetPlayerCountResponse",
    "GetNewsResponse",
]
