from app.schemas.user import (
    UserRegister,
    UserLogin,
    UserUpdate,
    UserPublic,
    UserPrivate,
    TokenResponse,
    TelegramLink,
    PasswordChange,
    UserStats,
    UserProfilePublic,
)
from app.schemas.marathon import (
    MarathonCreate,
    MarathonUpdate,
    MarathonResponse,
    MarathonListItem,
    MarathonPublicInfo,
    ParticipantInfo,
    ParticipantWithUser,
    JoinMarathon,
    LeaderboardEntry,
    SetParticipantRole,
)
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,
)
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,
)

__all__ = [
    # User
    "UserRegister",
    "UserLogin",
    "UserUpdate",
    "UserPublic",
    "UserPrivate",
    "TokenResponse",
    "TelegramLink",
    "PasswordChange",
    "UserStats",
    "UserProfilePublic",
    # Marathon
    "MarathonCreate",
    "MarathonUpdate",
    "MarathonResponse",
    "MarathonListItem",
    "MarathonPublicInfo",
    "ParticipantInfo",
    "ParticipantWithUser",
    "JoinMarathon",
    "LeaderboardEntry",
    "SetParticipantRole",
    # Game
    "GameCreate",
    "GameUpdate",
    "GameResponse",
    "GameShort",
    # Challenge
    "ChallengeCreate",
    "ChallengeUpdate",
    "ChallengeResponse",
    "ChallengeGenerated",
    "ChallengePreview",
    "ChallengesPreviewResponse",
    "ChallengeSaveItem",
    "ChallengesSaveRequest",
    "ChallengesGenerateRequest",
    # Assignment
    "CompleteAssignment",
    "AssignmentResponse",
    "SpinResult",
    "CompleteResult",
    "DropResult",
    "EventAssignmentResponse",
    # 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",
]
