from typing import Callable, List, Tuple, Dict, Any
from enum import Enum

class TeamGameEventWrapper():
    # Public:
    # TeamGameEventWrapper::TeamGameEventWrapper(uintptr_t mem) [constructor]
    def __init__(self, mem: int) -> None: ...

    # TeamGameEventWrapper::TeamGameEventWrapper(TeamGameEventWrapper const & other) [constructor]

    # TeamGameEventWrapper & TeamGameEventWrapper::operator=(TeamGameEventWrapper rhs) [member operator]

    # TeamGameEventWrapper::~TeamGameEventWrapper() [destructor]
    def __del__(self) -> None: ...

    # ArrayWrapper<TeamWrapper> TeamGameEventWrapper::GetTeamArchetypes() [member function]
    def GetTeamArchetypes(self) -> ArrayWrapper_TeamWrapper: ...

    # ArrayWrapper<TeamWrapper> TeamGameEventWrapper::GetTeams() [member function]
    def GetTeams(self) -> ArrayWrapper_TeamWrapper: ...

    # int TeamGameEventWrapper::GetMaxTeamSize() [member function]
    def GetMaxTeamSize(self) -> int: ...

    # void TeamGameEventWrapper::SetMaxTeamSize(int newMaxTeamSize) [member function]
    def SetMaxTeamSize(self, newMaxTeamSize: int) -> None: ...

    # int TeamGameEventWrapper::GetNumBots() [member function]
    def GetNumBots(self) -> int: ...

    # void TeamGameEventWrapper::SetNumBots(int newNumBots) [member function]
    def SetNumBots(self, newNumBots: int) -> None: ...

    # long unsigned int TeamGameEventWrapper::GetbMuteOppositeTeams() [member function]
    def GetbMuteOppositeTeams(self) -> bool: ...

    # void TeamGameEventWrapper::SetbMuteOppositeTeams(long unsigned int newbMuteOppositeTeams) [member function]
    def SetbMuteOppositeTeams(self, newbMuteOppositeTeams: bool) -> None: ...

    # long unsigned int TeamGameEventWrapper::GetbDisableMutingOtherTeam() [member function]
    def GetbDisableMutingOtherTeam(self) -> bool: ...

    # void TeamGameEventWrapper::SetbDisableMutingOtherTeam(long unsigned int newbDisableMutingOtherTeam) [member function]
    def SetbDisableMutingOtherTeam(self, newbDisableMutingOtherTeam: bool) -> None: ...

    # long unsigned int TeamGameEventWrapper::GetbForfeit() [member function]
    def GetbForfeit(self) -> bool: ...

    # void TeamGameEventWrapper::SetbForfeit(long unsigned int newbForfeit) [member function]
    def SetbForfeit(self, newbForfeit: bool) -> None: ...

    # long unsigned int TeamGameEventWrapper::GetbUnfairTeams() [member function]
    def GetbUnfairTeams(self) -> bool: ...

    # void TeamGameEventWrapper::SetbUnfairTeams(long unsigned int newbUnfairTeams) [member function]
    def SetbUnfairTeams(self, newbUnfairTeams: bool) -> None: ...

    # long unsigned int TeamGameEventWrapper::GetbAlwaysAutoSelectTeam() [member function]
    def GetbAlwaysAutoSelectTeam(self) -> bool: ...

    # void TeamGameEventWrapper::SetbAlwaysAutoSelectTeam(long unsigned int newbAlwaysAutoSelectTeam) [member function]
    def SetbAlwaysAutoSelectTeam(self, newbAlwaysAutoSelectTeam: bool) -> None: ...

    # void TeamGameEventWrapper::StartRematchVote() [member function]
    def StartRematchVote(self) -> None: ...

    # void TeamGameEventWrapper::CheckRematchVote() [member function]
    def CheckRematchVote(self) -> None: ...

    # bool TeamGameEventWrapper::__GameEvent_Team_TA__AllTeamsHaveHumans(TeamWrapper Team) [member function]
    def __GameEvent_Team_TA__AllTeamsHaveHumans(self, Team: TeamWrapper) -> bool: ...

    # void TeamGameEventWrapper::UpdatePlayerShortcuts() [member function]
    def UpdatePlayerShortcuts(self) -> None: ...

    # void TeamGameEventWrapper::ClearTemporarySpawnSpots() [member function]
    def ClearTemporarySpawnSpots(self) -> None: ...

    # bool TeamGameEventWrapper::ChooseTeam(int TeamIndex, PlayerControllerWrapper Player) [member function]
    def ChooseTeam(self, TeamIndex: int, Player: PlayerControllerWrapper) -> bool: ...

    # bool TeamGameEventWrapper::CanChangeTeam() [member function]
    def CanChangeTeam(self) -> bool: ...

    # void TeamGameEventWrapper::OnPenaltyChanged() [member function]
    def OnPenaltyChanged(self) -> None: ...

    # void TeamGameEventWrapper::OnTeamForfeited(TeamWrapper Team) [member function]
    def OnTeamForfeited(self, Team: TeamWrapper) -> None: ...

    # void TeamGameEventWrapper::HandleTeamForfeit(TeamWrapper Team) [member function]
    def HandleTeamForfeit(self, Team: TeamWrapper) -> None: ...

    # void TeamGameEventWrapper::MuteOppositeTeams2(long unsigned int bMute) [member function]
    def MuteOppositeTeams2(self, bMute: bool) -> None: ...

    # void TeamGameEventWrapper::UpdateBotCount() [member function]
    def UpdateBotCount(self) -> None: ...

    # bool TeamGameEventWrapper::FindBotReplacement(PriWrapper PRI) [member function]
    def FindBotReplacement(self, PRI: PriWrapper) -> bool: ...

    # void TeamGameEventWrapper::EndGame() [member function]
    def EndGame(self) -> None: ...

    # void TeamGameEventWrapper::ForceNoContest() [member function]
    def ForceNoContest(self) -> None: ...

    # void TeamGameEventWrapper::AddTemporarySpawnSpot(TeamWrapper Team, CarWrapper Car) [member function]
    def AddTemporarySpawnSpot(self, Team: TeamWrapper, Car: CarWrapper) -> None: ...

    # void TeamGameEventWrapper::HandleSelectedLoadout(PriWrapper PlayerPRI) [member function]
    def HandleSelectedLoadout(self, PlayerPRI: PriWrapper) -> None: ...

    # void TeamGameEventWrapper::DestroyTeams() [member function]
    def DestroyTeams(self) -> None: ...

    # void TeamGameEventWrapper::OnAllTeamsCreated() [member function]
    def OnAllTeamsCreated(self) -> None: ...

    # void TeamGameEventWrapper::AssignCustomTeamSettings() [member function]
    def AssignCustomTeamSettings(self) -> None: ...

    # void TeamGameEventWrapper::OnMatchSettingsChanged() [member function]
    def OnMatchSettingsChanged(self) -> None: ...

    # bool TeamGameEventWrapper::AllTeamsHaveHumans2() [member function]
    def AllTeamsHaveHumans2(self) -> bool: ...

    # bool TeamGameEventWrapper::AllTeamsCreated2() [member function]
    def AllTeamsCreated2(self) -> bool: ...

    # void TeamGameEventWrapper::SetTeam(int TeamNum, TeamWrapper NewTeam) [member function]
    def SetTeam(self, TeamNum: int, NewTeam: TeamWrapper) -> None: ...

    # void TeamGameEventWrapper::CreateTeams() [member function]
    def CreateTeams(self) -> None: ...

    # void TeamGameEventWrapper::PreloadBots() [member function]
    def PreloadBots(self) -> None: ...

    # void TeamGameEventWrapper::OnInit() [member function]
    def OnInit(self) -> None: ...

    # void TeamGameEventWrapper::SetMaxTeamSize2(int MaxSize) [member function]
    def SetMaxTeamSize2(self, MaxSize: int) -> None: ...

    # void TeamGameEventWrapper::UpdateMaxTeamSize() [member function]
    def UpdateMaxTeamSize(self) -> None: ...

    # void TeamGameEventWrapper::SetUnfairTeams(long unsigned int bUnfair) [member function]
    def SetUnfairTeams(self, bUnfair: bool) -> None: ...

    # void TeamGameEventWrapper::InitBotSkill() [member function]
    def InitBotSkill(self) -> None: ...

    # void TeamGameEventWrapper::eventInitGame(std::string Options) [member function]
    def eventInitGame(self, Options: str) -> None: ...

    # Private:
    # TeamGameEventWrapper::Impl [class declaration]

    # TeamGameEventWrapper::pimpl [variable]
    @property
    def pimpl(self) -> Any: ...


