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

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

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

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

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

    # float ReplayDirectorWrapper::GetSlomoPreScoreTime() [member function]
    def GetSlomoPreScoreTime(self) -> float: ...

    # void ReplayDirectorWrapper::SetSlomoPreScoreTime(float newSlomoPreScoreTime) [member function]
    def SetSlomoPreScoreTime(self, newSlomoPreScoreTime: float) -> None: ...

    # float ReplayDirectorWrapper::GetSlomoPostScoreTime() [member function]
    def GetSlomoPostScoreTime(self) -> float: ...

    # void ReplayDirectorWrapper::SetSlomoPostScoreTime(float newSlomoPostScoreTime) [member function]
    def SetSlomoPostScoreTime(self, newSlomoPostScoreTime: float) -> None: ...

    # float ReplayDirectorWrapper::GetSlomoDefendTime() [member function]
    def GetSlomoDefendTime(self) -> float: ...

    # void ReplayDirectorWrapper::SetSlomoDefendTime(float newSlomoDefendTime) [member function]
    def SetSlomoDefendTime(self, newSlomoDefendTime: float) -> None: ...

    # float ReplayDirectorWrapper::GetSlomoDefendDistance() [member function]
    def GetSlomoDefendDistance(self) -> float: ...

    # void ReplayDirectorWrapper::SetSlomoDefendDistance(float newSlomoDefendDistance) [member function]
    def SetSlomoDefendDistance(self, newSlomoDefendDistance: float) -> None: ...

    # float ReplayDirectorWrapper::GetSlomoTimeDilation() [member function]
    def GetSlomoTimeDilation(self) -> float: ...

    # void ReplayDirectorWrapper::SetSlomoTimeDilation(float newSlomoTimeDilation) [member function]
    def SetSlomoTimeDilation(self, newSlomoTimeDilation: float) -> None: ...

    # float ReplayDirectorWrapper::GetMinReplayTime() [member function]
    def GetMinReplayTime(self) -> float: ...

    # void ReplayDirectorWrapper::SetMinReplayTime(float newMinReplayTime) [member function]
    def SetMinReplayTime(self, newMinReplayTime: float) -> None: ...

    # float ReplayDirectorWrapper::GetMaxReplayTime() [member function]
    def GetMaxReplayTime(self) -> float: ...

    # void ReplayDirectorWrapper::SetMaxReplayTime(float newMaxReplayTime) [member function]
    def SetMaxReplayTime(self, newMaxReplayTime: float) -> None: ...

    # float ReplayDirectorWrapper::GetReplayPadding() [member function]
    def GetReplayPadding(self) -> float: ...

    # void ReplayDirectorWrapper::SetReplayPadding(float newReplayPadding) [member function]
    def SetReplayPadding(self, newReplayPadding: float) -> None: ...

    # float ReplayDirectorWrapper::GetHighlightReplayDuration() [member function]
    def GetHighlightReplayDuration(self) -> float: ...

    # void ReplayDirectorWrapper::SetHighlightReplayDuration(float newHighlightReplayDuration) [member function]
    def SetHighlightReplayDuration(self, newHighlightReplayDuration: float) -> None: ...

    # float ReplayDirectorWrapper::GetTimeBeforeHighlightReplay() [member function]
    def GetTimeBeforeHighlightReplay(self) -> float: ...

    # void ReplayDirectorWrapper::SetTimeBeforeHighlightReplay(float newTimeBeforeHighlightReplay) [member function]
    def SetTimeBeforeHighlightReplay(self, newTimeBeforeHighlightReplay: float) -> None: ...

    # ReplaySoccarWrapper ReplayDirectorWrapper::GetReplay() [member function]
    def GetReplay(self) -> ReplaySoccarWrapper: ...

    # void ReplayDirectorWrapper::SetReplay(ReplaySoccarWrapper newReplay) [member function]
    def SetReplay(self, newReplay: ReplaySoccarWrapper) -> None: ...

    # ActorWrapper ReplayDirectorWrapper::GetFocusCar() [member function]
    def GetFocusCar(self) -> ActorWrapper: ...

    # void ReplayDirectorWrapper::SetFocusCar(ActorWrapper newFocusCar) [member function]
    def SetFocusCar(self, newFocusCar: ActorWrapper) -> None: ...

    # float ReplayDirectorWrapper::GetFocusCarChangeTime() [member function]
    def GetFocusCarChangeTime(self) -> float: ...

    # void ReplayDirectorWrapper::SetFocusCarChangeTime(float newFocusCarChangeTime) [member function]
    def SetFocusCarChangeTime(self, newFocusCarChangeTime: float) -> None: ...

    # ActorWrapper ReplayDirectorWrapper::GetFocusBall() [member function]
    def GetFocusBall(self) -> ActorWrapper: ...

    # void ReplayDirectorWrapper::SetFocusBall(ActorWrapper newFocusBall) [member function]
    def SetFocusBall(self, newFocusBall: ActorWrapper) -> None: ...

    # float ReplayDirectorWrapper::GetScoreTime() [member function]
    def GetScoreTime(self) -> float: ...

    # void ReplayDirectorWrapper::SetScoreTime(float newScoreTime) [member function]
    def SetScoreTime(self, newScoreTime: float) -> None: ...

    # int ReplayDirectorWrapper::GetScoreHitIndex() [member function]
    def GetScoreHitIndex(self) -> int: ...

    # void ReplayDirectorWrapper::SetScoreHitIndex(int newScoreHitIndex) [member function]
    def SetScoreHitIndex(self, newScoreHitIndex: int) -> None: ...

    # GoalWrapper ReplayDirectorWrapper::GetScoredGoal() [member function]
    def GetScoredGoal(self) -> GoalWrapper: ...

    # void ReplayDirectorWrapper::SetScoredGoal(GoalWrapper newScoredGoal) [member function]
    def SetScoredGoal(self, newScoredGoal: GoalWrapper) -> None: ...

    # ReplayScoreData ReplayDirectorWrapper::GetReplayScoreData() [member function]
    def GetReplayScoreData(self) -> ReplayScoreData: ...

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

    # void ReplayDirectorWrapper::SetbSlomo(long unsigned int newbSlomo) [member function]
    def SetbSlomo(self, newbSlomo: bool) -> None: ...

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

    # void ReplayDirectorWrapper::SetbSlomoForDefender(long unsigned int newbSlomoForDefender) [member function]
    def SetbSlomoForDefender(self, newbSlomoForDefender: bool) -> None: ...

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

    # void ReplayDirectorWrapper::SetbAutoSave(long unsigned int newbAutoSave) [member function]
    def SetbAutoSave(self, newbAutoSave: bool) -> None: ...

    # int ReplayDirectorWrapper::GetFocusHitIndex() [member function]
    def GetFocusHitIndex(self) -> int: ...

    # void ReplayDirectorWrapper::SetFocusHitIndex(int newFocusHitIndex) [member function]
    def SetFocusHitIndex(self, newFocusHitIndex: int) -> None: ...

    # int ReplayDirectorWrapper::GetFocusCarIdx() [member function]
    def GetFocusCarIdx(self) -> int: ...

    # void ReplayDirectorWrapper::SetFocusCarIdx(int newFocusCarIdx) [member function]
    def SetFocusCarIdx(self, newFocusCarIdx: int) -> None: ...

    # float ReplayDirectorWrapper::GetReplayStartGameTime() [member function]
    def GetReplayStartGameTime(self) -> float: ...

    # void ReplayDirectorWrapper::SetReplayStartGameTime(float newReplayStartGameTime) [member function]
    def SetReplayStartGameTime(self, newReplayStartGameTime: float) -> None: ...

    # float ReplayDirectorWrapper::GetBallSpawnTime() [member function]
    def GetBallSpawnTime(self) -> float: ...

    # void ReplayDirectorWrapper::SetBallSpawnTime(float newBallSpawnTime) [member function]
    def SetBallSpawnTime(self, newBallSpawnTime: float) -> None: ...

    # ServerWrapper ReplayDirectorWrapper::GetSoccarGame() [member function]
    def GetSoccarGame(self) -> ServerWrapper: ...

    # void ReplayDirectorWrapper::SetSoccarGame(ServerWrapper newSoccarGame) [member function]
    def SetSoccarGame(self, newSoccarGame: ServerWrapper) -> None: ...

    # unsigned char ReplayDirectorWrapper::GetScoredOnTeam() [member function]
    def GetScoredOnTeam(self) -> int: ...

    # void ReplayDirectorWrapper::SetScoredOnTeam(unsigned char newScoredOnTeam) [member function]
    def SetScoredOnTeam(self, newScoredOnTeam: int) -> None: ...

    # int ReplayDirectorWrapper::GetForceCutToFocusActors() [member function]
    def GetForceCutToFocusActors(self) -> int: ...

    # void ReplayDirectorWrapper::SetForceCutToFocusActors(int newForceCutToFocusActors) [member function]
    def SetForceCutToFocusActors(self, newForceCutToFocusActors: int) -> None: ...

    # void ReplayDirectorWrapper::HandleReplayFinished(ReplayWrapper InReplay) [member function]
    def HandleReplayFinished(self, InReplay: ReplayWrapper) -> None: ...

    # bool ReplayDirectorWrapper::ShouldSlomo() [member function]
    def ShouldSlomo(self) -> bool: ...

    # void ReplayDirectorWrapper::UpdateSlomo() [member function]
    def UpdateSlomo(self) -> None: ...

    # void ReplayDirectorWrapper::UpdateFocusActors() [member function]
    def UpdateFocusActors(self) -> None: ...

    # void ReplayDirectorWrapper::PlayRandomHighlight() [member function]
    def PlayRandomHighlight(self) -> None: ...

    # int ReplayDirectorWrapper::GetNextHighlightFrame() [member function]
    def GetNextHighlightFrame(self) -> int: ...

    # void ReplayDirectorWrapper::SetAutoSave() [member function]
    def SetAutoSave(self) -> None: ...

    # void ReplayDirectorWrapper::SaveUserKeyframe() [member function]
    def SaveUserKeyframe(self) -> None: ...

    # void ReplayDirectorWrapper::BuildFocusCars() [member function]
    def BuildFocusCars(self) -> None: ...

    # void ReplayDirectorWrapper::SetSlomo2(long unsigned int bNewSlomo) [member function]
    def SetSlomo2(self, bNewSlomo: bool) -> None: ...

    # void ReplayDirectorWrapper::eventTick(float DeltaTime) [member function]
    def eventTick(self, DeltaTime: float) -> None: ...

    # void ReplayDirectorWrapper::eventDestroyed() [member function]
    def eventDestroyed(self) -> None: ...

    # float ReplayDirectorWrapper::GetReplayTimeSeconds() [member function]
    def GetReplayTimeSeconds(self) -> float: ...

    # void ReplayDirectorWrapper::SetFocusActors(ActorWrapper NewCar, ActorWrapper NewBall) [member function]
    def SetFocusActors(self, NewCar: ActorWrapper, NewBall: ActorWrapper) -> None: ...

    # float ReplayDirectorWrapper::GetReplayStartTime() [member function]
    def GetReplayStartTime(self) -> float: ...

    # void ReplayDirectorWrapper::SetSlomoForDefender(BallWrapper Ball, int DefendingTeam) [member function]
    def SetSlomoForDefender(self, Ball: BallWrapper, DefendingTeam: int) -> None: ...

    # void ReplayDirectorWrapper::OnScoreDataChanged() [member function]
    def OnScoreDataChanged(self) -> None: ...

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

    # void ReplayDirectorWrapper::HandleAllTeamsCreated(TeamGameEventWrapper TeamGame) [member function]
    def HandleAllTeamsCreated(self, TeamGame: TeamGameEventWrapper) -> None: ...

    # void ReplayDirectorWrapper::RecordPlayers() [member function]
    def RecordPlayers(self) -> None: ...

    # void ReplayDirectorWrapper::HandleGameStateChanged(GameEventWrapper G) [member function]
    def HandleGameStateChanged(self, G: GameEventWrapper) -> None: ...

    # void ReplayDirectorWrapper::OnSoccarGameSet() [member function]
    def OnSoccarGameSet(self) -> None: ...

    # void ReplayDirectorWrapper::SetGameEvent(ServerWrapper InGameEvent) [member function]
    def SetGameEvent(self, InGameEvent: ServerWrapper) -> None: ...

    # void ReplayDirectorWrapper::EventFocusCarChanged(ActorWrapper NewFocusCar) [member function]
    def EventFocusCarChanged(self, NewFocusCar: ActorWrapper) -> None: ...

    # void ReplayDirectorWrapper::EventAutoSaveChanged(ReplayDirectorWrapper Director) [member function]
    def EventAutoSaveChanged(self, Director: ReplayDirectorWrapper) -> None: ...

    # void ReplayDirectorWrapper::EventScoreDataChanged(ReplayDirectorWrapper Director) [member function]
    def EventScoreDataChanged(self, Director: ReplayDirectorWrapper) -> None: ...

    # void ReplayDirectorWrapper::EventReplayFinished(ReplayDirectorWrapper Director) [member function]
    def EventReplayFinished(self, Director: ReplayDirectorWrapper) -> None: ...

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

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


