import type {
  Hand,
  Player,
  PlayerQueue,
  PodiumPlayer,
  Round,
  Trick,
  User
} from "@/types/GameSubTypes.ts";


type GameInfo = {
  gameId: string
  self: Player | null
  hand: Hand | null
  playerQueue: PlayerQueue
  currentTrick: Trick | null
  currentRound: Round | null
}

type LobbyInfo = {
  gameId: string
  users: User[]
  self: User
  maxPlayers: number
}

type TieInfo = {
  gameId: string
  currentPlayer: Player | null
  self: Player | null
  tiedPlayers: Player[]
  highestAmount: number
}

type TrumpInfo = {
  gameId: string
  chooser: Player | null
  self: Player | null
  selfHand: Hand | null
}

type WonInfo = {
  gameId: string
  winner: PodiumPlayer | null
  allPlayers: PodiumPlayer[]
}

export type { GameInfo, LobbyInfo, TieInfo, TrumpInfo, WonInfo }
