"""Core game logic for the Werewolf game."""

from llm_werewolf.core.actions import (
    Action,
    ActionData,
    ActionType,
    GuardProtectAction,
    HunterShootAction,
    SeerCheckAction,
    VoteAction,
    WerewolfKillAction,
    WitchPoisonAction,
    WitchSaveAction,
)
from llm_werewolf.core.events import Event, EventLogger, EventType
from llm_werewolf.core.game_engine import GameEngine
from llm_werewolf.core.game_state import GamePhase, GameState, GameStateInfo
from llm_werewolf.core.player import Player, PlayerInfo, PlayerStatus
from llm_werewolf.core.victory import VictoryChecker, VictoryResult

__all__ = [
    # Game Engine
    "GameEngine",
    # Game State
    "GameState",
    "GameStateInfo",
    "GamePhase",
    # Player
    "Player",
    "PlayerInfo",
    "PlayerStatus",
    # Actions
    "Action",
    "ActionData",
    "ActionType",
    "WerewolfKillAction",
    "WitchSaveAction",
    "WitchPoisonAction",
    "SeerCheckAction",
    "GuardProtectAction",
    "VoteAction",
    "HunterShootAction",
    # Events
    "Event",
    "EventLogger",
    "EventType",
    # Victory
    "VictoryChecker",
    "VictoryResult",
]
