export type AppOutletContext = {
  session: AuthSession
  selectedCompetitionId: string | null
  refetchCompetitions: () => void
}

export type AuthSession = {
  token: string
  userId: number | null
  username: string
  expiresAtUtc: string | null
  isAdmin: boolean
}

export type MeResponse = {
  id: number
  username: string
  email: string
}

export type JwtPayload = {
  sub?: string
  unique_name?: string
  name?: string
  exp?: number
  role?: string
}
