"""Models package initialization."""
from app.models.models import User, DecklistFile, DecklistFolder, Room, RoomGameType, Ban, GameLog, AuditLog
from app.models.mtg_models import MtgSet, MtgCard
from app.models.mirror_models import MtgCardMirror, DeckCardLink
from app.models.user_data import (
    UserSession, DeckVersion, GameReplay, ReplayPlayer,
    GameOutcome, UserStatistics, UserCardCollection, CardWishlist,
    UserGroup, GroupMember, GroupChatMessage, UserNetwork,
    NetworkMember, UserPreference, UserActivityLog
)
from app.models.user_deck import UserDeck, UserDeckCard, DeckPrecedent, DeckPrecedentCard, CardSuggestion
from app.models.card_import_batch import CardImportBatch
from app.models.user_card_import_record import UserCardImportRecord
from app.models.user_card_import import UserCardImport

# Import relationships LAST to avoid circular imports
# This defines cross-model references (e.g., DecklistFile.card_links)
from app.models import relationships

__all__ = [
    "User",
    "DecklistFile",
    "DecklistFolder",
    "Room",
    "RoomGameType",
    "Ban",
    "GameLog",
    "AuditLog",
    "MtgSet",
    "MtgCard",
    "MtgCardMirror",
    "DeckCardLink",
    "UserSession",
    "DeckVersion",
    "GameReplay",
    "ReplayPlayer",
    "GameOutcome",
    "UserStatistics",
    "UserCardCollection",
    "CardWishlist",
    "UserGroup",
    "GroupMember",
    "GroupChatMessage",
    "UserNetwork",
    "NetworkMember",
    "UserPreference",
    "UserActivityLog",
    "UserDeck",
    "UserDeckCard",
    "DeckPrecedent",
    "DeckPrecedentCard",
    "CardSuggestion",
    "CardImportBatch",
    "UserCardImportRecord",
    "UserCardImport",
]
