from app.schemas.user import (
    UserRegister,
    UserLogin,
    UserUpdate,
    UserPublic,
    UserPrivate,
    TokenResponse,
    TelegramLink,
    PasswordChange,
    UserStats,
    UserProfilePublic,
    NotificationSettings,
    NotificationSettingsUpdate,
)
from app.schemas.marathon import (
    MarathonCreate,
    MarathonUpdate,
    MarathonResponse,
    MarathonListItem,
    MarathonPublicInfo,
    ParticipantInfo,
    ParticipantWithUser,
    JoinMarathon,
    LeaderboardEntry,
    SetParticipantRole,
    OrganizerSkipRequest,
    ExiledGameResponse,
)
from app.schemas.game import (
    GameCreate,
    GameUpdate,
    GameResponse,
    GameShort,
)
from app.schemas.challenge import (
    ChallengeCreate,
    ChallengeUpdate,
    ChallengeResponse,
    ChallengeGenerated,
    ChallengePreview,
    ChallengesPreviewResponse,
    ChallengeSaveItem,
    ChallengesSaveRequest,
    ChallengesGenerateRequest,
)
from app.schemas.assignment import (
    CompleteAssignment,
    AssignmentResponse,
    SpinResult,
    CompleteResult,
    DropResult,
    EventAssignmentResponse,
    BonusAssignmentResponse,
    CompleteBonusAssignment,
    BonusCompleteResult,
    AvailableGamesCount,
    TrackTimeRequest,
)
from app.schemas.activity import (
    ActivityResponse,
    FeedResponse,
)
from app.schemas.event import (
    EventCreate,
    EventResponse,
    EventEffects,
    ActiveEventResponse,
    SwapRequest,
    SwapCandidate,
    CommonEnemyLeaderboard,
    EVENT_INFO,
    COMMON_ENEMY_BONUSES,
    SwapRequestCreate,
    SwapRequestResponse,
    SwapRequestChallengeInfo,
    MySwapRequests,
)
from app.schemas.common import (
    MessageResponse,
    ErrorResponse,
    PaginationParams,
)
from app.schemas.dispute import (
    DisputeCreate,
    DisputeCommentCreate,
    DisputeVoteCreate,
    DisputeCommentResponse,
    DisputeVoteResponse,
    DisputeResponse,
    AssignmentDetailResponse,
    ReturnedAssignmentResponse,
)
from app.schemas.admin import (
    BanUserRequest,
    AdminResetPasswordRequest,
    AdminUserResponse,
    AdminLogResponse,
    AdminLogsListResponse,
    BroadcastRequest,
    BroadcastResponse,
    StaticContentResponse,
    StaticContentUpdate,
    StaticContentCreate,
    TwoFactorInitiateRequest,
    TwoFactorInitiateResponse,
    TwoFactorVerifyRequest,
    LoginResponse,
    DashboardStats,
)
from app.schemas.shop import (
    ShopItemCreate,
    ShopItemUpdate,
    ShopItemResponse,
    InventoryItemResponse,
    PurchaseRequest,
    PurchaseResponse,
    UseConsumableRequest,
    UseConsumableResponse,
    EquipItemRequest,
    EquipItemResponse,
    CoinTransactionResponse,
    CoinsBalanceResponse,
    AdminCoinsRequest,
    UserCosmeticsResponse,
    CertificationRequestSchema,
    CertificationReviewRequest,
    CertificationStatusResponse,
    ConsumablesStatusResponse,
    AdminGrantItemRequest,
)
from app.schemas.promo_code import (
    PromoCodeCreate,
    PromoCodeUpdate,
    PromoCodeResponse,
    PromoCodeRedeemRequest,
    PromoCodeRedeemResponse,
    PromoCodeRedemptionResponse,
    PromoCodeRedemptionUser,
)
from app.schemas.user import ShopItemPublic
from app.schemas.widget import (
    WidgetTokenCreate,
    WidgetTokenResponse,
    WidgetTokenListItem,
    WidgetLeaderboardEntry,
    WidgetLeaderboardResponse,
    WidgetCurrentResponse,
    WidgetProgressResponse,
)

__all__ = [
    # User
    "UserRegister",
    "UserLogin",
    "UserUpdate",
    "UserPublic",
    "UserPrivate",
    "TokenResponse",
    "TelegramLink",
    "PasswordChange",
    "UserStats",
    "UserProfilePublic",
    "NotificationSettings",
    "NotificationSettingsUpdate",
    # Marathon
    "MarathonCreate",
    "MarathonUpdate",
    "MarathonResponse",
    "MarathonListItem",
    "MarathonPublicInfo",
    "ParticipantInfo",
    "ParticipantWithUser",
    "JoinMarathon",
    "LeaderboardEntry",
    "SetParticipantRole",
    "OrganizerSkipRequest",
    "ExiledGameResponse",
    # Game
    "GameCreate",
    "GameUpdate",
    "GameResponse",
    "GameShort",
    # Challenge
    "ChallengeCreate",
    "ChallengeUpdate",
    "ChallengeResponse",
    "ChallengeGenerated",
    "ChallengePreview",
    "ChallengesPreviewResponse",
    "ChallengeSaveItem",
    "ChallengesSaveRequest",
    "ChallengesGenerateRequest",
    # Assignment
    "CompleteAssignment",
    "AssignmentResponse",
    "SpinResult",
    "CompleteResult",
    "DropResult",
    "EventAssignmentResponse",
    "BonusAssignmentResponse",
    "CompleteBonusAssignment",
    "BonusCompleteResult",
    "AvailableGamesCount",
    # Activity
    "ActivityResponse",
    "FeedResponse",
    # Event
    "EventCreate",
    "EventResponse",
    "EventEffects",
    "ActiveEventResponse",
    "SwapRequest",
    "SwapCandidate",
    "CommonEnemyLeaderboard",
    "EVENT_INFO",
    "COMMON_ENEMY_BONUSES",
    "SwapRequestCreate",
    "SwapRequestResponse",
    "SwapRequestChallengeInfo",
    "MySwapRequests",
    # Common
    "MessageResponse",
    "ErrorResponse",
    "PaginationParams",
    # Dispute
    "DisputeCreate",
    "DisputeCommentCreate",
    "DisputeVoteCreate",
    "DisputeCommentResponse",
    "DisputeVoteResponse",
    "DisputeResponse",
    "AssignmentDetailResponse",
    "ReturnedAssignmentResponse",
    # Admin
    "BanUserRequest",
    "AdminResetPasswordRequest",
    "AdminUserResponse",
    "AdminLogResponse",
    "AdminLogsListResponse",
    "BroadcastRequest",
    "BroadcastResponse",
    "StaticContentResponse",
    "StaticContentUpdate",
    "StaticContentCreate",
    "TwoFactorInitiateRequest",
    "TwoFactorInitiateResponse",
    "TwoFactorVerifyRequest",
    "LoginResponse",
    "DashboardStats",
    # Shop
    "ShopItemCreate",
    "ShopItemUpdate",
    "ShopItemResponse",
    "ShopItemPublic",
    "InventoryItemResponse",
    "PurchaseRequest",
    "PurchaseResponse",
    "UseConsumableRequest",
    "UseConsumableResponse",
    "EquipItemRequest",
    "EquipItemResponse",
    "CoinTransactionResponse",
    "CoinsBalanceResponse",
    "AdminCoinsRequest",
    "UserCosmeticsResponse",
    "CertificationRequestSchema",
    "CertificationReviewRequest",
    "CertificationStatusResponse",
    "ConsumablesStatusResponse",
    "AdminGrantItemRequest",
    # Promo
    "PromoCodeCreate",
    "PromoCodeUpdate",
    "PromoCodeResponse",
    "PromoCodeRedeemRequest",
    "PromoCodeRedeemResponse",
    "PromoCodeRedemptionResponse",
    "PromoCodeRedemptionUser",
    # Widget
    "WidgetTokenCreate",
    "WidgetTokenResponse",
    "WidgetTokenListItem",
    "WidgetLeaderboardEntry",
    "WidgetLeaderboardResponse",
    "WidgetCurrentResponse",
    "WidgetProgressResponse",
]
