"""Auto-generated stub file for GTA V ScriptHookVDotNet"""

from typing import Any, List, Dict, Optional, Iterable, ClassVar, Tuple, Callable, TypeVar, overload, Union
from enum import Enum

from GTA.Graphics import TextureAsset, Txd
from GTA.Math import Matrix, Quaternion, Vector2, Vector3
from GTA.NaturalMotion import Euphoria

class EulerRotationOrder(Enum):
    XYZ = 0
    XZY = 1
    YXZ = 2
    YZX = 3
    ZXY = 4
    ZYX = 5

class FeedPost:
    Handle: int
    def Delete(self) -> None: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class AnimationBlendDelta:
    Value: float
    WalkBlendIn: ClassVar[AnimationBlendDelta]
    VerySlowBlendIn: ClassVar[AnimationBlendDelta]
    SlowBlendIn: ClassVar[AnimationBlendDelta]
    NormalBlendIn: ClassVar[AnimationBlendDelta]
    FastBlendIn: ClassVar[AnimationBlendDelta]
    InstantBlendIn: ClassVar[AnimationBlendDelta]
    WalkBlendOut: ClassVar[AnimationBlendDelta]
    VerySlowBlendOut: ClassVar[AnimationBlendDelta]
    SlowBlendOut: ClassVar[AnimationBlendDelta]
    NormalBlendOut: ClassVar[AnimationBlendDelta]
    FastBlendOut: ClassVar[AnimationBlendDelta]
    InstantBlendOut: ClassVar[AnimationBlendDelta]
    def __init__(self, value: float) -> None: ...
    @overload
    def Equals(self, blendDelta: AnimationBlendDelta) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...
    def ToString(self) -> str: ...

class AnimationBlendDuration:
    Value: float
    Instant: ClassVar[AnimationBlendDuration]
    Fast: ClassVar[AnimationBlendDuration]
    Normal: ClassVar[AnimationBlendDuration]
    Slow: ClassVar[AnimationBlendDuration]
    ReallySlow: ClassVar[AnimationBlendDuration]
    SuperSlow: ClassVar[AnimationBlendDuration]
    MigrateSlow: ClassVar[AnimationBlendDuration]
    def __init__(self, value: float) -> None: ...
    @staticmethod
    def FromBlendDelta(blendDelta: AnimationBlendDelta) -> AnimationBlendDuration: ...
    @overload
    def Equals(self, duration: AnimationBlendDuration) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...
    def ToString(self) -> str: ...

class AtHashValue:
    Null: ClassVar[AtHashValue]
    IsNull: bool
    Hash: int
    def __init__(self, hash: int) -> None: ...
    def GetJoaatHash(self) -> int: ...
    @staticmethod
    def FromString(input: str) -> AtHashValue: ...
    @staticmethod
    def FromBytes(input: List[int]) -> AtHashValue: ...
    @staticmethod
    def FromStringUtf8(input: str) -> AtHashValue: ...
    @overload
    @staticmethod
    def ComputeHash(value: str) -> int: ...
    @overload
    @staticmethod
    def ComputeHash(value: List[int]) -> int: ...
    @staticmethod
    def ComputeHash(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def ComputeHashUtf8(value: str) -> int: ...
    @overload
    def Equals(self, other: AtHashValue) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...

class AtLiteralHashValue:
    Null: ClassVar[AtLiteralHashValue]
    IsNull: bool
    Hash: int
    def __init__(self, hash: int) -> None: ...
    def GetJoaatHash(self) -> int: ...
    @staticmethod
    def FromString(input: str) -> AtLiteralHashValue: ...
    @staticmethod
    def FromBytes(input: List[int]) -> AtLiteralHashValue: ...
    @staticmethod
    def FromStringUtf8(input: str) -> AtLiteralHashValue: ...
    @overload
    def Equals(self, other: AtLiteralHashValue) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...

class Audio:
    @staticmethod
    def PlayMusic(musicFile: str) -> None: ...
    @staticmethod
    def StopMusic(musicFile: str) -> None: ...
    @staticmethod
    def GetSoundId() -> ScriptSound: ...
    @staticmethod
    def PlaySoundAndForget(soundName: str, setName: str, enableOnReplay: bool = True) -> None: ...
    @staticmethod
    def PlaySoundFrontendAndForget(soundName: str, setName: str, enableOnReplay: bool = True) -> None: ...
    @staticmethod
    def PlaySoundFromEntityAndForget(entity: Entity, soundName: str, setName: Optional[str] = None) -> None: ...
    @staticmethod
    def PlaySoundFromPositionAndForget(position: Vector3, soundName: str, setName: Optional[str] = None, isExteriorLoc: bool = False) -> None: ...
    @overload
    @staticmethod
    def PlaySoundAt(entity: Entity, soundFile: str) -> int: ...
    @overload
    @staticmethod
    def PlaySoundAt(entity: Entity, soundFile: str, soundSet: str) -> int: ...
    @overload
    @staticmethod
    def PlaySoundAt(position: Vector3, soundFile: str) -> int: ...
    @overload
    @staticmethod
    def PlaySoundAt(position: Vector3, soundFile: str, soundSet: str) -> int: ...
    @staticmethod
    def PlaySoundAt(*args: Any, **kwargs: Any) -> Any: ...
    @overload
    @staticmethod
    def PlaySoundFrontend(soundFile: str) -> int: ...
    @overload
    @staticmethod
    def PlaySoundFrontend(soundFile: str, soundSet: str) -> int: ...
    @staticmethod
    def PlaySoundFrontend(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def StopSound(id: int) -> None: ...
    @staticmethod
    def ReleaseSound(id: int) -> None: ...
    @staticmethod
    def HasSoundFinished(id: int) -> bool: ...
    @staticmethod
    def SetAudioFlag(flag: AudioFlags, toggle: bool) -> None: ...

class AudioFlags(Enum):
    ActivateSwitchWheelAudio = 0
    AllowCutsceneOverScreenFade = 1
    AllowForceRadioAfterRetune = 2
    AllowPainAndAmbientSpeechToPlayDuringCutscene = 3
    AllowPlayerAIOnMission = 4
    AllowPoliceScannerWhenPlayerHasNoControl = 5
    AllowRadioDuringSwitch = 6
    AllowRadioOverScreenFade = 7
    AllowScoreAndRadio = 8
    AllowScriptedSpeechInSlowMo = 9
    AvoidMissionCompleteDelay = 10
    DisableAbortConversationForDeathAndInjury = 11
    DisableAbortConversationForRagdoll = 12
    DisableBarks = 13
    DisableFlightMusic = 14
    DisableReplayScriptStreamRecording = 15
    EnableHeadsetBeep = 16
    ForceConversationInterrupt = 17
    ForceSeamlessRadioSwitch = 18
    ForceSniperAudio = 19
    FrontendRadioDisabled = 20
    HoldMissionCompleteWhenPrepared = 21
    IsDirectorModeActive = 22
    IsPlayerOnMissionForSpeech = 23
    ListenerReverbDisabled = 24
    LoadMPData = 25
    MobileRadioInGame = 26
    OnlyAllowScriptTriggerPoliceScanner = 27
    PlayMenuMusic = 28
    PoliceScannerDisabled = 29
    ScriptedConvListenerMaySpeak = 30
    SpeechDucksScore = 31
    SuppressPlayerScubaBreathing = 32
    WantedMusicDisabled = 33
    WantedMusicOnMission = 34

class Blip(PoolObject):
    MemoryAddress: int
    Type: int
    DisplayType: BlipDisplayType
    CategoryType: BlipCategoryType
    Alpha: int
    Priority: int
    NumberLabel: int
    Color: BlipColor
    SecondaryColor: Any
    Sprite: BlipSprite
    Name: str
    DisplayNameHash: int
    Position: Vector3
    Rotation: int
    RotationFloat: float
    Scale: float
    ScaleX: float
    ScaleY: float
    FlashInterval: int
    FlashTimeLeft: int
    Entity: Entity
    ShowRoute: bool
    ShowsDollarSign: bool
    ShowsHeadingIndicator: bool
    ShowsOutlineIndicator: bool
    ShowsFriendIndicator: bool
    ShowsCrewIndicator: bool
    IsFriendly: bool
    IsFlashing: bool
    IsOnMinimap: bool
    IsShortRange: bool
    IsHiddenOnLegend: bool
    def __init__(self, handle: int) -> None: ...
    def RemoveNumberLabel(self) -> None: ...
    def GetAppropriateName(self) -> str: ...
    def ResetName(self) -> None: ...
    def Delete(self) -> None: ...
    def Exists(self) -> bool: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class BlipCategoryType(Enum):
    NoDistanceShown = 1
    DistanceShown = 2
    OtherPlayers = 7
    Property = 10
    OwnedProperty = 11

class BlipColor(Enum):
    White = 0
    Red = 1
    Green = 2
    Blue = 3
    WhiteNotPure = 4
    Yellow2 = 5
    NetPlayer1 = 6
    NetPlayer2 = 7
    NetPlayer3 = 8
    NetPlayer4 = 9
    NetPlayer5 = 10
    NetPlayer6 = 11
    NetPlayer7 = 12
    NetPlayer8 = 13
    NetPlayer9 = 14
    NetPlayer10 = 15
    NetPlayer11 = 16
    NetPlayer12 = 17
    NetPlayer13 = 18
    NetPlayer14 = 19
    NetPlayer15 = 20
    NetPlayer16 = 21
    NetPlayer17 = 22
    NetPlayer18 = 23
    NetPlayer19 = 24
    NetPlayer20 = 25
    NetPlayer21 = 26
    NetPlayer22 = 27
    NetPlayer23 = 28
    NetPlayer24 = 29
    NetPlayer25 = 30
    NetPlayer26 = 31
    NetPlayer27 = 32
    NetPlayer28 = 33
    NetPlayer29 = 34
    NetPlayer30 = 35
    NetPlayer31 = 36
    NetPlayer32 = 37
    Freemode = 38
    InactiveMission = 39
    GreyDark = 40
    RedLight = 41
    Michael = 42
    Franklin = 43
    Trevor = 44
    GolfPlayer1 = 45
    GolfPlayer2 = 46
    GolfPlayer3 = 47
    GolfPlayer4 = 48
    Red2 = 49
    Purple = 50
    Orange = 51
    GreenDark = 52
    BlueLight = 53
    BlueDark = 54
    Grey = 55
    YellowDark = 56
    Blue2 = 57
    PurpleDark = 58
    Red3 = 59
    Yellow3 = 60
    Pink = 61
    GreyLight = 62
    Gang = 63
    Gang2 = 64
    Gang3 = 65
    Yellow = 66
    Blue3 = 67
    Blue4 = 68
    Green2 = 69
    Yellow4 = 70
    Yellow5 = 71
    White2 = 72
    Yellow6 = 73
    Blue5 = 74
    Red4 = 75
    RedDark = 76
    Blue6 = 77
    BlueDark2 = 78
    RedDark2 = 79
    MenuYellow = 80
    SimpleBlipDefault = 81
    Waypoint = 82
    Blue7 = 83

class BlipDisplayType(Enum):
    NoDisplay = 0
    BothMapSelectable = 2
    MainMapSelectable = 3
    Default = 4
    MiniMapOnly = 5
    BothMapNoSelectable = 8

class BlipSprite(Enum):
    Standard = 1
    BigBlip = 2
    PoliceOfficer = 3
    PoliceArea = 4
    Square = 5
    Player = 6
    North = 7
    Waypoint = 8
    BigCircle = 9
    BigCircleOutline = 10
    ArrowUpOutlined = 11
    ArrowDownOutlined = 12
    ArrowUp = 13
    ArrowDown = 14
    PoliceHelicopterAnimated = 15
    Jet = 16
    Number1 = 17
    Number2 = 18
    Number3 = 19
    Number4 = 20
    Number5 = 21
    Number6 = 22
    Number7 = 23
    Number8 = 24
    Number9 = 25
    Number10 = 26
    GTAOCrew = 27
    GTAOFriendly = 28
    Lift = 36
    RaceFinish = 38
    Safehouse = 40
    PoliceOfficer2 = 41
    PoliceCarDot = 42
    PoliceHelicopter = 43
    ChatBubble = 47
    Garage2 = 50
    Drugs = 51
    Store = 52
    PoliceCar = 56
    CriminalWanted = 57
    PolicePlayer = 58
    HeistStore = 59
    PoliceStation = 60
    Hospital = 61
    Elevator = 63
    Helicopter = 64
    StrangersAndFreaks = 66
    ArmoredTruck = 67
    TowTruck = 68
    Barber = 71
    LosSantosCustoms = 72
    Clothes = 73
    TattooParlor = 75
    Simeon = 76
    Lester = 77
    Michael = 78
    Trevor = 79
    TheJewelStoreJob = 80
    Rampage = 84
    VinewoodTours = 85
    Lamar = 86
    Franklin = 88
    Chinese = 89
    Airport = 90
    Bar = 93
    BaseJump = 94
    BiolabHeist = 96
    CarWash = 100
    ComedyClub = 102
    Dart = 103
    ThePortOfLSHeist = 104
    TheBureauRaid = 105
    FIB = 106
    TheBigScore = 107
    DollarSign = 108
    Golf = 109
    AmmuNation = 110
    Exile = 112
    TheSharmootaJob = 113
    ThePaletoScore = 118
    ShootingRange = 119
    Solomon = 120
    StripClub = 121
    Tennis = 122
    Exile2 = 123
    Michael2 = 124
    Triathlon = 126
    OffRoadRaceFinish = 127
    GangPolice = 128
    GangMexicans = 129
    GangBikers = 130
    Snitch2 = 133
    Key = 134
    MovieTheater = 135
    Music = 136
    PoliceStation2 = 137
    Marijuana = 140
    Hunting = 141
    Objective2 = 143
    ArmsTraffickingGround = 147
    Nigel = 149
    AssaultRifle = 150
    Bat = 151
    Grenade = 152
    Health = 153
    Knife = 154
    Molotov = 155
    Pistol = 156
    RPG = 157
    Shotgun = 158
    SMG = 159
    Sniper = 160
    SonicWave = 161
    PointOfInterest = 162
    GTAOPassive = 163
    GTAOUsingMenu = 164
    Link = 171
    Minigun = 173
    GrenadeLauncher = 174
    Armor = 175
    Castle = 176
    CriminalSnitchMexican = 177
    CriminalSnitchLost = 178
    PropertyBikers = 181
    PropertyPolice = 182
    PropertyVagos = 183
    Camera = 184
    PlayerPositon = 185
    BikerHandcuffKeys = 186
    VagosHandcuffKeys = 187
    Handcuffs = 188
    VagosHandcuffsClosed = 189
    Yoga = 197
    Cab = 198
    Number11 = 199
    Number12 = 200
    Number13 = 201
    Number14 = 202
    Number15 = 203
    Number16 = 204
    Shrink = 205
    Epsilon = 206
    DevinDollarSign2 = 207
    Trevor2 = 208
    Trevor3 = 209
    Franklin2 = 210
    Franklin3 = 211
    FranklinC = 214
    PersonalVehicleCar = 225
    PersonalVehicleBike = 226
    GangVehiclePolice = 227
    GangPoliceHighlight = 233
    Custody = 237
    CustodyVagos = 238
    ArmsTraffickingAir = 251
    PlayerstateArrested = 252
    PlayerstateCustody = 253
    PlayerstateKeyholder = 255
    PlayerstatePartner = 256
    Fairground = 266
    PropertyManagement = 267
    GangHighlight = 268
    Altruist = 269
    Enemy = 270
    OnMission = 271
    CashPickup = 272
    Chop = 273
    Dead = 274
    CashPickupLost = 276
    CashPickupVagos = 277
    CashPickupPolice = 278
    Hooker = 279
    Friend = 280
    CustodyDropoff = 285
    OnMissionPolice = 286
    OnMissionLost = 287
    OnMissionVagos = 288
    CriminalCarstealPolice = 289
    CriminalCarstealLost = 290
    CriminalCarstealVagos = 291
    SimeonFamily = 293
    BountyHit = 303
    GTAOMission = 304
    GTAOSurvival = 305
    CrateDrop = 306
    PlaneDrop = 307
    Sub = 308
    Race = 309
    Deathmatch = 310
    ArmWrestling = 311
    AmmuNationShootingRange = 313
    RaceAir = 314
    RaceCar = 315
    RaceSea = 316
    TowTruck2 = 317
    GarbageTruck = 318
    GetawayCar = 326
    GangBike = 348
    SafehouseForSale = 350
    Package = 351
    MartinMadrazo = 352
    EnemyHelicopter = 353
    Boost = 354
    Devin = 355
    Marina = 356
    Garage = 357
    GolfFlag = 358
    Hangar = 359
    Helipad = 360
    JerryCan = 361
    Masks = 362
    HeistSetup = 363
    Incapacitated = 364
    PickupSpawn = 365
    BoilerSuit = 366
    Completed = 367
    Rockets = 368
    GarageForSale = 369
    HelipadForSale = 370
    MarinaForSale = 371
    HangarForSale = 372
    Business = 374
    BusinessForSale = 375
    RaceBike = 376
    Parachute = 377
    TeamDeathmatch = 378
    RaceFoot = 379
    VehicleDeathmatch = 380
    Barry = 381
    Dom = 382
    MaryAnn = 383
    Cletus = 384
    Josh = 385
    Minute = 386
    Omega = 387
    Tonya = 388
    Paparazzo = 389
    Crosshair = 390
    Creator = 398
    CreatorDirection = 399
    Abigail = 400
    Blimp = 401
    Repair = 402
    Testosterone = 403
    Dinghy = 404
    Fanatic = 405
    Invisible = 406
    Information = 407
    CaptureBriefcase = 408
    LastTeamStanding = 409
    Boat = 410
    CaptureHouse = 411
    GTAOCrew2 = 412
    JerryCan2 = 415
    RP = 416
    GTAOPlayerSafehouse = 417
    GTAOPlayerSafehouseDead = 418
    CaptureAmericanFlag = 419
    CaptureFlag = 420
    Tank = 421
    HelicopterAnimated = 422
    Plane = 423
    PlayerNoColor = 425
    GunCar = 426
    Speedboat = 427
    Heist = 428
    Stopwatch = 430
    DollarSignCircled = 431
    Crosshair2 = 432
    DollarSignSquared = 434
    StuntRace = 435
    HotProperty = 436
    KillListCompetitive = 437
    KingOfTheCastle = 438
    King = 439
    DeadDrop = 440
    PennedIn = 441
    Beast = 442
    CrossTheLinePointer = 443
    CrossTheLine = 444
    LamarD = 445
    Bennys = 446
    LamarDNumber1 = 447
    LamarDNumber2 = 448
    LamarDNumber3 = 449
    LamarDNumber4 = 450
    LamarDNumber5 = 451
    LamarDNumber6 = 452
    LamarDNumber7 = 453
    LamarDNumber8 = 454
    Yacht = 455
    FindersKeepers = 456
    Briefcase2 = 457
    ExecutiveSearch = 458
    Wifi = 459
    TurretedLimo = 460
    AssetRecovery = 461
    YachtLocation = 462
    Beasted = 463
    Loading = 464
    Random = 465
    SlowTime = 466
    Flip = 467
    ThermalVision = 468
    Doped = 469
    Railgun = 470
    Seashark = 471
    Blind = 472
    Warehouse = 473
    WarehouseForSale = 474
    Office = 475
    OfficeForSale = 476
    Truck = 477
    SpecialCargo = 478
    Trailer = 479
    VIP = 480
    Cargobob = 481
    AreaCutline = 482
    Jammed = 483
    Ghost = 484
    Detonator = 485
    Bomb = 486
    Shield = 487
    Stunt = 488
    Heart = 489
    StuntPremium = 490
    Adversary = 491
    BikerClubhouse = 492
    CagedIn = 493
    TurfWar = 494
    Joust = 495
    Weed = 496
    Cocaine = 497
    IdentityCard = 498
    Meth = 499
    DollarBill = 500
    Package2 = 501
    Capture1 = 502
    Capture2 = 503
    Capture3 = 504
    Capture4 = 505
    Capture5 = 506
    Capture6 = 507
    Capture7 = 508
    Capture8 = 509
    Capture9 = 510
    Capture10 = 511
    QuadBike = 512
    Bus = 513
    DrugPackage = 514
    Hop = 515
    Adversary4 = 516
    Adversary8 = 517
    Adversary10 = 518
    Adversary12 = 519
    Adversary16 = 520
    Laptop = 521
    Motorcycle = 522
    SportsCar = 523
    VehicleWarehouse = 524
    Document = 525
    PoliceStationInverted = 526
    Junkyard = 527
    PhantomWedge = 528
    ArmoredBoxville = 529
    Ruiner2000 = 530
    RampBuggy = 531
    Wastelander = 532
    RocketVoltic = 533
    TechnicalAqua = 534
    TargetA = 535
    TargetB = 536
    TargetC = 537
    TargetD = 538
    TargetE = 539
    TargetF = 540
    TargetG = 541
    TargetH = 542
    Juggernaut = 543
    Repair2 = 544
    SteeringWheel = 545
    Cup = 546
    RocketBoost = 547
    Rocket = 548
    MachineGun = 549
    Parachute2 = 550
    FiveSeconds = 551
    TenSeconds = 552
    FifteenSeconds = 553
    TwentySeconds = 554
    ThirtySeconds = 555
    WeaponSupplies = 556
    Bunker = 557
    APC = 558
    Oppressor = 559
    HalfTrack = 560
    DuneFAV = 561
    WeaponizedTampa = 562
    WeaponizedTrailer = 563
    MobileOperationsCenter = 564
    AdversaryBunker = 565
    BunkerVehicleWorkshop = 566
    WeaponWorkshop = 567
    Cargo = 568
    GTAOHangar = 569
    TransformCheckpoint = 570
    TransformRace = 571
    AlphaZ1 = 572
    Bombushka = 573
    Havok = 574
    HowardNX25 = 575
    Hunter = 576
    Ultralight = 577
    Mogul = 578
    V65Molotok = 579
    P45Nokota = 580
    Pyro = 581
    Rogue = 582
    Starling = 583
    Seabreeze = 584
    Tula = 585
    Equipment = 586
    Treasure = 587
    OrbitalCannon = 588
    Avenger = 589
    Facility = 590
    HeistDoomsday = 591
    SAMTurret = 592
    Firewall = 593
    Node = 594
    Stromberg = 595
    Deluxo = 596
    Thruster = 597
    Khanjali = 598
    RCV = 599
    Volatol = 600
    Barrage = 601
    Akula = 602
    Chernobog = 603
    CCTV = 604
    StarterPackIdentifier = 605
    TurretStation = 606
    RotatingMirror = 607
    StaticMirror = 608
    Proxy = 609
    TargetAssault = 610
    SanAndreasSuperSportCircuit = 611
    SeaSparrow = 612
    Caracara = 613
    NightclubProperty = 614
    CargoBusinessBattle = 615
    NightclubTruck = 616
    Jewel = 617
    Gold = 618
    Keypad = 619
    HackTarget = 620
    HealthHeart = 621
    BlastIncrease = 622
    BlastDecrease = 623
    BombIncrease = 624
    BombDecrease = 625
    Rival = 626
    Drone = 627
    CashRegister = 628
    CCTV2 = 629
    TargetBusinessBattle = 630
    FestivalBus = 631
    Terrorbyte = 632
    Menacer = 633
    Scramjet = 634
    PounderCustom = 635
    MuleCustom = 636
    SpeedoCustom = 637
    Blimp2 = 638
    OppressorMkII = 639
    B11StrikeForce = 640
    ArenaSeries = 641
    ArenaPremium = 642
    ArenaWorkshop = 643
    RaceArenaWar = 644
    ArenaTurret = 645
    RCVehicle = 646
    RCWorkshop = 647
    FirePit = 648
    Flipper = 649
    SeaMine = 650
    TurnTable = 651
    Pit = 652
    Mines = 653
    BarrelBomb = 654
    RisingWall = 655
    Bollards = 656
    SideBollard = 657
    Bruiser = 658
    Brutus = 659
    Cerberus = 660
    Deathbike = 661
    Dominator = 662
    Impaler = 663
    Imperator = 664
    Issi = 665
    Sasquatch = 666
    Scarab = 667
    Slamvam = 668
    ZR380 = 669
    ArenaPoints = 670
    HardcoreComicStore = 671
    CopCar = 672
    RCBanditoTimeTrials = 673
    KingOfTheHill = 674
    KingOfTheHillTeams = 675
    Rucksack = 676
    ShippingContainer = 677
    Agatha = 678
    Casino = 679
    TableGames = 680
    LuckyWheel = 681
    Concierge = 682
    Chips = 683
    HorseRacing = 684
    AdversaryFeatured = 685
    Roulette1 = 686
    Roulette2 = 687
    Roulette3 = 688
    Roulette4 = 689
    Roulette5 = 690
    Roulette6 = 691
    Roulette7 = 692
    Roulette8 = 693
    Roulette9 = 694
    Roulette10 = 695
    Roulette11 = 696
    Roulette12 = 697
    Roulette13 = 698
    Roulette14 = 699
    Roulette15 = 700
    Roulette16 = 701
    Roulette17 = 702
    Roulette18 = 703
    Roulette19 = 704
    Roulette20 = 705
    Roulette21 = 706
    Roulette22 = 707
    Roulette23 = 708
    Roulette24 = 709
    Roulette25 = 710
    Roulette26 = 711
    Roulette27 = 712
    Roulette28 = 713
    Roulette29 = 714
    Roulette30 = 715
    Roulette31 = 716
    Roulette32 = 717
    Roulette33 = 718
    Roulette34 = 719
    Roulette35 = 720
    Roulette36 = 721
    Roulette0 = 722
    Roulette00 = 723
    Limo = 724
    AlienWeapon = 725
    Enemy2 = 726
    RappelPoint = 727
    SwapCar = 728
    ScubaGear = 729
    ControlPanel1 = 730
    ControlPanel2 = 731
    ControlPanel3 = 732
    ControlPanel4 = 733
    SnowTruck = 734
    Buggy1 = 735
    Buggy2 = 736
    Zhaba = 737
    Gerald = 738
    Ron = 739
    Arcade = 740
    DroneControls = 741
    RCTank = 742
    Stairs = 743
    Camera2 = 744
    Winky = 745
    Minisub = 746
    RetroKart = 747
    ModernKart = 748
    MilitaryQuad = 749
    MilitaryTruck = 750
    ShipWheel = 751
    SpaceshipPart = 752
    Sparrow = 753
    Dinghy2 = 754
    PatrolBoat = 755
    RetroSportsCar = 756
    Squadee = 757
    FoldingWingJet = 758
    Valkyrie2 = 759
    Kosatka = 760
    BoltCutters = 761
    GrapplingEquipment = 762
    Keycard = 763
    Codes = 764
    TheCayoPericoHeistPrep = 765
    BeachParty = 766
    ControlTower = 767
    DrainageTunnel = 768
    PowerStation = 769
    MainGate = 770
    RappelPoint2 = 771
    Keypad2 = 772
    SubControls = 773
    SubPeriscope = 774
    SubMissile = 775
    Painting = 776
    LSCarMeet = 777
    TestTrack = 778
    AutoShopProperty = 779
    DocksExport = 780
    PrizeCar = 781
    TestCar = 782
    JobBoard = 783
    RobberyPrep = 784
    StreetRaceSeries = 785
    PursuitSeries = 786
    CarMeetOrganizer = 787
    SecuroServ = 788
    BountyCollectibles = 789
    MovieCollectibles = 790
    TrailerRamp = 791
    RaceOrganizer = 792
    VehicleList = 793
    ExportVehicle = 794
    Train = 795
    TheDiamondCasinoHeist = 796
    TheDoomsdayHeist = 797
    TheCayoPericoHeist = 798
    Slamvan2 = 799
    Crusader = 800
    ConstructionOutfit = 801
    Jammed2 = 802
    TheCayoPericoHeist2 = 803
    TheDiamondCasinoHeist2 = 804
    TheDoomsdayHeist2 = 805
    FeaturedSeries = 809
    VehicleForSale = 810
    VanKeys = 811
    SUVService = 812
    SecurityContract = 813
    Safe = 814
    Raymond = 815
    Eugene = 816
    Payphone = 817
    PatriotMilSpec = 818
    RecordAStudios = 819
    Jubilee = 820
    Granger3600LX = 821
    SatchelCharge = 822
    Deity = 823
    DewbaucheeChampion = 824
    BuffaloSTX = 825
    Agency = 826
    BikerCar = 827
    SimeonOverlay = 828
    JunkEnergySkydive = 829
    LuxuryAutos = 830
    CarShowroom = 831
    SimeonCarShowroom = 832
    FlamingSkull = 833
    WeaponAmmo = 834
    CommunitySeries = 835
    CayoPericoSeries = 836
    ClubhouseContract = 837
    AgentULP = 838
    Acid = 839
    AcidLab = 840
    Dax = 841
    DeadDropPackage = 842
    DowntownCabCo = 843
    GunVan = 844
    StashHouse = 845
    Tractor = 846
    TheFreakshop = 847
    TheFreakshopDax = 848
    Crowbar = 849
    DuffelBag = 850
    OilTanker = 851
    AcidLabTent = 852
    MCsGangVan = 853
    AcidProductionBoost = 854
    GangLeader = 855
    EclipseBlvdGarage = 856
    TheVinewoodCarClub = 857
    AssaultOnCayoPerico = 858
    Bicycle = 859
    JunkEnergyTimeTrial = 860
    F160Raiju = 861
    BuckinghamWeaponizedConada = 862
    ReadyForSellOverlay = 863
    MissingSuppliesOverlay = 864
    Streamer216 = 865
    SignalJammer = 866

class Button(Enum):
    PadLB = 49
    PadLT = 50
    PadRB = 51
    PadRT = 52
    PadA = 97
    PadB = 98
    PadDown = 100
    PadLeft = 108
    PadRight = 114
    PadUp = 117
    PadX = 120
    PadY = 121

class CamAnimationFlags(Enum):
    None_ = 0
    Looping = 1

class Camera(PoolObject):
    MemoryAddress: int
    IsActive: bool
    Matrix: Matrix
    Position: Vector3
    Rotation: Vector3
    Direction: Vector3
    UpVector: Vector3
    RightVector: Vector3
    ForwardVector: Vector3
    FarClip: float
    NearClip: float
    FieldOfView: float
    FarDepthOfField: float
    NearDepthOfField: float
    MotionBlurStrength: float
    DepthOfFieldStrength: float
    IsShaking: bool
    ShakeAmplitude: float
    IsInterpolating: bool
    AnimPhase: float
    def __init__(self, handle: int) -> None: ...
    @overload
    @staticmethod
    def Create(cameraNameHash: ScriptedCameraNameHash, startActivated: bool = False) -> Camera: ...
    @overload
    @staticmethod
    def Create(cameraName: str, startActivated: bool = False) -> Camera: ...
    @overload
    @staticmethod
    def Create(cameraNameHash: ScriptedCameraNameHash, position: Vector3, rotation: Vector3, fov: float = 65.0, startActivated: bool = False, rotOrder: EulerRotationOrder = ...) -> Camera: ...
    @overload
    @staticmethod
    def Create(cameraName: str, position: Vector3, rotation: Vector3, fov: float = 65.0, startActivated: bool = False, rotOrder: EulerRotationOrder = ...) -> Camera: ...
    @staticmethod
    def Create(*args: Any, **kwargs: Any) -> Any: ...
    def GetOffsetPosition(self, offset: Vector3) -> Vector3: ...
    def GetPositionOffset(self, worldCoords: Vector3) -> Vector3: ...
    def SetCamFrameParameters(self, position: Vector3, rotation: Vector3, fov: float, graphTypePos: CamFrameInterpolatorCurveType = ..., graphTypeRot: CamFrameInterpolatorCurveType = ..., rotOrder: EulerRotationOrder = ...) -> None: ...
    def InterpolateToNewCamFrame(self, position: Vector3, rotation: Vector3, fov: float, duration: int, graphTypePos: CamFrameInterpolatorCurveType = ..., graphTypeRot: CamFrameInterpolatorCurveType = ..., rotOrder: EulerRotationOrder = ...) -> None: ...
    @overload
    def Shake(self, shakeType: CameraShake, amplitude: float) -> None: ...
    @overload
    def Shake(self, shakeName: str, amplitudeScalar: float) -> None: ...
    def Shake(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def StopShaking(self) -> None: ...
    @overload
    def StopShaking(self, stopImmediately: bool) -> None: ...
    def StopShaking(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def PointAt(self, target: Entity, offset: Optional[Vector3] = None) -> None: ...
    @overload
    def PointAt(self, target: PedBone, offset: Optional[Vector3] = None) -> None: ...
    @overload
    def PointAt(self, target: Vector3) -> None: ...
    def PointAt(self, *args: Any, **kwargs: Any) -> Any: ...
    def StopPointing(self) -> None: ...
    @overload
    def InterpTo(self, destinationCam: Camera, duration: int, graphTypePos: CamFrameInterpolatorCurveType = ..., graphTypeRot: CamFrameInterpolatorCurveType = ..., rotOrder: EulerRotationOrder = ...) -> None: ...
    @overload
    def InterpTo(self, to: Camera, duration: int, easePosition: int, easeRotation: int) -> None: ...
    def InterpTo(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def AttachTo(self, entity: Entity, offset: Vector3) -> None: ...
    @overload
    def AttachTo(self, pedBone: PedBone, offset: Vector3) -> None: ...
    def AttachTo(self, *args: Any, **kwargs: Any) -> Any: ...
    def AttachToVehicleBone(self, vehicleBone: EntityBone, positionOffset: Vector3, offsetIsRelative: bool = True) -> None: ...
    def HardAttachToVehicleBone(self, vehicleBone: EntityBone, rotationOffset: Vector3, positionOffset: Vector3, offsetIsRelative: bool = True) -> None: ...
    def Detach(self) -> None: ...
    def PlayAnim(self, anim: CrClipAsset, originPosition: Vector3, originRotation: Vector3, animFlags: CamAnimationFlags = ..., rotOrder: EulerRotationOrder = ...) -> bool: ...
    def PlaySynchronizedAnim(self, scene: FwSyncedScene, anim: CrClipAsset) -> bool: ...
    def IsPlayingAnim(self, anim: CrClipAsset) -> bool: ...
    @overload
    def Delete(self) -> None: ...
    @overload
    def Delete(self, shouldApplyAcrossAllThreads: bool) -> None: ...
    def Delete(self, *args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def DeleteAllCameras(shouldApplyAcrossAllThreads: bool = False) -> None: ...
    def Exists(self) -> bool: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class CameraHintHelperNameHash(Enum):
    None_ = 0
    VehicleHintHelper = 181066347
    ChopHintHelper = 193150208
    AgencyHeist3BSkyDivingHintHelper = 1213015174
    NoFovHintHelper = 1511508800
    Arm3VehicleHintHelper = 1726668277
    VehicleHighZoomHintHelper = 1726668277
    DefaultHintHelper = 1803756875
    KillerCamHintHelper = 1844968929
    Arm2Mcs6VehicleHintHelper = 2010485655
    Family3HouseVehicleHintHelper = 3171128396
    SkyDivingHintHelper = 3567339302
    Family3CoachOnBalconyVehicleHintHelper = 4207186672

class CameraShake(Enum):
    Hand = 0
    SmallExplosion = 1
    MediumExplosion = 2
    LargeExplosion = 3
    Jolt = 4
    Vibrate = 5
    RoadVibration = 6
    Drunk = 7
    SkyDiving = 8
    FamilyDrugTrip = 9
    DeathFail = 10
    Wobbly = 11

class CamFrameInterpolatorCurveType(Enum):
    Linear = 0
    SinAccelDecel = 1
    Accel = 2
    Decel = 3
    SlowIn = 4
    SlowOut = 5
    SlowInOut = 6
    VerySlowIn = 7
    VerySlowOut = 8
    VerySlowInSlowOut = 9
    SlowInVerySlowOut = 10
    VerySlowInVerySlowOut = 11
    EaseIn = 12
    EaseOut = 13
    QuadraticEaseIn = 14
    QuadraticEaseOut = 15
    QuadraticEaseInOut = 16
    CubicEaseIn = 17
    CubicEaseOut = 18
    CubicEaseInOut = 19
    QuarticEaseIn = 20
    QuarticEaseOut = 21
    QuarticEaseInOut = 22
    QuinticEaseIn = 23
    QuinticEaseOut = 24
    QuinticEaseInOut = 25
    CircularEaseIn = 26
    CircularEaseOut = 27
    CircularEaseInOut = 28

class CamInVehicleState(Enum):
    EnteringVehicle = 0
    InsideVehicle = 1
    ExitingVehicle = 2
    OutsideVehicle = 3

class CamSplineSmoothingMode(Enum):
    NoSmooth = 0
    SlowInSmooth = 1
    SlowOutSmooth = 2
    SlowInOutSmooth = 3
    VerySlowIn = 4
    VerySlowOut = 5
    VerySlowInSlowOut = 6
    SlowInVerySlowOut = 7
    VerySlowInVerySlowOut = 8
    EaseIn = 9
    EaseOut = 10
    QuadraticEaseIn = 11
    QuadraticEaseOut = 12
    QuadraticEaseInOut = 13
    CubicEaseIn = 14
    CubicEaseOut = 15
    CubicEaseInOut = 16
    QuarticEaseIn = 17
    QuarticEaseOut = 18
    QuarticEaseInOut = 19
    QuinticEaseIn = 20
    QuinticEaseOut = 21
    QuinticEaseInOut = 22
    CircularEaseIn = 23
    CircularEaseOut = 24
    CircularEaseInOut = 25

class CamViewMode(Enum):
    ThirdPersonNear = 0
    ThirdPersonMedium = 1
    ThirdPersonFar = 2
    Cinematic = 3
    FirstPerson = 4

class CamViewModeContext(Enum):
    OnFoot = 0
    InVehicle = 1
    OnBike = 2
    InBoat = 3
    InAircraft = 4
    InSubmarine = 5
    InHeli = 6
    InTurret = 7

class CinematicCameraDirector:
    IsRenderingPointOfViewCam: ClassVar[bool]
    IsRenderingMountedCam: ClassVar[bool]
    IsRendering: ClassVar[bool]
    IsRenderingIdleCam: ClassVar[bool]
    IsCinematicCamInputActive: ClassVar[bool]
    IsShaking: ClassVar[bool]
    ShakeAmplitude: float
    @staticmethod
    def InvalidateIdleCam() -> None: ...
    @staticmethod
    def InvalidateVehicleIdleMode() -> None: ...
    @staticmethod
    def Shake(shakeType: CameraShake, amplitude: float) -> None: ...
    @staticmethod
    def StopShaking(stopImmediately: bool = False) -> None: ...

class GameplayCamera:
    MemoryAddress: ClassVar[int]
    Matrix: ClassVar[Matrix]
    Position: ClassVar[Vector3]
    Rotation: ClassVar[Vector3]
    Direction: ClassVar[Vector3]
    UpVector: ClassVar[Vector3]
    RightVector: ClassVar[Vector3]
    ForwardVector: ClassVar[Vector3]
    RelativePitch: ClassVar[float]
    RelativeHeading: ClassVar[float]
    IsFollowPedCamActive: ClassVar[bool]
    FollowPedCamViewMode: ClassVar[CamViewMode]
    IsFollowVehicleCamActive: ClassVar[bool]
    FollowVehicleCamViewMode: ClassVar[CamViewMode]
    ActiveViewModeContext: ClassVar[CamViewModeContext]
    IsHintActive: ClassVar[bool]
    HintFollowDistanceScalar: float
    HintBaseOrbitPitchOffset: float
    HintCameraRelativeSideOffset: float
    HintCameraRelativeVerticalOffset: float
    HintFovOverride: float
    IsCodeHintActive: ClassVar[bool]
    FirstPersonAimCamZoomFactor: ClassVar[float]
    Zoom: ClassVar[float]
    FieldOfView: ClassVar[float]
    IsRendering: ClassVar[bool]
    IsAimCamActive: ClassVar[bool]
    IsFirstPersonAimCamActive: ClassVar[bool]
    IsLookingBehind: ClassVar[bool]
    IsShaking: ClassVar[bool]
    ShakeAmplitude: float
    DefaultDwellTime: ClassVar[int]
    DefaultInterpInTime: ClassVar[int]
    DefaultInterpOutTime: ClassVar[int]
    @staticmethod
    def GetOffsetPosition(offset: Vector3) -> Vector3: ...
    @staticmethod
    def GetPositionOffset(worldCoords: Vector3) -> Vector3: ...
    @staticmethod
    def FollowCameraIgnoreAttachParentMovementThisUpdate() -> None: ...
    @staticmethod
    def SetThirdPersonCameraRelativeHeadingLimitsThisUpdate(minRelativeHeading: float, maxRelativeHeading: float) -> None: ...
    @staticmethod
    def SetThirdPersonCameraRelativePitchLimitsThisUpdate(minRelativePitch: float, maxRelativePitch: float) -> None: ...
    @staticmethod
    def SetThirdPersonCameraOrbitDistanceLimitsThisUpdate(minDistance: float, maxDistance: float) -> None: ...
    @staticmethod
    def SetRelativePitch(pitch: float, smoothRate: float) -> None: ...
    @staticmethod
    def ForceRelativeHeadingAndPitch(heading: float, pitch: float, smoothRate: float) -> None: ...
    @staticmethod
    def GetCamViewModeForContext(context: CamViewModeContext) -> CamViewMode: ...
    @staticmethod
    def SetCamViewModeForContext(context: CamViewModeContext, viewMode: CamViewMode) -> CamViewMode: ...
    @staticmethod
    def SetCoordHint(coord: Vector3, dwellTime: int = 2000, interpTo: int = 2000, interpFrom: int = 2000, overriddenHintType: CameraHintHelperNameHash = ...) -> None: ...
    @staticmethod
    def SetEntityHint(entity: Entity, offset: Vector3, relativeOffset: bool = True, dwellTime: int = 2000, interpTo: int = 2000, interpFrom: int = 2000, overriddenHintType: CameraHintHelperNameHash = ...) -> None: ...
    @staticmethod
    def StopGameplayHint(stopImmediately: bool) -> None: ...
    @staticmethod
    def StopCodeGameplayHint(stopImmediately: bool) -> None: ...
    @staticmethod
    def SetInVehicleCameraStateThisUpdate(vehicle: Vehicle, inVehicleState: CamInVehicleState) -> None: ...
    @staticmethod
    def DisableOnFootFirstPersonViewThisUpdate() -> None: ...
    @staticmethod
    def DisableFirstPersonFlashEffectThisUpdate() -> None: ...
    @staticmethod
    def Shake(shakeType: CameraShake, amplitude: float) -> None: ...
    @overload
    @staticmethod
    def StopShaking() -> None: ...
    @overload
    @staticmethod
    def StopShaking(stopImmediately: bool) -> None: ...
    @staticmethod
    def StopShaking(*args: Any, **kwargs: Any) -> Any: ...

class ScriptCameraDirector:
    RenderingCam: ClassVar[Camera]
    IsInterpolatingFromScriptCam: ClassVar[bool]
    IsInterpolatingToScriptCam: ClassVar[bool]
    @staticmethod
    def StartRendering() -> None: ...
    @staticmethod
    def StartRenderingWithInterp(interpDuration: int = 3000, shouldLockInterpolationSourceFrame: bool = True) -> None: ...
    @staticmethod
    def StopRendering(shouldApplyAcrossAllThreads: bool = False) -> None: ...
    @staticmethod
    def StopRenderingWithInterp(interpDuration: int = 3000, shouldLockInterpolationSourceFrame: bool = True, shouldApplyAcrossAllThreads: bool = False) -> None: ...
    @staticmethod
    def StopRenderingUsingCatchUp(shouldApplyAcrossAllThreads: bool = False, distanceToBlend: float = 0.0, blendType: CamSplineSmoothingMode = ...) -> None: ...

class ScriptedCameraNameHash(Enum):
    DefaultScriptedCamera = 26379945
    DefaultSplineCamera = 180543640
    RoundedSplineCamera = 457439121
    DefaultAnimatedCamera = 964613260
    CustomTimedSplineCamera = 1665938388
    TimedSplineCamera = 1775630800
    DefaultTransitionCamera = 3484689037
    SmoothedSplineCamera = 4175434708
    DefaultScriptedFlyCamera = 4292966205

class Checkpoint(PoolObject):
    MemoryAddress: int
    Position: Vector3
    TargetPosition: Vector3
    Icon: CheckpointIcon
    CustomIcon: CheckpointCustomIcon
    Radius: float
    Color: Any
    IconColor: Any
    CylinderRadius: float
    CylinderNearHeight: float
    CylinderFarHeight: float
    def __init__(self, handle: int) -> None: ...
    def Delete(self) -> None: ...
    def Exists(self) -> bool: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class CheckpointCustomIcon:
    NativeValue: int
    Number: int
    Style: CheckpointCustomIconStyle
    def __init__(self, iconStyle: CheckpointCustomIconStyle, iconNumber: int) -> None: ...
    def GetHashCode(self) -> int: ...
    def ToString(self) -> str: ...

class CheckpointCustomIconStyle(Enum):
    Number = 0
    SingleArrow = 1
    DoubleArrow = 2
    TripleArrow = 3
    Ring = 4
    CycleArrow = 5
    Ring2 = 6
    RingPointer = 7
    SegmentedRing = 8
    Sphere = 9
    Dollar = 10
    QuintupleLines = 11
    BeastIcon = 12

class CheckpointIcon(Enum):
    CylinderSingleArrow = 0
    CylinderDoubleArrow = 1
    CylinderTripleArrow = 2
    CylinderCycleArrow = 3
    CylinderCheckerboard = 4
    CylinderWrench = 5
    CylinderSingleArrow2 = 6
    CylinderDoubleArrow2 = 7
    CylinderTripleArrow2 = 8
    CylinderCycleArrow2 = 9
    CylinderCheckerboard2 = 10
    CylinderWrench2 = 11
    RingSingleArrow = 12
    RingDoubleArrow = 13
    RingTripleArrow = 14
    RingCycleArrow = 15
    RingCheckerboard = 16
    SingleArrow = 17
    DoubleArrow = 18
    TripleArrow = 19
    CycleArrow = 20
    Checkerboard = 21
    CylinderSingleArrow3 = 22
    CylinderDoubleArrow3 = 23
    CylinderTripleArrow3 = 24
    CylinderCycleArrow3 = 25
    CylinderCheckerboard3 = 26
    CylinderSingleArrow4 = 27
    CylinderDoubleArrow4 = 28
    CylinderTripleArrow4 = 29
    CylinderCycleArrow4 = 30
    CylinderCheckerboard4 = 31
    CylinderSingleArrow5 = 32
    CylinderDoubleArrow5 = 33
    CylinderTripleArrow5 = 34
    CylinderCycleArrow5 = 35
    CylinderCheckerboard5 = 36
    RingPlaneUp = 37
    RingPlaneLeft = 38
    RingPlaneRight = 39
    RingPlaneDown = 40
    Empty = 41
    Ring = 42
    Empty2 = 43
    Cyclinder = 47
    Cyclinder2 = 48
    Cyclinder3 = 49

class ClearPropsFlags(Enum):
    ForceRespawnAmbientProps = 2
    IncludeDoors = 4
    IncludePropsWithScriptBrains = 8
    ExcludeLadder = 16

class ClipSet:
    Name: str
    IsLoaded: bool
    def __init__(self, name: str) -> None: ...
    def HashName(self) -> AtHashValue: ...
    def Request(self) -> None: ...
    def MarkAsNoLongerNeeded(self) -> None: ...
    @overload
    def Equals(self, other: ClipSet) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...
    def ToString(self) -> str: ...

class Control(Enum):
    NextCamera = 0
    LookLeftRight = 1
    LookUpDown = 2
    LookUpOnly = 3
    LookDownOnly = 4
    LookLeftOnly = 5
    LookRightOnly = 6
    CinematicSlowMo = 7
    FlyUpDown = 8
    FlyLeftRight = 9
    ScriptedFlyZUp = 10
    ScriptedFlyZDown = 11
    WeaponWheelUpDown = 12
    WeaponWheelLeftRight = 13
    WeaponWheelNext = 14
    WeaponWheelPrev = 15
    SelectNextWeapon = 16
    SelectPrevWeapon = 17
    SkipCutscene = 18
    CharacterWheel = 19
    MultiplayerInfo = 20
    Sprint = 21
    Jump = 22
    Enter = 23
    Attack = 24
    Aim = 25
    LookBehind = 26
    Phone = 27
    SpecialAbility = 28
    SpecialAbilitySecondary = 29
    MoveLeftRight = 30
    MoveUpDown = 31
    MoveUpOnly = 32
    MoveDownOnly = 33
    MoveLeftOnly = 34
    MoveRightOnly = 35
    Duck = 36
    SelectWeapon = 37
    Pickup = 38
    SniperZoom = 39
    SniperZoomInOnly = 40
    SniperZoomOutOnly = 41
    SniperZoomInSecondary = 42
    SniperZoomOutSecondary = 43
    Cover = 44
    Reload = 45
    Talk = 46
    Detonate = 47
    HUDSpecial = 48
    Arrest = 49
    AccurateAim = 50
    Context = 51
    ContextSecondary = 52
    WeaponSpecial = 53
    WeaponSpecial2 = 54
    Dive = 55
    DropWeapon = 56
    DropAmmo = 57
    ThrowGrenade = 58
    VehicleMoveLeftRight = 59
    VehicleMoveUpDown = 60
    VehicleMoveUpOnly = 61
    VehicleMoveDownOnly = 62
    VehicleMoveLeftOnly = 63
    VehicleMoveRightOnly = 64
    VehicleSpecial = 65
    VehicleGunLeftRight = 66
    VehicleGunUpDown = 67
    VehicleAim = 68
    VehicleAttack = 69
    VehicleAttack2 = 70
    VehicleAccelerate = 71
    VehicleBrake = 72
    VehicleDuck = 73
    VehicleHeadlight = 74
    VehicleExit = 75
    VehicleHandbrake = 76
    VehicleHotwireLeft = 77
    VehicleHotwireRight = 78
    VehicleLookBehind = 79
    VehicleCinCam = 80
    VehicleNextRadio = 81
    VehiclePrevRadio = 82
    VehicleNextRadioTrack = 83
    VehiclePrevRadioTrack = 84
    VehicleRadioWheel = 85
    VehicleHorn = 86
    VehicleFlyThrottleUp = 87
    VehicleFlyThrottleDown = 88
    VehicleFlyYawLeft = 89
    VehicleFlyYawRight = 90
    VehiclePassengerAim = 91
    VehiclePassengerAttack = 92
    VehicleSpecialAbilityFranklin = 93
    VehicleStuntUpDown = 94
    VehicleCinematicUpDown = 95
    VehicleCinematicUpOnly = 96
    VehicleCinematicDownOnly = 97
    VehicleCinematicLeftRight = 98
    VehicleSelectNextWeapon = 99
    VehicleSelectPrevWeapon = 100
    VehicleRoof = 101
    VehicleJump = 102
    VehicleGrapplingHook = 103
    VehicleShuffle = 104
    VehicleDropProjectile = 105
    VehicleMouseControlOverride = 106
    VehicleFlyRollLeftRight = 107
    VehicleFlyRollLeftOnly = 108
    VehicleFlyRollRightOnly = 109
    VehicleFlyPitchUpDown = 110
    VehicleFlyPitchUpOnly = 111
    VehicleFlyPitchDownOnly = 112
    VehicleFlyUnderCarriage = 113
    VehicleFlyAttack = 114
    VehicleFlySelectNextWeapon = 115
    VehicleFlySelectPrevWeapon = 116
    VehicleFlySelectTargetLeft = 117
    VehicleFlySelectTargetRight = 118
    VehicleFlyVerticalFlightMode = 119
    VehicleFlyDuck = 120
    VehicleFlyAttackCamera = 121
    VehicleFlyMouseControlOverride = 122
    VehicleSubTurnLeftRight = 123
    VehicleSubTurnLeftOnly = 124
    VehicleSubTurnRightOnly = 125
    VehicleSubPitchUpDown = 126
    VehicleSubPitchUpOnly = 127
    VehicleSubPitchDownOnly = 128
    VehicleSubThrottleUp = 129
    VehicleSubThrottleDown = 130
    VehicleSubAscend = 131
    VehicleSubDescend = 132
    VehicleSubTurnHardLeft = 133
    VehicleSubTurnHardRight = 134
    VehicleSubMouseControlOverride = 135
    VehiclePushbikePedal = 136
    VehiclePushbikeSprint = 137
    VehiclePushbikeFrontBrake = 138
    VehiclePushbikeRearBrake = 139
    MeleeAttackLight = 140
    MeleeAttackHeavy = 141
    MeleeAttackAlternate = 142
    MeleeBlock = 143
    ParachuteDeploy = 144
    ParachuteDetach = 145
    ParachuteTurnLeftRight = 146
    ParachuteTurnLeftOnly = 147
    ParachuteTurnRightOnly = 148
    ParachutePitchUpDown = 149
    ParachutePitchUpOnly = 150
    ParachutePitchDownOnly = 151
    ParachuteBrakeLeft = 152
    ParachuteBrakeRight = 153
    ParachuteSmoke = 154
    ParachutePrecisionLanding = 155
    Map = 156
    SelectWeaponUnarmed = 157
    SelectWeaponMelee = 158
    SelectWeaponHandgun = 159
    SelectWeaponShotgun = 160
    SelectWeaponSmg = 161
    SelectWeaponAutoRifle = 162
    SelectWeaponSniper = 163
    SelectWeaponHeavy = 164
    SelectWeaponSpecial = 165
    SelectCharacterMichael = 166
    SelectCharacterFranklin = 167
    SelectCharacterTrevor = 168
    SelectCharacterMultiplayer = 169
    SaveReplayClip = 170
    SpecialAbilityPC = 171
    PhoneUp = 172
    PhoneDown = 173
    PhoneLeft = 174
    PhoneRight = 175
    PhoneSelect = 176
    PhoneCancel = 177
    PhoneOption = 178
    PhoneExtraOption = 179
    PhoneScrollForward = 180
    PhoneScrollBackward = 181
    PhoneCameraFocusLock = 182
    PhoneCameraGrid = 183
    PhoneCameraSelfie = 184
    PhoneCameraDOF = 185
    PhoneCameraExpression = 186
    FrontendDown = 187
    FrontendUp = 188
    FrontendLeft = 189
    FrontendRight = 190
    FrontendRdown = 191
    FrontendRup = 192
    FrontendRleft = 193
    FrontendRright = 194
    FrontendAxisX = 195
    FrontendAxisY = 196
    FrontendRightAxisX = 197
    FrontendRightAxisY = 198
    FrontendPause = 199
    FrontendPauseAlternate = 200
    FrontendAccept = 201
    FrontendCancel = 202
    FrontendX = 203
    FrontendY = 204
    FrontendLb = 205
    FrontendRb = 206
    FrontendLt = 207
    FrontendRt = 208
    FrontendLs = 209
    FrontendRs = 210
    FrontendLeaderboard = 211
    FrontendSocialClub = 212
    FrontendSocialClubSecondary = 213
    FrontendDelete = 214
    FrontendEndscreenAccept = 215
    FrontendEndscreenExpand = 216
    FrontendSelect = 217
    ScriptLeftAxisX = 218
    ScriptLeftAxisY = 219
    ScriptRightAxisX = 220
    ScriptRightAxisY = 221
    ScriptRUp = 222
    ScriptRDown = 223
    ScriptRLeft = 224
    ScriptRRight = 225
    ScriptLB = 226
    ScriptRB = 227
    ScriptLT = 228
    ScriptRT = 229
    ScriptLS = 230
    ScriptRS = 231
    ScriptPadUp = 232
    ScriptPadDown = 233
    ScriptPadLeft = 234
    ScriptPadRight = 235
    ScriptSelect = 236
    CursorAccept = 237
    CursorCancel = 238
    CursorX = 239
    CursorY = 240
    CursorScrollUp = 241
    CursorScrollDown = 242
    EnterCheatCode = 243
    InteractionMenu = 244
    MpTextChatAll = 245
    MpTextChatTeam = 246
    MpTextChatFriends = 247
    MpTextChatCrew = 248
    PushToTalk = 249
    CreatorLS = 250
    CreatorRS = 251
    CreatorLT = 252
    CreatorRT = 253
    CreatorMenuToggle = 254
    CreatorAccept = 255
    CreatorDelete = 256
    Attack2 = 257
    RappelJump = 258
    RappelLongJump = 259
    RappelSmashWindow = 260
    PrevWeapon = 261
    NextWeapon = 262
    MeleeAttack1 = 263
    MeleeAttack2 = 264
    Whistle = 265
    MoveLeft = 266
    MoveRight = 267
    MoveUp = 268
    MoveDown = 269
    LookLeft = 270
    LookRight = 271
    LookUp = 272
    LookDown = 273
    SniperZoomIn = 274
    SniperZoomOut = 275
    SniperZoomInAlternate = 276
    SniperZoomOutAlternate = 277
    VehicleMoveLeft = 278
    VehicleMoveRight = 279
    VehicleMoveUp = 280
    VehicleMoveDown = 281
    VehicleGunLeft = 282
    VehicleGunRight = 283
    VehicleGunUp = 284
    VehicleGunDown = 285
    VehicleLookLeft = 286
    VehicleLookRight = 287
    ReplayStartStopRecording = 288
    ReplayStartStopRecordingSecondary = 289
    ScaledLookLeftRight = 290
    ScaledLookUpDown = 291
    ScaledLookUpOnly = 292
    ScaledLookDownOnly = 293
    ScaledLookLeftOnly = 294
    ScaledLookRightOnly = 295
    ReplayMarkerDelete = 296
    ReplayClipDelete = 297
    ReplayPause = 298
    ReplayRewind = 299
    ReplayFfwd = 300
    ReplayNewmarker = 301
    ReplayRecord = 302
    ReplayScreenshot = 303
    ReplayHidehud = 304
    ReplayStartpoint = 305
    ReplayEndpoint = 306
    ReplayAdvance = 307
    ReplayBack = 308
    ReplayTools = 309
    ReplayRestart = 310
    ReplayShowhotkey = 311
    ReplayCycleMarkerLeft = 312
    ReplayCycleMarkerRight = 313
    ReplayFOVIncrease = 314
    ReplayFOVDecrease = 315
    ReplayCameraUp = 316
    ReplayCameraDown = 317
    ReplaySave = 318
    ReplayToggletime = 319
    ReplayToggletips = 320
    ReplayPreview = 321
    ReplayToggleTimeline = 322
    ReplayTimelinePickupClip = 323
    ReplayTimelineDuplicateClip = 324
    ReplayTimelinePlaceClip = 325
    ReplayCtrl = 326
    ReplayTimelineSave = 327
    ReplayPreviewAudio = 328
    VehicleDriveLook = 329
    VehicleDriveLook2 = 330
    VehicleFlyAttack2 = 331
    RadioWheelUpDown = 332
    RadioWheelLeftRight = 333
    VehicleSlowMoUpDown = 334
    VehicleSlowMoUpOnly = 335
    VehicleSlowMoDownOnly = 336
    VehicleHydraulicsControlToggle = 337
    VehicleHydraulicsControlLeft = 338
    VehicleHydraulicsControlRight = 339
    VehicleHydraulicsControlUp = 340
    VehicleHydraulicsControlDown = 341
    VehicleHydraulicsControlLeftRight = 342
    VehicleHydraulicsControlUuDown = 343
    SwitchVisor = 344
    VehicleMeleeHold = 345
    VehicleMeleeLeft = 346
    VehicleMeleeRight = 347
    MapPointOfInterest = 348
    ReplaySnapmaticPhoto = 349
    VehicleCarJump = 350
    VehicleRocketBoost = 351
    VehicleFlyBoost = 352
    VehicleParachute = 353
    VehicleBikeWings = 354
    VehicleFlyBombBay = 355
    VehicleFlyCounter = 356
    VehicleFlyTransform = 357
    QuadLocoReverse = 358
    RespawnFaster = 359
    HudmarkerSelect = 360
    EatSnack = 361
    UseArmor = 362
    VehicleShiftGearUp = 363
    VehicleShiftGearDown = 364

class CrClipAsset:
    ClipDictionary: CrClipDictionary
    ClipName: str
    @overload
    def __init__(self, clipDictName: str, animName: str) -> None: ...
    @overload
    def __init__(self, clipDict: CrClipDictionary, animName: str) -> None: ...
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...
    def HashClipName(self) -> AtHashValue: ...
    @overload
    def Equals(self, other: CrClipAsset) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...
    def Deconstruct(self, clipDict: CrClipDictionary, clipName: str) -> None: ...

class CrClipDictionary:
    Name: str
    Exists: bool
    IsLoaded: bool
    def __init__(self, name: str) -> None: ...
    def HashName(self) -> AtHashValue: ...
    def Request(self) -> None: ...
    def MarkAsNoLongerNeeded(self) -> None: ...
    @overload
    def Equals(self, other: CrClipDictionary) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...
    def ToString(self) -> str: ...

class CrimeType(Enum):
    None_ = 0
    PossessionGun = 1
    RunRedLight = 2
    RecklessDriving = 3
    Speeding = 4
    DriveAgainstTraffic = 5
    RidingBikeWithoutHelmet = 6
    StealVehicle = 7
    StealCar = 8
    BlockPoliceCar = 9
    StandOnPoliceCar = 10
    HitPed = 11
    HitCop = 12
    ShootPed = 13
    ShootCop = 14
    RunOverPed = 15
    RunOverCop = 16
    DestroyHeli = 17
    PedSetOnFire = 18
    CopSetOnFire = 19
    CarSetOnFire = 20
    DestroyPlane = 21
    CauseExplosion = 22
    StabPed = 23
    StabCop = 24
    DestroyVehicle = 25
    DamageToProperty = 26
    TargetCop = 27
    FirearmDischarge = 28
    ResistArrest = 29
    Molotov = 30
    ShootNonLethalPed = 31
    ShootNonLethalCop = 32
    KillCop = 33
    ShootAtCop = 34
    ShootVehicle = 35
    TerroristActivity = 36
    Hassle = 37
    ThrowGrenade = 38
    VehicleExplosion = 39
    KillPed = 40
    StealthKillCop = 41
    Suicide = 42
    Disturbance = 43
    CivilianNeedsAssistance = 44
    StealthKillPed = 45
    ShootPedSuppressed = 46
    JackDeadPed = 47
    ChainExplosion = 48

class DecoratorInterface:
    IsLocked: ClassVar[bool]
    @staticmethod
    def SetTime(entity: Entity, decoratorName: str, value: int) -> bool: ...
    @staticmethod
    def SetBool(entity: Entity, decoratorName: str, value: bool) -> bool: ...
    @staticmethod
    def SetFloat(entity: Entity, decoratorName: str, value: float) -> bool: ...
    @staticmethod
    def SetInt(entity: Entity, decoratorName: str, value: int) -> bool: ...
    @staticmethod
    def GetBool(entity: Entity, decoratorName: str) -> bool: ...
    @staticmethod
    def GetFloat(entity: Entity, decoratorName: str) -> float: ...
    @staticmethod
    def GetInt(entity: Entity, decoratorName: str) -> int: ...
    @staticmethod
    def ExistsOn(entity: Entity, decoratorName: str) -> bool: ...
    @staticmethod
    def Remove(entity: Entity, decoratorName: str) -> bool: ...
    @staticmethod
    def Register(decoratorName: str, type: DecoratorType) -> None: ...
    @staticmethod
    def IsRegisteredAsType(decoratorName: str, type: DecoratorType) -> bool: ...

class DecoratorType(Enum):
    Unknown = 0
    Float = 1
    Bool = 2
    Int = 3
    String = 4
    Time = 5

class Direction(Enum):
    Forwards = 0
    Backwards = 1
    Any = -1

class DispatchData:
    @staticmethod
    def GetWantedLevelRadius(wantedLevel: int) -> float: ...
    @staticmethod
    def GetWantedLevelThreshold(wantedLevel: int) -> int: ...

class DrawBoxFlags(Enum):
    OutsideOnly = 1
    InsideOnly = 2
    BothSides = 3

class AnimatedBuilding:
    Handle: int
    MemoryAddress: int
    Model: Model
    Matrix: Matrix
    Rotation: Vector3
    Quaternion: Quaternion
    Position: Vector3
    @staticmethod
    def FromHandle(handle: int) -> AnimatedBuilding: ...
    def Exists(self) -> bool: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class Building:
    Handle: int
    MemoryAddress: int
    Model: Model
    Matrix: Matrix
    Rotation: Vector3
    Quaternion: Quaternion
    Position: Vector3
    @staticmethod
    def FromHandle(handle: int) -> Building: ...
    def Exists(self) -> bool: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class Entity(PoolObject):
    MemoryAddress: int
    EntityType: EntityType
    PopulationType: EntityPopulationType
    IsDead: bool
    IsAlive: bool
    HasDrawable: bool
    HasSkeleton: bool
    HasAnimationDirector: bool
    IsOwnedByShvdnScript: bool
    IsOwnedByAnyScript: bool
    OwnerScriptName: str
    Model: Model
    Opacity: int
    LodDistance: int
    IsPersistent: bool
    IsPositionFrozen: bool
    Bones: EntityBoneCollection
    Health: int
    MaxHealth: int
    HealthFloat: float
    MaxHealthFloat: float
    Matrix: Matrix
    Position: Vector3
    PositionNoOffset: Vector3
    Rotation: Vector3
    Heading: float
    SubmersionLevel: float
    HeightAboveGround: float
    Quaternion: Quaternion
    UpVector: Vector3
    RightVector: Vector3
    ForwardVector: Vector3
    LeftPosition: Vector3
    RightPosition: Vector3
    RearPosition: Vector3
    FrontPosition: Vector3
    AbovePosition: Vector3
    BelowPosition: Vector3
    Speed: float
    MaxSpeed: float
    Velocity: Vector3
    RotationVelocity: Vector3
    WorldRotationVelocity: Vector3
    LocalRotationVelocity: Vector3
    DamageRecords: EntityDamageRecordCollection
    FragmentGroupCount: int
    IsFragmentObject: bool
    IsInWater: bool
    IsInWaterStrict: bool
    WasInWater: bool
    DontLoadCollision: bool
    AllowsFreezeWaitingOnCollision: bool
    IsFireProof: bool
    IsMeleeProof: bool
    IsBulletProof: bool
    IsExplosionProof: bool
    IsCollisionProof: bool
    IsWaterCannonProof: bool
    IsSteamProof: bool
    IsSmokeProof: bool
    IsInvincible: bool
    BlocksAnyDamageButHasReactions: bool
    IsOnlyDamagedByPlayer: bool
    CanOnlyBeDamagedByRelGroup: bool
    BlocksDamageByRelGroup: bool
    ShouldRenderScorched: bool
    CanBeAutoVaulted: bool
    CanBeClimbed: bool
    IsPickupByCargobobDisabled: bool
    KeepsDamageFlagsOnCleanupMissionState: bool
    SpecificRelGroupForInflictorChecks: RelationshipGroup
    IsVisible: bool
    IsOccluded: bool
    IsRendered: bool
    IsOnFire: bool
    IsOnScreen: bool
    IsUpright: bool
    IsUpsideDown: bool
    IsInAir: bool
    UprightValue: float
    HasGravity: bool
    HasCollided: bool
    HasCollidedWithBuildingOrAnimatedBuilding: bool
    MaterialCollidingWith: MaterialHash
    VehicleCollidingWith: Vehicle
    PedCollidingWith: Ped
    PropCollidingWith: Prop
    IsCollisionEnabled: bool
    IsRecordingCollisions: bool
    AttachedBlip: Blip
    AttachedBlips: List[Blip]
    AttachedEntity: Entity
    HasPhysics: bool
    IsStatic: bool
    CenterOfGravityOffset: Vector3
    CurrentInteriorProxy: InteriorProxy
    CurrentInteriorRoomKey: int
    def IsUprightWithin(self, angleToVerticalLimit: float = 90.0) -> bool: ...
    def RemoveParticleEffects(self) -> None: ...
    def TryGetPhysicalEntityFromLastCollisionRecord(self, entity: Entity) -> bool: ...
    def SetNoCollision(self, entity: Entity, toggle: bool) -> None: ...
    @overload
    def IsInArea(self, minBounds: Vector3, maxBounds: Vector3) -> bool: ...
    @overload
    def IsInArea(self, minCoords: Vector3, maxCoords: Vector3, do3DCheck: bool, transportMode: PedTransportMode = ...) -> bool: ...
    def IsInArea(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def IsInAngledArea(self, origin: Vector3, edge: Vector3, angle: float) -> bool: ...
    @overload
    def IsInAngledArea(self, originEdge: Vector3, extentEdge: Vector3, width: float, includeZAxis: bool) -> bool: ...
    @overload
    def IsInAngledArea(self, originEdge: Vector3, extentEdge: Vector3, width: float, do3DCheck: bool, transportMode: PedTransportMode = ...) -> bool: ...
    def IsInAngledArea(self, *args: Any, **kwargs: Any) -> Any: ...
    def IsInRange(self, position: Vector3, range: float) -> bool: ...
    @overload
    def IsNearEntity(self, entity: Entity, bounds: Vector3) -> bool: ...
    @overload
    def IsNearEntity(self, entity: Entity, bounds: Vector3, do3DCheck: bool, transportMode: PedTransportMode = ...) -> bool: ...
    def IsNearEntity(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def IsTouching(self, model: Model) -> bool: ...
    @overload
    def IsTouching(self, entity: Entity) -> bool: ...
    def IsTouching(self, *args: Any, **kwargs: Any) -> Any: ...
    def AddBlip(self) -> Blip: ...
    @overload
    def Detach(self) -> None: ...
    @overload
    def Detach(self, applyVelocity: bool, noCollisionUntilClear: bool) -> None: ...
    def Detach(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def AttachTo(self, entity: Entity, position: Optional[Vector3] = None, rotation: Optional[Vector3] = None) -> None: ...
    @overload
    def AttachTo(self, entityBone: EntityBone, position: Optional[Vector3] = None, rotation: Optional[Vector3] = None) -> None: ...
    @overload
    def AttachTo(self, entity: Entity, offset: Vector3, rotation: Vector3, detachWhenDead: bool = False, detachWhenRagdoll: bool = False, activeCollisions: bool = False, useBasicAttachIfPed: bool = False, rotationOrder: EulerRotationOrder = ..., attachOffsetIsRelative: bool = True, markAsNoLongerNeededWhenDetached: bool = False) -> None: ...
    @overload
    def AttachTo(self, entityBone: EntityBone, offset: Vector3, rotation: Vector3, detachWhenDead: bool = False, detachWhenRagdoll: bool = False, activeCollisions: bool = False, useBasicAttachIfPed: bool = False, rotationOrder: EulerRotationOrder = ..., attachOffsetIsRelative: bool = True, markAsNoLongerNeededWhenDetached: bool = False) -> None: ...
    def AttachTo(self, *args: Any, **kwargs: Any) -> Any: ...
    def AttachToMatrixPhysically(self, secondEntity: Entity, secondEntityOffset: Vector3, thisEntityOffset: Vector3, rotation: Vector3, physicalStrength: float, constrainRotation: bool, doInitialWarp: bool = True, collideWithEntity: bool = False, addInitialSeparation: bool = True, rotationOrder: EulerRotationOrder = ...) -> None: ...
    def AttachToBonePhysically(self, boneOfSecondEntity: EntityBone, secondEntityOffset: Vector3, thisEntityOffset: Vector3, rotation: Vector3, physicalStrength: float, constrainRotation: bool, doInitialWarp: bool = True, collideWithEntity: bool = False, addInitialSeparation: bool = True, rotationOrder: EulerRotationOrder = ...) -> None: ...
    def AttachToMatrixPhysicallyOverrideInverseMass(self, secondEntity: Entity, secondEntityOffset: Vector3, thisEntityOffset: Vector3, rotation: Vector3, physicalStrength: float, constrainRotation: bool, doInitialWarp: bool = True, collideWithEntity: bool = False, addInitialSeparation: bool = True, rotationOrder: EulerRotationOrder = ..., invMassScaleA: float = 1.0, invMassScaleB: float = 1.0) -> None: ...
    def AttachToBonePhysicallyOverrideInverseMass(self, boneOfSecondEntity: EntityBone, secondEntityOffset: Vector3, thisEntityOffset: Vector3, rotation: Vector3, physicalStrength: float, constrainRotation: bool, doInitialWarp: bool = True, collideWithEntity: bool = False, addInitialSeparation: bool = True, rotationOrder: EulerRotationOrder = ..., invMassScaleA: float = 1.0, invMassScaleB: float = 1.0) -> None: ...
    def IsAttached(self) -> bool: ...
    def IsAttachedTo(self, entity: Entity) -> bool: ...
    def IsAttachedToAnyProp(self) -> bool: ...
    def IsAttachedToAnyPed(self) -> bool: ...
    def IsAttachedToAnyVehicle(self) -> bool: ...
    def ProcessEntityAttachments(self) -> None: ...
    def ActivatePhysics(self) -> None: ...
    def DeactivatePhysics(self) -> None: ...
    def SetToRespondToPhysicsSystem(self) -> None: ...
    def SetDamping(self, dampingType: PhysicsDampingType, dampingValue: float) -> None: ...
    def SetCenterOfGravityAtBoundCenter(self) -> None: ...
    def ApplyForce(self, direction: Vector3, rotation: Optional[Vector3] = None, forceType: ForceType = ...) -> None: ...
    def ApplyForceRelative(self, direction: Vector3, rotation: Optional[Vector3] = None, forceType: ForceType = ...) -> None: ...
    def ApplyWorldForceWorldOffset(self, force: Vector3, offset: Vector3, forceType: ForceType, scaleByMass: bool, triggerAudio: bool = False, scaleByTimeScale: bool = True) -> None: ...
    def ApplyWorldForceRelativeOffset(self, force: Vector3, offset: Vector3, forceType: ForceType, scaleByMass: bool, triggerAudio: bool = False, scaleByTimeScale: bool = True) -> None: ...
    def ApplyRelativeForceWorldOffset(self, force: Vector3, offset: Vector3, forceType: ForceType, scaleByMass: bool, triggerAudio: bool = False, scaleByTimeScale: bool = True) -> None: ...
    def ApplyRelativeForceRelativeOffset(self, force: Vector3, offset: Vector3, forceType: ForceType, scaleByMass: bool, triggerAudio: bool = False, scaleByTimeScale: bool = True) -> None: ...
    def ApplyWorldForceCenterOfMass(self, force: Vector3, forceType: ForceType, scaleByMass: bool, applyToChildren: bool = False) -> None: ...
    def ApplyRelativeForceCenterOfMass(self, force: Vector3, forceType: ForceType, scaleByMass: bool, applyToChildren: bool = False) -> None: ...
    def PlayAnimation(self, crClipAsset: CrClipAsset, blendDelta: AnimationBlendDelta, loop: bool, holdLastFrame: bool, driveToPose: bool = False, startPhase: float = 0.0, animFlags: AnimationFlags = ...) -> bool: ...
    def StopAnimation(self, crClipAsset: CrClipAsset, blendDelta: AnimationBlendDelta) -> bool: ...
    def IsPlayingAnimation(self, crClipAsset: CrClipAsset, type: EntityAnimationType = ...) -> bool: ...
    def HasFinishedAnimation(self, crClipAsset: CrClipAsset, type: EntityAnimationType = ...) -> bool: ...
    def HasAnimationEventFired(self, eventHash: AtHashValue) -> bool: ...
    def SetAnimationSpeed(self, crClipAsset: CrClipAsset, speedMultiplier: float) -> None: ...
    def SetAnimationCurrentTime(self, crClipAsset: CrClipAsset, newCurrentTime: float) -> None: ...
    def GetAnimationCurrentTime(self, crClipAsset: CrClipAsset) -> float: ...
    def GetAnimationTotalTime(self, crClipAsset: CrClipAsset) -> float: ...
    def FindAnimationEventPhase(self, crClipAsset: CrClipAsset, eventName: str, startPhase: float, endPhase: float) -> bool: ...
    def PlaySynchronizedAnim(self, scene: FwSyncedScene, anim: CrClipAsset, blendIn: AnimationBlendDelta, blendOut: Optional[AnimationBlendDelta] = None, flags: SyncedSceneFlags = ..., moverBlendIn: Optional[AnimationBlendDelta] = None) -> bool: ...
    def StopSynchronizedAnim(self, blendOut: AnimationBlendDelta, activateCollision: bool) -> bool: ...
    @staticmethod
    def PlaySynchronizedMapEntityAnim(newPos: Vector3, radius: float, propModel: Model, scene: FwSyncedScene, anim: CrClipAsset, blendIn: AnimationBlendDelta, blendOut: Optional[AnimationBlendDelta] = None, flags: SyncedSceneFlags = ..., moverBlendIn: Optional[AnimationBlendDelta] = None) -> bool: ...
    @staticmethod
    def StopSynchronizedMapEntityAnim(newPos: Vector3, radius: float, propModel: Model, blendOut: AnimationBlendDelta) -> bool: ...
    def HasClearLineOfSightTo(self, target: Entity, losFlags: IntersectFlags = ...) -> bool: ...
    def HasClearLineOfSightToAdjustForCover(self, target: Entity, losFlags: IntersectFlags = ...) -> bool: ...
    def HasClearLineOfSightToInFront(self, target: Entity) -> bool: ...
    def MarkAsMissionEntity(self, grabFromOtherScript: bool = False) -> None: ...
    def MarkAsNoLongerNeeded(self) -> None: ...
    def Delete(self) -> None: ...
    def Exists(self) -> bool: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...
    @staticmethod
    def FromHandle(handle: int) -> Entity: ...
    def SetOpacity(self, opacity: int, useSmoothOpacity: bool) -> None: ...
    def ResetOpacity(self) -> None: ...
    def GetOffsetPosition(self, offset: Vector3) -> Vector3: ...
    def GetPositionOffset(self, worldCoords: Vector3) -> Vector3: ...
    def GetSpeedVector(self, relativeToEntity: bool) -> Vector3: ...
    @overload
    def HasBeenDamagedBy(self, entity: Entity) -> bool: ...
    @overload
    def HasBeenDamagedBy(self, weapon: WeaponHash) -> bool: ...
    def HasBeenDamagedBy(self, *args: Any, **kwargs: Any) -> Any: ...
    def HasBeenDamagedByAnyWeapon(self) -> bool: ...
    def HasBeenDamagedByAnyMeleeWeapon(self) -> bool: ...
    def ClearLastWeaponDamage(self) -> None: ...
    def DetachFragmentPart(self, fragmentGroupIndex: int) -> bool: ...
    def SetShouldFreezeWaitingOnCollision(self, shouldFreeze: bool) -> None: ...
    def SetOnlyDamagedByRelGroup(self, relGroup: RelationshipGroup) -> None: ...
    def ClearOnlyDamagedByRelGroup(self) -> None: ...
    def SetNotDamagedByRelGroup(self, relGroup: RelationshipGroup) -> None: ...
    def ClearNotDamagedByRelGroup(self) -> None: ...

class EntityAnimationType(Enum):
    Script = 1
    SyncedScene = 2
    Default = 3

class EntityBone:
    Index: int
    Tag: int
    Owner: Entity
    NextSibling: EntityBone
    Parent: EntityBone
    Name: str
    IsValid: bool
    PoseMatrix: Matrix
    RelativeMatrix: Matrix
    Pose: Vector3
    PoseQuaternion: Quaternion
    PoseRotation: Vector3
    Position: Vector3
    Quaternion: Quaternion
    Rotation: Vector3
    RelativePosition: Vector3
    RelativeQuaternion: Quaternion
    RelativeRotation: Vector3
    UpVector: Vector3
    RightVector: Vector3
    ForwardVector: Vector3
    RelativeUpVector: Vector3
    RelativeRightVector: Vector3
    RelativeForwardVector: Vector3
    FragmentGroupIndex: int
    def GetOffsetPosition(self, offset: Vector3) -> Vector3: ...
    def GetRelativeOffsetPosition(self, offset: Vector3) -> Vector3: ...
    def GetPositionOffset(self, worldCoords: Vector3) -> Vector3: ...
    def GetRelativePositionOffset(self, entityOffset: Vector3) -> Vector3: ...
    def AttachToBone(self, boneOfSecondEntity: EntityBone, activeCollisions: bool = True, useBasicAttachIfPed: bool = False) -> None: ...
    def AttachToBoneYForward(self, boneOfSecondEntity: EntityBone, activeCollisions: bool = True, useBasicAttachIfPed: bool = False) -> None: ...
    def AttachToEntityPhysically(self, secondEntity: Entity, secondEntityOffset: Vector3, thisEntityOffset: Vector3, rotation: Vector3, physicalStrength: float, constrainRotation: bool, doInitialWarp: bool = True, collideWithEntity: bool = False, addInitialSeparation: bool = True, rotationOrder: EulerRotationOrder = ...) -> None: ...
    def AttachToBonePhysically(self, boneOfSecondEntity: EntityBone, secondEntityOffset: Vector3, thisEntityOffset: Vector3, rotation: Vector3, physicalStrength: float, constrainRotation: bool, doInitialWarp: bool = True, collideWithEntity: bool = False, addInitialSeparation: bool = True, rotationOrder: EulerRotationOrder = ...) -> None: ...
    def AttachToEntityPhysicallyOverrideInverseMass(self, secondEntity: Entity, secondEntityOffset: Vector3, thisEntityOffset: Vector3, rotation: Vector3, physicalStrength: float, constrainRotation: bool, doInitialWarp: bool = True, collideWithEntity: bool = False, addInitialSeparation: bool = True, rotationOrder: EulerRotationOrder = ..., invMassScaleA: float = 1.0, invMassScaleB: float = 1.0) -> None: ...
    def AttachToBonePhysicallyOverrideInverseMass(self, boneOfSecondEntity: EntityBone, secondEntityOffset: Vector3, thisEntityOffset: Vector3, rotation: Vector3, physicalStrength: float, constrainRotation: bool, doInitialWarp: bool = True, collideWithEntity: bool = False, addInitialSeparation: bool = True, rotationOrder: EulerRotationOrder = ..., invMassScaleA: float = 1.0, invMassScaleB: float = 1.0) -> None: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class EntityBoneCollection:
    Item: EntityBone
    Root: EntityBone
    Count: int
    TransformMatrix: Matrix
    Core: EntityBone
    def Contains(self, boneName: str) -> bool: ...
    def GetEnumerator(self) -> Iterable[EntityBone]: ...
    def GetHashCode(self) -> int: ...

class EntityDamageRecord:
    Victim: Entity
    Attacker: Entity
    GameTime: int
    WeaponHash: WeaponHash
    @overload
    def Deconstruct(self, attacker: Entity, weaponHash: WeaponHash, gameTime: int) -> None: ...
    @overload
    def Deconstruct(self, victim: Entity, attacker: Entity, weaponHash: WeaponHash, gameTime: int) -> None: ...
    def Deconstruct(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def Equals(self, entityDamageRecord: EntityDamageRecord) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...

class EntityDamageRecordCollection:
    def GetEnumerator(self) -> Iterable[EntityDamageRecord]: ...
    def GetAllDamageRecords(self) -> List[EntityDamageRecord]: ...

class EntityPopulationType(Enum):
    Unknown = 0
    RandomPermanent = 1
    RandomParked = 2
    RandomPatrol = 3
    RandomScenario = 4
    RandomAmbient = 5
    Permanent = 6
    Mission = 7
    Replay = 8
    Cache = 9
    Tool = 10

class EntityType(Enum):
    Invalid = 0
    Ped = 1
    Vehicle = 2
    Prop = 3

class InteriorInstance:
    Handle: int
    MemoryAddress: int
    Model: Model
    Matrix: Matrix
    Rotation: Vector3
    Quaternion: Quaternion
    Position: Vector3
    InteriorProxy: InteriorProxy
    @staticmethod
    def FromHandle(handle: int) -> InteriorInstance: ...
    def Exists(self) -> bool: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class Model:
    Hash: int
    NativeValue: int
    IsValid: bool
    IsInCdImage: bool
    IsLoaded: bool
    IsCollisionLoaded: bool
    IsAmphibiousCar: bool
    IsAmphibiousQuadBike: bool
    IsAmphibiousVehicle: bool
    IsAnimalPed: bool
    IsBicycle: bool
    IsBigVehicle: bool
    IsBike: bool
    IsBlimp: bool
    IsBoat: bool
    IsBus: bool
    IsCar: bool
    IsCargobob: bool
    IsDonk: bool
    IsElectricVehicle: bool
    IsEmergencyVehicle: bool
    IsFemalePed: bool
    IsFragment: bool
    IsGangPed: bool
    IsHelicopter: bool
    IsHumanPed: bool
    IsJetSki: bool
    IsLawEnforcementVehicle: bool
    IsLowrider: bool
    IsMlo: bool
    IsMalePed: bool
    IsMotorcycle: bool
    IsOffRoadVehicle: bool
    IsPed: bool
    IsPlane: bool
    IsProp: bool
    IsQuadBike: bool
    IsSubmarine: bool
    IsSubmarineCar: bool
    IsTank: bool
    IsTrain: bool
    IsTrailer: bool
    IsVan: bool
    IsVehicle: bool
    Dimensions: Tuple[Vector3, Vector3]
    @overload
    def __init__(self, hash: int) -> None: ...
    @overload
    def __init__(self, name: str) -> None: ...
    @overload
    def __init__(self, hash: PedHash) -> None: ...
    @overload
    def __init__(self, hash: WeaponHash) -> None: ...
    @overload
    def __init__(self, hash: VehicleHash) -> None: ...
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...
    def GetDimensions(self, min: Vector3, max: Vector3) -> None: ...
    @overload
    def Request(self) -> None: ...
    @overload
    def Request(self, timeout: int) -> bool: ...
    def Request(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def RequestCollision(self) -> None: ...
    @overload
    def RequestCollision(self, timeout: int) -> bool: ...
    def RequestCollision(self, *args: Any, **kwargs: Any) -> Any: ...
    def MarkAsNoLongerNeeded(self) -> None: ...
    @overload
    def Equals(self, model: Model) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...
    def ToString(self) -> str: ...

class AnimationFlags(Enum):
    None_ = 0
    Loop = 1
    StayInEndFrame = 2
    RepositionWhenFinished = 4
    NotInterruptable = 8
    UpperBodyOnly = 16
    Secondary = 32
    AllowRotation = 32
    ReorientWhenFinished = 64
    AbortOnPedMovement = 128
    CancelableWithMovement = 128
    Additive = 256
    TurnOffCollision = 512
    OverridePhysics = 1024
    IgnoreGravity = 2048
    ExtractInitialOffset = 4096
    ExitAfterInterrupted = 8192
    TagSyncIn = 16384
    TagSyncOut = 32768
    TagSyncContinuous = 65536
    ForceStart = 131072
    UseKinematicPhysics = 262144
    UseMoverExtraction = 524288
    HideWeapon = 1048576
    EndsInDeadPose = 2097152
    RagdollOnCollision = 4194304
    DontExitOnDeath = 8388608
    AbortOnWeaponDamage = 16777216
    DisableForcedPhysicsUpdate = 33554432
    ProcessAttachmentsOnStart = 67108864
    ExpandPedCapsuleFromSkeleton = 134217728
    UseAlternativeFirstPersonAnim = 268435456
    BlendOutWRTLastFrame = 536870912
    UseFullBlending = 1073741824

class AnimationIKControlFlags(Enum):
    None_ = 0
    DisableLegIK = 1
    DisableArmIK = 2
    DisableHeadIK = 4
    DisableTorsoIK = 8
    DisableTorsoReactIK = 16
    UseLegAllowTags = 32
    UseLegBlockTags = 64
    UseArmAllowTags = 128
    UseArmBlockTags = 256
    ProcessWeaponHandGrip = 512
    UseFirstPersonArmLeft = 1024
    UseFirstPersonArmRight = 2048
    DisableTorsoVehicleIK = 4096
    LinkedFacial = 8192

class Bone(Enum):
    SkelRoot = 0
    FacialRightEyelidLowerOuterSDK = 445
    SkelTail01 = 839
    SkelTail02 = 840
    SkelTail03 = 841
    SkelTail04 = 842
    SkelTail05 = 843
    FBRightBrowOut000 = 1356
    FBRightBrowOut001 = 1356
    FacialLeftLipCornerThicknessUpper = 1980
    FacialRightmasseter = 2064
    SkelLeftToe0 = 2108
    FacialLeftForeheadInner = 2115
    SMTorch = 2262
    BagBoneRight = 2359
    BagBoneLeft = 2449
    FacialLeftLipCornerSDK = 2844
    FacialJaw = 2849
    FacialRightLipCornerSDK = 2876
    MHRightElbow = 2992
    FacialRightCheekOuter = 3378
    SMMBackSkirtRoll = 3515
    FacialRightEyelashUpperOuter = 3594
    FacialRightEyelidLowerInnerAnalog = 3603
    FacialRightForeheadInner = 3651
    SkelLeftFinger01 = 4089
    SkelLeftFinger02 = 4090
    MHLeftCalfBack = 4115
    SkelLeftFinger31 = 4137
    SkelLeftFinger32 = 4138
    SkelLeftFinger41 = 4153
    SkelLeftFinger42 = 4154
    SkelLeftFinger11 = 4169
    SkelLeftFinger12 = 4170
    SkelLeftFinger21 = 4185
    SkelLeftFinger22 = 4186
    EORightFoot = 4246
    FacialRightEar = 4407
    FacialRightEyesackUpperOuterFurrow = 5135
    RBLeftArmRoll = 5232
    FacialLeftCheekOuterSkin = 5285
    MHHairCrown = 5749
    FacialLeftEyeball = 5956
    FacialLipUpperSDK = 6004
    IKRightHand = 6286
    RBRightThighRoll = 6442
    FacialRightEyeball = 6468
    FacialLeftEar = 6621
    FacialRightEyesackUpperOuterBulge = 6905
    SPRGonads = 7168
    FacialRightNoseUpper = 7382
    SkelLeftToe1 = 7531
    FacialLeftNoseUpper = 8120
    FacialNose = 8433
    SMLifeSaverBack = 8487
    FacialLeftUnderChin = 9038
    FacialLeftLipLowerAnalog = 9290
    MHWatch = 10040
    FacialLeftEyelashUpperOuter = 10167
    FacialLeftmasseter = 10256
    SMRightPouchesRoot = 10594
    SkelRightClavicle = 10706
    SMLeftPouchesRoot = 10754
    FBRightLipCorner000 = 11174
    FBRightLipCorner001 = 11174
    FacialRightLipCornerThicknessLower = 11194
    FacialRightUnderChin = 11252
    MHRightFinger10 = 11347
    MHRightFinger00 = 11363
    FacialRightNasolabialFurrow = 11434
    SkelPelvis = 11816
    FacialLeftEyesackUpperInnerBulge = 12074
    FacialRightTongueA = 12270
    FacialRightTongueB = 12271
    FacialRightTongueC = 12272
    FacialRightTongueD = 12273
    FacialRightTongueE = 12274
    IKHead = 12844
    FacialRightEyelashLowerInner = 13090
    FacialLeftTongueA = 13806
    FacialLeftTongueB = 13807
    FacialLeftTongueC = 13808
    FacialLeftTongueD = 13809
    FacialLeftTongueE = 13810
    FacialRightNostrilThickness = 14079
    SkelLeftFoot = 14201
    FacialLeftLipUpperThicknessH = 14286
    FacialRightLipUpperThicknessH = 14382
    FacialRightLipUpperThicknessV = 14428
    FacialLeftLipUpperThicknessV = 14524
    MHRightShoulderBladeRoot = 14858
    MHMulletRoot = 15987
    FacialLeftChinSkinBottom = 16015
    FacialLeftChinSkinTop = 16051
    MHRightKnee = 16335
    SMLeftBackSkirtRoll = 16562
    SMRightPouches = 16705
    FBTongueA000 = 16902
    FBTongueB000 = 16903
    FBTongueC000 = 16904
    FacialSkull = 16929
    FBLowerLipRoot001 = 17188
    FBLowerLipRoot000 = 17188
    FacialLeftChinSkinMid = 17447
    FBRightLipTop000 = 17719
    FBRightLipTop001 = 17719
    FacialRightEyelidLowerOuterAnalog = 17787
    SkelPelvisRoot = 17916
    SkelLeftHand = 18905
    FacialLeftChinSide = 19038
    FacialTongueA = 19068
    FacialTongueB = 19069
    FacialTongueC = 19070
    FacialTongueD = 19071
    FacialTongueE = 19072
    SMLeftPouches = 19265
    FBRightCheekBone001 = 19336
    FBRightCheekBone000 = 19336
    FacialLeftEyelashLowerInner = 19663
    BagPivot = 19729
    MHLeftShoulderBlade = 20143
    FBUpperLipRoot000 = 20178
    FBUpperLipRoot001 = 20178
    FBLeftLipTop001 = 20279
    FBLeftLipTop000 = 20279
    FXLightScale = 20536
    FacialRightForeheadUpperOuter = 20603
    FBLowerLip001 = 20623
    FBLowerLip000 = 20623
    FacialLeftForeheadUpperOuter = 20635
    SkelRightToe0 = 20781
    MHRightThighBack = 20899
    FacialRightLipUpperAnalog = 20943
    FacialLeftEyesackUpperInnerFurrow = 21159
    FBLeftCheekBone000 = 21550
    FBLeftCheekBone001 = 21550
    MHRightShoulderBlade = 21679
    FacialRightLipCornerThicknessUpper = 21699
    MHLeftElbow = 22711
    FacialRightCheekLowerBulge1 = 22939
    FacialRightCheekLowerBulge2 = 22940
    FacialLeftNasolabialFurrow = 23242
    SPRLeftEar = 23312
    SkelSpine0 = 23553
    RBLeftThighRoll = 23639
    MHLeftFingerBulge00 = 24504
    SkelNeck2 = 24532
    MHLeftThighBack = 24589
    FacialLeftEarLower = 24625
    PHRightFoot = 24806
    SkelSpine1 = 24816
    SkelSpine2 = 24817
    SkelSpine3 = 24818
    FBLeftEye000 = 25260
    FBLeftEye001 = 25260
    SPRRightEar = 25526
    FBLeftEar000 = 25657
    SkelLeftFinger00 = 26610
    SkelLeftFinger10 = 26611
    SkelLeftFinger20 = 26612
    SkelLeftFinger30 = 26613
    SkelLeftFinger40 = 26614
    FacialLeftEyelidUpperOuterAnalog = 26618
    EOLeftToe = 26813
    MHRightHandSide = 26875
    FacialLeftCheekLower = 26887
    MHRightFingerBulge00 = 27064
    FacialNoseTip = 27232
    FBRightEye000 = 27474
    FBRightEye001 = 27474
    FBRightEar000 = 27871
    SkelRightForearm = 28252
    PHRightHand = 28422
    EORightToe = 29027
    FacialChinSkinTop = 29222
    FacialLipLowerSDK = 29317
    FacialLeftNostril = 29474
    FacialRightCheekInner = 29564
    FBLeftLipCorner000 = 29868
    FBLeftLipCorner001 = 29868
    FacialRightLipUpperSDK = 30083
    FacialLeftForeheadInnerBulge = 30332
    FacialRightForeheadInnerBulge = 30364
    SMRightSkirt = 30482
    FacialLeftEyesackLower = 30491
    FacialRightEyesackLower = 30587
    FacialRightNostril = 31010
    SkelHead = 31086
    FacialRightNoseLowerThickness = 31093
    FacialLipUpperThicknessV = 31105
    FacialLipUpperThicknessH = 31123
    FacialLeftNoseLowerThickness = 31189
    FacialRightEyelidUpperInnerAnalog = 31843
    FacialRightEyelidUpper = 32276
    FacialRightEyelidLower = 32735
    FacialRightEarLower = 32817
    FacialLeftCheekOuter = 33121
    FacialRightEyelashUpperInner = 33138
    FacialLeftEyelidLowerInnerAnalog = 33346
    SPRCopRadio = 33349
    EOLeftFoot = 33989
    SMRightFrontSkirtRoll = 34545
    MHLeftShoulderBladeRoot = 34577
    SPRRightBreast = 34911
    FXLight = 35161
    FacialChinSkinMid = 35226
    FacialUnderChin = 35477
    IKRightFoot = 35502
    RBNeck1 = 35731
    MHLeftFinger10 = 35923
    MHLeftFinger00 = 35939
    IKLeftHand = 36029
    FacialLeftForeheadOuter = 36299
    FacialLeftLipUpperSDK = 36656
    FacialRightForeheadOuter = 36811
    SkelRightCalf = 36864
    RBRightArmRoll = 37119
    FBBrowCentre000 = 37193
    FBBrowCentre001 = 37193
    FacialForehead = 37400
    MHRightSleeve = 37596
    MHLeftSleeve = 37692
    FacialRightJawRecess = 37844
    SMLifeSaverFront = 37920
    SkelSADDLE = 38180
    FacialLeftEyelidUpper = 38849
    FacialChinSkinBottom = 39100
    FacialLeftEyelidLower = 39308
    SkelNeck1 = 39317
    FacialLeftEyelashUpperInner = 39711
    SMLeftFrontSkirtRoll = 39785
    FacialNoseBridge = 39843
    FacialLeftJawRecess = 40058
    SMCockNBalls = 40244
    SkelRightUpperArm = 40269
    FacialRightChinSkinBottom = 40591
    FacialRightEyesackUpperInnerFurrow = 40878
    FacialRightLipLowerSDK = 41012
    FacialNoseUpper = 41039
    MHBlushSlider = 41166
    MHMulletScaler = 41410
    MHLeftFingerTop00 = 41540
    FacialRightEyesackUpperInnerBulge = 41817
    FacialLeftEyesackUpperOuterBulge = 42329
    FBRightLidUpper000 = 43536
    FBRightLidUpper001 = 43536
    FacialRightChinSide = 43614
    RBRightForeArmRoll = 43810
    BagBody = 43885
    BagRoot = 44297
    FacialLeftEyelidUpperOuterSDK = 44821
    FacialRightTemple = 44825
    FacialLefttemple = 44921
    MHRightCalfBack = 45075
    FacialRightEyelidUpperOuterSDK = 45333
    SkelLeftUpperArm = 45509
    FacialLeftLipUpperAnalog = 45519
    SkelRightToe1 = 45631
    FBLeftLidUpper001 = 45750
    FBLeftLidUpper000 = 45750
    FacialRightCheekOuterSkin = 45876
    MHLeftKnee = 46078
    FBJaw000 = 46240
    FBJaw001 = 46240
    FacialChin = 46456
    BagPivotRoot = 47158
    FBLeftLipBot001 = 47419
    FBLeftLipBot000 = 47419
    FBTongue001 = 47495
    FBTongue000 = 47495
    FacialLeftEyelidLowerOuterAnalog = 47530
    FacialLeftLipLowerSDK = 47585
    FacialRightEyelashLowerOuter = 48713
    SPRGonadsRoot = 49118
    SMRightBackSkirtRoll = 49473
    FacialLeftNostrilThickness = 49503
    FacialRightLipLowerAnalog = 49881
    FBRightLipBot001 = 49979
    FBRightLipBot000 = 49979
    SMLeftSkirt = 50201
    FacialLeftEyesackUpperOuterFurrow = 50583
    FacialLipLowerThicknessV = 50619
    FacialLipLowerThicknessH = 50669
    MHHairScale = 50788
    FacialLeftLipLowerThicknessH = 50811
    SMCockNBallsRoot = 50813
    FacialRightLipLowerThicknessH = 50907
    FacialRightLipLowerThicknessV = 50921
    FacialLeftLipLowerThicknessV = 51017
    MHLeftHandSide = 51082
    MHRightConcertinaA = 51431
    MHRightConcertinaB = 51432
    MHLeftConcertinaA = 51591
    MHLeftConcertinaB = 51592
    SkelRightThigh = 51826
    SkelRightFoot = 52301
    FacialLeftNasolabialBulge = 52600
    SMMFrontSkirtRoll = 52667
    FacialRightForeheadUpperInner = 52979
    FacialLeftForeheadUpperInner = 53011
    SkelPelvis1 = 53251
    FacialLeftEyelidUpperInnerSDK = 54081
    FacialRightEyelidUpperInnerSDK = 54593
    FacialRightNasolabialBulge = 54814
    FacialLeftEyelashLowerOuter = 55286
    FacialLipLowerAnalog = 55675
    SMSuitBackFlapper = 55853
    IKRoot = 56604
    FacialLeftLipCornerThicknessLower = 56642
    SkelRightHand = 57005
    FacialNoseLower = 57434
    FacialLipUpperAnalog = 57444
    SkelSpineRoot = 57597
    PHLeftFoot = 57717
    FXLightSwitch = 57742
    SkelLeftThigh = 58271
    FBLeftBrowOut001 = 58331
    FBLeftBrowOut000 = 58331
    FacialLeftCheekLowerBulge1 = 58363
    FacialLeftCheekLowerBulge2 = 58364
    FacialLeftLipCornerAnalog = 58728
    SkelRightFinger00 = 58866
    SkelRightFinger10 = 58867
    SkelRightFinger20 = 58868
    SkelRightFinger30 = 58869
    SkelRightFinger40 = 58870
    FacialLeftCheekInner = 59307
    PHLeftHand = 60309
    FacialRightLipCornerAnalog = 60942
    RBLeftForeArmRoll = 61007
    SkelLeftForearm = 61163
    MHRightFingerTop00 = 61259
    FacialRightChinSkinTop = 61499
    FacialLeftEyelidUpperInnerAnalog = 61586
    FacialLeftEyelidLowerInnerSDK = 61777
    FBUpperLip000 = 61839
    FBUpperLip001 = 61839
    FacialRightEyelidUpperOuterAnalog = 62042
    FacialRightEyelidLowerInnerSDK = 62289
    FacialRightCheekLower = 62311
    FacialRightChinSkinMid = 62895
    FacialForeheadUpper = 63446
    SkelLeftCalf = 63931
    SkelRightFinger01 = 64016
    SkelRightFinger02 = 64017
    SkelRightFinger31 = 64064
    SkelRightFinger32 = 64065
    SkelRightFinger41 = 64080
    SkelRightFinger42 = 64081
    SkelRightFinger11 = 64096
    SkelRightFinger12 = 64097
    SkelRightFinger21 = 64112
    SkelRightFinger22 = 64113
    SPRLeftBreast = 64654
    SkelLeftClavicle = 64729
    FacialRoot = 65068
    FacialLeftEyelidLowerOuterSDK = 65100
    IKLeftFoot = 65245
    Invalid = -1

class CombatAbility(Enum):
    Poor = 0
    Average = 1
    Professional = 2

class CombatAttributes(Enum):
    CanUseCover = 0
    CanUseVehicles = 1
    CanDoDrivebys = 2
    CanLeaveVehicle = 3
    CanUseDynamicStrafeDecisions = 4
    AlwaysFight = 5
    FleeWhilstInVehicle = 6
    WillScanForDeadPeds = 9
    JustSeekCover = 11
    BlindFireWhenInCover = 12
    Aggressive = 13
    CanInvestigate = 14
    HasRadio = 15
    AlwaysFlee = 17
    ForceInjuredOnGround = 18
    DisableInjuredOnGround = 19
    CanTauntInVehicle = 20
    CanChaseTargetOnFoot = 21
    WillDragInjuredPedsToSafety = 22
    RequiresLosToShoot = 23
    UseProximityFiringRate = 24
    DisableSecondaryTarget = 25
    DisableEntryReactions = 26
    PerfectAccuracy = 27
    CanUseFrustratedAdvance = 28
    MoveToLocationBeforeCoverSearch = 29
    CanShootWithoutLos = 30
    MaintainMinDistanceToTarget = 31
    IgnoreHatedPedsInFastMovingVehicles = 32
    UseProximityAccuracy = 33
    CanUsePeekingVariations = 34
    DisablePinnedDown = 35
    DisablePinDownOthers = 36
    ClearAreaSetDefensiveIfDefensiveAreaReached = 37
    DisableBulletReactions = 38
    CanBust = 39
    IgnoredByOtherPedsWhenWanted = 40
    CanCommandeerVehicles = 41
    CanFlank = 42
    SwitchToAdvanceIfCantFindCover = 43
    SwitchToDefensiveIfInCover = 44
    ClearPrimaryDefensiveAreaWhenReached = 45
    CanFightArmedPedsWhenNotArmed = 46
    EnableTacticalPointsWhenDefensive = 47
    DisableCoverArcAdjustments = 48
    UseEnemyAccuracyScaling = 49
    CanCharge = 50
    ClearAreaSetAdvanceIfDefensiveAreaReached = 51
    UseVehicleAttack = 52
    UseVehicleAttackIfVehicleHasMountedGuns = 53
    AlwaysEquipBestWeapon = 54
    CanSeeUnderwaterPeds = 55
    DisableAimAtAITargetsInHelis = 56
    DisableSeekDueToLineOfSight = 57
    DisableFleeFromCombat = 58
    DisableTargetChangesDuringVehiclePursuit = 59
    CanThrowSmokeGrenade = 60
    NonMissionPedsFleeFromThisPedUnlessArmed = 61
    ClearAreaSetDefensiveIfDefensiveCannotBeReached = 62
    FleesFromInvincibleOpponents = 63
    DisableBlockFromPursueDuringVehicleChase = 64
    DisableSpinOutDuringVehicleChase = 65
    DisableCruiseInFrontDuringBlockDuringVehicleChase = 66
    CanIgnoreBlockedLosWeighting = 67
    DisableReactToBuddyShot = 68
    PreferNavmeshDuringVehicleChase = 69
    AllowedToAvoidOffroadDuringVehicleChase = 70
    PermitChargeBeyondDefensiveArea = 71
    UseRocketsAgainstVehiclesOnly = 72
    DisableTacticalPointsWithoutClearLos = 73
    DisablePullAlongsideDuringVehicleChase = 74
    DisableShoutTargetPosition = 75
    SetDisableShoutTargetPositionOnCombatStart = 76
    DisableRespondedToThreatBroadcast = 77
    DisableAllRandomsFlee = 78
    WillGenerateDeadPedSeenScriptEvents = 79
    UseMaxSenseRangeWhenReceivingEvents = 80
    RestrictInVehicleAimingToCurrentSide = 81
    UseDefaultBlockedLosPositionAndDirection = 82
    RequiresLosToAim = 83
    CruiseAndBlockInVehicle = 84
    PreferAirCombatWhenInAircraft = 85
    AllowDogFighting = 86
    PreferNonAircraftTargets = 87
    PreferKnownTargetsWhenCombatClosestTarget = 88
    ForceCheckAttackAngleForMountedGuns = 89
    BlockFireForVehiclePassengerMountedGuns = 90

class CombatFloatAttributes(Enum):
    BlindFireChance = 0
    BurstDurationInCover = 1
    MaxShootingDistance = 2
    TimeBetweenBurstsInCover = 3
    TimeBetweenPeeks = 4
    StrafeWhenMovingChance = 5
    WeaponAccuracy = 6
    FightProficiency = 7
    WalkWhenStrafingChance = 8
    HeliSpeedModifier = 9
    HeliSensesRange = 10
    AttackWindowDistanceForCover = 11
    TimeToInvalidateInjuredTarget = 12
    MinimumDistanceToTarget = 13
    BulletImpactDetectionRange = 14
    AimTurnThreshold = 15
    OptimalCoverDistance = 16
    AutomobileSpeedModifier = 17
    SpeedToFleeInVehicle = 18
    TriggerChargeTimeFar = 19
    TriggerChargeTimeNear = 20
    MaxDistanceToHearEvents = 21
    MaxDistanceToHearEventsUsingLOS = 22
    HomingRocketBreakLockAngle = 23
    HomingRocketBreakLockAngleClose = 24
    HomingRocketBreakLockCloseDistance = 25
    HomingRocketTurnRateModifier = 26
    TimeBetweenAggressiveMovesDuringVehicleChase = 27
    MaxVehicleTurretFiringRange = 28
    WeaponDamageModifier = 29
    UnarmedDamageModifier = 30

class CombatMovement(Enum):
    Stationary = 0
    Defensive = 1
    WillAdvance = 2
    WillRetreat = 3

class CombatRange(Enum):
    Near = 0
    Medium = 1
    Far = 2
    VeryFar = 3

class DecisionMaker:
    Hash: DecisionMakerTypeHash
    NativeValue: int
    IsNullValue: bool
    @overload
    def __init__(self, hash: DecisionMakerTypeHash) -> None: ...
    @overload
    def __init__(self, hash: int) -> None: ...
    @overload
    def __init__(self, hash: int) -> None: ...
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...
    @overload
    def Equals(self, group: DecisionMaker) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...
    def ToString(self) -> str: ...

class DecisionMakerTypeHash(Enum):
    Family = 389469343
    Rat = 570755475
    Shark = 580191176
    OffDutyEmt = 756351882
    Gull = 872620134
    DomesticAnimal = 899759671
    Base = 1155669136
    Cat = 1157867945
    Fish = 1630085303
    Player = 1862763509
    WildAnimal = 2274167504
    Dog = 2332652347
    Horse = 2510745927
    Swat = 2558032230
    Cop = 2761840924
    SmallAnimal = 2935583381
    Medic = 2957130400
    Empty = 3151330285
    Gang = 3154537368
    Hen = 3222287865
    Security = 3222549788
    Rabbit = 3443217914
    Cougar = 3457367416
    Default = 3839837909
    Fireman = 4230784871

class EventType(Enum):
    AcquaintancePedDislike = 0
    AcquaintancePedHate = 1
    AcquaintancePedLike = 2
    AcquaintancePedRespect = 3
    AcquaintancePedWanted = 4
    AcquaintancePedDead = 5
    Agitated = 6
    AgitatedAction = 7
    EncroachingPed = 8
    CallForCover = 9
    CarUndriveable = 10
    ClimbLadderOnRoute = 11
    ClimbNavmeshOnRoute = 12
    CombatTaunt = 13
    CommunicateEvent = 14
    CopCarBeingStolen = 15
    CrimeReported = 16
    Damage = 17
    DeadPedFound = 18
    Death = 19
    DraggedOutCar = 20
    DummyConversion = 21
    Explosion = 22
    ExplosionHeard = 23
    FireNearby = 24
    FlushTasks = 25
    FootStepHeard = 26
    GetOutOfWater = 27
    GivePedTask = 28
    GunAimedAt = 29
    HelpAmbientFriend = 30
    InjuredCryForHelp = 31
    CrimeCryForHelp = 32
    InAir = 33
    InWater = 34
    Incapacitated = 35
    LeaderEnteredCarAsDriver = 36
    LeaderEnteredCover = 37
    LeaderExitedCarAsDriver = 38
    LeaderHolsteredWeapon = 39
    LeaderLeftCover = 40
    LeaderUnholsteredWeapon = 41
    MeleeAction = 42
    MustLeaveBoat = 43
    NewTask = 44
    None_ = 45
    ObjectCollision = 46
    OnFire = 47
    OpenDoor = 48
    ShovePed = 49
    PedCollisionWithPed = 50
    PedCollisionWithPlayer = 51
    PedEnteredMyVehicle = 52
    PedJackingMyVehicle = 53
    PedOnCarRoof = 54
    PedToChase = 55
    PedToFlee = 56
    PlayerCollisionWithPed = 57
    PlayerLockOnTarget = 58
    PotentialBeWalkedInto = 59
    PotentialBlast = 60
    PotentialGetRunOver = 61
    PotentialWalkIntoFire = 62
    PotentialWalkIntoObject = 63
    PotentialWalkIntoVehicle = 64
    ProvidingCover = 65
    RadioTargetPosition = 66
    RanOverPed = 67
    ReactionCombatVictory = 68
    ReactionEnemyPed = 69
    ReactionInvestigateDeadPed = 70
    ReactionInvestigateThreat = 71
    RequestHelpWithConfrontation = 72
    RespondedToThreat = 73
    Revived = 74
    ScriptCommand = 75
    ShockingBrokenGlass = 76
    ShockingCarAlarm = 77
    ShockingCarChase = 78
    ShockingCarCrash = 79
    ShockingBicycleCrash = 80
    ShockingCarPileUp = 81
    ShockingCarOnCar = 82
    ShockingDangerousAnimal = 83
    ShockingDeadBody = 84
    ShockingDrivingOnPavement = 85
    ShockingBicycleOnPavement = 86
    ShockingEngineRevved = 87
    ShockingExplosion = 88
    ShockingFire = 89
    ShockingGunFight = 90
    ShockingGunshotFired = 91
    ShockingHelicopterOverhead = 92
    ShockingParachuterOverhead = 93
    ShockingPedKnockedIntoByPlayer = 94
    ShockingHornSounded = 95
    ShockingInDangerousVehicle = 96
    ShockingInjuredPed = 97
    ShockingMadDriver = 98
    ShockingMadDriverExtreme = 99
    ShockingMadDriverBicycle = 100
    ShockingMugging = 101
    ShockingNonViolentWeaponAimedAt = 102
    ShockingPedRunOver = 103
    ShockingPedShot = 104
    ShockingPlaneFlyBy = 105
    ShockingPotentialBlast = 106
    ShockingPropertyDamage = 107
    ShockingRunningPed = 108
    ShockingRunningStampede = 109
    ShockingSeenCarStolen = 110
    ShockingSeenConfrontation = 111
    ShockingSeenGangFight = 112
    ShockingSeenInsult = 113
    ShockingSeenMeleeAction = 114
    ShockingSeenNiceCar = 115
    ShockingSeenPedKilled = 116
    ShockingSeenVehicleTowed = 117
    ShockingSeenWeaponThreat = 118
    ShockingSeenWeirdPed = 119
    ShockingSeenWeirdPedApproaching = 120
    ShockingSiren = 121
    ShockingStudioBomb = 122
    ShockingVisibleWeapon = 123
    ShotFired = 124
    ShotFiredBulletImpact = 125
    ShotFiredWhizzedBy = 126
    FriendlyAimedAt = 127
    FriendlyFireNearMiss = 128
    ShoutBlockingLos = 129
    ShoutTargetPosition = 130
    StaticCountReachedMax = 131
    StuckInAir = 132
    SuspiciousActivity = 133
    Switch2NmTask = 134
    UnidentifiedPed = 135
    VehicleCollision = 136
    VehicleDamageWeapon = 137
    VehicleOnFire = 138
    WhistlingHeard = 139
    Disturbance = 140
    EntityDamaged = 141
    EntityDestroyed = 142
    Writhe = 143
    HurtTransition = 144
    PlayerUnableToEnterVehicle = 145
    ScenarioForceAction = 146
    StatValueChanged = 147
    PlayerDeath = 148
    PedSeenDeadPed = 149
    Invalid = -1

class FiringPattern(Enum):
    Default = 0
    BurstFirePumpShotGun = 12239771
    BurstInCover = 40051185
    FromGround = 577037782
    ChernoBarrage = 703122589
    BurstFireMicro = 1122960381
    BurstFireBursts = 1122960381
    AkulaBarrage = 1392378214
    SingleShot = 1566631136
    DelayFireByOneSec = 2055493265
    Pounder2Barrage = 2228901467
    BurstFireHeli = 2437838959
    TampaMortar = 2452873343
    BurstFireRifle = 2624893958
    BurstFirePistol = 2685983626
    HunterBarrage = 2905356422
    BurstFireMG = 3044263348
    FullAuto = 3337513804
    BurstFireSMG = 3507334638
    BurstFireDriveby = 3541198322
    BurstFire = 3607063905
    BurstFireTank = 3804904049

class FleeAttributes(Enum):
    UseCover = 1
    UseVehicle = 2
    CanScream = 4
    PreferPavements = 8
    WanderAtEnd = 16
    LookForCrowds = 32
    ReturnToOriginalPositionAfterFlee = 64
    DisableHandsUp = 128
    UpdateToNearestHatedPed = 256
    NeverFlee = 512
    DisableCover = 1024
    DisableExitVehicle = 2048
    DisableReverseInVehicle = 4096
    DisableAccelerateInVehicle = 8192
    DisableFleeFromIndirectThreats = 16384
    CowerInsteadOfFlee = 32768
    ForceExitVehicle = 65536
    DisableHesitateInVehicle = 131072
    DisableAmbientClips = 262144

class FollowNavMeshFlags(Enum):
    Default = 0
    NoStopping = 1
    AdvancedSlideToCoordAndAchieveHeadingAtEnd = 2
    GoFarAsPossibleIfTargetNavmeshNotLoaded = 4
    AllowSwimmingUnderwater = 8
    KeepToPavements = 16
    NeverEnterWater = 32
    DontAvoidObjects = 64
    AdvancedUseMaxSlopeNavigable = 128
    AccurateWalkRunStart = 1024
    DontAvoidPeds = 2048
    DontAdjustTargetPosition = 4096
    SuppressExactStop = 8192
    AdvancedUseClampMaxSearchDistance = 16384
    PullFromEdgeExtra = 32768

class ForceAnimAIUpdateState(Enum):
    Default = 0
    CutsceneExit = 1

class Formation(Enum):
    Loose = 0
    Default = 0
    SurroundFacingInwards = 1
    Circle1 = 1
    SurroundFacingAhead = 2
    Circle2 = 2
    LineAbreast = 3
    FollowInLine = 4
    Line = 4

class Gender(Enum):
    Male = 0
    Female = 1

class Helmet(Enum):
    RegularMotorcycleHelmet = 4096
    FiremanHelmet = 16384
    PilotHeadset = 32768

class HelmetPropFlags(Enum):
    None_ = 0
    Bulky = 1
    Job = 2
    Sunny = 4
    Wet = 8
    Cold = 16
    NotInCar = 32
    BikeOnly = 64
    NotIndoors = 128
    FireRetardent = 256
    Armored = 512
    LightlyArmored = 1024
    HighDetail = 2048
    DefaultHelmet = 4096
    RandomHelmet = 8192
    ScriptHelmet = 16384
    FlightHelmet = 32768
    HideInFirstPerson = 65536
    UsePhysicsHat2 = 131072
    PilotHelmet = 262144

class IKPart(Enum):
    Head = 1
    ArmLeft = 3
    ArmRight = 4

class IKTargetFlags(Enum):
    Default = 0
    ArmTargetWrtHandBone = 1
    ArmTargetWrtPointHelper = 2
    ArmTargetWrtIKHelper = 4
    IKTagModeNormal = 8
    IKTagModeAllow = 16
    IKTagModeBlock = 32
    IKArmUseOrientation = 64

class KnockOffVehicleType(Enum):
    Default = 0
    Never = 1
    Easy = 2
    Hard = 3

class LookAtFlags(Enum):
    Default = 0
    SlowTurnRate = 1
    FastTurnRate = 2
    ExtendYawLimit = 4
    ExtendPitchLimit = 8
    WidestYawLimit = 16
    WidestPitchLimit = 32
    NarrowYawLimit = 64
    NarrowPitchLimit = 128
    NarrowestYawLimit = 256
    NarrowestPitchLimit = 512
    WhileNotInFov = 2048
    UseCameraFocus = 4096
    UseEyesOnly = 8192
    UseLookDir = 16384

class LookAtPriority(Enum):
    VeryLow = 0
    Low = 1
    Medium = 2
    High = 3
    VeryHigh = 4

class NavMeshBlockingObject(PoolObject):
    @staticmethod
    def Create(position: Vector3, size: Vector3, headingDegrees: float, flags: NavMeshBlockingObjectFlags = ...) -> NavMeshBlockingObject: ...
    def Delete(self) -> None: ...
    def Exists(self) -> bool: ...
    def Update(self, position: Vector3, size: Vector3, headingDegrees: float, flags: NavMeshBlockingObjectFlags) -> None: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class NavMeshBlockingObjectFlags(Enum):
    Default = 0
    WanderPath = 1
    ShortestPath = 2
    FleePath = 4
    AllPaths = 7

class NavMeshRouteResult(Enum):
    TaskNotFound = 0
    RouteNotYetTried = 1
    RouteNotFound = 2
    RouteFound = 3

class ParachuteLandingType(Enum):
    Invalid = 0
    Slow = 1
    Stumbling = 1
    Regular = 2
    Rolling = 2
    Fast = 3
    Ragdoll = 3
    Crashing = 4
    Water = 5
    None_ = -1

class ParachuteState(Enum):
    FreeFalling = 0
    Deploying = 1
    Gliding = 2
    LandingOrFallingToDoom = 3
    None_ = -1

class Ped(Entity):
    PedType: PedType
    IsHuman: bool
    IsCuffed: bool
    CanWearHelmet: bool
    IsWearingHelmet: bool
    IsTakingOffHelmet: bool
    Style: Style
    Gender: Gender
    Sweat: float
    WetnessHeight: float
    LowerWetnessHeight: float
    UpperWetnessHeight: float
    LowerWetnessLevel: float
    UpperWetnessLevel: float
    IsWet: bool
    Armor: int
    ArmorFloat: float
    Money: int
    MaxHealth: int
    IsPlayer: bool
    PedConfigFlags: PedConfigFlags
    PedResetFlags: PedResetFlags
    Bones: PedBoneCollection
    IsIdle: bool
    IsProne: bool
    IsGettingUp: bool
    IsDiving: bool
    IsJumping: bool
    IsFalling: bool
    IsVaulting: bool
    IsClimbing: bool
    IsClimbingLadder: bool
    IsWalking: bool
    IsRunning: bool
    IsSprinting: bool
    IsStopped: bool
    IsSwimming: bool
    IsSwimmingUnderWater: bool
    IsDucking: bool
    KeepTaskWhenMarkedAsNoLongerNeeded: bool
    AlwaysKeepTask: bool
    Task: TaskInvoker
    TaskSequenceProgress: int
    CurrentScriptTaskNameHash: ScriptTaskNameHash
    CurrentScriptTaskStatus: ScriptTaskStatus
    DecisionMaker: DecisionMaker
    BlockPermanentEvents: bool
    RandomPedsBlockingNonTempEventsThisFrame: bool
    IsRagdoll: bool
    IsRunningRagdollTask: bool
    CanRagdoll: bool
    Euphoria: Euphoria
    Accuracy: int
    ShootRate: int
    FiringPattern: FiringPattern
    CombatMovement: CombatMovement
    CombatAbility: CombatAbility
    CombatRange: CombatRange
    TargetLossResponse: TargetLossResponse
    Weapons: WeaponCollection
    VehicleWeapon: VehicleWeaponHash
    CanSwitchWeapons: bool
    IsOnBike: bool
    IsOnFoot: bool
    IsInSub: bool
    IsInTaxi: bool
    IsInTrain: bool
    IsInHeli: bool
    IsInPlane: bool
    IsInFlyingVehicle: bool
    IsInBoat: bool
    IsInPoliceVehicle: bool
    IsGettingIntoVehicle: bool
    IsEnteringVehicle: bool
    IsExitingVehicle: bool
    IsJumpingOutOfVehicle: bool
    IsTryingToEnterALockedVehicle: bool
    CanBeDraggedOutOfVehicle: bool
    KnockOffVehicleType: KnockOffVehicleType
    CanBeKnockedOffVehicle: bool
    CanBeKnockedOffBike: bool
    CanFlyThroughWindscreen: bool
    LastVehicle: Vehicle
    CurrentVehicle: Vehicle
    VehicleTryingToEnter: Vehicle
    GroundEntity: Entity
    SeatIndex: VehicleSeat
    DrivingSpeed: float
    MaxDrivingSpeed: float
    DrivingStyle: DrivingStyle
    VehicleDrivingFlags: VehicleDrivingFlags
    DrivingAggressiveness: float
    IsJacking: bool
    IsBeingJacked: bool
    StaysInVehicleWhenJacked: bool
    Jacker: Ped
    JackTarget: Ped
    IsInParachuteFreeFall: bool
    ParachuteState: ParachuteState
    ParachuteLandingType: ParachuteLandingType
    IsEnemy: bool
    IsPriorityTargetForEnemies: bool
    IsFleeing: bool
    IsInjured: bool
    IsInStealthMode: bool
    IsInCombat: bool
    IsInMeleeCombat: bool
    IsAiming: bool
    IsPlantingBomb: bool
    IsShooting: bool
    IsReloading: bool
    IsDoingDriveBy: bool
    IsGoingIntoCover: bool
    IsAimingFromCover: bool
    IsBeingStunned: bool
    IsInCover: bool
    IsInCoverFacingLeft: bool
    CanBeTargetted: bool
    CanBeShotInVehicle: bool
    WasKilledByStealth: bool
    WasKilledByTakedown: bool
    CombatTarget: Ped
    IsPerformingMeleeAction: bool
    IsPerformingStealthKill: bool
    IsPerformingCounterAttack: bool
    IsBeingStealthKilled: bool
    MeleeTarget: Ped
    Killer: Entity
    CauseOfDeath: WeaponHash
    TimeOfDeath: int
    CanWrithe: bool
    CanSufferCriticalHits: bool
    DiesOnLowHealth: bool
    DiesInstantlyInWater: bool
    DrownsInWater: bool
    DrownsInSinkingVehicle: bool
    DropsEquippedWeaponOnDeath: bool
    InjuryHealthThreshold: float
    FatalInjuryHealthThreshold: float
    LastWeaponImpactPosition: Vector3
    RelationshipGroup: RelationshipGroup
    SeeingRange: float
    HearingRange: float
    VisualFieldMinAngle: float
    VisualFieldMaxAngle: float
    VisualFieldMinElevationAngle: float
    VisualFieldMaxElevationAngle: float
    VisualFieldPeripheralRange: float
    VisualFieldCenterAngle: float
    IsInGroup: bool
    NeverLeavesGroup: bool
    PedGroup: PedGroup
    IsPainAudioEnabled: bool
    IsAmbientSpeechPlaying: bool
    IsScriptedSpeechPlaying: bool
    IsAnySpeechPlaying: bool
    IsAmbientSpeechEnabled: bool
    Voice: str
    CanPlayGestures: bool
    MovementAnimationSet: str
    MoveNetworkTaskInterface: PedMoveNetworkTaskInterface
    @overload
    def PlayAmbientSpeech(self, speechName: str, modifier: SpeechModifier = ...) -> None: ...
    @overload
    def PlayAmbientSpeech(self, speechName: str, voiceName: str, modifier: SpeechModifier = ...) -> None: ...
    def PlayAmbientSpeech(self, *args: Any, **kwargs: Any) -> Any: ...
    def StopCurrentPlayingSpeech(self) -> None: ...
    def StopCurrentPlayingAmbientSpeech(self) -> None: ...
    def SetMovementClipSet(self, clipSet: ClipSet, blendDuration: Optional[AnimationBlendDuration] = None) -> None: ...
    def ResetMovementClipSet(self, blendDuration: Optional[AnimationBlendDuration] = None) -> None: ...
    def SetStrafeClipSet(self, clipSet: ClipSet) -> None: ...
    def ResetStrafeClipSet(self) -> None: ...
    def SetWeaponMovementClipSet(self, clipSet: ClipSet) -> None: ...
    def ResetWeaponMovementClipSet(self) -> None: ...
    def ApplyWorldForceWorldOffset(self, force: Vector3, offset: Vector3, forceType: ForceType, component: RagdollComponent, scaleByMass: bool, triggerAudio: bool = False, scaleByTimeScale: bool = True) -> None: ...
    def ApplyWorldForceRelativeOffset(self, force: Vector3, offset: Vector3, forceType: ForceType, component: RagdollComponent, scaleByMass: bool, triggerAudio: bool = False, scaleByTimeScale: bool = True) -> None: ...
    def ApplyRelativeForceWorldOffset(self, force: Vector3, offset: Vector3, forceType: ForceType, component: RagdollComponent, scaleByMass: bool, triggerAudio: bool = False, scaleByTimeScale: bool = True) -> None: ...
    def ApplyRelativeForceRelativeOffset(self, force: Vector3, offset: Vector3, forceType: ForceType, component: RagdollComponent, scaleByMass: bool, triggerAudio: bool = False, scaleByTimeScale: bool = True) -> None: ...
    def ApplyWorldForceCenterOfMass(self, force: Vector3, forceType: ForceType, component: RagdollComponent, scaleByMass: bool, applyToChildren: bool = False) -> None: ...
    def ApplyRelativeForceCenterOfMass(self, force: Vector3, forceType: ForceType, component: RagdollComponent, scaleByMass: bool, applyToChildren: bool = False) -> None: ...
    @overload
    def SetIKTarget(self, ikPart: IKPart, targetBone: PedBone, targetOffset: Vector3, flags: IKTargetFlags, blendInTimeMS: int = -1, blendOutTimeMS: int = -1) -> None: ...
    @overload
    def SetIKTarget(self, ikPart: IKPart, targetBone: EntityBone, targetOffset: Vector3, flags: IKTargetFlags, blendInTimeMS: int = -1, blendOutTimeMS: int = -1) -> None: ...
    @overload
    def SetIKTarget(self, ikPart: IKPart, targetEntity: Entity, boneTag: int, targetOffset: Vector3, flags: IKTargetFlags, blendInTimeMS: int = -1, blendOutTimeMS: int = -1) -> None: ...
    @overload
    def SetIKTarget(self, ikPart: IKPart, target: Vector3, flags: IKTargetFlags, blendInTimeMS: int = -1, blendOutTimeMS: int = -1) -> None: ...
    def SetIKTarget(self, *args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetAllModels() -> List[PedHash]: ...
    @staticmethod
    def GetAllLoadedModelsAppropriateForAmbientPeds() -> List[PedHash]: ...
    @overload
    def FireVehicleWeaponAt(self, target: Vector3) -> None: ...
    @overload
    def FireVehicleWeaponAt(self, target: Entity) -> None: ...
    def FireVehicleWeaponAt(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def IsInVehicle(self) -> bool: ...
    @overload
    def IsInVehicle(self, vehicle: Vehicle) -> bool: ...
    def IsInVehicle(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def IsSittingInVehicle(self) -> bool: ...
    @overload
    def IsSittingInVehicle(self, vehicle: Vehicle) -> bool: ...
    def IsSittingInVehicle(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def IsStandingOnVehicle(self) -> bool: ...
    @overload
    def IsStandingOnVehicle(self, vehicle: Vehicle) -> bool: ...
    def IsStandingOnVehicle(self, *args: Any, **kwargs: Any) -> Any: ...
    def SetIntoVehicle(self, vehicle: Vehicle, seat: VehicleSeat) -> None: ...
    def OpenParachute(self) -> None: ...
    def IsInCombatAgainst(self, target: Ped) -> bool: ...
    def ClearKillerRecord(self) -> None: ...
    def ClearCauseOfDeathRecord(self) -> None: ...
    def ClearTimeOfDeathRecord(self) -> None: ...
    def ApplyDamage(self, damageAmount: int) -> None: ...
    def HasBeenDamagedBy(self, weapon: WeaponHash) -> bool: ...
    def HasBeenDamagedByAnyWeapon(self) -> bool: ...
    def HasBeenDamagedByAnyMeleeWeapon(self) -> bool: ...
    def ClearLastWeaponDamage(self) -> None: ...
    def GetRelationshipWithPed(self, ped: Ped) -> Relationship: ...
    def LeaveGroup(self) -> None: ...
    def SetAsCop(self, setRelationshipGroup: bool = True) -> None: ...
    @overload
    def Clone(self, linkBlends: bool) -> Ped: ...
    @overload
    def Clone(self, heading: float = 0.0) -> Ped: ...
    def Clone(self, *args: Any, **kwargs: Any) -> Any: ...
    def CloneAlt(self, linkBlends: bool = True, cloneCompressedDamage: bool = True) -> Ped: ...
    def CloneToTarget(self, target: Ped) -> None: ...
    def CloneToTargetAlt(self, target: Ped, cloneCompressedDamage: bool = True) -> None: ...
    def Kill(self) -> None: ...
    def Resurrect(self) -> None: ...
    def Exists(self) -> bool: ...
    def ClearBloodDamage(self) -> None: ...
    def ClearVisibleDamage(self) -> None: ...
    @overload
    def GiveHelmet(self, canBeRemovedByPed: bool, helmetType: Helmet, textureIndex: int) -> None: ...
    @overload
    def GiveHelmet(self, dontTakeOffHelmet: bool = True, helmetPropFlags: HelmetPropFlags = ..., overwriteHelmetTextureId: int = -1) -> None: ...
    def GiveHelmet(self, *args: Any, **kwargs: Any) -> Any: ...
    def RemoveHelmet(self, instantly: bool) -> None: ...
    @overload
    def Wet(self, height: float) -> None: ...
    @overload
    def Wet(self, height: float, wetLevel: float) -> None: ...
    def Wet(self, *args: Any, **kwargs: Any) -> Any: ...
    def DryOff(self) -> None: ...
    def SetWetnessEnabledThisFrame(self) -> None: ...
    @overload
    def GetConfigFlag(self, configFlagToggle: PedConfigFlagToggles) -> bool: ...
    @overload
    def GetConfigFlag(self, flagID: int) -> bool: ...
    def GetConfigFlag(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def SetConfigFlag(self, configFlagToggle: PedConfigFlagToggles, value: bool) -> None: ...
    @overload
    def SetConfigFlag(self, flagID: int, value: bool) -> None: ...
    def SetConfigFlag(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetResetFlag(self, configFlag: PedResetFlagToggles) -> bool: ...
    def SetResetFlag(self, configFlag: PedResetFlagToggles, value: bool) -> None: ...
    def ResetConfigFlag(self, flagID: int) -> None: ...
    def SetIsPersistentNoClearTask(self, value: bool) -> None: ...
    def IsHeadtracking(self, entity: Entity) -> bool: ...
    def GetScriptTaskStatus(self, taskNameHash: ScriptTaskNameHash) -> ScriptTaskStatus: ...
    def GetCurrentScriptTaskNameHashAndStatus(self, nameHash: ScriptTaskNameHash, status: ScriptTaskStatus) -> None: ...
    def GetNavMeshRouteResult(self) -> NavMeshRouteResult: ...
    def SetVehicleChaseBehaviorFlags(self, flags: VehicleChaseBehaviorFlags, value: bool) -> None: ...
    def SetVehicleChaseIdealPursuitDistance(self, distance: float) -> None: ...
    def ForceMotionStateThisFrame(self, state: PedMotionState, restartState: bool = False, exitState: ForceAnimAIUpdateState = ..., forceAIPreCameraUpdate: bool = False) -> bool: ...
    def HasReceivedEvent(self, eventType: EventType) -> bool: ...
    def IsRespondingToEvent(self, eventType: EventType) -> bool: ...
    def Ragdoll(self, duration: int = -1, ragdollType: RagdollType = ...) -> None: ...
    def SetToRagdoll(self, minTime: int, maxTime: int, ragdollType: RagdollType, forceScriptControl: bool = False) -> bool: ...
    def SetToRagdollWithFall(self, minTime: int, maxTime: int, fallType: RagdollFallType, direction: Vector3, groundHeight: float) -> bool: ...
    def CancelRagdoll(self) -> None: ...
    def SetRagdollBlockingFlags(self, flags: RagdollBlockingFlags = ...) -> None: ...
    def ClearRagdollBlockingFlags(self, flags: RagdollBlockingFlags = ...) -> None: ...
    def SetCombatAttribute(self, attribute: CombatAttributes, activeSkill: bool) -> None: ...
    def SetCombatFloatAttribute(self, attribute: CombatFloatAttributes, newValue: float) -> None: ...
    def GetCombatFloatAttribute(self, attribute: CombatFloatAttributes) -> float: ...
    def SetFleeAttributes(self, attributes: FleeAttributes, activeSkill: bool) -> None: ...
    def TrySetVehicleWeapon(self, hash: VehicleWeaponHash) -> bool: ...

class PedBone(EntityBone):
    Owner: Ped
    Tag: Bone
    NextSibling: PedBone
    Parent: PedBone

class PedBoneCollection(EntityBoneCollection):
    Item: PedBone
    Core: PedBone
    LastDamaged: PedBone
    def ClearLastDamaged(self) -> None: ...
    def GetEnumerator(self) -> Iterable[PedBone]: ...

class PedComponent:
    Name: str
    Type: PedComponentType
    Count: int
    Index: int
    TextureCount: int
    TextureIndex: int
    HasVariations: bool
    HasTextureVariations: bool
    HasAnyVariations: bool
    def SetVariation(self, index: int, textureIndex: int = 0) -> bool: ...
    def IsVariationValid(self, index: int, textureIndex: int = 0) -> bool: ...
    def ToString(self) -> str: ...

class PedComponentType(Enum):
    Face = 0
    Head = 1
    Hair = 2
    Torso = 3
    Legs = 4
    Hands = 5
    Shoes = 6
    Special1 = 7
    Special2 = 8
    Special3 = 9
    Textures = 10
    Torso2 = 11

class PedConfigFlags:
    KnockOffVehicleType: KnockOffVehicleType
    PedLegIKMode: PedLegIKMode
    PassengerIndexToUseInAGroup: VehicleSeat
    def GetConfigFlag(self, configFlagToggle: PedConfigFlagToggles) -> bool: ...
    def SetConfigFlag(self, configFlagToggle: PedConfigFlagToggles, value: bool) -> None: ...

class PedConfigFlagToggles(Enum):
    CreatedByFactory = 0
    CanBeShotInVehicle = 1
    NoCriticalHits = 2
    DrownsInWater = 3
    DrownsInSinkingVehicle = 4
    DiesInstantlyWhenSwimming = 5
    HasBulletProofVest = 6
    UpperBodyDamageAnimsOnly = 7
    NeverFallOffSkis = 8
    NeverEverTargetThisPed = 9
    ThisPedIsATargetPriority = 10
    TargettableWithNoLos = 11
    DoesntListenToPlayerGroupCommands = 12
    NeverLeavesGroup = 13
    DoesntDropWeaponsWhenDead = 14
    SetDelayedWeaponAsCurrent = 15
    KeepTasksAfterCleanUp = 16
    BlockNonTemporaryEvents = 17
    HasAScriptBrain = 18
    WaitingForScriptBrainToLoad = 19
    AllowMedicsToReviveMe = 20
    MoneyHasBeenGivenByScript = 21
    NotAllowedToCrouch = 22
    DeathPickupsPersist = 23
    IgnoreSeenMelee = 24
    ForceDieIfInjured = 25
    DontDragMeOutCar = 26
    StayInCarOnJack = 27
    ForceDieInCar = 28
    GetOutUndriveableVehicle = 29
    WillRemainOnBoatAfterMissionEnds = 30
    DontStoreAsPersistent = 31
    WillFlyThroughWindscreen = 32
    DieWhenRagdoll = 33
    HasHelmet = 34
    UseHelmet = 35
    DontTakeOffHelmet = 36
    HideInCutscene = 37
    PedIsEnemyToPlayer = 38
    DisableEvasiveDives = 39
    PedGeneratesDeadBodyEvents = 40
    DontAttackPlayerWithoutWantedLevel = 41
    DontInfluenceWantedLevel = 42
    DisablePlayerLockOn = 43
    DisableLockOnToRandomPeds = 44
    AllowLockOnToFriendlyPlayers = 45
    DisableHornAudioWhenDead = 46
    PedBeingDeleted = 47
    BlockWeaponSwitching = 48
    BlockGroupPedAimedAtResponse = 49
    WillFollowLeaderAnyMeans = 50
    BlippedByScript = 51
    DrawRadarVisualField = 52
    StopWeaponFiringOnImpact = 53
    DisableAutoFallOffTests = 54
    SteerAroundDeadBodies = 55
    ConstrainToNavMesh = 56
    SyncingAnimatedProps = 57
    IsFiring = 58
    WasFiring = 59
    IsStanding = 60
    WasStanding = 61
    InVehicle = 62
    OnMount = 63
    AttachedToVehicle = 64
    IsSwimming = 65
    WasSwimming = 66
    IsSkiing = 67
    IsSitting = 68
    KilledByStealth = 69
    KilledByTakedown = 70
    KnockedOut = 71
    ClearRadarBlipOnDeath = 72
    JustGotOffTrain = 73
    JustGotOnTrain = 74
    UsingCoverPoint = 75
    IsInTheAir = 76
    KnockedUpIntoAir = 77
    IsAimingGun = 78
    HasJustLeftCar = 79
    TargetWhenInjuredAllowed = 80
    CurrLeftFootCollNM = 81
    PrevLeftFootCollNM = 82
    CurrRightFootCollNM = 83
    PrevRightFootCollNM = 84
    HasBeenBumpedInCar = 85
    InWaterTaskQuitToClimbLadder = 86
    NMTwoHandedWeaponBothHandsConstrained = 87
    CreatedBloodPoolTimer = 88
    DontActivateRagdollFromAnyPedImpact = 89
    GroupPedFailedToEnterCover = 90
    AlreadyChattedOnPhone = 91
    AlreadyReactedToPedOnRoof = 92
    ForcePedLoadCover = 93
    BlockCoweringInCover = 94
    BlockPeekingInCover = 95
    JustLeftCarNotCheckedForDoors = 96
    VaultFromCover = 97
    AutoConversationLookAts = 98
    UsingCrouchedPedCapsule = 99
    HasDeadPedBeenReported = 100
    ForcedAim = 101
    SteersAroundPeds = 102
    SteersAroundObjects = 103
    OpenDoorArmIK = 104
    ForceReload = 105
    DontActivateRagdollFromVehicleImpact = 106
    DontActivateRagdollFromBulletImpact = 107
    DontActivateRagdollFromExplosions = 108
    DontActivateRagdollFromFire = 109
    DontActivateRagdollFromElectrocution = 110
    IsBeingDraggedToSafety = 111
    HasBeenDraggedToSafety = 112
    KeepWeaponHolsteredUnlessFired = 113
    ForceScriptControlledKnockout = 114
    FallOutOfVehicleWhenKilled = 115
    GetOutBurningVehicle = 116
    BumpedByPlayer = 117
    RunFromFiresAndExplosions = 118
    TreatAsPlayerDuringTargeting = 119
    IsHandcuffed = 120
    IsAnkleCuffed = 121
    DisableMelee = 122
    DisableUnarmedDriveBys = 123
    JustGetsPulledOutWhenElectrocuted = 124
    WillNotHotwireLawEnforcementVehicle = 126
    WillCommandeerRatherThanJack = 127
    CanBeAgitated = 128
    ForcePedToFaceLeftInCover = 129
    ForcePedToFaceRightInCover = 130
    BlockPedFromTurningInCover = 131
    KeepRelationshipGroupAfterCleanUp = 132
    ForcePedToBeDragged = 133
    PreventPedFromReactingToBeingJacked = 134
    IsScuba = 135
    WillArrestRatherThanJack = 136
    RemoveDeadExtraFarAway = 137
    RidingTrain = 138
    ArrestResult = 139
    CanAttackFriendly = 140
    WillJackAnyPlayer = 141
    BumpedByPlayerVehicle = 142
    DodgedPlayerVehicle = 143
    WillJackWantedPlayersRatherThanStealCar = 144
    NoCopWantedAggro = 145
    DisableLadderClimbing = 146
    StairsDetected = 147
    SlopeDetected = 148
    HelmetHasBeenShot = 149
    CowerInsteadOfFlee = 150
    CanActivateRagdollWhenVehicleUpsideDown = 151
    AlwaysRespondToCriesForHelp = 152
    DisableBloodPoolCreation = 153
    ShouldFixIfNoCollision = 154
    CanPerformArrest = 155
    CanPerformUncuff = 156
    CanBeArrested = 157
    MoverConstrictedByOpposingCollisions = 158
    PlayerPreferFrontSeatMP = 159
    DontActivateRagdollFromImpactObject = 160
    DontActivateRagdollFromMelee = 161
    DontActivateRagdollFromWaterJet = 162
    DontActivateRagdollFromDrowning = 163
    DontActivateRagdollFromFalling = 164
    DontActivateRagdollFromRubberBullet = 165
    IsInjured = 166
    DontEnterVehiclesInPlayersGroup = 167
    SwimmingTasksRunning = 168
    PreventAllMeleeTaunts = 169
    ForceDirectEntry = 170
    AlwaysSeeApproachingVehicles = 171
    CanDiveAwayFromApproachingVehicles = 172
    AllowPlayerToInterruptVehicleEntryExit = 173
    OnlyAttackLawIfPlayerIsWanted = 174
    PlayerInContactWithKinematicPed = 175
    PlayerInContactWithSomethingOtherThanKinematicPed = 176
    PedsJackingMeDontGetIn = 177
    AdditionalRappellingPed = 178
    PedIgnoresAnimInterruptEvents = 179
    IsInCustody = 180
    ForceStandardBumpReactionThresholds = 181
    LawWillOnlyAttackIfPlayerIsWanted = 182
    IsAgitated = 183
    PreventAutoShuffleToDriversSeat = 184
    UseKinematicModeWhenStationary = 185
    EnableWeaponBlocking = 186
    HasHurtStarted = 187
    DisableHurt = 188
    PlayerIsWeird = 189
    PedHadPhoneConversation = 190
    BeganCrossingRoad = 191
    WarpIntoLeadersVehicle = 192
    DoNothingWhenOnFootByDefault = 193
    UsingScenario = 194
    VisibleOnScreen = 195
    DontCollideWithKinematic = 196
    ActivateOnSwitchFromLowPhysicsLod = 197
    DontActivateRagdollOnPedCollisionWhenDead = 198
    DontActivateRagdollOnVehicleCollisionWhenDead = 199
    HasBeenInArmedCombat = 200
    UseDiminishingAmmoRate = 201
    AvoidanceIgnoreAll = 202
    AvoidanceIgnoredByAll = 203
    AvoidanceIgnoreGroup1 = 204
    AvoidanceMemberOfGroup1 = 205
    ForcedToUseSpecificGroupSeatIndex = 206
    LowPhysicsLodMayPlaceOnNavMesh = 207
    DisableExplosionReactions = 208
    DodgedPlayer = 209
    WaitingForPlayerControlInterrupt = 210
    ForcedToStayInCover = 211
    GeneratesSoundEvents = 212
    ListensToSoundEvents = 213
    AllowToBeTargetedInAVehicle = 214
    WaitForDirectEntryPointToBeFreeWhenExiting = 215
    OnlyRequireOnePressToExitVehicle = 216
    ForceExitToSkyDive = 217
    SteersAroundVehicles = 218
    AllowPedInVehiclesOverrideTaskFlags = 219
    DontEnterLeadersVehicle = 220
    DisableExitToSkyDive = 221
    ScriptHasDisabledCollision = 222
    UseAmbientModelScaling = 223
    DontWatchFirstOnNextHurryAway = 224
    DisablePotentialToBeWalkedIntoResponse = 225
    DisablePedAvoidance = 226
    ForceRagdollUponDeath = 227
    CanLosePropsOnDamage = 228
    DisablePanicInVehicle = 229
    AllowedToDetachTrailer = 230
    HasShotBeenReactedToFromFront = 231
    HasShotBeenReactedToFromBack = 232
    HasShotBeenReactedToFromLeft = 233
    HasShotBeenReactedToFromRight = 234
    AllowBlockDeadPedRagdollActivation = 235
    IsHoldingProp = 236
    BlocksPathingWhenDead = 237
    ForcePlayNormalScenarioExitOnNextScriptCommand = 238
    ForcePlayImmediateScenarioExitOnNextScriptCommand = 239
    ForceSkinCharacterCloth = 240
    LeaveEngineOnWhenExitingVehicles = 241
    PhoneDisableTextingAnimations = 242
    PhoneDisableTalkingAnimations = 243
    PhoneDisableCameraAnimations = 244
    DisableBlindFiringInShotReactions = 245
    AllowNearbyCoverUsage = 246
    InStrafeTransition = 247
    CanPlayInCarIdles = 248
    CanAttackNonWantedPlayerAsLaw = 249
    WillTakeDamageWhenVehicleCrashes = 250
    AICanDrivePlayerAsRearPassenger = 251
    PlayerCanJackFriendlyPlayers = 252
    OnStairs = 253
    SimulatingAiming = 254
    AIDriverAllowFriendlyPassengerSeatEntry = 255
    ParentCarIsBeingRemoved = 256
    AllowMissionPedToUseInjuredMovement = 257
    CanLoseHelmetOnDamage = 258
    NeverDoScenarioExitProbeChecks = 259
    SuppressLowLodRagdollSwitchWhenCorpseSettles = 260
    PreventUsingLowerPrioritySeats = 261
    JustLeftVehicleNeedsReset = 262
    TeleportIfCantReachPlayer = 263
    PedsInVehiclePositionNeedsReset = 264
    PedsFullyInSeat = 265
    AllowPlayerLockOnIfFriendly = 266
    UseCameraHeadingForDesiredDirectionLockOnTest = 267
    TeleportToLeaderVehicle = 268
    AvoidanceIgnoreWeirdPedBuffer = 269
    OnStairSlope = 270
    HasPlayedNMGetup = 271
    DontBlipCop = 272
    SpawnedAtExtendedRangeScenario = 273
    WalkAlongsideLeaderWhenClose = 274
    KillWhenTrapped = 275
    EdgeDetected = 276
    AlwaysWakeUpPhysicsOfIntersectedPeds = 277
    EquippedAmbientLoadOutWeapon = 278
    AvoidTearGas = 279
    StoppedSpeechUponFreezing = 280
    DisableGoToWritheWhenInjured = 281
    OnlyUseForcedSeatWhenEnteringHeliInGroup = 282
    ThrownFromVehicleDueToExhaustion = 283
    UpdateEnclosedSearchRegion = 284
    DisableWeirdPedEvents = 285
    ShouldChargeNow = 286
    RagdollingOnBoat = 287
    HasBrandishedWeapon = 288
    AllowMinorReactionsAsMissionPed = 289
    BlockDeadBodyShockingEventsWhenDead = 290
    PedHasBeenSeen = 291
    PedIsInReusePool = 292
    PedWasReused = 293
    DisableShockingEvents = 294
    MovedUsingLowLodPhysicsSinceLastActive = 295
    NeverReactToPedOnRoof = 296
    ForcePlayFleeScenarioExitOnNextScriptCommand = 297
    JustBumpedIntoVehicle = 298
    DisableShockingDrivingOnPavementEvents = 299
    ShouldThrowSmokeNow = 300
    DisablePedConstraints = 301
    ForceInitialPeekInCover = 302
    CreatedByDispatch = 303
    PointGunLeftHandSupporting = 304
    DisableJumpingFromVehiclesAfterLeader = 305
    DontActivateRagdollFromPlayerPedImpact = 306
    DontActivateRagdollFromAiRagdollImpact = 307
    DontActivateRagdollFromPlayerRagdollImpact = 308
    DisableQuadrupedSpring = 309
    IsInCluster = 310
    ShoutToGroupOnPlayerMelee = 311
    IgnoredByAutoOpenDoors = 312
    PreferInjuredGetup = 313
    ForceIgnoreMeleeActiveCombatant = 314
    CheckLoSForSoundEvents = 315
    JackedAbandonedCar = 316
    CanSayFollowedByPlayerAudio = 317
    ActivateRagdollFromMinorPlayerContact = 318
    HasPortablePickupAttached = 319
    ForcePoseCharacterCloth = 320
    HasClothCollisionBounds = 321
    HasHighHeels = 322
    TreatAsAmbientPedForDriverLockOn = 323
    DontBehaveLikeLaw = 324
    SpawnedAtScenario = 325
    DisablePoliceInvestigatingBody = 326
    DisableWritheShootFromGround = 327
    LowerPriorityOfWarpSeats = 328
    DisableTalkTo = 329
    DontBlip = 330
    IsSwitchingWeapon = 331
    IgnoreLegIkRestrictions = 332
    ScriptForceNoTimesliceIntelligenceUpdate = 333
    JackedOutOfMyVehicle = 334
    WentIntoCombatAfterBeingJacked = 335
    DontActivateRagdollForVehicleGrab = 336
    ForcePackageCharacterCloth = 337
    DontRemoveWithValidOrder = 338
    AllowTaskDoNothingTimeslicing = 339
    ForcedToStayInCoverDueToPlayerSwitch = 340
    ForceProneCharacterCloth = 341
    NotAllowedToJackAnyPlayers = 342
    InToStrafeTransition = 343
    KilledByStandardMelee = 344
    AlwaysLeaveTrainUponArrival = 345
    ForcePlayDirectedNormalScenarioExitOnNextScriptCommand = 346
    OnlyWritheFromWeaponDamage = 347
    UseSloMoBloodVfx = 348
    EquipJetpack = 349
    PreventDraggedOutOfCarThreatResponse = 350
    ScriptHasCompletelyDisabledCollision = 351
    NeverDoScenarioNavChecks = 352
    ForceSynchronousScenarioExitChecking = 353
    ThrowingGrenadeWhileAiming = 354
    HeadbobToRadioEnabled = 355
    ForceDeepSurfaceCheck = 356
    DisableDeepSurfaceAnims = 357
    DontBlipNotSynced = 358
    IsDuckingInVehicle = 359
    PreventAutoShuffleToTurretSeat = 360
    DisableEventInteriorStatusCheck = 361
    HasReserveParachute = 362
    UseReserveParachute = 363
    TreatDislikeAsHateWhenInCombat = 364
    OnlyUpdateTargetWantedIfSeen = 365
    AllowAutoShuffleToDriversSeat = 366
    DontActivateRagdollFromSmokeGrenade = 367
    LinkMbrToOwnerOnChain = 368
    AmbientFriendBumpedByPlayer = 369
    AmbientFriendBumpedByPlayerVehicle = 370
    InFpsUnholsterTransition = 371
    PreventReactingToSilencedCloneBullets = 372
    DisableInjuredCryForHelpEvents = 373
    NeverLeaveTrain = 374
    DontDropJetpackOnDeath = 375
    UseFpsUnholsterTransitionDuringCombatRoll = 376
    ExitingFpsCombatRoll = 377
    ScriptHasControlOfPlayer = 378
    PlayFpsIdleFidgetsForProjectile = 379
    DisableAutoEquipHelmetsInBikes = 380
    DisableAutoEquipHelmetsInAircraft = 381
    WasPlayingFpsGetup = 382
    WasPlayingFpsMeleeActionResult = 383
    PreferNoPriorityRemoval = 384
    FpsFidgetsAbortedOnFire = 385
    ForceFpsIKWithUpperBodyAnim = 386
    SwitchingCharactersInFirstPerson = 387
    IsClimbingLadder = 388
    HasBareFeet = 389
    GoOnWithoutVehicleIfItIsUnableToGetBackToRoad = 391
    BlockDroppingHealthSnacksOnDeath = 392
    ResetLastVehicleOnVehicleExit = 393
    ForceThreatResponseToNonFriendToFriendMeleeActions = 394
    DontRespondToRandomPedsDamage = 395
    AllowContinuousThreatResponseWantedLevelUpdates = 396
    KeepTargetLossResponseOnCleanup = 397
    PlayersDontDragMeOutOfCar = 398
    BroadcastRespondedToThreatWhenGoingToPointShooting = 399
    IgnorePedTypeForIsFriendlyWith = 400
    TreatNonFriendlyAsHateWhenInCombat = 401
    DontLeaveVehicleIfLeaderNotInVehicle = 402
    ChangeFromPermanentToAmbientPopTypeOnMigration = 403
    AllowMeleeReactionIfMeleeProofIsOn = 404
    UsingLowriderLeans = 405
    UsingAlternateLowriderLeans = 406
    UseNormalExplosionDamageWhenBlownUpInVehicle = 407
    DisableHomingMissileLockForVehiclePedInside = 408
    DisableTakeOffScubaGear = 409
    IgnoreMeleeFistWeaponDamageMult = 410
    LawPedsCanFleeFromNonWantedPlayer = 411
    ForceBlipSecurityPedsIfPlayerIsWanted = 412
    IsHolsteringWeapon = 413
    UseGoToPointForScenarioNavigation = 414
    DontClearLocalPassengersWantedLevel = 415
    BlockAutoSwapOnWeaponPickups = 416
    ThisPedIsATargetPriorityForAI = 417
    IsSwitchingHelmetVisor = 418
    ForceHelmetVisorSwitch = 419
    IsPerformingVehicleMelee = 420
    UseOverrideFootstepPtFx = 421
    DisableVehicleCombat = 422
    TreatAsFriendlyForTargetingAndDamage = 423
    AllowBikeAlternateAnimations = 424
    TreatAsFriendlyForTargetingAndDamageNonSynced = 425
    UseLockpickVehicleEntryAnimations = 426
    IgnoreInteriorCheckForSprinting = 427
    SwatHeliSpawnWithinLastSpottedLocation = 428
    DisableStartEngine = 429
    IgnoreBeingOnFire = 430
    DisableTurretOrRearSeatPreference = 431
    DisableWantedHelicopterSpawning = 432
    UseTargetPerceptionForCreatingAimedAtEvents = 433
    DisableHomingMissileLockon = 434
    ForceIgnoreMaxMeleeActiveSupportCombatants = 435
    StayInDefensiveAreaWhenInVehicle = 436
    DontShoutTargetPosition = 437
    DisableHelmetArmor = 438
    CreatedByConcealedPlayer = 439
    PermanentlyDisablePotentialToBeWalkedIntoResponse = 440
    PreventVehExitDueToInvalidWeapon = 441
    IgnoreNetSessionFriendlyFireCheckForAllowDamage = 442
    DontLeaveCombatIfTargetPlayerIsAttackedByPolice = 443
    CheckLockedBeforeWarp = 444
    DontShuffleInVehicleToMakeRoom = 445
    GiveWeaponOnGetup = 446
    DontHitVehicleWithProjectiles = 447
    DisableForcedEntryForOpenVehiclesFromTryLockedDoor = 448
    FiresDummyRockets = 449
    PedIsArresting = 450
    IsDecoyPed = 451
    HasEstablishedDecoy = 452
    BlockDispatchedHelicoptersFromLanding = 453
    DontCryForHelpOnStun = 454
    HitByTranqWeapon = 455
    CanBeIncapacitated = 456
    ForcedAimFromArrest = 457
    DontChangeTargetFromMelee = 458
    DisableHealthRegenerationWhenStunned = 459
    RagdollFloatsIndefinitely = 460
    BlockElectricWeaponDamage = 461

class PedGroup(PoolObject):
    MemberCount: int
    SeparationRange: float
    Formation: Formation
    Leader: Ped
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, handle: int) -> None: ...
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...
    def Dispose(self) -> None: ...
    def Add(self, ped: Ped, leader: bool) -> None: ...
    def Remove(self, ped: Ped) -> None: ...
    def Contains(self, ped: Ped) -> bool: ...
    def GetMember(self, index: int) -> Ped: ...
    def ToArray(self, includingLeader: bool = True) -> List[Ped]: ...
    def ToList(self, includingLeader: bool = True) -> List[Ped]: ...
    def Delete(self) -> None: ...
    def Exists(self) -> bool: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...
    def GetEnumerator(self) -> Iterable[Ped]: ...

class PedHash(Enum):
    CharlieReedCutscene = 10366540
    ClubCust03AFY = 10751269
    Autoshop01SFM = 12394276
    LamarDavis02Cutscene = 22425093
    Billionaire = 28135809
    Skidrow01AMM = 32417469
    Hooker01SFY = 42647445
    Hooker03SFY = 51789996
    TomCasino = 55858852
    JimmyBostonCutscene = 60192701
    SalvaGoon03GMY = 62440720
    Autoshop01SMM = 68070371
    Eastsa02AFY = 70821038
    Car3Guy1Cutscene = 71501447
    Clown01SMY = 71929310
    NervousRon2 = 74809322
    FriedlanderGoons01GMM = 80921836
    TracyDisantoCutscene = 101298480
    FloydCutscene = 103106535
    Autoshop03SMM = 109850898
    Pigeon = 111281960
    TigerShark = 113504370
    Genfat01AMM = 115168927
    AnitaCutscene = 117698822
    DanceLthrFemaleYoung01 = 130590395
    Eastsa02AMM = 131961260
    Indian01AFY = 153984193
    MaryannCutscene = 161007533
    Pilot02 = 183230355
    Zimbor = 188012277
    Baywatch01SMY = 189425762
    LesterCrest2Cutscene = 191074589
    PestContGunman = 193469166
    Socenlat01AMM = 193817059
    Vincent2 = 197443027
    EnglishDave = 205318924
    DaleCutscene = 216536661
    DanceBurlFemaleYoung01 = 222643882
    DebbieFemaleMiddleAge01 = 223828550
    Janet = 225287241
    Michael = 225514697
    Tanisha = 226559113
    Corpse02UFY = 228356856
    StrPunk02GMY = 228715206
    AmmuCountrySMM = 233415434
    Soucent03AMO = 238213328
    Jewelass = 257763003
    GuadalopeCutscene = 261428209
    Chef01SMY = 261586155
    ChiCold01GMM = 275618457
    SmartCasPat01AFY = 279228114
    MountainLion = 307287994
    Latino01AMY = 321657486
    IslandDJ03 = 322310057
    Car3Guy2Cutscene = 327394568
    Genfat02AMM = 330231874
    Fitness02AFY = 331645324
    Casino01SMY = 337826907
    CasinoShopFemaleMiddleAge01 = 338154536
    Hippie01AFY = 343259175
    GeorginaChengCutscene = 345107131
    Hooker02SFY = 348382215
    Hipster02AMY = 349505262
    Dockwork01SMM = 349680864
    Chop = 351016938
    Ktown01AMO = 355916122
    ClubCust02AFY = 357447289
    Paige = 357551935
    Ballas01GFY = 361513884
    Vincent3 = 363712933
    DaveNorton = 365775923
    Cop01SFY = 368603149
    FemBarberSFM = 373000027
    Eastsa02AMY = 377976310
    PrologueHostage01AFM = 379310561
    Tramp01AMO = 390939205
    AviSchwartzman03Cutscene = 399022197
    DJBlamRyanH = 400495475
    Crow = 402729631
    AvonCutscene = 406009421
    RashkovskyCutscene = 411081129
    GentransportSMM = 411102470
    Marnie = 411185872
    ShopKeep01 = 416176080
    LamarDavis02 = 421830750
    Hipster04AFY = 429425116
    HeliStaff01 = 431423238
    Vinewood01AFY = 435429221
    EntourageA = 435539666
    Cntrybar01SMM = 436345731
    TaylorFemaleYoung = 450271392
    Snowcop01SMM = 451459928
    Ktown01AMY = 452351020
    FosRepCutscene = 466359675
    Strpreach01SMM = 469792763
    Markfost = 479578891
    Mechanic01 = 482489509
    LesterCrest3Cutscene = 496317824
    MrsThornhill = 503621995
    JuanStrickler = 507392637
    PrologueSec02Cutscene = 512955554
    Tramp01AMM = 516505552
    Highsec03SMM = 518696223
    OldMan1aCutscene = 518814684
    VincentCutscene = 520636071
    DrugDealer = 520923037
    Business02AFM = 532905404
    Vinewood03AMY = 534725268
    Salton01AMO = 539004493
    SoundEng00Cutscene = 543190380
    Bevhills03AFY = 549978415
    SmartCasPat01AMY = 553826858
    Prisoners01GMM = 565446671
    RampHipsterCutscene = 569740212
    Doorman01SMY = 579932932
    MovPrem01SFY = 587253782
    Hipster01AMY = 587703123
    BallaOrig01GMY = 588969535
    IslandDJ04E01 = 590182749
    Celeb01Cutscene = 592225333
    Musician00 = 595139263
    BallaSout01GMY = 599294057
    Beach02AMY = 600300561
    Poppymich = 602513566
    Stwhi01AMY = 605602864
    CarDesignFemale01 = 606876839
    Chip = 610290475
    Agent = 610988552
    Korean01GMY = 611648169
    Fooliganz01GMM = 620276966
    Runner01AMY = 623927022
    Popov = 645279998
    Ortega = 648372919
    TaoCheng2Cutscene = 650034742
    AshleyCutscene = 650367097
    MexGoon01GMY = 653210662
    FibOffice02SMM = 653289389
    JohnnyGuns = 658984954
    Warehouse01SMM = 660117393
    Slasher01GMM = 662575004
    SalvaGoon01GMY = 663522487
    Business01AFY = 664399832
    PrologueSec02 = 666086773
    Lifeinvad02 = 666718676
    CrisFormage = 678319271
    Highsec02SMM = 691061163
    StripperLite = 695248020
    Ktown02AMY = 696250687
    Indian01AMY = 706935758
    EdToh = 712602007
    Soucent01AMO = 718836251
    FilmDirector = 728636342
    NervousRon2Cutscene = 731167118
    FilmNoir = 732742363
    Coyote2 = 734582471
    SecurityACutscene = 734593052
    Vincent = 736659122
    Soucent01AFY = 744758650
    Cyclist01 = 755956971
    AgathaCutscene = 756308504
    MJO = 761115490
    TonyPrince = 761829301
    SlodSmallQuadped = 762327283
    Downtown01AMY = 766375082
    Jetski01AMY = 767028979
    ONeil = 768005095
    Imani = 772427594
    Corpse01UFM = 773063444
    ReporterCutscene = 776079908
    CallGirl02Cutscene = 779177722
    ClubCust04AFY = 786557344
    Patricia02Cutscene = 788179139
    ChemSec01SMM = 788443093
    DevinCutscene = 788622594
    Genhot01AFY = 793439294
    PornDudesCutscene = 793443893
    SecurityA = 793664635
    DJSolMike = 795497466
    Barry = 797459875
    Fish = 802685111
    Malibu01AMM = 803106487
    JanetCutscene = 808778210
    Beach01AFM = 808859815
    MexThug01AMY = 810804565
    Hiker01AFY = 813893651
    Grip01SMY = 815693290
    WeiChengCutscene = 819699067
    Sweatshop01SFM = 824925120
    Business02AFY = 826475330
    MexGoon02GMY = 832784782
    Vinewood04AMY = 835315305
    SalvaGoon02GMY = 846439045
    BoatStaff01F = 848542158
    Lost03GMY = 850468060
    Famdd01 = 866411749
    FibArchitect = 874722259
    Imporage = 880829941
    Retriever = 882848737
    IslandDJ01Cutscene = 887084708
    Genstreet02AMY = 891398354
    KorBoss01GMM = 891945583
    MovieStar = 894928436
    EnglishDave02 = 905946442
    DJBlamRupert = 914073350
    Stretch = 915948376
    Stwhi02AMY = 919005580
    Bevhills04AFY = 920595805
    Party01 = 921110016
    WeaponExpertMale01 = 921328393
    Sessanta = 924556713
    AhronWard = 927014855
    Vinewood03AFY = 933092024
    Breakdance01AMY = 933205398
    AviSchwartzman = 939183526
    Rashkovsky = 940330470
    SteveHains = 941695432
    Marston01 = 943915367
    Fooliganz2 = 944592636
    MrsPhillips = 946007720
    DrugDealerCutscene = 949115134
    LazlowCutscene = 949295643
    FatWhite01AFM = 951767867
    MJO02 = 952584644
    LaurenFemaleYoung = 967594628
    TerryCutscene = 978452933
    HighSec05SMM = 985359552
    FbiSuit01 = 988062523
    SSS = 991486725
    PestContDriver = 994527967
    Valet01SMY = 999748158
    Rurmeth01AMM = 1001210244
    Bodybuild01AFM = 1004114196
    Maude = 1005070462
    OldRichGuy = 1006915658
    RsRanger01AMO = 1011059922
    JamalAmir = 1011548258
    DreyfussCutscene = 1012965715
    HammerShark = 1015224100
    CasRN01GMM = 1020431539
    MimeSMY = 1021093698
    RussianDrunk = 1024089777
    Lost02GMY = 1032073858
    Chop2 = 1039404993
    Soucent01AFO = 1039800368
    ExecutivePAMale01 = 1048844220
    ShopMidSFY = 1055701597
    SlodHuman = 1057201338
    HuangCutscene = 1064198787
    Rurmeth01AFY = 1064866854
    GolferA = 1067129421
    Bevhills02AMM = 1068876755
    Pug2 = 1072872081
    Abigail = 1074457665
    Beach01AMM = 1077785853
    Soucent02AMO = 1082572151
    Ktown02AFM = 1090617681
    Scientist01SMM = 1092080539
    Miranda = 1095737979
    Sheriff01SFY = 1096929346
    Factory01SMY = 1097048408
    WeaponWorkerMale01 = 1099321454
    Hairdress01SMM = 1099825042
    WarehouseBoss = 1108376739
    DaxCutscene = 1117614067
    TanishaCutscene = 1123963760
    Poodle = 1125994524
    Shepherd = 1126154828
    ExecutivePAFemale01 = 1126998116
    MartinMadrazoCutscene = 1129928304
    JimmyBoston02 = 1135976220
    Xmech01SMY = 1142162924
    JewelassCutscene = 1145088004
    Bevhills01AFY = 1146800212
    StudioParty01AFY = 1152702280
    JackHowitzerCutscene = 1153203121
    JoshCutscene = 1158606749
    ExArmy01 = 1161072059
    LamarDavisCutscene = 1162230285
    RampHic = 1165307954
    Fitness01AFY = 1165780219
    MollyCutscene = 1167167044
    JosefCutscene = 1167549130
    Glenstank01 = 1169888870
    HeadTargets = 1173958009
    RussianDrunkCutscene = 1179785778
    Dale = 1182012905
    TalMM = 1182156569
    Agent02 = 1183124263
    Finguru01 = 1189322339
    FabienCutscene = 1191403201
    MilitaryBum = 1191548746
    Humpback = 1193010354
    DJSolRobT = 1194880004
    DomCutscene = 1198698306
    Ktown01AFO = 1204772502
    Andreas = 1206185632
    PestCont01SMY = 1209091352
    WareTech01SMY = 1221043248
    Tramp01AFM = 1224306523
    VagosSpeakCutscene = 1224690857
    MasonDuggan = 1224757029
    MexBoss02GMM = 1226102803
    Gardener01SMM = 1240094341
    Chef = 1240128502
    DJSolFotios = 1241432569
    Baywatch01SFY = 1250841910
    GenStreet01AFM = 1261149561
    Vinewood01AMY = 1264851357
    Musclbeac01AMY = 1264920838
    CocaineFemale01 = 1264941816
    Acult02AMO = 1268862154
    KarenDanielsCutscene = 1269774364
    MoviePremFemaleCutscene = 1270514905
    GabrielMaleYoung = 1278330017
    SiemonYetarian = 1283141381
    Jaywalker = 1283622549
    BogdanGoon = 1297520375
    PriestCutscene = 1299047806
    ClubBar01SMY = 1299424319
    LesterCrest = 1302784073
    Families01GFY = 1309468115
    Hipster03AMY = 1312913862
    Husky = 1318032802
    SolCutscene = 1324952405
    NataliaCutscene = 1325314544
    Salton01AMM = 1328415626
    PoloGoon01GMY = 1329576454
    Lost01GMY = 1330042375
    MrsThornhillCutscene = 1334976110
    Furry = 1344679353
    Paparazzi = 1346941736
    Tourist01AFM = 1347814329
    FemaleAgent = 1348537411
    Blackops03SMY = 1349953339
    Hiker01AMY = 1358380044
    Eastsa03AFY = 1371553700
    LuchadoraCutscene = 1373135346
    Bouncer02SMM = 1376128402
    Baygor = 1380197501
    Stripper01SFY = 1381498905
    TylerDixon = 1382414087
    Ktown01AFM = 1388848350
    TaosTranslatorCutscene = 1397974313
    Lifeinvad01 = 1401530684
    TrampBeac01AMM = 1404403376
    Acult01AMM = 1413662315
    CarolFemaleOld = 1415150394
    Tennis01AMM = 1416254276
    Bevhills01AMM = 1423699487
    Tennis01AFY = 1426880966
    WinClean01SMY = 1426951581
    AveryCutscene = 1427949869
    Acult01AMO = 1430544400
    WendyCutscene = 1437043119
    ClubBar02SFY = 1438999163
    HighSec04SMM = 1442749254
    DanceBurlUMaleYoung01 = 1443057394
    Tourist01AFY = 1446741360
    Prisguard01SMM = 1456041926
    CocaineMale01 = 1456705429
    Cormorant = 1457690978
    JimmyDisanto = 1459905209
    TrafficWarden = 1461287021
    Cat = 1462895032
    Bestmen = 1464257942
    MarnieCutscene = 1464721716
    MexBoss01GMM = 1466037421
    Sacha = 1476581877
    MagentaCutscene = 1477887514
    FbiSuit01Cutscene = 1482427218
    Marine02SMY = 1490458366
    LabratCutscene = 1491358515
    Trucker01SMM = 1498487404
    ExecutivePAFemale02 = 1500695792
    TaoCheng2 = 1506159504
    TylerDixon02 = 1511543927
    Soucent02AFY = 1519319503
    Vagos01GFY = 1520708641
    GunVanSeller = 1520835918
    PaigeCutscene = 1528799427
    KerryMcintosh = 1530648845
    HunterCutscene = 1531218220
    SpyActress = 1535236204
    StripperLiteSFY = 1544875514
    TennisCoachCutscene = 1545995274
    Bevhills02AFY = 1546450936
    DrugProcess01SMM = 1547070595
    Rabbit2 = 1553815115
    FibSec01 = 1558115333
    MLCrisis01AMM = 1561088805
    Vinewood02AMY = 1561705728
    IslandDJ02 = 1562223483
    TonyPrinceCutscene = 1566545691
    Airhostess01SFY = 1567728751
    Mistress = 1573528872
    Cop01SMY = 1581098148
    Mechanic02 = 1590147279
    BogdanCutscene = 1594283837
    PrisMuscl01SMY = 1596003233
    Lazlow2Cutscene = 1598839101
    YusufAmir = 1608114028
    CallGirl01Cutscene = 1613083234
    RivalPaparazzi = 1624626906
    Omega = 1625728984
    Salton02AMM = 1626646295
    MerryWeatherCutscene = 1631478380
    ForgeryMale01 = 1631482011
    Bride = 1633872967
    RampMarineCutscene = 1634506681
    PopovCutscene = 1635617250
    Genstreet01AFO = 1640504453
    Fatlatin01AMM = 1641152947
    Orleans = 1641334641
    Goons01GMM = 1642910562
    AirworkerSMY = 1644266841
    DoaMan = 1646160893
    Postal01SMM = 1650036788
    CiaSec01SMM = 1650288984
    Armymech01SMY = 1657546978
    TonyaCutscene = 1665391897
    Armoured02SMM = 1669696074
    Eastsa02AFM = 1674107025
    Priest = 1681385341
    Coyote = 1682622302
    MovAlien01 = 1684083350
    Motox01AMY = 1694362237
    Downtown01AFM = 1699403886
    Marine01SMY = 1702441027
    Hao = 1704428387
    LamarDavis = 1706635382
    IslandDJ02Cutscene = 1712601360
    Bevhills02AMY = 1720428295
    Terry = 1728056212
    ClubCust01AFY = 1744231373
    OgBoss01AMM = 1746653202
    Soucent01AMM = 1750583735
    CarClub01AMY = 1751120084
    Azteca01GMY = 1752208920
    Epsilon01AFY = 1755064960
    Cop01SMM = 1762753038
    Xmech02SMYMP = 1762949645
    Vincent4 = 1764259993
    BarryCutscene = 1767447799
    Skater01AFY = 1767892582
    Methhead01AMY = 1768677545
    TomCutscene = 1776856003
    Factory01SFY = 1777626099
    Tramp01 = 1787764635
    SbikeAMO = 1794381917
    Hen = 1794449327
    PaperCutscene = 1798879480
    Hasjew01AMM = 1809430156
    StreetArt01 = 1813637474
    CharlieReed = 1818503341
    CartelGuards02GMM = 1821116645
    Hillbilly01AMM = 1822107721
    MPros01 = 1822283721
    PoppyMich02 = 1823868411
    Clay = 1825562762
    AmandaTownley = 1830688247
    Pug = 1832265812
    DJBlaMadonCutscene = 1835399538
    JimmyDiSanto2Cutscene = 1836024091
    Agent14Cutscene = 1841036427
    Stripper02SFY = 1846523796
    ShopMaskSMY = 1846684678
    LesterCrest2 = 1849883942
    Wendy = 1850188817
    Agatha = 1855569864
    GolferB = 1858893999
    HughCutscene = 1863555924
    IslandDJ01 = 1866942414
    DeniseCutscene = 1870669624
    FreemodeMale01 = 1885233650
    PrologueSec01 = 1888624839
    MichelleCutscene = 1890499016
    OldMan1a = 1906124788
    BradCadaverCutscene = 1915268960
    Lifeinvad01Cutscene = 1918178165
    Marine03SMY = 1925237458
    AlanJeromeCutscene = 1925887591
    Postal02SMM = 1936142927
    JIO = 1937203007
    Hwaycop01SMY = 1939545845
    Benny02 = 1943113851
    DeadHooker = 1943971979
    Soucent01AFM = 1951946145
    Devin = 1952555184
    GenBiker01AFM = 1956335717
    Car3Guy2 = 1975732938
    DwService01SMY = 1976765073
    Bevhills01AMY = 1982350912
    StudioParty02AFY = 1984313950
    BikeHire01 = 1984382277
    Lsmetro01SMM = 1985653476
    ImaniCutscene = 1987160310
    BryonyCutscene = 2006035933
    Motox02AMY = 2007797722
    Epsilon01AMY = 2010389054
    LesterCrest3 = 2013139108
    Bartender01SFY = 2014052797
    ForgeryFemale01 = 2014985464
    HippyLeader = 2017183759
    Mimi = 2018483349
    Beach02AMM = 2021631368
    NervousRonCutscene = 2023152276
    Strperf01SMM = 2035992488
    Jackie = 2040422902
    Josh = 2040438510
    Blackops02SMY = 2047212121
    JayNorris = 2050158196
    IslandDJ00Cutscene = 2053038501
    GroomCutscene = 2058033618
    Hillbilly02AMM = 2064532783
    FibSec01SMM = 2072724299
    Prisoner01 = 2073775040
    RoosterMcCraw = 2086307585
    TaosTranslator = 2089096292
    KorLieut01GMY = 2093736314
    Hippy01AMY = 2097407511
    AviSchwartzman03 = 2100370963
    JohnnyGunsCutscene = 2108278433
    Justin = 2109968527
    Golfer01AFY = 2111372120
    Beachvesp01AMY = 2114544056
    Chimp2 = 2114741418
    ChiGoon01GMM = 2119136831
    GolferACutscene = 2120159624
    Business01AMM = 2120901815
    DJSolManager = 2123514453
    Mariachi01SMM = 2124742566
    CartelGuards01GMM = 2127932792
    Ashley = 2129936603
    BennyMech01F = 2139205821
    PrologueSec01Cutscene = 2141384740
    DanceRaveUMaleYoung01 = 2145639711
    CroupThiefMaleYoung01 = 2145640135
    Vincent4Cutscene = 2149958315
    IslandDJ04 = 2154719772
    Acult02AMY = 2162532142
    Stripper02Cutscene = 2168724337
    PartyTarget = 2180468199
    Denise = 2181772221
    Hipster01AFY = 2185745201
    BrideCutscene = 2193587873
    VagosLeaderCutscene = 2201152485
    VagosLeader = 2205902046
    Polynesian01AMY = 2206530719
    G = 2216405299
    Beach01AMO = 2217202584
    JimmyDiSanto2 = 2217591510
    Famfor01GMY = 2217749257
    Runner02AMY = 2218630415
    ImportExportFemale01 = 2225189146
    Chef3Cutscene = 2229008065
    Car3Guy1 = 2230970679
    Sweatshop01SFY = 2231547570
    Lazlow2 = 2231650028
    PrologueDriver = 2237544099
    SlodLargeQuadped = 2238511874
    PernellMoss = 2239793254
    DaveNortonCutscene = 2240226444
    Chef2 = 2240322243
    RampHicCutscene = 2240582840
    PartyPromo = 2243470389
    FibMugger01 = 2243544680
    Pilot = 2253313678
    Stlat01AMY = 2255803900
    Dockwork01SMY = 2255894993
    Solomon = 2260598310
    MimiCutscene = 2260860904
    ARY02 = 2275358319
    Soucent03AFY = 2276611093
    JohnnyKlebitz = 2278195374
    TaoChengCutscene = 2288257085
    ReqOfficerCutscene = 2297916218
    StretchCutscene = 2302502917
    AbigailCutscene = 2306246977
    AviSchwartzman02Cutscene = 2315189472
    Soucent04AMY = 2318861297
    GustavoCutscene = 2331262242
    Boar2 = 2334752500
    OmegaCutscene = 2339419141
    BurgerDrug = 2340239206
    StudioParty01AMM = 2342084645
    Dolphin = 2344268885
    Soucent03AMM = 2346291386
    ScreenWriterCutscene = 2346790124
    TomEpsilonCutscene = 2349847778
    TrampBeac01AFM = 2359345766
    CarBuyerCutscene = 2362341647
    BurgerDrugCutscene = 2363277399
    YetiUMM = 2363925622
    MountainLion2 = 2368442193
    MoviePremMaleCutscene = 2372398717
    Moodyman02Cutscene = 2373903780
    KillerWhale = 2374682809
    Swat01SMY = 2374966032
    Korean02GMY = 2414729609
    SalvaBoss01GMY = 2422005962
    FieldWorker01SMM = 2423573072
    WillyFist = 2423691919
    Bankman = 2426248831
    Juggernaut01M = 2431602996
    GenCasPat01AFY = 2434503858
    Tourist02AFY = 2435054400
    IslandDJ03Cutscene = 2440761309
    WeedMale01 = 2441008217
    Staggrm01AMO = 2442448387
    Juggalo01AMY = 2445950508
    CallGirl02 = 2450524033
    Strvend01SMY = 2457805603
    Wade = 2459507570
    Bevhills05AFY = 2464671085
    Thornton = 2482949079
    DJSolJakob = 2486302027
    MaraGrandeGMM = 2487843240
    Farmer01AMM = 2488675799
    Tattoo01AMO = 2494442380
    Corpse01UMY = 2495782975
    BethFemaleYoung01 = 2503965067
    Rottweiler = 2506301981
    Armoured01SMM = 2512875213
    AmandaTownleyCutscene = 2515474659
    Salton04AMM = 2521108919
    MexGoon03GMY = 2521633500
    Hotposh01 = 2526768638
    VinceMaleMiddleAge = 2526968950
    PrologueHostage01AMM = 2534589327
    BankmanCutscene = 2539657518
    BlaneMaleMiddleAge = 2543361176
    Moodyman02 = 2547074227
    Hipster02AFY = 2549481101
    CounterfeitMale01 = 2555758964
    Genstreet01AMY = 2557996913
    AviSchwartzmanCutscene = 2560490906
    Stbla02AMY = 2563194959
    PartyPromoCutscene = 2564310175
    MJO02Cutscene = 2566126104
    OldMan2Cutscene = 2566514544
    CartelGoons01GMM = 2572894111
    Paper = 2577072326
    Hacker = 2579169528
    DJGeneric01 = 2580849741
    Taphillbilly = 2585681490
    CopCutscene = 2595446627
    Busicas01AMY = 2597531625
    RaceOrg01SMM = 2597948825
    GenCasPat01AMY = 2600762591
    Franklin = 2602752943
    Devinsec01SMY = 2606068340
    Trevor = 2608926626
    AvonGoon = 2618542997
    TattooCust01AMY = 2619283993
    Dom = 2620240008
    Corpse01UFY = 2624589981
    FreemodeFemale01 = 2627665880
    EileenFemaleOld = 2630685688
    Topless01AFY = 2633130371
    Claypain = 2634057640
    Eastsa01AFM = 2638072698
    MrsR = 2642001958
    Ammucity01SMY = 2651349821
    Lathandy01SMM = 2659242702
    Soucent02AMM = 2674735073
    HelmsmanPavelCutscene = 2675868152
    StudioAssist02SMM = 2679204136
    Ups01SMM = 2680389410
    Ranger01SFY = 2680682039
    Juggernaut03UMM = 2680892058
    Bouncer01SMM = 2681481517
    Labrat = 2682084818
    Bevhills02AFM = 2688103263
    DrFriedlander2 = 2692738449
    MJOCutscene = 2700978005
    Business03AMY = 2705543429
    Fooliganz01GFM = 2705574861
    Stingray = 2705875277
    PrologueMournFemale01 = 2718472679
    WestSec01SMY = 2719478597
    TennisCoach = 2721800023
    JIOCutscene = 2727058989
    GCutscene = 2727244247
    PoloGoon02GMY = 2733138262
    Juggernaut02UMY = 2738943447
    ChefCutscene = 2739391114
    MaryAnn = 2741999622
    DrFriedlanderCutscene = 2745392175
    Eastsa01AMY = 2756120947
    CustomerCutscene = 2756669323
    SteveHainsCutscene = 2766184958
    Soucent02AFO = 2775443222
    Gay02AMY = 2775713665
    Hipster03AFY = 2780469782
    AntonCutscene = 2781317046
    MiguelMadrazo = 2781707480
    Vincent2Cutscene = 2782957088
    DJTalIgnazio = 2787461577
    Ballasog = 2802535058
    Kaylee = 2810251555
    ClubCust01AMY = 2813792322
    Chimp = 2825402133
    ChinGoonCutscene = 2831296918
    Gaffer01SMM = 2841034142
    JanitorSMM = 2842417644
    ShopLowSFY = 2842568196
    Polynesian01AMM = 2849617566
    Golfer01AMM = 2850754114
    Deer2 = 2857068496
    RoccoPelosiCutscene = 2858686092
    Epsilon02AMY = 2860711835
    ChickenHawk = 2864127842
    WeiCheng = 2867128955
    Yoga01AMY = 2869588309
    Pilot01SMY = 2872052743
    CallGirl01 = 2872523215
    Scrubs01SFY = 2874755766
    BallasogCutscene = 2884567044
    SpyActor = 2886641112
    Zombie01 = 2890614022
    Soucent02AMY = 2896414922
    JewelSec01 = 2899099062
    DanceRaveFemaleYoung01 = 2900533745
    OrleansCutscene = 2905870170
    Waiter01SMY = 2907468364
    Genstreet01AMO = 2908022696
    Westy = 2910340283
    Busker01SMO = 2912874939
    ShopHighSFM = 2923947184
    Chef2Cutscene = 2925257274
    Business03AFY = 2928082356
    Stripper01Cutscene = 2934601397
    Molly = 2936266209
    Franklin02 = 2937109846
    Skater02AMY = 2952446692
    Skidrow01AFM = 2962707003
    Pig = 2971380566
    DJTalAurelia = 2972453492
    Sheriff01SMY = 2974087609
    IslandDJ04D01 = 2979249514
    Floyd = 2981205682
    Prisoner01SMY = 2981862233
    Autopsy01SMY = 2988916046
    StudioParty01AMY = 2989564573
    MexLabor01AMM = 2992445106
    WeedFemale01 = 2992993187
    Salton03AMM = 2995538501
    IslandDJ04Cutscene = 2998686303
    GunVend01 = 3005388626
    Paramedic01SMM = 3008586398
    JamalAmirCutscene = 3014899707
    Business02AMY = 3014915558
    TaosTranslator2Cutscene = 3017289007
    Blackops01SMY = 3019107892
    BeverlyCutscene = 3027157846
    Acult01AMY = 3043264555
    Gustavo = 3045437975
    DeniseFriendCutscene = 3045926185
    LesterCrestCutscene = 3046438339
    FatCult01AFM = 3050275044
    DJBlamRyanS = 3057799231
    ARYCutscene = 3059505486
    ComJane = 3064628686
    Fireman01SMY = 3065114024
    Sunbathe01AMY = 3072929548
    MiltonCutscene = 3077190415
    CounterfeitFemale01 = 3079205365
    CCrew02SMM = 3080868068
    Business04AFY = 3083210802
    Avery = 3088269167
    BallasLeaderCutscene = 3098086931
    JimmyDisantoCutscene = 3100414644
    Beach04AMY = 3105523388
    Beach02AFY = 3105934379
    ChiBoss01GMM = 3118269184
    Indian01AFO = 3134700416
    CasinoCashFemaleMiddleAge01 = 3138220789
    Casino01SFY = 3163733717
    ImportExportMale01 = 3164785898
    MaudeCutscene = 3166991819
    NervousRon = 3170921201
    DrFriedlander2Cutscene = 3177620756
    VernonCutscene = 3178697670
    Beverly = 3181518428
    Brad = 3183167778
    MexGang01GMY = 3185399110
    Bevhills01AFM = 3188223741
    JoeMinuteman = 3189787803
    Xmech02SMY = 3189832196
    WestSec02SMY = 3200789669
    Hao02Cutscene = 3211915155
    Michelle = 3214308084
    Huang = 3218252083
    Robber01SMY = 3227390873
    SiemonYetarianCutscene = 3230888450
    OrtegaCutscene = 3235579087
    Claude01 = 3237179831
    ClubBar01SFY = 3240507723
    Beach02AMO = 3243462130
    StudioAssist01SFM = 3243617472
    Vindouche01AMY = 3247667175
    RetailStaff01SFM = 3248235618
    Skater01AMY = 3250873975
    CrisFormageCutscene = 3253960934
    JanitorCutscene = 3254803008
    RampGangCutscene = 3263172030
    Stlat02AMM = 3265820418
    Rhesus = 3268439891
    BeachBarStaff01SFY = 3269663242
    Soucent04AMM = 3271294718
    Bankman01 = 3272005365
    Patricia02 = 3272690865
    GurkCutscene = 3272931111
    Rat = 3283429734
    MrKCutscene = 3284966005
    Soucent03AMY = 3287349092
    ClubhouseBar01 = 3287737221
    Tattoo01SMM = 3289859051
    Yoga01AFY = 3290105390
    Griff01 = 3293887675
    VagosFun01 = 3299219389
    Benny = 3300333010
    PrologueHostage01 = 3306347811
    ArmGoon02GMY = 3310258058
    Patricia = 3312325004
    Construct02SMY = 3321821918
    ClubCust02AMY = 3324988722
    Guido01 = 3333724719
    Runner01AFY = 3343476521
    Beach01AFY = 3349113128
    Musician00Cutscene = 3351027244
    LilDee = 3356359010
    BoatStaff01M = 3361671816
    Brucie2Cutscene = 3361779221
    EntourageB = 3362171829
    Tourist01AMM = 3365863812
    Nigel = 3367442045
    Mani = 3367706194
    Musclbeac02AMY = 3374523516
    Business01AMY = 3382649284
    CCrew01SMM = 3387290987
    Uscg01SMY = 3389018345
    TalCCCutscene = 3392144504
    Beachvesp02AMY = 3394697810
    BillionaireCutscene = 3397673303
    Tonya = 3402126148
    CletusCutscene = 3404326357
    Milton = 3408943538
    DrFriedlander = 3422293493
    MrsPhillipsCutscene = 3422397391
    LaceyJones02 = 3426139884
    Salton01AFO = 3439295882
    SmugMech01 = 3446096293
    TomEpsilon = 3447159466
    Vernon = 3451031970
    Soucentmc01AFM = 3454621138
    Armoured01 = 3455013896
    Hunter = 3457361118
    Jesus01 = 3459037009
    Boar = 3462393972
    Strvend01SMM = 3465614249
    PrologueMournMale01 = 3465937675
    ARY = 3473698871
    Antonb = 3479321132
    Stbla01AMY = 3482496489
    TomCasinoCutscene = 3488666811
    JIO02 = 3494374974
    Fabien = 3499148112
    Ups02SMM = 3502104854
    Misty01 = 3509125021
    Ktown01AMM = 3512565361
    AfriAmer01AMM = 3513928062
    Gay01AMY = 3519864886
    Beach01AMY = 3523131524
    WadeCutscene = 3529955798
    EnglishDaveCutscene = 3533210174
    MethFemale01 = 3534913217
    Princess = 3538133636
    GenThug01GMM = 3540189323
    YuleMonster = 3543068589
    Seagull = 3549666813
    SessantaCutscene = 3552233440
    Doctor01SMM = 3564307372
    ClubCust03AMY = 3572886207
    Migrant01SFY = 3579522037
    RoccoPelosi = 3585757951
    Golfer01AMY = 3609190705
    JuanStricklerCutscene = 3612049721
    Salton01AMY = 3613420592
    Security01SMM = 3613962792
    AgentCutscene = 3614493108
    HelmsmanPavel = 3619807921
    Construct01SMY = 3621428889
    Drowned = 3623056905
    KerryMcIntosh02 = 3628252818
    Movprem01SMM = 3630066984
    Deer = 3630914197
    Busboy01SMY = 3640249671
    BankRobber01AMM = 3645767658
    Skater01AMM = 3654768780
    Babyd = 3658575486
    SecuroGuardMale01 = 3660355662
    SoundEng00 = 3661356520
    Dreyfuss = 3666413874
    Vinewood02AFY = 3669401835
    Juggalo01AFY = 3675473203
    Celeb01 = 3676106820
    BallasLeader = 3678516463
    Scdressy01AFY = 3680420864
    Famdnf01GMY = 3681718840
    LinecookSMM = 3684436375
    MiguelMadrazoCutscene = 3685838978
    ClayCutscene = 3687553076
    HazmatWorker01SMM = 3688051673
    Pogo01 = 3696858125
    TaoCheng = 3697041061
    JIO02Cutscene = 3702591664
    GolferBCutscene = 3706572452
    EnglishDave02Cutscene = 3713623407
    MexCntry01AMM = 3716251309
    Indian01AMM = 3721046572
    Lifeinvad01SMM = 3724572669
    StudioSouEng02SMM = 3725116432
    Salton01AFM = 3725461865
    Natalia = 3726105915
    TrafficWardenCutscene = 3727243251
    TracyDisanto = 3728026165
    AviSchwartzman02 = 3735478533
    SubCrew01SMM = 3738560875
    GenBiker01AMM = 3739319678
    RampHipster = 3740245870
    PatriciaCutscene = 3750433537
    Rabbit = 3753204865
    Lazlow = 3756278757
    Maid01SFM = 3767780806
    SSSCutscene = 3772505184
    Tranvest01AMM = 3773208948
    Casey = 3774489940
    Josef = 3776618420
    NigelCutscene = 3779566603
    Hasjew01AMY = 3782053633
    TalMMCutscene = 3785408493
    Sol = 3786117468
    ClubCust04AMY = 3793814805
    SubCrewHead = 3801918077
    IslandDJ00 = 3802345064
    Fooliganz1 = 3809717386
    ImranCutscene = 3812756443
    StudioProd01SMM = 3819113407
    TaosTranslator2 = 3828553631
    TalCC = 3828621987
    Dealer01SMY = 3835149295
    RampGang = 3845001836
    Warehouse01SFM = 3845594002
    Barman01SMY = 3852538118
    Cletus = 3865252245
    CCrew03SMM = 3867258530
    RampMex = 3870061732
    JewelThief = 3872144604
    Soucent01AMY = 3877027275
    Panther = 3877461608
    AndreasCutscene = 3881194279
    Pilot01SMM = 3881519900
    ArmLieut01GMM = 3882958867
    Talina = 3885222120
    Beach03AMY = 3886638041
    Movspace01SMM = 3887273010
    Brucie2 = 3893268832
    Famca01GMY = 3896218551
    GroveStrDlrCutscene = 3898166818
    ARY02Cutscene = 3927407837
    CaseyCutscene = 3935738944
    ZimborCutscene = 3937184496
    Surfer01AMY = 3938633710
    ReqOfficer = 3944177684
    KarenDaniels = 3948009817
    Miranda02 = 3954904244
    DixCutscene = 3957337349
    HaoCutscene = 3969814300
    Paparazzi01AMM = 3972697109
    DebraCutscene = 3973074921
    Migrant01SMM = 3977045190
    JimmyBoston = 3986688045
    MethMale01 = 3988008767
    FibOffice01SMM = 3988550982
    MrK = 3990661997
    GarbageSMY = 4000686095
    Niko01 = 4007317449
    OldMan2 = 4011150407
    GeorginaCheng = 4014713647
    Ranger01SMY = 4017173934
    UndercoverCopCutscene = 4017642090
    BradCutscene = 4024807398
    PrologueDriverCutscene = 4027271643
    Marine02SMM = 4028996995
    Hippie01 = 4030826507
    Autoshop02SMM = 4033578141
    Hao02 = 4035146080
    JoeMinutemanCutscene = 4036845097
    Abner = 4037813798
    Jewelass01 = 4040474158
    AlDiNapoli = 4042020578
    Highsec01SMM = 4049719826
    Dax = 4050142444
    Malc = 4055673113
    ArmBoss01GMM = 4058522530
    Marine01SMM = 4074414829
    Soucent02AFM = 4079145784
    ThorntonCutscene = 4086880849
    OscarCutscene = 4095687067
    BallaEast01GMY = 4096714883
    Roadcyc01AMY = 4116817094
    DwService02SMY = 4119890438
    Eastsa01AFY = 4121954205
    ChemWork01GMM = 4128603535
    Pilot02SMM = 4131252449
    RampMexCutscene = 4132362192
    Chef3 = 4138965971
    SolomonCutscene = 4140949582
    Tranvest02AMM = 4144940484
    CalebMaleYoung = 4150317356
    WareMechMale01 = 4154933561
    CurtisMaleMiddleAge = 4161104501
    Luchadora = 4163779209
    AcidLabCook = 4185372713
    Eastsa01AMM = 4188468543
    DeanMaleOld = 4188740747
    VagosSpeak = 4194109068
    BikerChic = 4198014287
    DanceLthrUMaleYoung01 = 4202382694
    JohnnyKlebitzCutscene = 4203395201
    FatBla01AFM = 4206136267
    Dix = 4207997581
    Vinewood04AFY = 4209271110
    UshiMaleYoung = 4218162071
    DJBlaMadon = 4219210853
    DJDixManager = 4221366718
    ManuelCutscene = 4222842058
    Agent14 = 4227433577
    Magenta = 4242313482
    Avon = 4242698434
    Cow = 4244282910
    CarClub01AFY = 4245210443
    StrPunk01GMY = 4246489531
    Manuel = 4248931856
    Lost01GFY = 4250220510
    ArmGoon01GMM = 4255728232
    Cyclist01AMY = 4257633223
    IslandDJ04D02 = 4260779566
    Groom = 4274948997
    Dhill01AMY = 4282288299
    ChiGoon02GMM = 4285659174
    ScreenWriter = 4293277303

class PedHeadshot:
    Handle: int
    NativeValue: int
    IsValid: bool
    IsReady: bool
    @staticmethod
    def Register(ped: Ped) -> PedHeadshot: ...
    @staticmethod
    def RegisterHiRes(ped: Ped) -> PedHeadshot: ...
    @staticmethod
    def RegisterTransparent(ped: Ped) -> PedHeadshot: ...
    def TryGetTxd(self, txd: Txd) -> bool: ...
    def GetTxdNoStatusCheck(self) -> Txd: ...
    def Release(self) -> None: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class PedLegIKMode(Enum):
    Off = 0
    Partial = 1
    Full = 2
    FullMelee = 3

class PedMotionState(Enum):
    StealthWalk = 69908130
    CrouchWalk = 147004056
    Dead = 230360860
    DoNothing = 247561816
    ActionModeRun = 834330132
    CrouchRun = 898879241
    Aiming = 1063765679
    StealthIdle = 1110276645
    CrouchIdle = 1140525470
    DivingIdle = 1212730861
    Jetpack = 1398696542
    AnimatedVelocity = 1427811395
    Idle = 2423432979
    DivingSwim = 2439938700
    InVehicle = 2497303949
    Parachuting = 3133206795
    Sprint = 3179812827
    SwimmingTreadWater = 3518960071
    ActionModeWalk = 3532676775
    Walk = 3626484699
    ActionModeIdle = 3661668572
    None_ = 4000413475
    StealthRun = 4211833313
    Run = 4294436772

class PedMoveBlendRatio:
    Value: float
    Still: ClassVar[PedMoveBlendRatio]
    Walk: ClassVar[PedMoveBlendRatio]
    Run: ClassVar[PedMoveBlendRatio]
    Sprint: ClassVar[PedMoveBlendRatio]
    def __init__(self, value: float) -> None: ...
    @overload
    def Equals(self, moveBlendRatio: PedMoveBlendRatio) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...
    def ToString(self) -> str: ...

class PedProp:
    Name: str
    Type: PedPropType
    AnchorPoint: PedPropAnchorPoint
    Count: int
    Index: int
    TextureCount: int
    TextureIndex: int
    HasVariations: bool
    HasTextureVariations: bool
    HasAnyVariations: bool
    def SetVariation(self, index: int, textureIndex: int = 0) -> bool: ...
    def IsVariationValid(self, index: int, textureIndex: int = 0) -> bool: ...
    def ToString(self) -> str: ...

class PedPropAnchorPoint(Enum):
    Head = 0
    Eyes = 1
    Ears = 2
    Mouth = 3
    LeftHand = 4
    RightHand = 5
    LeftWrist = 6
    RightWrist = 7
    Hip = 8

class PedPropType(Enum):
    Hats = 0
    Glasses = 1
    EarPieces = 2
    Unknown3 = 3
    Unknown4 = 4
    Unknown5 = 5
    Watches = 6
    Wristbands = 7
    Unknown8 = 8
    Unknown9 = 9

class PedResetFlags:
    NumFramesToBeKnockedByDoor: int
    NumFramesToSetEntityZFromGround: int
    NumFramesNotToAcceptIKLookAts: int
    NumFramesNotToAcceptCodeIKLookAts: int
    NumFramesToConsiderJustLeftVehicle: int
    NumFramesToConsiderInCover: int
    EntityZFromGroundZHeight: float
    EntityZFromGroundZThreshold: float
    IsHeadIKBlocked: bool
    IsCodeHeadIKBlocked: bool
    HasJustLeftVehicle: bool
    IsInCover: bool
    def SetIsHeadIKBlocked(self) -> None: ...
    def SetIsCodeHeadIKBlocked(self) -> None: ...
    def SetEntityZFromGroundZHeight(self, height: float, threshold: float = 1.0) -> None: ...
    def GetResetFlag(self, resetFlag: PedResetFlagToggles) -> bool: ...
    def SetResetFlag(self, resetFlag: PedResetFlagToggles, value: bool) -> None: ...

class PedResetFlagToggles(Enum):
    FallenDown = 0
    DontRenderThisFrame = 1
    IsDrowning = 2
    PedHitWallLastFrame = 3
    UsingMobilePhone = 4
    BlockMovementAnims = 5
    ZeroDesiredMoveBlendRatios = 6
    DontChangeMbrInSimpleMoveDoNothing = 7
    FollowingRoute = 8
    TakingRouteSplineCorner = 9
    Wandering = 10
    ProcessPhysicsTasks = 11
    ProcessPreRender2 = 12
    SetLastMatrixDone = 13
    FiringWeapon = 14
    SearchingForCover = 15
    KeepCoverPoint = 16
    IsClimbing = 17
    IsJumping = 18
    IsLanding = 19
    CullExtraFarAway = 20
    DontActivateRagdollFromAnyPedImpactReset = 21
    ForceScriptControlledRagdoll = 22
    TaskUseKinematicPhysics = 23
    TemporarilyBlockWeaponSwitching = 24
    DoNotClampFootIK = 25
    MoveBlend_bFleeTaskRunning = 26
    IsAiming = 27
    MoveBlend_bTaskComplexGunRunning = 28
    MoveBlend_bMeleeTaskRunning = 29
    MoveBlend_bCopSearchTaskRunning = 30
    PatrollingInVehicle = 31
    RaiseVelocityChangeLimit = 32
    DimTargetReticule = 33
    IsWalkingRoundPlayer = 34
    GestureAnimsAllowed = 35
    VisemeAnimsBlocked = 36
    AmbientAnimsBlocked = 37
    KnockedToTheFloorByPlayer = 38
    RandomisePointsDuringNavigation = 39
    Prevent180SkidTurns = 40
    IsOnAssistedMovementRoute = 41
    ApplyVelocityDirectly = 42
    DisablePlayerLockOn = 43
    ResetMoveGroupAfterRagdoll = 44
    DisablePedConstraints = 45
    DisablePlayerJumping = 46
    DisablePlayerVaulting = 47
    DisableAsleepImpulse = 48
    ForcePostCameraAIUpdate = 49
    ForcePostCameraAnimUpdate = 50
    PostCameraAnimUpdateUseZeroTimestep = 51
    CollideWithGlassRagdoll = 52
    CollideWithGlassWeapon = 53
    SyncDesiredHeadingToCurrentHeading = 54
    AllowUpdateIfNoCollisionLoaded = 55
    InternalWalkingRndPlayer = 56
    PlacingCharge = 57
    ScriptDisableSecondaryAnimationTasks = 58
    SearchingForClimb = 59
    SearchingForDoors = 60
    WanderingStoppedForOtherPed = 61
    SuppressGunfireEvents = 62
    InfiniteStamina = 63
    BlockWeaponReactionsUnlessDead = 64
    ForcePlayerFiring = 65
    InCoverFacingLeft = 66
    ForcePeekFromCover = 67
    NotAllowedToChangeCrouchState = 68
    ForcePedToStrafe = 69
    ForceMeleeStrafingAnims = 70
    UseKinematicPhysics = 71
    ClearLockOnTarget = 72
    CanPedSeeHatedPedBeingUsed = 73
    InstantBlendToAim = 74
    ForceImprovedIdleTurns = 75
    HitPedWithWeapon = 76
    ForcePedToUseScriptCamHeading = 77
    ProcessProbesWhenExtractingZ = 78
    KeepDesiredCoverPoint = 79
    HasProcessedCornering = 80
    StandingOnForkliftForks = 81
    AimWeaponReactionRunning = 82
    InContactWithFoliage = 83
    ForceExplosionCollisions = 84
    IgnoreTargetsCoverForLos = 85
    BlockAnimatedWeaponReactions = 86
    DisablePedCapsule = 87
    DisableCrouchWhileInCover = 88
    IncreasedAvoidanceRadius = 89
    ForceRunningSpeedForFragSmashing = 91
    EnableMoverAnimationWhileAttached = 92
    NoTimeDelayBeforeShot = 93
    SearchingForAutoVaultClimb = 94
    ExtraLongWeaponRange = 95
    ForcePlayerToEnterVehicleThroughDirectDoorOnly = 96
    TaskCullExtraFarAway = 97
    IsVaulting = 98
    IsParachuting = 99
    SuppressSlowingForCorners = 100
    DisableProcessProbes = 101
    DisablePlayerAutoVaulting = 102
    DisableGaitReduction = 103
    ExitVehicleTaskFinishedThisFrame = 104
    RequiresLegIK = 105
    JayWalking = 106
    UseBulletPenetration = 107
    ForceAimAtHead = 108
    IsInStationaryScenario = 109
    TemporarilyBlockWeaponEquipping = 110
    CoverOutroRunning = 111
    DisableSeeThroughChecksWhenTargeting = 112
    PuttingOnHelmet = 113
    AllowPullingPedOntoRoute = 114
    ApplyAnimatedVelocityWhilstAttached = 115
    AICoverEntryRunning = 116
    ResponseAfterScenarioPanic = 117
    IsNearDoor = 118
    DisableTorsoSolver = 119
    PanicInVehicle = 120
    DisableDynamicCapsuleRadius = 121
    IsRappelling = 122
    SkipReactInReactAndFlee = 123
    CannotBeTargeted = 124
    IsFalling = 125
    ForceInjuryAfterStunned = 126
    HurtThisFrame = 127
    BlockWeaponFire = 128
    ExpandPedCapsuleFromSkeleton = 129
    DisableWeaponLaserSight = 130
    PedExitedVehicleThisFrame = 131
    SearchingForDropDown = 132
    UseTighterTurnSettings = 133
    DisableArmSolver = 134
    DisableHeadSolver = 135
    DisableLegSolver = 136
    DisableTorsoReactSolver = 137
    ForcePreCameraAIUpdate = 138
    TasksNeedProcessMoveSignalCalls = 139
    ShootFromGround = 140
    NoCollisionMovementMode = 141
    IsNearLadder = 142
    SkipAimingIdleIntro = 143
    IgnoredByAutoOpenDoors = 144
    BlockIKWeaponReactions = 145
    FirstPhysicsUpdate = 146
    SpawnedThisFrameByAmbientPopulation = 147
    DisableRootSlopeFixupSolver = 148
    SuspendInitiatedMeleeActions = 149
    SuppressInAirEvent = 150
    AllowTasksIncompatibleWithMotion = 151
    IsEnteringOrExitingVehicle = 152
    HasGunTaskWithAimingState = 154
    SuppressLethalMeleeActions = 155
    InstantBlendToAimFromScript = 156
    IsStillOnBicycle = 157
    IsSittingAndCycling = 158
    IsStandingAndCycling = 159
    IsDoingCoverAimOutro = 160
    ApplyCoverWeaponBlockingOffsets = 161
    IsInLowCover = 162
    AmbientIdleAndBaseAnimsBlocked = 163
    UseAlternativeWhenBlock = 164
    ForceLowLodWaterCheck = 165
    MakeHeadInvisible = 166
    NoAutoRunWhenFiring = 167
    PermitEventDuringScenarioExit = 168
    DisableSteeringAroundVehicles = 169
    DisableSteeringAroundPeds = 170
    DisableSteeringAroundObjects = 171
    DisableSteeringAroundNavMeshEdges = 172
    WantsToEnterVehicleFromCover = 173
    WantsToEnterCover = 174
    WantsToEnterVehicleFromAiming = 175
    CapsuleBeingPushedByVehicle = 176
    DisableTakeOffParachutePack = 177
    IsCallingPolice = 178
    ForceCombatTaunt = 179
    IgnoreCombatTaunts = 180
    SkipAIUpdateProcessControl = 181
    OverridePhysics = 182
    WasPhysicsOverridden = 183
    BlockWeaponHoldingAnims = 184
    DisableMoveTaskHeadingAdjustments = 185
    DisableBodyLookSolver = 186
    PreventAllMeleeTakedowns = 187
    PreventFailedMeleeTakedowns = 188
    IsPedalling = 189
    UseTighterAvoidanceSettings = 190
    IsHigherPriorityClipControllingPed = 191
    VehicleCrushingRagdoll = 192
    OnActivationUpdate = 193
    ForceMotionStateLeaveDesiredMbr = 194
    DisableDropDowns = 195
    InContactWithBigFoliage = 196
    DisableTakeOffScubaGear = 197
    DisableCellphoneAnimations = 198
    IsExitingVehicle = 199
    DisableActionMode = 200
    EquippedWeaponChanged = 201
    TouchingOverhang = 202
    TooSteepForPlayer = 203
    BlockSecondaryAnim = 204
    IsInCombat = 205
    UseHeadOrientationForPerception = 206
    IsDoingDriveBy = 207
    IsEnteringCover = 208
    ForceMovementScannerCheck = 209
    DisableJumpRagdollOnCollision = 210
    IsBeingMeleeHomedByPlayer = 211
    ShouldLaunchBicycleThisFrame = 212
    CanDoBicycleWheelie = 213
    ForceProcessPhysicsUpdateEachSimStep = 214
    DisablePedCapsuleMapCollision = 215
    DisableSeatShuffleDueToInjuredDriver = 216
    DisableParachuting = 217
    ProcessPostMovement = 218
    ProcessPostCamera = 219
    ProcessPostPreRender = 220
    PreventBicycleFromLeaningOver = 221
    KeepParachutePackOnAfterTeleport = 222
    DontRaiseFistsWhenLockedOn = 223
    PreferMeleeBodyIKHitReaction = 224
    ProcessPhysicsTasksMotion = 225
    ProcessPhysicsTasksMovement = 226
    DisableFriendlyGunReactAudio = 227
    DisableAgitationTriggers = 228
    ForceForwardTransitionInReactAndFlee = 229
    IsEnteringVehicle = 230
    DoNotSkipNavMeshTrackerUpdate = 231
    RagdollOnVehicle = 232
    BlockRagdollActivationInVehicle = 233
    DisableNMForRiverRapids = 234
    IsInWrithe = 235
    PreventGoingIntoStillInVehicleState = 236
    UseFastEnterExitVehicleRates = 237
    DisableGroundAttachment = 238
    DisableAgitation = 239
    DisableTalk = 240
    InterruptedToQuickStartEngine = 241
    PedEnteredFromLeftEntry = 242
    IsDiving = 243
    DisableVehicleImpacts = 244
    DeepVehicleImpacts = 245
    DisablePedCapsuleControl = 246
    UseProbeSlopeStairsDetection = 247
    DisableVehicleDamageReactions = 248
    DisablePotentialBlastReactions = 249
    OnlyAllowLeftArmDoorIK = 250
    OnlyAllowRightArmDoorIK = 251
    ForceProcessPedStandingUpdateEachSimStep = 252
    DisableFlashlight = 253
    DoingCombatRoll = 254
    DisableBodyRecoilSolver = 255
    CanAbortExitForInAirEvent = 256
    DisableSprintDamage = 257
    ForceEnableFlashlightForAI = 258
    IsDoingCoverAimIntro = 259
    IsAimingFromCover = 260
    WaitingForCompletedPathRequest = 261
    DisableCombatAudio = 262
    DisableCoverAudio = 263
    PreventBikeFromLeaning = 264
    InCoverTaskActive = 265
    EnableSteepSlopePrevention = 266
    InsideEnclosedSearchRegion = 267
    JumpingOutOfVehicle = 268
    IsTuckedOnBicycleThisFrame = 269
    ProcessPostMovementTimeSliced = 270
    EnablePressAndReleaseDives = 271
    OnlyExitVehicleOnButtonRelease = 272
    IsGoingToStandOnExitedVehicle = 273
    BlockRagdollFromVehicleFallOff = 274
    DisableTorsoVehicleSolver = 275
    IsExitingUpsideDownVehicle = 276
    IsExitingOnsideVehicle = 277
    IsExactStopping = 278
    IsExactStopSettling = 279
    IsTrainCrushingRagdoll = 280
    OverrideHairScale = 281
    ConsiderAsPlayerCoverThreatWithoutLos = 282
    BlockCustomAIEntryAnims = 283
    IgnoreVehicleEntryCollisionTests = 284
    StreamActionModeAnimsIfDisabled = 285
    ForceUpdateRagdollMatrix = 286
    PreventGoingIntoShuntInVehicleState = 287
    DisableIndependentMoverFrame = 288
    DoingDriveByOutro = 289
    BeingElectrocuted = 290
    DisableUnarmedDriveBys = 291
    TalkingToPlayer = 292
    DontActivateRagdollFromPlayerPedImpactReset = 293
    DontActivateRagdollFromAiRagdollImpactReset = 294
    DontActivateRagdollFromPlayerRagdollImpactReset = 295
    DisableVisemeBodyAdditive = 296
    CapsuleBeingPushedByPlayerCapsule = 297
    ForceActionMode = 298
    ForceUnarmedActionMode = 299
    UsingMoverExtraction = 300
    BeingJacked = 301
    EnableVoiceDrivenMouthMovement = 302
    IsReloading = 303
    UseTighterEnterVehicleSettings = 304
    InRaceMode = 305
    DisableAmbientMeleeMoves = 306
    ForceBuoyancyProcessingIfAsleep = 307
    AllowSpecialAbilityInVehicle = 308
    DisableInVehicleActions = 309
    ForceInstantSteeringWheelIKBlendIn = 310
    IgnoreThreatEngagePlayerCoverBonus = 311
    Block180Turns = 312
    DontCloseVehicleDoor = 313
    SkipExplosionOcclusion = 314
    ProcessPhysicsTasksTimeSliced = 315
    MeleeStrikeAgainstNonPed = 316
    IgnoreNavigationForDoorArmIK = 317
    DisableAimingWhileParachuting = 318
    DisablePedCollisionWithPedEvent = 319
    IgnoreVelocityWhenClosingVehicleDoor = 320
    SkipOnFootIdleIntro = 321
    DontWalkRoundObjects = 322
    DisablePedEnteredMyVehicleEvents = 323
    CancelLeftHandGripIK = 324
    ResetMovementStaticCounter = 325
    DisableInVehiclePedVariationBlocking = 326
    ReduceEffectOfVehicleRamControlLoss = 327
    DisablePlayerMeleeFriendlyAttacks = 328
    MotionPedDoPostMovementIndependentMover = 329
    IsMeleeTargetUnreachable = 330
    DisableAutoForceOutWhenBlowingUpCar = 331
    ThrowingProjectile = 332
    OverrideHairScaleLarger = 333
    DisableDustOffAnims = 334
    DisableMeleeHitReactions = 335
    VisemeAnimsAudioBlocked = 336
    AllowHeadPropInVehicle = 337
    IsInVehicleChase = 338
    DontQuitMotionAiming = 339
    SetLastBoundMatricesDone = 340
    PreserveAnimatedAngularVelocity = 341
    OpenDoorArmIK = 342
    UseTighterTurnSettingsForScript = 343
    ForcePreCameraProcessExternallyDrivenDofs = 344
    LadderBlockingMovement = 345
    DisableVoiceDrivenMouthMovement = 346
    SteerIntoSkids = 347
    AllowOpenDoorIkBeforeFullMovement = 348
    AllowHomingMissileLockOnInVehicle = 349
    AllowCloneForcePostCameraAIUpdate = 350
    DisableHighHeels = 351
    BreakTargetLock = 352
    DontUseSprintEnergy = 353
    DisableMaterialCollisionDamage = 355
    DisableMPFriendlyLockOn = 356
    DisableMPFriendlyLethalMeleeActions = 357
    IfLeaderStopsSeekCover = 358
    ProcessPostPreRenderAfterAttachments = 359
    DoDamageCoughFacial = 360
    UseInteriorCapsuleSettings = 362
    IsClosingVehicleDoor = 363
    DisableIdleExtraHeadingChange = 364
    OnlySelectVehicleWeapons = 365
    IsWarpingIntoVehicleMP = 366
    RemoveHelmet = 367
    IsRemovingHelmet = 368
    GestureAnimsBlockedFromScript = 369
    NeverRagdoll = 370
    DisableWallHitAnimation = 371
    PlayAgitatedAnimsInVehicle = 372
    IsSeatShuffling = 373
    IsThrowingProjectileWhileAiming = 374
    DisableProjectileThrowsWhileAimingGun = 375
    AllowControlRadioInAnySeatInMP = 376
    DisableSpyCarTransformation = 377
    BlockQuadLocomotionIdleTurns = 378
    BlockHeadBobbingToRadio = 379
    PlayFpsIdleFidgets = 380
    ForceExtraLongBlendInForPedSkipIdleCoverTransition = 381
    BlendingOutFpsIdleFidgets = 382
    DisableMotionBaseVelocityOverride = 383
    FpsSwimUseSwimMotionTask = 384
    FpsSwimUseAimingMotionTask = 385
    FiringWeaponWhenReady = 386
    IsBlindFiring = 387
    IsPeekingFromCover = 388
    TaskSkipProcessPreComputeImpacts = 389
    DisableAssistedAimLockOn = 390
    FpsAllowAimIKForThrownProjectile = 391
    TriggerRoadRageAnim = 392
    ForcePreCameraAIAnimUpdateIfFirstPerson = 393
    NoCollisionDamageFromOtherPeds = 394
    BlockCameraSwitching = 395
    NeverDieFromCapsuleRagdollSettings = 396
    InContactWithDeepSurface = 397
    DontSuppressUseNavMeshToNavigateToVehicleDoorWhenVehicleInWater = 398
    IncludePedReferenceVelocityWhenFiringProjectiles = 399
    IsDoingCoverOutroToPeek = 400
    InstantBlendToAimNoSettle = 401
    ForcePreCameraAnimUpdate = 402
    DisableHelmetCullFps = 403
    ShouldIgnoreCoverAutoHeadingCorrection = 404
    DisableReticuleInCoverThisFrame = 405
    ForceScriptedCameraLowCoverAngleWhenEnteringCover = 406
    DisableCameraConstraintFallBackThisFrame = 407
    DisableFpsArmIK = 408
    DisableRightArmIKInCoverOutroFps = 409
    DoFpsSprintBreakOut = 410
    DoFpsJumpBreakOut = 411
    IsExitingCover = 412
    WeaponBlockedInFpsMode = 413
    PoVCameraConstrained = 414
    ScriptClearingPedTasks = 415
    WasFpsJumpingWithProjectile = 416
    DisableMeleeWeaponSelection = 417
    WaypointPlaybackSlowMoreForCorners = 418
    FpsPlacingProjectile = 419
    UseBulletPenetrationForGlass = 420
    FpsPlantingBombOnFloor = 421
    ForceSkipFpsAimIntro = 422
    CanBePinnedByFriendlyBullets = 423
    DisableLeftArmIKInCoverOutroFps = 424
    DisableSpikeStripRoadBlocks = 425
    SkipFpsUnholsterTransition = 426
    PutDownHelmetFX = 427
    IsLowerPriorityMeleeTarget = 428
    ForceScanForEventsThisFrame = 429
    StartProjectileTaskWithPrimingDisabled = 430
    CheckFpsSwitchInCameraUpdate = 431
    ForceAutoEquipHelmetsInAircraft = 432
    BlockRemotePlayerRecording = 433
    InflictedDamageThisFrame = 434
    UseFirstPersonVehicleAnimsIfFpsCamNotDominant = 435
    ForceIntoStandPoseOnJetSki = 436
    InAirDefenceSphere = 437
    SuppressTakedownMeleeActions = 438
    InvertLookAroundControls = 439
    IgnoreCombatManager = 440
    UseBlendedCamerasOnUpdateFpsCameraRelativeMatrix = 441
    ForceMeleeCounter = 442
    WasHitByVehicleMelee = 443
    SuppressNavmeshForEnterVehicleTask = 444
    DisableShallowWaterBikeJumpOutThisFrame = 445
    DisablePlayerCombatRoll = 446
    IgnoreDetachSafePositionCheck = 447
    DisableEasyLadderConditions = 448
    PlayerIgnoresScenarioSpawnRestrictions = 449
    UsingDrone = 450
    ForceWantedLevelWhenKilled = 451
    UseScriptedWeaponFirePosition = 452
    EnableCollisionOnNetworkCloneWhenFixed = 453
    UseExtendedRagdollCollisionCalculator = 454
    PreventLockOnToFriendlyPlayers = 455
    OnlyAbortScriptedAnimOnMovementByInput = 456
    PreventAllStealthKills = 457
    BlockFallTaskFromExplosionDamage = 458
    AllowPedRearEntry = 459

class PedTransportMode(Enum):
    Any = 0
    OnFoot = 1
    InVehicle = 2

class PedType(Enum):
    Player0 = 0
    Player1 = 1
    NetworkPlayer = 2
    Player2 = 3
    CivMale = 4
    CivFemale = 5
    Cop = 6
    GangAlbanian = 7
    GangBiker1 = 8
    GangBiker2 = 9
    GangItalian = 10
    GangRussian = 11
    GangRussian2 = 12
    GangIrish = 13
    GangJamaican = 14
    GangAfricanAmerican = 15
    GangKorean = 16
    GangChineseJapanese = 17
    GangPuertoRican = 18
    Dealer = 19
    Medic = 20
    Fire = 21
    Criminal = 22
    Bum = 23
    Prostitute = 24
    Special = 25
    Mission = 26
    Swat = 27
    Animal = 28
    Army = 29
    Invalid = -1

class RagdollBlockingFlags(Enum):
    None_ = 0
    BulletImpact = 1
    VehicleImpact = 2
    Fire = 4
    Electrocution = 8
    PlayerImpact = 16
    Explosion = 32
    ImpactObject = 64
    Melee = 128
    RubberBullet = 256
    Falling = 512
    WaterJet = 1024
    Drowning = 2048
    AllowBlockDeadPed = 4096
    PlayerBump = 8192
    PlayerRagdollBump = 16384
    PedRagdollBump = 32768
    VehicleGrab = 65536
    SmokeGrenade = 131072

class RagdollComponent(Enum):
    Buttocks = 0
    ThighLeft = 1
    ShinLeft = 2
    FootLeft = 3
    ThighRight = 4
    ShinRight = 5
    FootRight = 6
    Spine0 = 7
    Spine1 = 8
    Spine2 = 9
    Spine3 = 10
    ClavicleLeft = 11
    UpperArmLeft = 12
    LowerArmLeft = 13
    HandLeft = 14
    ClavicleRight = 15
    UpperArmRight = 16
    LowerArmRight = 17
    HandRight = 18
    Neck = 19
    Head = 20

class RagdollFallType(Enum):
    Male = 0
    Female = 1
    MaleLarge = 2
    FallToDeath = 4

class RagdollType(Enum):
    Normal = 0
    Relax = 0
    StiffLegs = 1
    ScriptControl = 1
    Balance = 2
    NarrowLegs = 2
    WideLegs = 3

class Relationship(Enum):
    Companion = 0
    Respect = 1
    Like = 2
    Neutral = 3
    Dislike = 4
    Hate = 5
    Dead = 6
    Pedestrians = 255

class RelationshipGroup:
    Hash: int
    NativeValue: int
    @overload
    def __init__(self, hash: int) -> None: ...
    @overload
    def __init__(self, hash: int) -> None: ...
    @overload
    def __init__(self, hash: RelationshipGroupHash) -> None: ...
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...
    def GetRelationshipBetweenGroups(self, targetGroup: RelationshipGroup) -> Relationship: ...
    def SetRelationshipBetweenGroups(self, targetGroup: RelationshipGroup, relationship: Relationship, bidirectionally: bool = False) -> None: ...
    def ClearRelationshipBetweenGroups(self, targetGroup: RelationshipGroup, relationship: Relationship, bidirectionally: bool = False) -> None: ...
    def Remove(self) -> None: ...
    @overload
    def Equals(self, group: RelationshipGroup) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...
    def ToString(self) -> str: ...

class RelationshipGroupHash(Enum):
    CivilianMale = 45677184
    AmbientGangMexican = 296331235
    Shark = 580191176
    FamilyTrevor = 722518339
    Cat = 1157867945
    AmbientGangFamily = 1166638144
    CivilianFemale = 1191392768
    GuardDog = 1378588234
    AmbientGangWeiCheng = 1782292358
    Player = 1862763509
    AmbientGangCult = 2017343592
    FamilyFranklin = 2034589087
    AmbientGangMarabunte = 2037579709
    WildAnimal = 2078959127
    HatesPlayer = 2229074605
    FamilyMichael = 2235626914
    AmbientGangLost = 2429016672
    AmbientGangSalva = 2473492219
    Cop = 2761840924
    PrivateSecurity = 2827152215
    Medic = 2957130400
    AmbientGangHillbilly = 3008990876
    Hen = 3222287865
    AmbientGangBallas = 3261945386
    Cougar = 3457367416
    Army = 3822679795
    AggressiveInvestigate = 3947353312
    SecurityGuard = 4111159735
    NoRelationship = 4208871491
    Fireman = 4230784871

class ScriptTaskNameHash(Enum):
    SetPedDefensiveArea = 10551752
    VehicleAimAtCoord = 12950610
    HangGlider = 14754444
    NMHighFall = 22897635
    PlaneChase = 47950271
    Pause = 63541484
    PlaneLand = 71191126
    MoveNetwork = 76834332
    LookAtEntity = 150319005
    ShootAtEntity = 167901368
    NMDangle = 189393644
    AimGunScripted = 208245535
    PerformSequence = 242628503
    WarpPedDirectlyIntoCover = 243280164
    ToggleDuck = 255558996
    ChatToPed = 264387021
    ShuffleToNextVehicleSeat = 355471868
    GoToCoordWhileAimingAtCoord = 432954108
    LeaveVehicle = 451360105
    Cower = 474215631
    Duck = 490823532
    DismountAnimal = 501393341
    VehicleShootAtEntity = 538064912
    VehicleDriveToCoordLongrange = 567490903
    GuardSphereDefensiveArea = 568906980
    VehicleChase = 579380604
    Jump = 608260166
    CombatHatedTargetsAroundPedTimed = 655999185
    HeliChase = 657887634
    GoToCoordAndAimAtHatedEntitiesNearCoord = 688521916
    ReactAndFleeCoord = 690397169
    UseWalkieTalkie = 700103780
    FollowNavMeshToCoord = 713668775
    SwapWeapon = 716706914
    Combat = 780511057
    BringVehicleToHalt = 815848505
    WanderInArea = 923520851
    UseMobilePhone = 936589729
    StartScenarioInPlace = 993674639
    VehicleAimUsingCamera = 1004259388
    PedSlideToCoord = 1045468327
    FollowToOffsetOfEntity = 1056466932
    CombatHatedTargetsInArea = 1120685857
    GoToCoordAnyMeansExtraParams = 1169531206
    NMAttachToVehicle = 1212655951
    SharkCircleCoord = 1223610983
    GeneralSweep = 1226471469
    ParachuteToTarget = 1226945658
    GoToEntity = 1227113341
    BindPose = 1227476544
    ShockingEventReact = 1233890275
    AimGunAtCoord = 1237250926
    SkyDive = 1264972124
    GoToCoordAnyMeansExtraParamsWithCruiseSpeed = 1306903184
    SetPedDecisionMaker = 1314604348
    ExitCover = 1318460802
    StealthKill = 1343540250
    ArrestPed = 1392476864
    PerformSequenceFromProgress = 1418067348
    AgitatedAction = 1418507444
    Any = 1435919172
    TurnPedToFaceCoord = 1464580341
    AimGunAtEntity = 1630799643
    UseNearestScenarioToPos = 1647992574
    ClimbLadder = 1715483475
    SynchronizedScene = 1785177548
    SmartFleePed = 1805844857
    SeekCoverToCoords = 1812035420
    InCustody = 1833177545
    VehicleAimAtEntity = 1865479361
    MountAnimal = 1868526510
    SetBlockingOfNonTemporaryEvents = 1872528988
    FollowToOffsetOfPickup = 1890514153
    SeekCoverFromPed = 1910705116
    AchieveHeading = 1920390111
    Parachute = 1992968846
    GoStraightToCoordRelativeToEntity = 2028736502
    DriveBy = 2104565373
    GoStraightToCoord = 2106541073
    ReactAndFleePed = 2112745624
    ShockingEventBackAway = 2140673257
    Invalid = 2166240316
    PlantBomb = 2166881562
    VehicleTempAction = 2176111930
    Jetpack = 2190391815
    GuardAngledDefensiveArea = 2226055072
    StartVehicleScenario = 2248240696
    DragPedToCoord = 2275663850
    PlayAnim = 2277090178
    GoToEntityOffset = 2279858344
    PickupAndCarryObject = 2298630181
    NMElectrocute = 2302978464
    PedSlideToCoordAndPlayAnim = 2315874548
    PutPedDirectlyIntoCover = 2335118350
    GuardCurrentPosition = 2363792692
    RappelDownFall = 2385108722
    Writhe = 2395094593
    GoToCoordAnyMeans = 2470026873
    GoToCoordWhileShooting = 2475155115
    VehicleDriveToCoord = 2477085294
    EnterVehicle = 2500551826
    GoToEntityAiming = 2524881436
    GoToCoordWhileAimingAtEntity = 2536269655
    SeekCoverToCoverPoint = 2578426019
    GetOffBoat = 2586290585
    FollowWaypointRoute = 2605696984
    UseNearestScenarioChainToPos = 2614205159
    InvestigateCoords = 2619673625
    FollowNavmeshToCoordAdvanced = 2622471340
    PutPedDirectlyIntoCoverFromTarget = 2647921909
    ForceMotionState = 2658708511
    EveryoneLeaveVehicle = 2775183686
    HandsUp = 2775823996
    UseNearestTrainScenarioToPos = 2776655976
    SeekCoverFromPos = 2809792197
    CombatHatedTargetsAroundPed = 2852500626
    ThrowProjectile = 2906111747
    VehicleShootAtCoord = 2937632804
    FollowPointRoute = 2989642351
    VehicleMission = 3021937204
    Patrol = 3041948268
    Climb = 3087203786
    GoToEntityWhileAimingAtEntity = 3087792932
    NMStumble = 3134167095
    DrivePointRoute = 3135320368
    GoToEntityWhileAimingAtCoord = 3135983996
    WanderStandard = 3148068810
    WarpPedIntoVehicle = 3159710621
    StartScenarioAtPosition = 3196503398
    ReloadWeapon = 3273846127
    StandStill = 3312640106
    LookAtCoord = 3414437612
    TurnPedToFaceEntity = 3419293077
    AdvanceToTargetInLine = 3425775300
    LeaveAnyVehicle = 3466132403
    WanderSpecific = 3564073556
    StandGuard = 3633261790
    ShootAtCoord = 3641635208
    FireFlare = 3736191119
    GuardDefensiveArea = 3747564455
    StayInCover = 3787550361
    PerformSequenceLocally = 3892030287
    DrivePointRouteAdvanced = 3932828223
    ShockingEventHurryAway = 3966259352
    RappelFromHeli = 4019022656
    VehiclePark = 4022883198
    VehicleDriveWander = 4036695475
    NMSlungOverShoulder = 4042915776
    SmartFleePoint = 4043842218
    VehicleFollowWaypointRecording = 4059134695
    CombatTimed = 4075035274
    VehicleGoToNavmesh = 4222893130
    PutPedDirectlyIntoMelee = 4223627085
    SharkCirclePed = 4245379110

class ScriptTaskStatus(Enum):
    WaitingToStart = 0
    Performing = 1
    Dormant = 2
    Vacant = 3
    Finished = 7

class SpeechModifier(Enum):
    Standard = 0
    AllowRepeat = 1
    Beat = 2
    Force = 3
    ForceFrontend = 4
    ForceNoRepeatFrontend = 5
    ForceNormal = 6
    ForceNormalClear = 7
    ForceNormalCritical = 8
    ForceShouted = 9
    ForceShoutedClear = 10
    ForceShoutedCritical = 11
    ForcePreloadOnly = 12
    Megaphone = 13
    Helicopter = 14
    ForceMegaphone = 15
    ForceHelicopter = 16
    Interrupt = 17
    InterruptShouted = 18
    InterruptShoutedClear = 19
    InterruptShoutedCritical = 20
    InterruptNoForce = 21
    InterruptFrontend = 22
    InterruptNoForceFrontend = 23
    AddBlip = 24
    AddBlipAllowRepeat = 25
    AddBlipForce = 26
    AddBlipShouted = 27
    AddBlipShoutedForce = 28
    AddBlipInterrupt = 29
    AddBlipInterruptForce = 30
    ForcePreloadOnlyShouted = 31
    ForcePreloadOnlyShoutedClear = 32
    ForcePreloadOnlyShoutedCritical = 33
    Shouted = 34
    ShoutedClear = 35
    ShoutedCritical = 36

class Style:
    Item: PedProp
    def GetAllProps(self) -> List[PedProp]: ...
    def GetAllComponents(self) -> List[PedComponent]: ...
    def GetAllVariations(self) -> List[IPedVariation]: ...
    def PreloadVariationData(self, componentType: PedComponentType, drawableId: int, textureId: int) -> None: ...
    def HasLoadedPreloadVariationData(self) -> bool: ...
    def ReleasePreloadVariationData(self) -> None: ...
    def PreloadPropData(self, anchor: PedPropAnchorPoint, propId: int, textureId: int) -> None: ...
    def HasLoadedPreloadPropData(self) -> bool: ...
    def ReleasePreloadPropData(self) -> None: ...
    def GetEnumerator(self) -> Iterable[IPedVariation]: ...
    def ClearProps(self) -> None: ...
    def RandomizeProps(self) -> None: ...
    def RandomizeOutfit(self) -> None: ...
    def SetDefaultClothes(self) -> None: ...

class TargetLossResponse(Enum):
    ExitTask = 0
    NeverLoseTarget = 1
    SearchForTarget = 2

class TaskCombatFlags(Enum):
    None_ = 0
    UseFlinchAimIntro = 16384
    UseSurprisedAimIntro = 32768
    ArrestTarget = 65536
    PreventChangingTarget = 67108864
    DisableAimIntro = 134217728
    UseSniperAimIntro = 536870912

class TaskThreatResponseFlags(Enum):
    None_ = 0
    CanFightArmedPedsWhenNotArmed = 16

class TaskGoToPointAnyMeansFlags(Enum):
    Default = 0
    IgnoreVehicleHealth = 1
    ConsiderAllNearbyVehicles = 2
    ProperIsDriveableCheck = 4
    RemainInVehicleAtDestination = 8
    NeverAbandonVehicle = 16
    NeverAbandonVehicleIfMoving = 32
    UseAITargetingForThreats = 64

class MoveNetworkFlags(Enum):
    Default = 0
    UseKinematicPhysics = 4
    Secondary = 8
    UseFirstPersonArmIkLeft = 16
    UseFirstPersonArmIkRight = 32
    EnableCollisionOnNetworkCloneWhenFixed = 64

class PedMoveNetworkTaskInterface:
    IsTaskActive: bool
    IsReadyForTransition: bool
    CurrentScriptStateName: str
    def RequestStateTransition(self, stateName: str) -> bool: ...
    def SetNetworkClipSet(self, clipSet: AtHashValue, varClipSet: Optional[AtHashValue] = None) -> None: ...
    def SetSignalFloat(self, signalName: str, signal: float) -> None: ...
    def SetSignalFloatLerpRate(self, signalName: str, lerpRate: float) -> None: ...
    def SetSignalBool(self, signalName: str, signal: bool) -> None: ...
    def GetSignalFloat(self, signalName: str) -> float: ...
    def GetSignalBool(self, signalName: str) -> bool: ...
    def GetEvent(self, eventName: str) -> bool: ...

class TaskInvoker:
    def VehicleChase(self, target: Ped) -> None: ...
    def HeliChase(self, target: Entity, targetOffset: Vector3) -> None: ...
    @overload
    def PlaneChase(self, plane: Vehicle, runWayStart: Vector3, runWayEnd: Vector3) -> None: ...
    @overload
    def PlaneChase(self, target: Entity, targetOffset: Vector3) -> None: ...
    def PlaneChase(self, *args: Any, **kwargs: Any) -> Any: ...
    def VehicleShootAtPed(self, target: Ped) -> None: ...
    def Wait(self, duration: int) -> None: ...
    def Wander(self, heading: float = 40000.0, keepMovingWhilstWaitingForFirstPath: bool = False) -> None: ...
    @overload
    def WanderAround(self) -> None: ...
    @overload
    def WanderAround(self, position: Vector3, radius: float) -> None: ...
    @overload
    def WanderAround(self, position: Vector3, radius: float, minTime: float, maxTime: float) -> None: ...
    def WanderAround(self, *args: Any, **kwargs: Any) -> Any: ...
    def WarpIntoVehicle(self, vehicle: Vehicle, seat: VehicleSeat) -> None: ...
    def WarpOutOfVehicle(self, vehicle: Vehicle) -> None: ...
    def ForceMotionState(self, state: PedMotionState, restartState: bool = False) -> None: ...
    def ClearAll(self) -> None: ...
    def ClearAllImmediately(self) -> None: ...
    def ClearLookAt(self) -> None: ...
    def ClearSecondary(self) -> None: ...
    def StopScriptedAnimationTask(self, crClipAsset: CrClipAsset, blendOutDelta: Optional[AnimationBlendDelta] = None) -> None: ...
    def ClearAnimation(self, animSet: str, animName: str) -> None: ...
    def AchieveHeading(self, heading: float, timeout: int = 0) -> None: ...
    @overload
    def AimAt(self, target: Entity, duration: int) -> None: ...
    @overload
    def AimAt(self, target: Vector3, duration: int) -> None: ...
    def AimAt(self, *args: Any, **kwargs: Any) -> Any: ...
    def AimGunAtEntity(self, target: Entity, duration: int, instantBlendToAim: bool = False) -> None: ...
    def AimGunAtPosition(self, target: Vector3, duration: int, instantBlendToAim: bool = False, playAimIntro: bool = False) -> None: ...
    def Arrest(self, ped: Ped) -> None: ...
    def ChatTo(self, ped: Ped) -> None: ...
    @overload
    def Jump(self) -> None: ...
    @overload
    def Jump(self, doSuperJump: bool, useFullSuperJumpForce: bool) -> None: ...
    def Jump(self, *args: Any, **kwargs: Any) -> Any: ...
    def Climb(self) -> None: ...
    @overload
    def ClimbLadder(self) -> None: ...
    @overload
    def ClimbLadder(self, fast: bool) -> None: ...
    def ClimbLadder(self, *args: Any, **kwargs: Any) -> Any: ...
    def Cower(self, duration: int) -> None: ...
    def ChaseWithGroundVehicle(self, target: Ped) -> None: ...
    def ChaseWithHelicopter(self, target: Ped, offset: Vector3) -> None: ...
    def ChaseWithPlane(self, target: Ped, offset: Vector3) -> None: ...
    @overload
    def CruiseWithVehicle(self, vehicle: Vehicle, speed: float, drivingFlags: VehicleDrivingFlags) -> None: ...
    @overload
    def CruiseWithVehicle(self, vehicle: Vehicle, speed: float, style: DrivingStyle = ...) -> None: ...
    def CruiseWithVehicle(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def DriveTo(self, vehicle: Vehicle, target: Vector3, speed: float, drivingFlags: VehicleDrivingFlags, radius: float) -> None: ...
    @overload
    def DriveTo(self, vehicle: Vehicle, target: Vector3, radius: float, speed: float, style: DrivingStyle = ...) -> None: ...
    def DriveTo(self, *args: Any, **kwargs: Any) -> Any: ...
    def EnterAnyVehicle(self, seat: VehicleSeat = ..., timeout: int = -1, speed: float = 1.0, flag: EnterVehicleFlags = ...) -> None: ...
    @overload
    def EnterVehicle(self, vehicle: Vehicle, seat: VehicleSeat = ..., timeout: int = -1, speed: float = 1.0, flag: EnterVehicleFlags = ...) -> None: ...
    @overload
    def EnterVehicle(self, vehicle: Vehicle, seat: VehicleSeat, timeout: int, moveBlendRatio: Optional[PedMoveBlendRatio] = None, flag: EnterVehicleFlags = ..., overriddenClipSet: Optional[str] = None) -> None: ...
    def EnterVehicle(self, *args: Any, **kwargs: Any) -> Any: ...
    def OpenVehicleDoor(self, vehicle: Vehicle, seat: VehicleSeat = ..., timeout: int = -1, moveBlendRatio: Optional[PedMoveBlendRatio] = None) -> None: ...
    @staticmethod
    def EveryoneLeaveVehicle(vehicle: Vehicle) -> None: ...
    def Combat(self, target: Ped, combatFlags: TaskCombatFlags = ..., taskThreatResponseFlags: TaskThreatResponseFlags = ...) -> None: ...
    def CombatTimed(self, target: Ped, time: int, combatFlags: TaskCombatFlags = ...) -> None: ...
    def CombatHatedTargetsInArea(self, position: Vector3, radius: float, combatFlags: TaskCombatFlags = ...) -> None: ...
    def CombatHatedTargetsAroundPed(self, radius: float, combatFlags: TaskCombatFlags = ...) -> None: ...
    def CombatHatedTargetsAroundPedTimed(self, radius: float, time: int, combatFlags: TaskCombatFlags = ...) -> None: ...
    @overload
    def PutDirectlyIntoMelee(self, target: Ped, blendIn: AnimationBlendDuration, strafePhaseSync: float) -> None: ...
    @overload
    def PutDirectlyIntoMelee(self, target: Ped, blendIn: AnimationBlendDuration, strafePhaseSync: float, timeInTask: float) -> None: ...
    @overload
    def PutDirectlyIntoMelee(self, target: Ped, blendIn: AnimationBlendDuration, strafePhaseSync: float, aiCombatFlags: TaskCombatFlags) -> None: ...
    def PutDirectlyIntoMelee(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def FightAgainst(self, target: Ped) -> None: ...
    @overload
    def FightAgainst(self, target: Ped, duration: int) -> None: ...
    def FightAgainst(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def FightAgainstHatedTargets(self, radius: float) -> None: ...
    @overload
    def FightAgainstHatedTargets(self, radius: float, duration: int) -> None: ...
    def FightAgainstHatedTargets(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def FleeFrom(self, ped: Ped, duration: int = -1) -> None: ...
    @overload
    def FleeFrom(self, otherPed: Ped, safeDistance: float, duration: int) -> None: ...
    @overload
    def FleeFrom(self, position: Vector3, duration: int = -1) -> None: ...
    @overload
    def FleeFrom(self, position: Vector3, safeDistance: float, duration: int, quitIfOutOfRange: bool = False) -> None: ...
    def FleeFrom(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def FollowPointRoute(self, points: List[Vector3]) -> None: ...
    @overload
    def FollowPointRoute(self, movementSpeed: float, points: List[Vector3]) -> None: ...
    def FollowPointRoute(self, *args: Any, **kwargs: Any) -> Any: ...
    def FollowToOffsetFromEntity(self, target: Entity, offset: Vector3, movementSpeed: float, timeout: int = -1, distanceToFollow: float = 10.0, persistFollowing: bool = True) -> None: ...
    @overload
    def FollowNavMeshTo(self, position: Vector3, moveBlendRatio: Optional[PedMoveBlendRatio] = None, timeBeforeWarp: int = -1, radius: float = 0.25, navigationFlags: FollowNavMeshFlags = ..., finalHeading: float = 40000.0) -> None: ...
    @overload
    def FollowNavMeshTo(self, position: Vector3, moveBlendRatio: PedMoveBlendRatio, timeBeforeWarp: int, radius: float, navigationFlags: FollowNavMeshFlags, slideToCoordHeading: float, maxSlopeNavigable: float, clampMaxSearchDistance: float, finalHeading: float = 40000.0) -> None: ...
    def FollowNavMeshTo(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def GoTo(self, target: Entity, offset: Optional[Vector3] = None, timeout: int = -1) -> None: ...
    @overload
    def GoTo(self, position: Vector3, timeout: int = -1) -> None: ...
    def GoTo(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def GoStraightTo(self, position: Vector3, timeout: int = -1, targetHeading: float = 0.0, distanceToSlide: float = 0.0) -> None: ...
    @overload
    def GoStraightTo(self, position: Vector3, timeBeforeWarp: int, moveBlendRatio: PedMoveBlendRatio, finalHeading: float, targetRadius: float) -> None: ...
    def GoStraightTo(self, *args: Any, **kwargs: Any) -> Any: ...
    def GoToPointAnyMeans(self, target: Vector3, moveBlendRatio: PedMoveBlendRatio, vehicle: Vehicle, useLongRangeVehiclePathing: bool = False, drivingFlags: VehicleDrivingFlags = ..., maxRangeToShootTargets: float = -1.0) -> None: ...
    def GoToPointAnyMeansExtraParams(self, target: Vector3, moveBlendRatio: PedMoveBlendRatio, vehicle: Vehicle, useLongRangeVehiclePathing: bool = False, drivingFlags: VehicleDrivingFlags = ..., maxRangeToShootTargets: float = -1.0, extraVehToTargetDistToPreferVeh: float = 0.0, driveStraightLineDistance: float = 20.0, extraFlags: TaskGoToPointAnyMeansFlags = ..., warpTimerMs: float = -1.0) -> None: ...
    def GoToPointAnyMeansExtraParamsWithCruiseSpeed(self, target: Vector3, moveBlendRatio: PedMoveBlendRatio, vehicle: Vehicle, useLongRangeVehiclePathing: bool = False, drivingFlags: VehicleDrivingFlags = ..., maxRangeToShootTargets: float = -1.0, extraVehToTargetDistToPreferVeh: float = 0.0, driveStraightLineDistance: float = 20.0, extraFlags: TaskGoToPointAnyMeansFlags = ..., cruiseSpeed: float = -1.0, targetArriveDist: float = 4.0) -> None: ...
    def GuardCurrentPosition(self) -> None: ...
    def HandsUp(self, duration: int) -> None: ...
    def LandPlane(self, startPosition: Vector3, touchdownPosition: Vector3, plane: Optional[Vehicle] = None) -> None: ...
    @overload
    def LeaveVehicle(self, flags: LeaveVehicleFlags = ...) -> None: ...
    @overload
    def LeaveVehicle(self, vehicle: Vehicle, closeDoor: bool) -> None: ...
    @overload
    def LeaveVehicle(self, vehicle: Vehicle, flags: LeaveVehicleFlags) -> None: ...
    def LeaveVehicle(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def LookAt(self, target: Entity, duration: int = -1) -> None: ...
    @overload
    def LookAt(self, target: Entity, duration: int, lookFlags: LookAtFlags = ..., priority: LookAtPriority = ...) -> None: ...
    @overload
    def LookAt(self, position: Vector3, duration: int = -1) -> None: ...
    @overload
    def LookAt(self, position: Vector3, duration: int, lookFlags: LookAtFlags = ..., priority: LookAtPriority = ...) -> None: ...
    def LookAt(self, *args: Any, **kwargs: Any) -> Any: ...
    def ParachuteTo(self, position: Vector3) -> None: ...
    @staticmethod
    def UpdateParachuteTarget(ped: Ped, position: Vector3) -> None: ...
    @overload
    def ParkVehicle(self, vehicle: Vehicle, position: Vector3, heading: float, radius: float = 20.0, keepEngineOn: bool = False) -> None: ...
    @overload
    def ParkVehicle(self, vehicle: Vehicle, position: Vector3, directionDegrees: float, parkType: ParkType, toleranceDegrees: float = 20.0, keepEngineOn: bool = False) -> None: ...
    def ParkVehicle(self, *args: Any, **kwargs: Any) -> Any: ...
    def PerformSequence(self, sequence: TaskSequence) -> None: ...
    @overload
    def PlayAnimation(self, animDict: str, animName: str) -> None: ...
    @overload
    def PlayAnimation(self, crClipAsset: CrClipAsset) -> None: ...
    @overload
    def PlayAnimation(self, animDict: str, animName: str, speed: float, duration: int, playbackRate: float) -> None: ...
    @overload
    def PlayAnimation(self, crClipAsset: CrClipAsset, blendSpeed: AnimationBlendDelta, duration: int, startPhase: float) -> None: ...
    @overload
    def PlayAnimation(self, animDict: str, animName: str, blendInSpeed: float, duration: int, flags: AnimationFlags) -> None: ...
    @overload
    def PlayAnimation(self, animDict: str, animName: str, blendInSpeed: float, blendOutSpeed: float, duration: int, flags: AnimationFlags, playbackRate: float) -> None: ...
    @overload
    def PlayAnimation(self, crClipAsset: CrClipAsset, blendInSpeed: AnimationBlendDelta, blendOutSpeed: AnimationBlendDelta, duration: int, flags: AnimationFlags, startPhase: float) -> None: ...
    @overload
    def PlayAnimation(self, crClipAsset: CrClipAsset, blendInSpeed: AnimationBlendDelta, blendOutSpeed: AnimationBlendDelta, duration: int, flags: AnimationFlags, startPhase: float, phaseControlled: bool, ikFlags: AnimationIKControlFlags) -> None: ...
    def PlayAnimation(self, *args: Any, **kwargs: Any) -> Any: ...
    def PlayAnimationAdvanced(self, crClipAsset: CrClipAsset, position: Vector3, rotation: Vector3, blendInDelta: Optional[AnimationBlendDelta] = None, blendOutDelta: Optional[AnimationBlendDelta] = None, timeToPlay: int = -1, flags: AnimationFlags = ..., startPhase: float = 0.0, rotOrder: EulerRotationOrder = ..., ikFlags: AnimationIKControlFlags = ...) -> None: ...
    def PlaySynchronizedScene(self, scene: FwSyncedScene, anim: CrClipAsset, blendIn: AnimationBlendDelta, blendOut: AnimationBlendDelta, flags: SyncedSceneFlags = ..., ragdollFlags: RagdollBlockingFlags = ..., moverBlendIn: Optional[AnimationBlendDelta] = None, ikFlags: AnimationIKControlFlags = ...) -> None: ...
    def StartMoveNetworkByName(self, networkName: str, blendDuration: Optional[AnimationBlendDuration] = None, flags: MoveNetworkFlags = ...) -> None: ...
    def StartMoveNetworkAdvancedByName(self, networkName: str, pos: Vector3, rot: Vector3, rotOrder: EulerRotationOrder = ..., blendDuration: Optional[AnimationBlendDuration] = None, flags: MoveNetworkFlags = ...) -> None: ...
    def StartMoveNetworkByNameWithInitParams(self, networkName: str, initParams: TaskMoVEScriptedInitialParameters, blendDuration: Optional[AnimationBlendDuration] = None, flags: MoveNetworkFlags = ...) -> None: ...
    def StartMoveNetworkAdvancedByNameWithInitParams(self, networkName: str, initParams: TaskMoVEScriptedInitialParameters, pos: Vector3, rot: Vector3, rotOrder: EulerRotationOrder = ..., blendDuration: Optional[AnimationBlendDuration] = None, flags: MoveNetworkFlags = ...) -> None: ...
    def RappelFromHelicopter(self) -> None: ...
    def ReactAndFlee(self, ped: Ped) -> None: ...
    def ReloadWeapon(self) -> None: ...
    def RunTo(self, position: Vector3, ignorePaths: bool = False, timeout: int = -1) -> None: ...
    @overload
    def ShootAt(self, target: Ped, duration: int = -1, pattern: FiringPattern = ...) -> None: ...
    @overload
    def ShootAt(self, position: Vector3, duration: int = -1, pattern: FiringPattern = ...) -> None: ...
    def ShootAt(self, *args: Any, **kwargs: Any) -> Any: ...
    def ShuffleToNextVehicleSeat(self, vehicle: Optional[Vehicle] = None) -> None: ...
    def Skydive(self) -> None: ...
    def SlideTo(self, position: Vector3, heading: float) -> None: ...
    def Pause(self, duration: int) -> None: ...
    def StandStill(self, duration: int) -> None: ...
    @overload
    def StartScenario(self, name: str, heading: float) -> None: ...
    @overload
    def StartScenario(self, name: str, position: Vector3, heading: float) -> None: ...
    def StartScenario(self, *args: Any, **kwargs: Any) -> Any: ...
    def StartScenarioInPlace(self, scenarioName: str, timeToLeave: int = 0, playIntroClip: bool = True) -> None: ...
    def StartScenarioAtPosition(self, scenarioName: str, position: Vector3, heading: float, timeToLeave: int = 0, playIntroClip: bool = True, warp: bool = True) -> None: ...
    @overload
    def StartVehicleMission(self, vehicle: Vehicle, target: Vehicle, missionType: VehicleMissionType, cruiseSpeed: float, drivingFlags: VehicleDrivingFlags, targetReachedDist: float, straightLineDist: float, driveAgainstTraffic: bool = True) -> None: ...
    @overload
    def StartVehicleMission(self, vehicle: Vehicle, target: Ped, missionType: VehicleMissionType, cruiseSpeed: float, drivingFlags: VehicleDrivingFlags, targetReachedDist: float, straightLineDist: float, driveAgainstTraffic: bool = True) -> None: ...
    @overload
    def StartVehicleMission(self, vehicle: Vehicle, target: Vector3, missionType: VehicleMissionType, cruiseSpeed: float, drivingFlags: VehicleDrivingFlags, targetReachedDist: float, straightLineDist: float, driveAgainstTraffic: bool = True) -> None: ...
    def StartVehicleMission(self, *args: Any, **kwargs: Any) -> Any: ...
    def VehicleEscort(self, vehicle: Vehicle, escortEntity: Entity, escortType: VehicleEscortType, cruiseSpeed: float, drivingFlags: VehicleDrivingFlags, customOffset: float = -1.0, minHeightAboveTerrain: int = 20, straightLineDistance: float = 20.0) -> None: ...
    def VehicleFollow(self, vehicle: Vehicle, followEntity: Entity, cruiseSpeed: float, drivingFlags: VehicleDrivingFlags, followDistance: int = 20) -> None: ...
    def VehicleHeliProtect(self, heli: Vehicle, protectEntity: Entity, cruiseSpeed: float, drivingFlags: VehicleDrivingFlags, customOffset: float = -1.0, minHeightAboveTerrain: int = 20, missionFlags: HeliMissionFlags = ...) -> None: ...
    @overload
    def StartHeliMission(self, heli: Vehicle, target: Vehicle, missionType: VehicleMissionType, cruiseSpeed: float, targetReachedDist: float, flightHeight: int, minHeightAboveTerrain: int, heliOrientation: float = -1.0, slowDownDistance: float = -1.0, missionFlags: HeliMissionFlags = ...) -> None: ...
    @overload
    def StartHeliMission(self, heli: Vehicle, target: Ped, missionType: VehicleMissionType, cruiseSpeed: float, targetReachedDist: float, flightHeight: int, minHeightAboveTerrain: int, heliOrientation: float = -1.0, slowDownDistance: float = -1.0, missionFlags: HeliMissionFlags = ...) -> None: ...
    @overload
    def StartHeliMission(self, heli: Vehicle, target: Vector3, missionType: VehicleMissionType, cruiseSpeed: float, targetReachedDist: float, flightHeight: int, minHeightAboveTerrain: int, heliOrientation: float = -1.0, slowDownDistance: float = -1.0, missionFlags: HeliMissionFlags = ...) -> None: ...
    def StartHeliMission(self, *args: Any, **kwargs: Any) -> Any: ...
    def HeliEscortHeli(self, heli: Vehicle, escortHeli: Vehicle, offset: Vector3) -> None: ...
    @overload
    def StartPlaneMission(self, plane: Vehicle, target: Vehicle, missionType: VehicleMissionType, cruiseSpeed: float, targetReachedDist: float, flightHeight: int, minHeightAboveTerrain: int, planeOrientation: float = -1.0, precise: bool = True) -> None: ...
    @overload
    def StartPlaneMission(self, plane: Vehicle, target: Ped, missionType: VehicleMissionType, cruiseSpeed: float, targetReachedDist: float, flightHeight: int, minHeightAboveTerrain: int, planeOrientation: float = -1.0, precise: bool = True) -> None: ...
    @overload
    def StartPlaneMission(self, plane: Vehicle, target: Vector3, missionType: VehicleMissionType, cruiseSpeed: float, targetReachedDist: float, flightHeight: int, minHeightAboveTerrain: int, planeOrientation: float = -1.0, precise: bool = True) -> None: ...
    def StartPlaneMission(self, *args: Any, **kwargs: Any) -> Any: ...
    def PlaneTaxi(self, plane: Vehicle, position: Vector3, cruiseSpeed: float, targetReachedDist: float) -> None: ...
    @overload
    def StartBoatMission(self, boat: Vehicle, target: Vehicle, missionType: VehicleMissionType, cruiseSpeed: float, drivingFlags: VehicleDrivingFlags, targetReachedDist: float, missionFlags: BoatMissionFlags) -> None: ...
    @overload
    def StartBoatMission(self, boat: Vehicle, target: Ped, missionType: VehicleMissionType, cruiseSpeed: float, drivingFlags: VehicleDrivingFlags, targetReachedDist: float, missionFlags: BoatMissionFlags) -> None: ...
    @overload
    def StartBoatMission(self, boat: Vehicle, target: Vector3, missionType: VehicleMissionType, cruiseSpeed: float, drivingFlags: VehicleDrivingFlags, targetReachedDist: float, missionFlags: BoatMissionFlags) -> None: ...
    def StartBoatMission(self, *args: Any, **kwargs: Any) -> Any: ...
    def GoToPlanePreciseVtol(self, plane: Vehicle, target: Vector3, flightHeight: int, minHeightAboveTerrain: int, desiredOrientation: Optional[float] = None, autoPilot: bool = False) -> None: ...
    def GoToSubmarineAndStop(self, submarine: Vehicle, position: Vector3, autoPilot: bool = False) -> None: ...
    @overload
    def SwapWeapon(self) -> None: ...
    @overload
    def SwapWeapon(self, drawWeapon: bool) -> None: ...
    def SwapWeapon(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def TurnTo(self, target: Entity, duration: int = -1) -> None: ...
    @overload
    def TurnTo(self, position: Vector3, duration: int = -1) -> None: ...
    def TurnTo(self, *args: Any, **kwargs: Any) -> Any: ...
    def UseParachute(self) -> None: ...
    @overload
    def UseMobilePhone(self) -> None: ...
    @overload
    def UseMobilePhone(self, duration: int) -> None: ...
    def UseMobilePhone(self, *args: Any, **kwargs: Any) -> Any: ...
    def PutAwayParachute(self) -> None: ...
    def PutAwayMobilePhone(self) -> None: ...

class TaskMoVEScriptedInitialParameters:
    ClipSet0: AtHashValue
    VarClipSet0: AtHashValue
    ClipSet1: AtHashValue
    VarClipSet1: AtHashValue
    FloatParamName0: str
    FloatParamValue0: float
    FloatParamLerpValue0: float
    FloatParamName1: str
    FloatParamValue1: float
    FloatParamLerpValue1: float
    BoolParamName0: str
    BoolParamValue0: bool
    BoolParamName1: str
    BoolParamValue1: bool

class TaskMoVEScriptedInitialParametersBuilder:
    def __init__(self) -> None: ...
    def ClipSet0(self, clipSet0: AtHashValue) -> TaskMoVEScriptedInitialParametersBuilder: ...
    def VarClipSet0(self, varClipSet0: AtHashValue) -> TaskMoVEScriptedInitialParametersBuilder: ...
    def ClipSet1(self, clipSet1: AtHashValue) -> TaskMoVEScriptedInitialParametersBuilder: ...
    def VarClipSet1(self, varClipSet1: AtHashValue) -> TaskMoVEScriptedInitialParametersBuilder: ...
    def FloatParamName0(self, floatParamName0: str) -> TaskMoVEScriptedInitialParametersBuilder: ...
    def FloatParamValue0(self, floatParamValue0: float) -> TaskMoVEScriptedInitialParametersBuilder: ...
    def FloatParamLerpValue0(self, floatParamLerpValue0: float) -> TaskMoVEScriptedInitialParametersBuilder: ...
    def FloatParamName1(self, floatParamName1: str) -> TaskMoVEScriptedInitialParametersBuilder: ...
    def FloatParamValue1(self, floatParamValue1: float) -> TaskMoVEScriptedInitialParametersBuilder: ...
    def FloatParamLerpValue1(self, floatParamLerpValue1: float) -> TaskMoVEScriptedInitialParametersBuilder: ...
    def BoolParamName0(self, boolParamName0: str) -> TaskMoVEScriptedInitialParametersBuilder: ...
    def BoolParamValue0(self, boolParamValue0: bool) -> TaskMoVEScriptedInitialParametersBuilder: ...
    def BoolParamName1(self, boolParamName1: str) -> TaskMoVEScriptedInitialParametersBuilder: ...
    def BoolParamValue1(self, boolParamValue1: bool) -> TaskMoVEScriptedInitialParametersBuilder: ...
    def Build(self) -> TaskMoVEScriptedInitialParameters: ...

class TaskSequence:
    Handle: int
    Count: int
    IsClosed: bool
    AddTask: TaskInvoker
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, handle: int) -> None: ...
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...
    def Dispose(self) -> None: ...
    @overload
    def Close(self) -> None: ...
    @overload
    def Close(self, repeat: bool) -> None: ...
    def Close(self, *args: Any, **kwargs: Any) -> Any: ...

class EnterVehicleFlags(Enum):
    None_ = 0
    ResumeIfInterupted = 1
    WarpToDoor = 2
    JackAnyone = 8
    AllowJacking = 8
    WarpIn = 16
    DontCloseDoor = 256
    WarpIfDoorIsBlocked = 512
    UseLeftEntry = 131072
    UseRightEntry = 262144
    EnterFromOppositeSide = 262144
    OnlyOpenDoor = 524288
    JustPullPedOut = 524288
    BlockSeatShuffling = 1048576
    WarpIfShuffleLinkIsBlocked = 4194304
    DontJackAnyone = 8388608

class LeaveVehicleFlags(Enum):
    None_ = 0
    WarpOut = 16
    DontWaitForVehicleToStop = 64
    LeaveDoorOpen = 256
    WarpIfDoorIsBlocked = 512
    BailOut = 4096
    DontDefaultWarpIfDoorBlocked = 65536
    FromLeftSide = 131072
    FromRightSide = 262144
    BlockSeatShuffling = 1048576
    WarpIfShuffleLinkIsBlocked = 4194304
    DontJackAnyone = 8388608
    WaitForEntryPointToBeClear = 16777216

class PhysicsDampingType(Enum):
    LinearC = 0
    LinearV = 1
    LinearV2 = 2
    AngularC = 3
    AngularV = 4
    AngularV2 = 5

class Projectile(Prop):
    Owner: Ped
    OwnerEntity: Entity
    WeaponHash: WeaponHash
    def Explode(self) -> None: ...
    @staticmethod
    def FromHandle(handle: int) -> Projectile: ...

class ProjectileRocket(Projectile):
    Target: Entity
    CachedTargetPosition: Vector3
    LaunchDirection: Vector3
    FlightModelInput: Vector3
    FlightModelInputPitch: float
    FlightModelInputRoll: float
    FlightModelInputYaw: float
    TimeBeforeHoming: float
    TimeBeforeHomingAngleBreak: float
    LauncherSpeed: float
    TimeSinceLaunch: float
    IsAccurate: bool
    LerpToLaunchDirection: bool
    ApplyThrust: bool
    OnFootHomingWeaponLockedOn: bool
    WasHoming: bool
    StopHoming: bool
    IsRedirected: bool
    CachedDirection: Vector3
    @staticmethod
    def FromHandle(handle: int) -> ProjectileRocket: ...

class ProjectileThrown(Projectile):
    @staticmethod
    def FromHandle(handle: int) -> ProjectileThrown: ...

class Prop(Entity):
    HasBeenDetachedFromParentEntity: bool
    ParentEntityDetachedFrom: Entity
    def Exists(self) -> bool: ...
    def AsProjectile(self) -> Projectile: ...
    def AsProjectileRocket(self) -> ProjectileRocket: ...
    def AsProjectileThrown(self) -> ProjectileThrown: ...

class SyncedSceneFlags(Enum):
    None_ = 0
    UseKinematicPhysics = 1
    TagSyncOut = 2
    DontInterrupt = 4
    OnAbortStopScene = 8
    AbortOnWeaponDamage = 16
    BlockMoverUpdate = 32
    LoopWithinScene = 64
    PreserveVelocity = 128
    ExpandPedCapsuleFromSkeleton = 256
    ActivateRagdollOnCollision = 512
    HideWeapon = 1024
    AbortOnDeath = 2048
    VehicleAbortOnLargeImpact = 4096
    VehicleAllowPlayerEntry = 8192
    ProcessAttachmentsOnStart = 16384
    NetOnEarlyNonPedStopReturnToStart = 32768
    SetPedOutOfVehicleAtStart = 65536
    NetDisregardAttachmentChecks = 131072

class BoatMissionFlags(Enum):
    StopAtEnd = 1
    StopAtShore = 2
    AvoidShore = 4
    DefaultSettings = 7
    PreferForward = 8
    NeverStop = 16
    NeverNavMesh = 32
    NeverRoute = 64
    OpenOceanSettings = 111
    ForceBeached = 128
    UseWanderRoute = 256
    UseFleeRoute = 512
    NeverPause = 1024

class CargobobHook(Enum):
    Hook = 0
    Magnet = 1

class BaseSubHandlingData:
    MemoryAddress: int
    Parent: HandlingData
    HandlingType: HandlingType
    IsValid: bool
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class BikeHandlingData(BaseSubHandlingData):
    LeanForwardCenterOfMassMultiplier: float
    LeanForwardForceMultiplier: float
    LeanBackCenterOfMassMultiplier: float
    LeanBackwardForceMultiplier: float
    MaxBankAngle: float
    FullAnimAngle: float
    DesLeanReturnFraction: float
    StickLeanMultiplier: float
    BrakingStabilityMultiplier: float
    InAirSteerMultiplier: float
    WheelieBalancePoint: float
    StoppieBalancePoint: float
    WheelieSteerMultiplier: float
    RearBalanceMultiplier: float
    FrontBalanceMultiplier: float
    BikeOnStandLeanAngle: float
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class BoatHandlingData(BaseSubHandlingData):
    AquaplanePushWaterMultiplier: float
    AquaplanePushWaterCap: float
    AquaplanePushWaterApply: float
    RudderForce: float
    RudderOffsetSubmerge: float
    RudderOffsetForce: float
    VectorTurnResistance: Vector3
    DragCoefficient: float
    KeelSphereSize: float
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class CarHandlingData(BaseSubHandlingData):
    ToeFront: float
    ToeRear: float
    CamberFront: float
    CamberRear: float
    Castor: float
    EngineResistance: float
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class FlyingHandlingData(BaseSubHandlingData):
    Thrust: float
    ThrustFallOff: float
    ThrustVectoring: float
    YawMultiplier: float
    YawStabilize: float
    SideSlipMultiplier: float
    RollMultiplier: float
    RollStabilize: float
    PitchMultiplier: float
    PitchStabilize: float
    FormLiftMultiplier: float
    AttackLiftMultiplier: float
    AttackDiveMultiplier: float
    GearDownDragV: float
    GearDownLiftMultiplier: float
    WindMultiplier: float
    MoveResistance: float
    VectorTurnResistance: Vector3
    VectorSpeedResistance: Vector3
    ExtraLiftWithRoll: float
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class HandlingData:
    MemoryAddress: int
    IsValid: bool
    AntiRollBarBiasFront: float
    AntiRollBarForce: float
    BoostMaxSpeed: float
    BrakeBiasFront: float
    BrakeForce: float
    CamberStiffness: float
    CenterOfMassOffset: Vector3
    ClutchChangeRateScaleDownShift: float
    ClutchChangeRateScaleUpShift: float
    CollisionDamageMultiplier: float
    DeformationDamageMultiplier: float
    DownForceModifier: float
    DriveBiasFront: float
    DriveInertia: float
    EngineDamageMultiplier: float
    HandBrakeForce: float
    InertiaMultiplier: Vector3
    InitialDragCoefficient: float
    InitialDriveForce: float
    InitialDriveGears: int
    InitialDriveMaxVelocity: float
    InitialDriveMaxFlatVelocity: float
    LowSpeedTractionLossMultiplier: float
    Mass: float
    MonetaryValue: int
    OilVolume: float
    PercentSubmerged: float
    PetrolTankVolume: float
    PetrolConsumptionRate: float
    PopUpLightRotation: float
    RocketBoostCapacity: float
    RollCenterHeightFront: float
    RollCenterHeightRear: float
    SeatOffsetDistanceX: float
    SeatOffsetDistanceY: float
    SeatOffsetDistanceZ: float
    SteeringLock: float
    SuspensionBiasFront: float
    SuspensionCompressionDamping: float
    SuspensionForce: float
    SuspensionLowerLimit: float
    SuspensionRaise: float
    SuspensionReboundDamping: float
    SuspensionUpperLimit: float
    TractionBiasFront: float
    TractionCurveMax: float
    TractionCurveMin: float
    TractionCurveLateral: float
    TractionLossMultiplier: float
    TractionSpringDeltaMax: float
    WeaponDamageMultiplier: float
    WeaponDamageScaledToVehicleHealthMultiplier: float
    BikeHandlingData: BikeHandlingData
    FlyingHandlingData: FlyingHandlingData
    VerticalFlyingHandlingData: FlyingHandlingData
    BoatHandlingData: BoatHandlingData
    SeaPlaneHandlingData: SeaPlaneHandlingData
    SubmarineHandlingData: SubmarineHandlingData
    TrailerHandlingData: TrailerHandlingData
    CarHandlingData: CarHandlingData
    VehicleWeaponHandlingData: VehicleWeaponHandlingData
    @staticmethod
    def GetByHash(handlingNameHash: int) -> HandlingData: ...
    @staticmethod
    def GetByVehicleModel(VehicleModel: Model) -> HandlingData: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class SeaPlaneHandlingData(BaseSubHandlingData):
    PontoonDragCoefficient: float
    PontoonVerticalDampingCoefficientUp: float
    PontoonVerticalDampingCoefficientDown: float
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class SpecialFlightHandlingData(BaseSubHandlingData):
    VectorAngularDamping: Vector3
    VectorAngularDampingMin: Vector3
    VectorLinearDamping: Vector3
    VectorLinearDampingMin: Vector3
    RollTorqueScale: float
    YawTorqueScale: float
    PitchTorqueScale: float
    TransitionDuration: float
    HoverVelocityScale: float
    MinSpeedForThrustFalloff: float
    BrakingThrustScale: float
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class SubmarineHandlingData(BaseSubHandlingData):
    PitchMultiplier: float
    PitchAngle: float
    YawMultiplier: float
    DiveSpeed: float
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class TrailerHandlingData(BaseSubHandlingData):
    AttachLimitPitch: float
    AttachLimitRoll: float
    AttachLimitYaw: float
    UprightSpringConstant: float
    UprightDampingConstant: float
    AttachedMaxDistance: float
    AttachedMaxPenetration: float
    PositionConstraintMassRatio: float
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class VehicleWeaponHandlingData(BaseSubHandlingData):
    WeaponHash: List[VehicleWeaponHash]
    WeaponSeats: List[VehicleSeat]
    WeaponVehicleModType: List[VehicleModType]
    TurretSpeed: List[float]
    TurretPitchMin: List[float]
    TurretPitchMax: List[float]
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class HandlingType(Enum):
    Bike = 0
    Flying = 1
    VerticalFlying = 2
    Boat = 3
    SeaPlane = 4
    Submarine = 5
    Trailer = 7
    Car = 8
    Weapon = 9
    SpecialFlight = 10

class HeliMissionFlags(Enum):
    None_ = 0
    AttainRequestedOrientation = 1
    DontModifyOrientation = 2
    DontModifyPitch = 4
    DontModifyThrottle = 8
    DontModifyRoll = 16
    LandOnArrival = 32
    DontDoAvoidance = 64
    StartEngineImmediately = 128
    ForceHeightMapAvoidance = 256
    HeightMapOnlyAvoidance = 320
    DontClampProbesToDestination = 512
    EnableTimeslicingWhenPossible = 1024
    CircleOppositeDirection = 2048
    MaintainHeightAboveTerrain = 4096
    IgnoreHiddenEntitiesDuringLand = 8192
    DisableAllHeightMapAvoidance = 16384

class LicensePlateStyle(Enum):
    BlueOnWhite2 = 0
    YellowOnBlack = 1
    YellowOnBlue = 2
    BlueOnWhite1 = 3
    BlueOnWhite3 = 4
    NorthYankton = 5

class LicensePlateType(Enum):
    FrontAndRearPlates = 0
    FrontPlate = 1
    RearPlate = 2
    None_ = 3

class ScriptedVehicleLightSetting(Enum):
    NoVehicleLightOverride = 0
    ForceVehicleLightsOff = 1
    ForceVehicleLightsOn = 2
    SetVehicleLightsOn = 3
    SetVehicleLightsOff = 4

class ScriptVehicleWheelIndex(Enum):
    CarFrontLeft = 0
    CarFrontRight = 1
    CarMidLeft = 2
    CarMidRight = 3
    CarRearLeft = 4
    CarRearRight = 5
    BikeFront = 6
    BikeRear = 7
    Invalid = -1

class Vehicle(Entity):
    IsConvertible: bool
    IsBig: bool
    HasBulletProofGlass: bool
    HasLowriderHydraulics: bool
    HasDonkHydraulics: bool
    HasParachute: bool
    HasRocketBoost: bool
    IsParachuteDeployed: bool
    IsRocketBoostActive: bool
    DirtLevel: float
    EnvEffLevel: float
    Mods: VehicleModCollection
    Wheels: VehicleWheelCollection
    Windows: VehicleWindowCollection
    IsRegularAutomobile: bool
    IsAmphibiousAutomobile: bool
    IsSubmarineCar: bool
    IsAutomobile: bool
    IsRegularQuadBike: bool
    IsAmphibiousQuadBike: bool
    IsQuadBike: bool
    IsAmphibious: bool
    IsTrailer: bool
    IsPlane: bool
    IsHelicopter: bool
    IsBlimp: bool
    IsAircraft: bool
    IsMotorcycle: bool
    IsBicycle: bool
    IsBike: bool
    IsBoat: bool
    IsTrain: bool
    IsSubmarine: bool
    CanPretendOccupants: bool
    IsStolen: bool
    IsWanted: bool
    NeedsToBeHotwired: bool
    PreviouslyOwnedByPlayer: bool
    AllowRappel: bool
    CanStandOnTop: bool
    CanJump: bool
    AreExhaustPopsEnabled: bool
    HasLowerFrictionTires: bool
    DisplayName: str
    LocalizedName: str
    ClassDisplayName: str
    ClassLocalizedName: str
    ClassType: VehicleClass
    Type: VehicleType
    LodMultiplier: float
    HandlingData: HandlingData
    BodyHealth: float
    EngineHealth: float
    PetrolTankHealth: float
    HeliEngineHealth: float
    HeliMainRotorHealth: float
    HeliTailRotorHealth: float
    IsRadioEnabled: bool
    RadioStation: RadioStation
    IsEngineRunning: bool
    IsEngineStarting: bool
    CanEngineDegrade: bool
    EngineTemperature: float
    EnginePowerMultiplier: float
    EngineTorqueMultiplier: float
    OilLevel: float
    OilVolume: float
    FuelLevel: float
    PetrolTankVolume: float
    Gears: int
    HighGear: int
    NextGear: int
    CurrentGear: int
    Turbo: float
    Clutch: float
    Throttle: float
    BrakePower: float
    ThrottlePower: float
    MaxBraking: float
    MaxTraction: float
    WheelSpeed: float
    ForwardSpeed: float
    HeliBladesSpeed: float
    CurrentRPM: float
    Acceleration: float
    SteeringAngle: float
    SteeringScale: float
    IsAlarmSet: bool
    IsAlarmSounding: bool
    AlarmTimeLeft: int
    HasSiren: bool
    CanUseSiren: bool
    IsSirenActive: bool
    IsSirenSilent: bool
    IsHornEnabled: bool
    IsHornActive: bool
    AreLightsOn: bool
    AreHighBeamsOn: bool
    IsInteriorLightOn: bool
    IsSearchLightOn: bool
    IsTaxiLightOn: bool
    IsLeftIndicatorLightOn: bool
    IsRightIndicatorLightOn: bool
    AreBrakeLightsOn: bool
    LightsMultiplier: float
    IsConsideredDestroyed: bool
    HasDamageDecals: bool
    IsDamaged: bool
    IsDriveable: bool
    IsUndriveable: bool
    IsLeftHeadLightBroken: bool
    IsRightHeadLightBroken: bool
    IsRearBumperBrokenOff: bool
    IsFrontBumperBrokenOff: bool
    IsAxlesStrong: bool
    CanTiresBurst: bool
    CanWheelsBreak: bool
    CanBeVisiblyDamaged: bool
    DropsMoneyOnExplosion: bool
    HasRoof: bool
    RoofState: VehicleRoofState
    LockStatus: VehicleLockStatus
    LandingGearState: VehicleLandingGearState
    Doors: VehicleDoorCollection
    IsInBurnout: bool
    IsBurnoutForced: bool
    IsHandbrakeForcedOn: bool
    Driver: Ped
    Occupants: List[Ped]
    Passengers: List[Ped]
    PassengerCount: int
    PassengerCapacity: int
    IsStopped: bool
    IsStoppedAtTrafficLights: bool
    IsOnAllWheels: bool
    ProvidesCover: bool
    BombAmmoCount: int
    CountermeasureAmmoCount: int
    HasForks: bool
    HasBombBay: bool
    HasTowArm: bool
    TowArmPosition: float
    TowedVehicle: Vehicle
    TrailerVehicle: Vehicle
    IsAttachedToTrailer: bool
    IsBeingBroughtToHalt: bool
    SpecialFlightModeTargetRatio: float
    SpecialFlightModeCurrentRatio: float
    SpecialFlightModeWingRatio: float
    AreWingsEnabledForSpecialFlightMode: bool
    @staticmethod
    def GetModelDisplayName(vehicleModel: Model) -> str: ...
    @staticmethod
    def GetClassDisplayName(vehicleClass: VehicleClass) -> str: ...
    @staticmethod
    def GetModelMakeName(vehicleModel: Model) -> str: ...
    @staticmethod
    def GetModelClass(vehicleModel: Model) -> VehicleClass: ...
    @staticmethod
    def GetModelType(vehicleModel: Model) -> VehicleType: ...
    @staticmethod
    def GetAllModelValues() -> List[int]: ...
    @staticmethod
    def GetAllModels() -> List[VehicleHash]: ...
    @staticmethod
    def GetAllLoadedModelsAppropriateForAmbientVehicles() -> List[VehicleHash]: ...
    @staticmethod
    def GetAllModelsOfClass(vehicleClass: VehicleClass) -> List[VehicleHash]: ...
    @staticmethod
    def GetAllModelsOfType(vehicleType: VehicleType) -> List[VehicleHash]: ...
    def StartAlarm(self) -> None: ...
    def TrySetCanUseSiren(self, value: bool) -> bool: ...
    def SoundHorn(self, duration: int) -> None: ...
    def SetScriptedLightSetting(self, lightSetting: ScriptedVehicleLightSetting) -> None: ...
    def ApplyDamageDeformation(self, position: Vector3, damage: float, deformation: float, localDamage: bool) -> None: ...
    def ApplyDamage(self, position: Vector3, damageAmount: float, radius: float) -> None: ...
    def GetPedOnSeat(self, seat: VehicleSeat) -> Ped: ...
    def CreatePedOnSeat(self, seat: VehicleSeat, model: Model) -> Ped: ...
    def CreateRandomPedOnSeat(self, seat: VehicleSeat) -> Ped: ...
    def IsSeatFree(self, seat: VehicleSeat) -> bool: ...
    def PlaceOnGround(self) -> bool: ...
    def PlaceOnNextStreet(self) -> None: ...
    def GetRestrictedAmmoCount(self, vehicleWeaponIndex: int) -> int: ...
    def SetRestrictedAmmoCount(self, vehicleWeaponIndex: int, ammoCount: int) -> None: ...
    def OpenBombBay(self) -> None: ...
    def CloseBombBay(self) -> None: ...
    def SetHeliYawPitchRollMult(self, mult: float) -> None: ...
    def DropCargobobHook(self, hook: CargobobHook) -> None: ...
    def RetractCargobobHook(self) -> None: ...
    @overload
    def IsCargobobHookActive(self) -> bool: ...
    @overload
    def IsCargobobHookActive(self, hook: CargobobHook) -> bool: ...
    def IsCargobobHookActive(self, *args: Any, **kwargs: Any) -> Any: ...
    def CargoBobMagnetGrabVehicle(self) -> None: ...
    def CargoBobMagnetReleaseVehicle(self) -> None: ...
    @overload
    def TowVehicle(self, vehicle: Vehicle, attachPointOffset: Vector3) -> None: ...
    @overload
    def TowVehicle(self, vehicleBone: EntityBone, attachPointOffset: Vector3) -> None: ...
    @overload
    def TowVehicle(self, vehicle: Vehicle, rear: bool) -> None: ...
    def TowVehicle(self, *args: Any, **kwargs: Any) -> Any: ...
    def DetachFromTowTruck(self) -> None: ...
    def DetachTowedVehicle(self) -> None: ...
    def AttachToTrailer(self, trailer: Vehicle, inverseMassScale: float = 1.0) -> None: ...
    def DetachFromTrailer(self) -> None: ...
    def SetTrailerLegsRaised(self) -> None: ...
    def SetTrailerLegsLowered(self) -> None: ...
    def AttachOnToTrailer(self, trailer: Vehicle, offset: Vector3, trailerOffset: Vector3, rotation: Vector3, physicalStrength: float) -> None: ...
    def BringToHalt(self, stoppingDistance: float, timeToStopFor: int, controlVerticalVelocity: bool = False) -> None: ...
    def StopBringingToHalt(self) -> None: ...
    def GetActiveMissionType(self) -> VehicleMissionType: ...
    def StartParachuting(self, allowPlayerToCancel: bool) -> None: ...
    def SetSpecialFlightModeAllowed(self, allowed: bool) -> None: ...
    def Repair(self) -> None: ...
    def Explode(self) -> None: ...
    def Exists(self) -> bool: ...
    def Wash(self) -> None: ...
    def SetHydraulicsControl(self, toggle: bool) -> None: ...
    def IsExtraOn(self, extra: int) -> bool: ...
    def ExtraExists(self, extra: int) -> bool: ...
    def ToggleExtra(self, extra: int, toggle: bool) -> None: ...
    def ForceUseAudioGameObject(self, gameObjectName: str) -> None: ...
    def SetReducedGripLevel(self, level: int) -> None: ...

class VehicleClass(Enum):
    Compacts = 0
    Sedans = 1
    SUVs = 2
    Coupes = 3
    Muscle = 4
    SportsClassics = 5
    Sports = 6
    Super = 7
    Motorcycles = 8
    OffRoad = 9
    Industrial = 10
    Utility = 11
    Vans = 12
    Cycles = 13
    Boats = 14
    Helicopters = 15
    Planes = 16
    Service = 17
    Emergency = 18
    Military = 19
    Commercial = 20
    Trains = 21
    OpenWheel = 22

class VehicleColor(Enum):
    MetallicBlack = 0
    MetallicGraphiteBlack = 1
    MetallicBlackSteel = 2
    MetallicDarkSilver = 3
    MetallicSilver = 4
    MetallicBlueSilver = 5
    MetallicSteelGray = 6
    MetallicShadowSilver = 7
    MetallicStoneSilver = 8
    MetallicMidnightSilver = 9
    MetallicGunMetal = 10
    MetallicAnthraciteGray = 11
    MatteBlack = 12
    MatteGray = 13
    MatteLightGray = 14
    UtilBlack = 15
    UtilBlackPoly = 16
    UtilDarksilver = 17
    UtilSilver = 18
    UtilGunMetal = 19
    UtilShadowSilver = 20
    WornBlack = 21
    WornGraphite = 22
    WornSilverGray = 23
    WornSilver = 24
    WornBlueSilver = 25
    WornShadowSilver = 26
    MetallicRed = 27
    MetallicTorinoRed = 28
    MetallicFormulaRed = 29
    MetallicBlazeRed = 30
    MetallicGracefulRed = 31
    MetallicGarnetRed = 32
    MetallicDesertRed = 33
    MetallicCabernetRed = 34
    MetallicCandyRed = 35
    MetallicSunriseOrange = 36
    MetallicClassicGold = 37
    MetallicOrange = 38
    MatteRed = 39
    MatteDarkRed = 40
    MatteOrange = 41
    MatteYellow = 42
    UtilRed = 43
    UtilBrightRed = 44
    UtilGarnetRed = 45
    WornRed = 46
    WornGoldenRed = 47
    WornDarkRed = 48
    MetallicDarkGreen = 49
    MetallicRacingGreen = 50
    MetallicSeaGreen = 51
    MetallicOliveGreen = 52
    MetallicGreen = 53
    MetallicGasolineBlueGreen = 54
    MatteLimeGreen = 55
    UtilDarkGreen = 56
    UtilGreen = 57
    WornDarkGreen = 58
    WornGreen = 59
    WornSeaWash = 60
    MetallicMidnightBlue = 61
    MetallicDarkBlue = 62
    MetallicSaxonyBlue = 63
    MetallicBlue = 64
    MetallicMarinerBlue = 65
    MetallicHarborBlue = 66
    MetallicDiamondBlue = 67
    MetallicSurfBlue = 68
    MetallicNauticalBlue = 69
    MetallicBrightBlue = 70
    MetallicPurpleBlue = 71
    MetallicSpinnakerBlue = 72
    MetallicUltraBlue = 73
    MetallicBrightBlue2 = 74
    UtilDarkBlue = 75
    UtilMidnightBlue = 76
    UtilBlue = 77
    UtilSeaFoamBlue = 78
    UtilLightningBlue = 79
    UtilMauiBluePoly = 80
    UtilBrightBlue = 81
    MatteDarkBlue = 82
    MatteBlue = 83
    MatteMidnightBlue = 84
    WornDarkBlue = 85
    WornBlue = 86
    WornLightBlue = 87
    MetallicTaxiYellow = 88
    MetallicRaceYellow = 89
    MetallicBronze = 90
    MetallicYellowBird = 91
    MetallicLime = 92
    MetallicChampagne = 93
    MetallicPuebloBeige = 94
    MetallicDarkIvory = 95
    MetallicChocoBrown = 96
    MetallicGoldenBrown = 97
    MetallicLightBrown = 98
    MetallicStrawBeige = 99
    MetallicMossBrown = 100
    MetallicBistonBrown = 101
    MetallicBeechwood = 102
    MetallicDarkBeechwood = 103
    MetallicChocoOrange = 104
    MetallicBeachSand = 105
    MetallicSunBleechedSand = 106
    MetallicCream = 107
    UtilBrown = 108
    UtilMediumBrown = 109
    UtilLightBrown = 110
    MetallicWhite = 111
    MetallicFrostWhite = 112
    WornHoneyBeige = 113
    WornBrown = 114
    WornDarkBrown = 115
    WornStrawBeige = 116
    BrushedSteel = 117
    BrushedBlackSteel = 118
    BrushedAluminium = 119
    Chrome = 120
    WornOffWhite = 121
    UtilOffWhite = 122
    WornOrange = 123
    WornLightOrange = 124
    MetallicSecuricorGreen = 125
    WornTaxiYellow = 126
    PoliceCarBlue = 127
    MatteGreen = 128
    MatteBrown = 129
    WornOrange2 = 130
    MatteWhite = 131
    WornWhite = 132
    WornOliveArmyGreen = 133
    PureWhite = 134
    HotPink = 135
    Salmonpink = 136
    MetallicVermillionPink = 137
    Orange = 138
    Green = 139
    Blue = 140
    MettalicBlackBlue = 141
    MetallicBlackPurple = 142
    MetallicBlackRed = 143
    HunterGreen = 144
    MetallicPurple = 145
    MetaillicVDarkBlue = 146
    ModshopBlack1 = 147
    MattePurple = 148
    MatteDarkPurple = 149
    MetallicLavaRed = 150
    MatteForestGreen = 151
    MatteOliveDrab = 152
    MatteDesertBrown = 153
    MatteDesertTan = 154
    MatteFoliageGreen = 155
    DefaultAlloyColor = 156
    EpsilonBlue = 157
    PureGold = 158
    BrushedGold = 159
    MP100GoldSpecular = 160

class VehicleDoor:
    Vehicle: Vehicle
    Index: VehicleDoorIndex
    IsOpen: bool
    IsFullyOpen: bool
    IsBroken: bool
    CanBeBroken: bool
    AngleRatio: float
    def Open(self, loose: bool = False, instantly: bool = False) -> None: ...
    def Close(self, instantly: bool = False) -> None: ...
    def Break(self, stayInTheWorld: bool = True) -> None: ...

class VehicleDoorCollection:
    Item: VehicleDoor
    def Contains(self, door: VehicleDoorIndex) -> bool: ...
    def ToArray(self) -> List[VehicleDoor]: ...
    def GetEnumerator(self) -> Iterable[VehicleDoor]: ...

class VehicleDoorIndex(Enum):
    FrontLeftDoor = 0
    FrontRightDoor = 1
    BackLeftDoor = 2
    BackRightDoor = 3
    Hood = 4
    Trunk = 5

class VehicleHash(Enum):
    Chimera = 6774487
    CarbonRS = 11251904
    Brioso3 = 15214558
    Hermes = 15219735
    Virgo3 = 16646064
    Hotknife = 37348240
    Greenwood = 40817712
    TipTruck = 48339065
    Faggio2 = 55628203
    Youga = 65402552
    Yosemite3 = 67753863
    Glendale = 75131841
    Dominator = 80636076
    Rebla = 83136452
    BF400 = 86520421
    Kalahari = 92612664
    TrophyTruck = 101905590
    Coquette = 108773431
    BType = 117401876
    Boxville3 = 121658888
    Baller2 = 142944341
    Ardent = 159274291
    Miljet = 165154707
    Buffalo5 = 165968051
    Terminus = 167522317
    Phantom3 = 177270108
    FreightCar = 184361638
    Streamer216 = 191916658
    Elegy = 196747873
    Speedo4 = 219613597
    Cheetah2 = 223240013
    SabreGT2 = 223258115
    Speeder = 231083307
    Reaper = 234062309
    Buffalo3 = 237764926
    Raiju = 239897677
    FreightCont2 = 240201337
    Tulip2 = 268758436
    Tempesta = 272929391
    TenF2 = 274946574
    Dinghy2 = 276773164
    Tropic = 290013743
    Annihilator2 = 295054921
    GBurrito2 = 296357396
    Verus = 298565713
    Stryder = 301304410
    Hexer = 301427732
    Dynasty = 310284501
    Stafford = 321186144
    Crusader = 321739290
    CogCabrio = 330661258
    Vacca = 338562499
    Formula = 340154634
    PBus2 = 345756458
    Gauntlet2 = 349315417
    Chino = 349605904
    Polmav = 353883353
    PropTrailer = 356391690
    Baller7 = 359875117
    CargoPlane = 368211810
    Vigero3 = 372621319
    SlamVan5 = 373261600
    Surano = 384071873
    Hauler2 = 387748548
    Cliffhanger = 390201602
    RakeTrailer = 390902130
    JB7002 = 394110044
    Squalo = 400514754
    Turismor = 408192225
    Outlaw = 408825843
    Avenger2 = 408970549
    Kanjo = 409049982
    Kuruma2 = 410882957
    Infernus = 418536135
    Dominator7 = 426742808
    NightShark = 433954513
    Speeder2 = 437538602
    Boxville4 = 444171386
    Handler = 444583674
    Imperator = 444994115
    Volatol = 447548909
    Cruiser = 448402357
    PoliceT = 456714581
    Jubilee = 461465043
    Tornado = 464687292
    Lguard = 469291905
    Baller5 = 470404958
    TVTrailer2 = 471034616
    Mixer2 = 475220373
    Lynx = 482197771
    Huntley = 486987393
    Fusilade = 499169875
    Swinger = 500482303
    Dinghy3 = 509498602
    UtilityTruck = 516990260
    Voodoo2 = 523724515
    BoatTrailer = 524108981
    Moonbeam = 525509695
    Dune2 = 534258863
    ZR380 = 540101442
    Khamelion = 544021352
    Apc = 562680400
    Packer = 569305213
    Warrener2 = 579912970
    TankerCar = 586013744
    Hustler = 600450546
    Coureur = 610429990
    Luxor = 621481054
    Romero = 627094268
    FCR = 627535535
    Issi4 = 628003514
    Astron = 629969764
    Barracks3 = 630371791
    Banshee2 = 633712403
    Baller4 = 634118882
    Lectro = 640818791
    FreightGrain = 642617954
    Zeno = 655665811
    Comet5 = 661493923
    IWagen = 662793086
    Baller6 = 666166960
    Bruiser = 668439077
    Virtue = 669204833
    Cerberus2 = 679453769
    Boxville5 = 682434785
    Contender = 683047626
    Drafter = 686471183
    Surfer = 699456151
    Cog552 = 704435172
    Supervolito = 710198397
    TrailerSmall = 712162987
    Ruston = 719660200
    Gauntlet3 = 722226637
    Dukes = 723973206
    Benson2 = 728350375
    Speedo2 = 728614474
    SlamVan = 729783779
    Sadler2 = 734217681
    Dominator8 = 736672010
    Buffalo2 = 736902334
    Vagrant = 740289177
    Gargoyle = 741090084
    Pranger = 741586030
    Sovereign = 743478836
    Frogger = 744705981
    Buzzard2 = 745926877
    ZType = 758895617
    Alpha = 767087018
    Submersible = 771711535
    SM722 = 775514032
    Ruiner3 = 777714999
    Rhino = 782665360
    Coquette3 = 784565758
    Sanchez = 788045382
    Buzzard = 788747387
    MonstroCiti = 802856453
    Sheava = 819197656
    DriftEuros = 821121576
    Defiler = 822018448
    SlamVan2 = 833469436
    Annihilator = 837858166
    Z190 = 838982985
    Monster4 = 840387324
    Rhapsody = 841808271
    BJXL = 850565707
    Biff = 850991848
    Jetmax = 861409633
    Dinghy4 = 867467158
    Pariah = 867799010
    MetroTrain = 868868440
    Sultan2 = 872704284
    Sentinel2 = 873639469
    Habanero = 884422927
    Oppressor = 884483972
    Stromberg = 886810209
    Intruder = 886934177
    UtilityTruck2 = 887537515
    Burrito4 = 893081117
    Savestra = 903794909
    Mule = 904750859
    Cog55 = 906642318
    Toro2 = 908897389
    Mesa = 914654722
    RRocket = 916547552
    XA21 = 917809321
    FreightCont1 = 920453016
    Issi3 = 931280609
    Ruiner2 = 941494461
    Casco = 941800958
    Pony2 = 943752001
    Furia = 960812448
    Duster = 970356638
    Hydra = 970385471
    Sultan = 970598228
    Tampa = 972671128
    Sugoi = 987469656
    Voltic2 = 989294410
    Sandking2 = 989381445
    Boor = 996383885
    Impaler2 = 1009171724
    Coquette2 = 1011753235
    GrainTrailer = 1019737494
    Youga2 = 1026149675
    Freight = 1030400667
    Tezeract = 1031562256
    Ninef = 1032823388
    Dinghy = 1033245328
    Nero = 1034187331
    Nokota = 1036591958
    Blista2 = 1039032026
    Tula = 1043222410
    Thrax = 1044193113
    Skylift = 1044954915
    Michelli = 1046206681
    JB700 = 1051415893
    Jet = 1058115860
    BobcatXL = 1069929536
    Toro = 1070967343
    Barracks2 = 1074326203
    Specter2 = 1074745671
    Swift2 = 1075432268
    R300 = 1076201208
    Velum2 = 1077420264
    Pigalle = 1078682497
    Manchez2 = 1086534307
    Nero2 = 1093792632
    Verlierer2 = 1102544804
    Sentinel3 = 1104234922
    Peyote3 = 1107404867
    HotringSabre = 1115909093
    Asbo = 1118611807
    SlamVan3 = 1119641113
    Superd = 1123216662
    BfInjection = 1126868326
    FBI = 1127131465
    TriBike = 1127861609
    Bmx = 1131912276
    Burrito5 = 1132262048
    Comet7 = 1141395928
    Caddy = 1147287684
    Rumpo = 1162065741
    Ambulance = 1171614426
    Dubsta = 1177543287
    Technical2 = 1180875963
    Akula = 1181327175
    OpenWheel2 = 1181339704
    XLS = 1203490606
    Seminole = 1221512915
    SeaSparrow2 = 1229411063
    Marshall = 1233534620
    GP1 = 1234311532
    Issi6 = 1239571361
    Caracara = 1254014755
    Hakuchou = 1265391242
    Landstalker = 1269098716
    BestiaGTS = 1274868363
    Deviant = 1279262537
    Airbus = 1283517198
    Zhaba = 1284356689
    Growler = 1304459735
    Emerus = 1323778901
    Gauntlet6 = 1336514315
    Kosatka = 1336872304
    Serrano = 1337041428
    Vestra = 1341619767
    Mule5 = 1343932732
    Oracle = 1348744438
    Sentinel = 1349725314
    SC1 = 1352136073
    Shinobi = 1353120668
    Flatbed = 1353720154
    Technical3 = 1356124575
    Warrener = 1373123368
    Remus = 1377217886
    Manchez3 = 1384502824
    Cyclone = 1392481335
    Cargobob3 = 1394036463
    Paragon2 = 1416466158
    Previon = 1416471345
    FMJ = 1426219628
    Brioso2 = 1429622905
    Tractor3 = 1445631933
    StingerTT = 1447690049
    Tropic2 = 1448677353
    Toreador = 1455990255
    VStr = 1456336509
    Tulip = 1456744817
    Rumpo3 = 1475773103
    Deluxo = 1483171323
    Youga4 = 1486521356
    Paradise = 1488164764
    Thruster = 1489874736
    Schafter4 = 1489967196
    Sanctus = 1491277511
    Forklift = 1491375716
    OpenWheel1 = 1492612435
    TrailerLarge = 1502869817
    Torero = 1504306544
    Picador = 1507916787
    Hauler = 1518533038
    Tornado2 = 1531094468
    Deity = 1532171089
    Issi5 = 1537277726
    BoatTrailer3 = 1539159908
    Scarab2 = 1542143200
    Valkyrie2 = 1543134283
    Stinger = 1545842587
    Brioso = 1549126457
    Issi8 = 1550581940
    Airtug = 1560980623
    Comet4 = 1561920505
    Molotok = 1565978651
    Windsor = 1581459400
    Deveste = 1591739866
    SeaSparrow3 = 1593933419
    Fagaloa = 1617472902
    Cargobob2 = 1621617168
    Imperator2 = 1637620610
    Tractor = 1641462412
    Weevil = 1644055914
    RancherXL = 1645267888
    Pounder2 = 1653666139
    T20 = 1663218586
    Akuma = 1672195559
    Dilettante2 = 1682114128
    Strikeforce = 1692272545
    Yosemite2 = 1693751655
    Ruiner4 = 1706945532
    Manana2 = 1717532765
    Monster3 = 1721676810
    Stratum = 1723137093
    RapidGT2 = 1737773231
    Bison3 = 1739845664
    Streiter = 1741861769
    SlamVan6 = 1742022738
    Stockade = 1747439474
    EntityMT = 1748565021
    Enduro = 1753414259
    Cypher = 1755697647
    Tornado3 = 1762279763
    DLoader = 1770332643
    Washington = 1777363799
    Mower = 1783355638
    TR3 = 1784254509
    Diablous2 = 1790834270
    Youga3 = 1802742206
    Besra = 1824333165
    Peyote = 1830407356
    BoatTrailer2 = 1835260592
    Thrust = 1836027715
    Retinue = 1841130506
    Issi7 = 1854776567
    Longfin = 1861786828
    Zion3 = 1862507111
    Yosemite = 1871995513
    RatBike = 1873600305
    Camper = 1876516712
    Baller3 = 1878062887
    Specter = 1886268224
    Bulldozer = 1886712733
    Tropos = 1887331236
    Moonbeam2 = 1896491931
    Dune3 = 1897744184
    Fugitive = 1909141499
    GB200 = 1909189272
    Cerberus3 = 1909700336
    Police3 = 1912215274
    Trash = 1917016601
    Schafter6 = 1922255844
    Sheriff2 = 1922257928
    Stalion = 1923400478
    DriftZR350 = 1923534526
    RancherXL2 = 1933662059
    Gauntlet4 = 1934384720
    FireTruck = 1938952078
    Vagner = 1939284556
    Tourbus = 1941029835
    Mule4 = 1945374990
    Frogger2 = 1949211328
    Taco = 1951180813
    Tanker2 = 1956216962
    Titan = 1981688531
    Osiris = 1987142870
    Reever = 1993851908
    Daemon = 2006142190
    Voodoo = 2006667053
    Cavalcade = 2006918058
    Vetir = 2014313426
    TrailerLogs = 2016027501
    Futo = 2016857647
    Cargobob4 = 2025593404
    Retinue2 = 2031587082
    Esskey = 2035069708
    Euros = 2038480341
    Brutus3 = 2038858402
    Menacer = 2044532910
    Police = 2046537925
    RapidGT3 = 2049897956
    Benson = 2053223216
    Tyrus = 2067820283
    Lurcher = 2068293287
    Oppressor2 = 2069146067
    Insurgent2 = 2071877360
    Bison2 = 2072156101
    Carbonizzare = 2072687711
    TR2 = 2078290630
    TR4 = 2091594960
    Panthere = 2100457220
    Pounder = 2112052861
    Prototipo = 2123327359
    UtilityTruck3 = 2132890591
    Dukes3 = 2134119907
    Rocoto = 2136773105
    Brutus = 2139203625
    Bagger = 2154536131
    DockTrailer = 2154757102
    Phantom = 2157618379
    Dump = 2164484578
    Blazer = 2166734073
    Manana = 2170765704
    Stunt = 2172210288
    Gauntlet5 = 2172320429
    EntityXXR = 2174267100
    Faction = 2175389151
    Avenger = 2176659152
    Avarus = 2179174271
    Guardian = 2186977100
    RallyTruck = 2191146052
    Tug = 2194326579
    Club = 2196012677
    StingerGT = 2196019706
    Technical = 2198148358
    Impaler = 2198276962
    Phoenix = 2199527893
    GT500 = 2215179066
    Tractor2 = 2218488798
    Coach = 2222034228
    Mesa3 = 2230595153
    SlamVan4 = 2233918197
    Trailers3 = 2236089197
    Mule3 = 2242229361
    ItaliGTB = 2246633323
    Rebel2 = 2249373259
    Bruiser3 = 2252616474
    Primo2 = 2254540506
    Faction3 = 2255212070
    Tornado4 = 2261744861
    Cognoscenti = 2264796000
    Comet3 = 2272483501
    PBus = 2287941233
    Feltzer2 = 2299640309
    Terrorbyte = 2306538597
    Boxville = 2307837162
    Havok = 2310691317
    Inductor2 = 2311345272
    Police4 = 2321795001
    Stretch = 2333339779
    Formula2 = 2334210311
    CargoPlane2 = 2336777441
    Nightshade = 2351681756
    RapidGT = 2360515092
    Windsor2 = 2364918497
    Impaler3 = 2370166601
    Insurgent3 = 2370534026
    Wastelander = 2382949506
    Asterope = 2391954683
    Surge = 2400073108
    Brutus2 = 2403970600
    Premier = 2411098011
    Emperor2 = 2411965148
    TrailerSmall2 = 2413121211
    Insurgent = 2434067162
    ZR350 = 2436313176
    Rhinehart = 2439462158
    Neon = 2445973230
    Volatus = 2449479409
    Faggio = 2452219115
    Pfister811 = 2465164804
    Novak = 2465530446
    DeathBike2 = 2482017624
    Seminole2 = 2484160806
    Asea = 2485144969
    Asea2 = 2487343317
    Peyote2 = 2490551588
    Gauntlet = 2494797253
    Tornado5 = 2497353967
    Faction2 = 2504420315
    PoliceOld2 = 2515846680
    Rumpo2 = 2518351607
    Granger = 2519238556
    TVTrailer = 2524324030
    L35 = 2531292011
    Microlight = 2531412055
    DriftJester = 2531693357
    Vigero2 = 2536587772
    Penetrator = 2536829930
    Seven70 = 2537130571
    Everon = 2538945576
    Mammatus = 2548391185
    GBurrito = 2549763894
    Impaler4 = 2550461639
    Burrito3 = 2551651283
    Coquette4 = 2566281822
    Comet6 = 2568944644
    Avisa = 2588363614
    Rubble = 2589662668
    Starling = 2594093022
    Scrap = 2594165727
    DriftTampa = 2598648200
    Bullet = 2598821281
    Bruiser2 = 2600885406
    Riot2 = 2601952180
    SabreGT = 2609945748
    Sheriff = 2611638396
    DriftYosemite = 2613313775
    Police5 = 2620582743
    Velum = 2621610858
    Supervolito2 = 2623428164
    Double = 2623969160
    Dune = 2633113103
    Mamba = 2634021974
    Maverick = 2634305738
    Conada2 = 2635962482
    Radi = 2643899483
    Phantom2 = 2645431192
    FBI2 = 2647026068
    ArmyTrailer2 = 2657817814
    Journey2 = 2667889793
    Police2 = 2667966721
    DriftRemus = 2670883828
    Voltic = 2672523198
    Neo = 2674840994
    Nightblade = 2688780135
    Valkyrie = 2694714877
    Blazer5 = 2704629607
    Jester4 = 2712905841
    Trailers2 = 2715434129
    Brickade2 = 2718380883
    Feltzer3 = 2728226064
    Clique = 2728360112
    Tornado6 = 2736567667
    Gresley = 2751205197
    Vectre = 2754593701
    PoliceOld1 = 2758042359
    Riata = 2762269779
    Raiden = 2765724541
    Cinquemila = 2767531027
    AlphaZ1 = 2771347558
    Manchez = 2771538552
    Futo2 = 2787736776
    Veto2 = 2802050217
    Schafter3 = 2809443750
    DriftFR36 = 2815031719
    Brawler = 2815302597
    ZR3803 = 2816263004
    Stanier = 2817386317
    ArmyTrailer = 2818520053
    Ninef2 = 2833484545
    Sanchez2 = 2841686334
    Prairie = 2844316578
    Ignus = 2850852987
    Bodhi2 = 2859047862
    Khanjari = 2859440138
    Infernus2 = 2889029532
    Daemon2 = 2890830793
    Zentorno = 2891838741
    Powersurge = 2908631255
    Pyro = 2908775872
    Dominator5 = 2919906639
    DeathBike3 = 2920466844
    Kuruma = 2922118804
    Chino2 = 2933279331
    Tigon = 2936769864
    Sentinel4 = 2938086457
    Vindicator = 2941886209
    TRFlat = 2942498482
    Caracara2 = 2945871676
    Burrito = 2948279460
    Trailers5 = 2960513480
    TowTruck = 2971866336
    Surfer2 = 2983726598
    Cheetah = 2983812512
    Jester = 2997294755
    Nimbus = 2999939664
    Dominator6 = 3001042683
    EntityXF = 3003014393
    Ingot = 3005245074
    Faggio3 = 3005788552
    Lazer = 3013282534
    Blazer3 = 3025077634
    Ellie = 3027423925
    FlashGT = 3035832600
    Trash2 = 3039269212
    Schafter2 = 3039514899
    MiniTank = 3040635986
    Eudora = 3045179290
    Tailgater2 = 3050505892
    Vigilante = 3052358707
    Emperor3 = 3053254478
    Dubsta3 = 3057713523
    TriBike2 = 3061159916
    PolGauntlet = 3061199846
    LE7B = 3062131285
    RE7B = 3062131285
    Adder = 3078201489
    Shamal = 3080461301
    Luxor2 = 3080673438
    Tampa3 = 3084515313
    Rebel = 3087195462
    ArmyTanker = 3087536137
    Blade = 3089165662
    Riot = 3089277354
    Calico = 3101054893
    Zion2 = 3101863448
    Sandking = 3105951696
    Issi2 = 3117103977
    Toros = 3126015148
    Primo = 3144368207
    ItaliRSX = 3145241962
    Scarab = 3147997943
    FQ2 = 3157435195
    Taipan = 3160260734
    Imorgon = 3162245632
    Dilettante = 3164157193
    Minivan2 = 3168702960
    Zion = 3172678083
    FreightCar2 = 3186376089
    Jester2 = 3188613414
    ZR3802 = 3188846534
    Trailers4 = 3194418602
    RentalBus = 3196165219
    Furoregt = 3205927392
    Tampa2 = 3223586949
    Submersible2 = 3228633070
    Mule2 = 3244501995
    Slamtruck = 3249056020
    Comet2 = 3249425686
    Marquis = 3251507587
    Banshee = 3253274834
    Surfer3 = 3259477733
    Seashark = 3264692260
    Cavalcade3 = 3265236814
    Buccaneer2 = 3281516360
    ZombieA = 3285698347
    Tailgater = 3286105550
    Howard = 3287439187
    Cutter = 3288047904
    Visione = 3296789504
    Weevil2 = 3300595976
    Cheburek = 3306466016
    Dominator3 = 3308022675
    Turismo2 = 3312836369
    Dinghy5 = 3314393930
    Clique2 = 3315674721
    Rogue = 3319621991
    CableCar = 3334677549
    Taxi = 3338918751
    TipTruck2 = 3347205726
    Locust = 3353694737
    Dominator2 = 3379262425
    Champion = 3379732821
    Glendale2 = 3381377750
    PCJ = 3385765638
    Burrito2 = 3387490166
    TowTruck4 = 3392937977
    Dodo = 3393804037
    Virgo2 = 3395457658
    Inductor = 3397143273
    TenF = 3400983137
    Ruffian = 3401388520
    Bati2 = 3403504941
    Schafter5 = 3406724313
    Docktug = 3410276810
    Nebula = 3412338231
    Trailers = 3417488910
    Baller8 = 3431608412
    Veto = 3437611258
    Ripley = 3448987385
    Monster = 3449006043
    Boxville6 = 3452201761
    Landstalker2 = 3456868130
    Fixter = 3458454463
    Komoda = 3460613305
    BType2 = 3463132580
    Dune4 = 3467805257
    Vigero = 3469130167
    Barracks = 3471458123
    Speedo = 3484649228
    Baller = 3486135912
    Patriot = 3486509883
    Cerberus = 3493417227
    Cavalcade2 = 3505073125
    Mixer = 3510150843
    FreightTrailer = 3517691494
    Omnis = 3517794615
    Caddy3 = 3525819835
    Draugur = 3526730918
    Dorado = 3526923154
    FCR2 = 3537231886
    Imperator3 = 3539435063
    Corsita = 3540279623
    Mogul = 3545667823
    Mesa2 = 3546958660
    Schwarzer = 3548084598
    Asterope2 = 3553846961
    Tanker = 3564062519
    SeaSparrow = 3568198617
    Monster5 = 3579220348
    Bus = 3581397346
    Chernobog = 3602674979
    Dominator4 = 3606777648
    Emperor = 3609690755
    Buccaneer = 3612755468
    Zorrusso = 3612858749
    Raptor = 3620039993
    TowTruck3 = 3623402354
    Patriot3 = 3624880708
    RatLoader = 3627815886
    Krieger = 3630826055
    TrophyTruck2 = 3631668194
    Brigham = 3640468689
    Cuban800 = 3650256867
    Scramjet = 3656405053
    Nemesis = 3660088182
    Massacro2 = 3663206819
    Penumbra2 = 3663644634
    Jackal = 3670438162
    Buffalo4 = 3675036420
    Wolfsbane = 3676349299
    Seashark2 = 3678636260
    Blimp2 = 3681241380
    Vortex = 3685342204
    Cognoscenti2 = 3690124666
    BType3 = 3692679425
    Sadler = 3695398481
    Blista3 = 3703315515
    F620 = 3703357000
    RatLoader2 = 3705788919
    Scarab3 = 3715219435
    ZombieB = 3724934023
    Elegy2 = 3728579874
    Caddy2 = 3757070668
    Ratel = 3758861739
    Oracle2 = 3783366066
    Schlagen = 3787471536
    OmniseGT = 3789743831
    Virgo = 3796912450
    Predator = 3806844075
    ItaliGTB2 = 3812247419
    Impaler5 = 3816328113
    Conada = 3817135397
    FR36 = 3829141989
    Tahoma = 3833117047
    RT3000 = 3842363289
    Paragon = 3847255899
    TowTruck2 = 3852654278
    Freight2 = 3852738056
    Dominator9 = 3853757601
    Blazer4 = 3854198872
    Monroe = 3861591579
    XLS2 = 3862958888
    Panto = 3863274624
    Avenger3 = 3868033424
    Patriot2 = 3874056184
    Revolter = 3884762073
    Shotaro = 3889340782
    Stalion2 = 3893323758
    TriBike3 = 3894672200
    BaleTrailer = 3895125590
    Dubsta2 = 3900892662
    Seabreeze = 3902291871
    Viseris = 3903371924
    Felon = 3903372712
    Penumbra = 3917501776
    Tyrant = 3918533058
    Alkonost = 3929093893
    Hellion = 3932816511
    Bifta = 3945366167
    Blista = 3950024287
    Swift = 3955379698
    ItaliGTO = 3963499524
    Dukes2 = 3968823444
    S80 = 3970348707
    Autarch = 3981782132
    Dune5 = 3982671785
    Seashark3 = 3983945033
    Minivan = 3984502180
    Blimp3 = 3987008919
    Brickade = 3989239879
    Buffalo = 3990165190
    SultanRS = 3999278268
    Postlude = 4000288633
    Sultan3 = 4003946083
    RCBandito = 4008920556
    Suntrap = 4012021193
    PatrolBoat = 4018222598
    Granger2 = 4033620423
    Hakuchou2 = 4039289119
    Diablous = 4055125828
    Boxville2 = 4061868990
    Ruiner = 4067225593
    Jester3 = 4080061290
    Stockade3 = 4080511798
    Barrage = 4081974053
    Winky = 4084658662
    Jugular = 4086055493
    Scorcher = 4108429845
    DriftFuto = 4113404654
    Impaler6 = 4116524922
    Torero2 = 4129572538
    Innovation = 4135840458
    Blimp = 4143991942
    Massacro = 4152024626
    Vader = 4154065143
    Everon2 = 4163619118
    Phantom4 = 4165683409
    Turismo3 = 4171974011
    Kamacho = 4173521127
    Journey = 4174679674
    Pony = 4175309224
    Limo2 = 4180339789
    Bati = 4180675781
    Squaddie = 4192631813
    Felon2 = 4205676014
    Savage = 4212341271
    Avenger4 = 4225674290
    KanjoSJ = 4230891418
    Freecrawler = 4240635011
    Cargobob = 4244420235
    Vamos = 4245851645
    Blazer2 = 4246935337
    Speedo5 = 4250167832
    Hunter = 4252008158
    Aleutian = 4256087847
    Policeb = 4260343491
    Bombushka = 4262088844
    HalfTrack = 4262731174
    DeathBike = 4267640610
    Bison = 4278019151
    Regina = 4280472072
    LM87 = 4284049613
    Exemplar = 4289813342

class VehicleLandingGearState(Enum):
    Deployed = 0
    Retracting = 1
    Deploying = 3
    Retracted = 4
    Broken = 5

class VehicleLockStatus(Enum):
    None_ = 0
    Unlocked = 1
    CannotEnter = 2
    Locked = 2
    LockedForPlayer = 3
    PlayerCannotEnter = 3
    PlayerCannotLeaveCanBeBrokenIntoPersist = 4
    StickPlayerInside = 4
    CannotEnterIfDriverExists = 5
    CanBeBrokenInto = 7
    CanBeBrokenIntoPersist = 8
    DriversSeatOnlyNoJacking = 9
    IgnoredByPlayer = 10
    CannotBeTriedToEnter = 10

class VehicleMissionType(Enum):
    None_ = 0
    Cruise = 1
    Ram = 2
    Block = 3
    GoTo = 4
    Stop = 5
    Attack = 6
    Follow = 7
    Flee = 8
    Circle = 9
    Escort = 12
    GoToRacing = 14
    FollowRecording = 15
    PoliceBehaviour = 16
    Land = 19
    LandAndWait = 20
    Crash = 21
    PullOver = 22
    HeliProtect = 23

class VehicleMod:
    Vehicle: Vehicle
    Type: VehicleModType
    Count: int
    Index: int
    Variation: bool
    LocalizedName: str
    LocalizedTypeName: str
    def Remove(self) -> None: ...

class VehicleModCollection:
    Item: VehicleMod
    WheelType: VehicleWheelType
    AllowedWheelTypes: List[VehicleWheelType]
    LocalizedWheelTypeName: str
    Livery: int
    LiveryCount: int
    LocalizedLiveryName: str
    WindowTint: VehicleWindowTint
    PrimaryColor: VehicleColor
    SecondaryColor: VehicleColor
    RimColor: VehicleColor
    PearlescentColor: VehicleColor
    TrimColor: VehicleColor
    DashboardColor: VehicleColor
    ColorCombination: int
    ColorCombinationCount: int
    TireSmokeColor: Any
    NeonLightsColor: Any
    HasNeonLights: bool
    CustomPrimaryColor: Any
    CustomSecondaryColor: Any
    IsPrimaryColorCustom: bool
    IsSecondaryColorCustom: bool
    LicensePlate: str
    LicensePlateType: LicensePlateType
    LicensePlateStyle: LicensePlateStyle
    def Contains(self, type: VehicleModType) -> bool: ...
    def ToArray(self) -> List[VehicleMod]: ...
    def GetLocalizedWheelTypeName(self, wheelType: VehicleWheelType) -> str: ...
    def InstallModKit(self) -> None: ...
    def RequestAdditionTextFile(self, timeout: int = 1000) -> bool: ...
    def HasNeonLight(self, neonLight: VehicleNeonLight) -> bool: ...
    def IsNeonLightsOn(self, light: VehicleNeonLight) -> bool: ...
    def SetNeonLightsOn(self, light: VehicleNeonLight, on: bool) -> None: ...
    def ClearCustomPrimaryColor(self) -> None: ...
    def ClearCustomSecondaryColor(self) -> None: ...

class VehicleModType(Enum):
    Spoilers = 0
    FrontBumper = 1
    RearBumper = 2
    SideSkirt = 3
    Exhaust = 4
    Frame = 5
    Grille = 6
    Hood = 7
    Fender = 8
    RightFender = 9
    Roof = 10
    Engine = 11
    Brakes = 12
    Transmission = 13
    Horns = 14
    Suspension = 15
    Armor = 16
    FrontWheel = 23
    RearWheel = 24
    PlateHolder = 25
    VanityPlates = 26
    TrimDesign = 27
    Ornaments = 28
    Dashboard = 29
    DialDesign = 30
    DoorSpeakers = 31
    Seats = 32
    SteeringWheels = 33
    ColumnShifterLevers = 34
    Plaques = 35
    Speakers = 36
    Trunk = 37
    Hydraulics = 38
    EngineBlock = 39
    AirFilter = 40
    Struts = 41
    ArchCover = 42
    Aerials = 43
    Trim = 44
    Tank = 45
    Windows = 46
    Livery = 48
    None_ = -1

class VehicleNeonLight(Enum):
    Left = 0
    Right = 1
    Front = 2
    Back = 3

class VehicleRoofState(Enum):
    Closed = 0
    Opening = 1
    Opened = 2
    Closing = 3

class VehicleSeat(Enum):
    RightFront = 0
    Passenger = 0
    LeftRear = 1
    RightRear = 2
    ExtraSeat1 = 3
    ExtraSeat2 = 4
    ExtraSeat3 = 5
    ExtraSeat4 = 6
    ExtraSeat5 = 7
    ExtraSeat6 = 8
    ExtraSeat7 = 9
    ExtraSeat8 = 10
    ExtraSeat9 = 11
    ExtraSeat10 = 12
    ExtraSeat11 = 13
    ExtraSeat12 = 14
    None_ = -3
    Any = -2
    Driver = -1
    LeftFront = -1

class VehicleToggleMod:
    Vehicle: Vehicle
    Type: VehicleToggleModType
    IsInstalled: bool
    LocalizedTypeName: str
    def Remove(self) -> None: ...

class VehicleToggleModType(Enum):
    Nitrous = 17
    Turbo = 18
    SubWoofer = 19
    TireSmoke = 20
    Hydraulics = 21
    XenonHeadlights = 22

class VehicleType(Enum):
    Automobile = 0
    Plane = 1
    Trailer = 2
    QuadBike = 3
    SubmarineCar = 5
    AmphibiousAutomobile = 6
    AmphibiousQuadBike = 7
    Helicopter = 8
    Blimp = 9
    Autogyro = 10
    Motorcycle = 11
    Bicycle = 12
    Boat = 13
    Train = 14
    Submarine = 15
    None_ = -1

class VehicleWheel:
    Vehicle: Vehicle
    Index: int
    ScriptIndex: ScriptVehicleWheelIndex
    BoneId: VehicleWheelBoneId
    MemoryAddress: int
    LastContactPosition: Vector3
    HitNormal: Vector3
    SteeringLimitMultiplier: float
    StaticForce: float
    Temperature: float
    IsTouchingSurface: bool
    IsTireOnFire: bool
    IsSteeringWheel: bool
    IsDrivingWheel: bool
    IsPunctured: bool
    IsBursted: bool
    Health: float
    TireHealth: float
    WearMultiplier: float
    MaxGripDiffFromWearRate: float
    WearRateScale: float
    @overload
    def Fix(self) -> None: ...
    @overload
    def Fix(self, leaveOtherBurstedTiresNotShowing: bool) -> None: ...
    def Fix(self, *args: Any, **kwargs: Any) -> Any: ...
    def Puncture(self, damage: float = 1000.0) -> None: ...
    def Burst(self) -> None: ...
    def SetHydraulicSuspensionRaiseFactor(self, raiseFactor: float) -> None: ...
    def GetHydraulicSuspensionRaiseFactor(self) -> float: ...

class VehicleWheelBoneId(Enum):
    WheelLeftFront = 11
    WheelRightFront = 12
    WheelLeftRear = 13
    WheelRightRear = 14
    WheelLeftMiddle1 = 15
    WheelRightMiddle1 = 16
    WheelLeftMiddle2 = 17
    WheelRightMiddle2 = 18
    WheelLeftMiddle3 = 19
    WheelRightMiddle3 = 20
    Invalid = -1

class VehicleWheelCollection:
    Item: VehicleWheel
    Vehicle: Vehicle
    Count: int
    def GetWheelByIndexOfCollection(self, index: int) -> VehicleWheel: ...
    def GetEnumerator(self) -> Iterable[VehicleWheel]: ...
    def GetAllWheels(self) -> List[VehicleWheel]: ...

class VehicleWheelType(Enum):
    Sport = 0
    Muscle = 1
    Lowrider = 2
    SUV = 3
    Offroad = 4
    Tuner = 5
    BikeWheels = 6
    HighEnd = 7
    BennysOriginals = 8
    BennysBespoke = 9
    OpenWheel = 10
    Street = 11
    Track = 12
    Stock = -1

class VehicleWindow:
    Vehicle: Vehicle
    Index: VehicleWindowIndex
    IsIntact: bool
    def Smash(self) -> None: ...
    def Repair(self) -> None: ...
    def Remove(self) -> None: ...
    def RollUp(self) -> None: ...
    def RollDown(self) -> None: ...

class VehicleWindowCollection:
    Item: VehicleWindow
    AllWindowsIntact: bool
    def RollDownAllWindows(self) -> None: ...

class VehicleWindowIndex(Enum):
    FrontLeftWindow = 0
    FrontRightWindow = 1
    BackLeftWindow = 2
    BackRightWindow = 3
    MiddleLeftWindow = 4
    ExtraWindow1 = 4
    MiddleRightWindow = 5
    ExtraWindow2 = 5
    ExtraWindow3 = 6
    Windshield = 6
    BackWindshield = 7
    ExtraWindow4 = 7

class VehicleWindowTint(Enum):
    None_ = 0
    PureBlack = 1
    DarkSmoke = 2
    LightSmoke = 3
    Stock = 4
    Limo = 5
    Green = 6
    Invalid = -1

class ExplosionType(Enum):
    Grenade = 0
    GrenadeL = 1
    StickyBomb = 2
    Molotov1 = 3
    Rocket = 4
    TankShell = 5
    HiOctane = 6
    Car = 7
    Plane = 8
    PetrolPump = 9
    Bike = 10
    Steam = 11
    Flame = 12
    WaterHydrant = 13
    GasCanister = 14
    Boat = 15
    ShipDestroy = 16
    Truck = 17
    Bullet = 18
    SmokeGL = 19
    SmokeG = 20
    BZGas = 21
    Flare = 22
    GasCanister2 = 23
    Extinguisher = 24
    ProgramAR = 25
    Train = 26
    Barrel = 27
    Propane = 28
    Blimp = 29
    FlameExplode = 30
    Tanker = 31
    PlaneRocket = 32
    VehicleBullet = 33
    GasTank = 34
    BirdCrap = 35
    Railgun = 36
    Blimp2 = 37
    FireWork = 38
    SnowBall = 39
    ProxMine = 40
    Valkyrie = 41
    AirDefense = 42
    PipeBomb = 43
    VehicleMine = 44
    ExplosiveAmmo = 45
    ApcShell = 46
    BombCluster = 47
    BombGas = 48
    BombIncendiary = 49
    BombStandard = 50
    Torpedo = 51
    TorpedoUnderwater = 52
    BombushkaCannon = 53
    BombClusterSecondary = 54
    HunterBarrage = 55
    HunterCannon = 56
    RogueCannon = 57
    MineUnderwater = 58
    OrbitalCannon = 59
    BombStandardWide = 60
    ExplosiveAmmoShotgun = 61
    Oppressor2Cannon = 62
    MortarKinetic = 63
    VehiclemineKinetic = 64
    VehiclemineEmp = 65
    VehiclemineSpike = 66
    VehiclemineSlick = 67
    VehiclemineTar = 68
    ScriptDrone = 69
    RayGun = 70
    BuriedMine = 71
    ScriptMissile = 72
    RCTankRocket = 73
    BombWater = 74
    BombWaterSecondary = 75
    ScriptMissileLarge = 81
    SubmarineBig = 82
    EmpLauncherEmp = 83
    RailgunXm3 = 84
    BalancedCannons = 85

class ForceType(Enum):
    MinForce = 0
    InternalForce = 0
    InternalImpulse = 1
    MaxForceRot = 1
    ExternalForce = 2
    MinForce2 = 2
    ExternalImpulse = 3
    MaxForceRot2 = 3
    Torque = 4
    ForceNoRot = 4
    AngularImpulse = 5
    ForceRotPlusForce = 5

class FwSyncedScene:
    Handle: int
    NativeValue: int
    Phase: float
    Rate: float
    IsLooped: bool
    HoldsLastFrame: bool
    def Exists(self) -> bool: ...
    def SetOrigin(self, position: Vector3, orientation: Vector3, rotOrder: EulerRotationOrder = ...) -> None: ...
    @overload
    def AttachTo(self, entity: Entity) -> None: ...
    @overload
    def AttachTo(self, bone: EntityBone) -> None: ...
    def AttachTo(self, *args: Any, **kwargs: Any) -> Any: ...
    def Detach(self) -> None: ...
    @staticmethod
    def Create(position: Vector3, orientation: Vector3, rotOrder: EulerRotationOrder = ...) -> FwSyncedScene: ...
    @staticmethod
    def CreateAtMapObject(newPos: Vector3, radius: float, propModel: Model) -> FwSyncedScene: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    @overload
    def Equals(self, scene: FwSyncedScene) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...

class Game:
    isEnhanced: ClassVar[bool]
    Player: ClassVar[Player]
    LocalPlayerPed: ClassVar[Ped]
    PlayerBlip: ClassVar[Blip]
    NorthBlip: ClassVar[Blip]
    Language: ClassVar[Language]
    FileVersion: ClassVar[Any]
    Version: ClassVar[GameVersion]
    MeasurementSystem: ClassVar[MeasurementSystem]
    GameTime: ClassVar[int]
    TimeScale: ClassVar[float]
    FrameCount: ClassVar[int]
    FPS: ClassVar[float]
    LastFrameTime: ClassVar[float]
    MaxWantedLevel: ClassVar[int]
    RadioStation: ClassVar[RadioStation]
    IsNightVisionActive: ClassVar[bool]
    IsThermalVisionActive: ClassVar[bool]
    IsMissionActive: ClassVar[bool]
    IsRandomEventActive: ClassVar[bool]
    IsCutsceneActive: ClassVar[bool]
    IsWaypointActive: ClassVar[bool]
    IsPaused: ClassVar[bool]
    IsLoading: ClassVar[bool]
    LastInputMethod: ClassVar[InputMethod]
    PlayerTargetingMode: ClassVar[PlayerTargetingMode]
    IsVibrationEnabled: ClassVar[bool]
    @staticmethod
    def UnlockRadioStation(station: RadioStation) -> None: ...
    @staticmethod
    def LockRadioStation(station: RadioStation) -> None: ...
    @staticmethod
    def UnlockAllRadioStations() -> None: ...
    @staticmethod
    def DoAutoSave() -> None: ...
    @staticmethod
    def ShowSaveMenu() -> None: ...
    @staticmethod
    def Pause(value: bool) -> None: ...
    @overload
    @staticmethod
    def GetUserInput(defaultText: str = "") -> str: ...
    @overload
    @staticmethod
    def GetUserInput(windowTitle: WindowTitle, defaultText: str, maxLength: int) -> str: ...
    @staticmethod
    def GetUserInput(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def WasCheatStringJustEntered(cheat: str) -> bool: ...
    @staticmethod
    def WasButtonCombinationJustEntered(buttons: List[Button]) -> bool: ...
    @staticmethod
    def GetControlValue(control: Control) -> int: ...
    @staticmethod
    def GetControlValueNormalized(control: Control) -> float: ...
    @staticmethod
    def GetDisabledControlValueNormalized(control: Control) -> float: ...
    @staticmethod
    def SetControlValueNormalized(control: Control, value: float) -> None: ...
    @staticmethod
    def IsKeyPressed(key: Any) -> bool: ...
    @staticmethod
    def IsControlPressed(control: Control) -> bool: ...
    @staticmethod
    def IsControlJustPressed(control: Control) -> bool: ...
    @staticmethod
    def IsControlJustReleased(control: Control) -> bool: ...
    @staticmethod
    def IsEnabledControlPressed(control: Control) -> bool: ...
    @staticmethod
    def IsEnabledControlJustPressed(control: Control) -> bool: ...
    @staticmethod
    def IsEnabledControlJustReleased(control: Control) -> bool: ...
    @staticmethod
    def IsControlEnabled(control: Control) -> bool: ...
    @staticmethod
    def EnableControlThisFrame(control: Control) -> None: ...
    @staticmethod
    def DisableControlThisFrame(control: Control) -> None: ...
    @staticmethod
    def EnableAllControlsThisFrame() -> None: ...
    @staticmethod
    def DisableAllControlsThisFrame() -> None: ...
    @staticmethod
    def GenerateHash(input: str) -> int: ...
    @overload
    @staticmethod
    def GetLocalizedString(entry: str) -> str: ...
    @overload
    @staticmethod
    def GetLocalizedString(entryLabelHash: int) -> str: ...
    @staticmethod
    def GetLocalizedString(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetProfileSetting(index: int) -> int: ...
    @overload
    @staticmethod
    def FindPattern(pattern: str, startAddress: Optional[int] = None) -> int: ...
    @overload
    @staticmethod
    def FindPattern(pattern: str, mask: str, startAddress: Optional[int] = None) -> int: ...
    @staticmethod
    def FindPattern(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def FindPatternInScript(pattern: str, scriptHash: int) -> int: ...
    @staticmethod
    def GetScriptGlobalFromAddress(address: int, offset: int) -> int: ...
    @staticmethod
    def UseMpSelectionWheels(value: bool) -> None: ...
    @staticmethod
    def IsUsingMpSelectionWheels() -> bool: ...

class GameVersion(Enum):
    v1_0_335_2_Steam = 0
    v1_0_335_2_NoSteam = 1
    v1_0_350_1_Steam = 2
    v1_0_350_2_NoSteam = 3
    v1_0_372_2_Steam = 4
    v1_0_372_2_NoSteam = 5
    v1_0_393_2_Steam = 6
    v1_0_393_2_NoSteam = 7
    v1_0_393_4_Steam = 8
    v1_0_393_4_NoSteam = 9
    v1_0_463_1_Steam = 10
    v1_0_463_1_NoSteam = 11
    v1_0_505_2_Steam = 12
    v1_0_505_2_NoSteam = 13
    v1_0_573_1_Steam = 14
    v1_0_573_1_NoSteam = 15
    v1_0_617_1_Steam = 16
    v1_0_617_1_NoSteam = 17
    v1_0_678_1_Steam = 18
    v1_0_678_1_NoSteam = 19
    v1_0_757_2_Steam = 20
    v1_0_757_2_NoSteam = 21
    v1_0_757_3_Steam = 22
    v1_0_757_4_NoSteam = 23
    v1_0_791_2_Steam = 24
    v1_0_791_2_NoSteam = 25
    v1_0_877_1_Steam = 26
    v1_0_877_1_NoSteam = 27
    v1_0_944_2_Steam = 28
    v1_0_944_2_NoSteam = 29
    v1_0_1011_1_Steam = 30
    v1_0_1011_1_NoSteam = 31
    v1_0_1032_1_Steam = 32
    v1_0_1032_1_NoSteam = 33
    v1_0_1103_2_Steam = 34
    v1_0_1103_2_NoSteam = 35
    v1_0_1180_2_Steam = 36
    v1_0_1180_2_NoSteam = 37
    v1_0_1290_1_Steam = 38
    v1_0_1290_1_NoSteam = 39
    v1_0_1365_1_Steam = 40
    v1_0_1365_1_NoSteam = 41
    v1_0_1493_0_Steam = 42
    v1_0_1493_0_NoSteam = 43
    v1_0_1493_1_Steam = 44
    v1_0_1493_1_NoSteam = 45
    v1_0_1604_0_Steam = 46
    v1_0_1604_0_NoSteam = 47
    v1_0_1604_1_Steam = 48
    v1_0_1604_1_NoSteam = 49
    v1_0_1737_0_Steam = 50
    v1_0_1737_0_NoSteam = 51
    v1_0_1737_6_Steam = 52
    v1_0_1737_6_NoSteam = 53
    v1_0_1868_0_Steam = 54
    v1_0_1868_0_NoSteam = 55
    v1_0_1868_1_Steam = 56
    v1_0_1868_1_NoSteam = 57
    v1_0_1868_4_EGS = 58
    v1_0_2060_0_Steam = 59
    v1_0_2060_0_NoSteam = 60
    v1_0_2060_1_Steam = 61
    v1_0_2060_1_NoSteam = 62
    v1_0_2189_0_Steam = 63
    v1_0_2189_0_NoSteam = 64
    v1_0_2215_0_Steam = 65
    v1_0_2215_0_NoSteam = 66
    v1_0_2245_0_Steam = 67
    v1_0_2245_0_NoSteam = 68
    v1_0_2372_0_Steam = 69
    v1_0_2372_0_NoSteam = 70
    v1_0_2545_0_Steam = 71
    v1_0_2545_0_NoSteam = 72
    v1_0_2612_1_Steam = 73
    v1_0_2612_1_NoSteam = 74
    v1_0_2628_2_Steam = 75
    v1_0_2628_2_NoSteam = 76
    v1_0_2699_0_Steam = 77
    v1_0_2699_0_NoSteam = 78
    v1_0_2699_16 = 79
    v1_0_2802_0 = 80
    v1_0_2824_0 = 81
    v1_0_2845_0 = 82
    v1_0_2944_0 = 83
    v1_0_3028_0 = 84
    v1_0_3095_0 = 85
    v1_0_3179_0 = 86
    v1_0_3258_0 = 87
    v1_0_3274_0 = 88
    v1_0_3323_0 = 89
    v1_0_3337_0 = 90
    v1_0_3351_0 = 91
    V1_0_3407_0 = 92
    V1_0_3411_0 = 93
    V1_0_3442_0 = 94
    V1_0_3504_0 = 95
    V1_0_3521_0 = 96
    V1_0_3570_0 = 97
    Unknown = -1

class GameVersionNotSupportedException:
    MinimumSupportedGameVersion: GameVersion
    MinimumSupportedGameFileVersion: Any
    def GetObjectData(self, info: Any, context: Any) -> None: ...

class GetClosestVehicleNodeFlags(Enum):
    None_ = 0
    IncludeSwitchedOffNodes = 1
    IncludeBoatNodes = 2
    IgnoreSlipLanes = 4
    IgnoreSwitchedOffDeadEnds = 8

class GetSafePositionFlags(Enum):
    Default = 0
    OnlyPavement = 1
    NotIsolated = 2
    NotInterior = 4
    NotWater = 8
    OnlyNetworkSpawn = 16
    UseFloodFill = 32

class InputMethod(Enum):
    MouseAndKeyboard = 0
    GamePad = 2

class Interior:
    @staticmethod
    def CullExteriorObjectGeometryThisFrame(nameHash: Model) -> None: ...
    @staticmethod
    def CullExteriorObjectShadowThisFrame(nameHash: Model) -> None: ...
    @staticmethod
    def ForceRoomForGameViewport(interior: InteriorProxy, roomKey: int) -> None: ...
    @overload
    @staticmethod
    def SetRoomForGameViewport(roomName: str) -> None: ...
    @overload
    @staticmethod
    def SetRoomForGameViewport(roomKey: int) -> None: ...
    @staticmethod
    def SetRoomForGameViewport(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetRoomKeyForGameViewport() -> int: ...

class InteriorProxy:
    Handle: int
    NativeValue: int
    MemoryAddress: int
    Position: Vector3
    CurrentInteriorInstance: InteriorInstance
    Model: Model
    IsDisabled: bool
    IsCapped: bool
    @staticmethod
    def FromHandle(handle: int) -> InteriorProxy: ...
    def Refresh(self) -> None: ...
    def Disable(self, toggle: bool) -> None: ...
    def Cap(self, toggle: bool) -> None: ...
    def PinInMemory(self) -> None: ...
    def UnpinFromMemory(self) -> None: ...
    def ActivateEntitySet(self, entitySetName: str) -> None: ...
    def DeactivateEntitySet(self, entitySetName: str) -> None: ...
    def IsEntitySetActive(self, entitySetName: str) -> bool: ...
    def SetEntitySetTintIndex(self, entitySetName: str, index: int) -> None: ...
    @staticmethod
    def GetInteriorProxyAt(position: Vector3) -> InteriorProxy: ...
    @staticmethod
    def GetInteriorProxyFromGameplayCam() -> InteriorProxy: ...
    def Exists(self) -> bool: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class InvertAxisFlags(Enum):
    None_ = 0
    X = 1
    Y = 2
    Z = 4

class Language(Enum):
    American = 0
    French = 1
    German = 2
    Italian = 3
    Spanish = 4
    Portuguese = 5
    Polish = 6
    Russian = 7
    Korean = 8
    Chinese = 9
    Japanese = 10
    Mexican = 11
    ChineseSimplified = 12

class MarkerType(Enum):
    UpsideDownCone = 0
    Cone = 0
    Cylinder = 1
    VerticalCylinder = 1
    Arrow = 2
    ThickChevronUp = 2
    ArrowFlat = 3
    ThinChevronUp = 3
    Flag = 4
    CheckeredFlagRect = 4
    RingFlag = 5
    CheckeredFlagCircle = 5
    Ring = 6
    VerticleCircle = 6
    Plane = 7
    PlaneModel = 7
    BikeLogo1 = 8
    LostMCDark = 8
    BikeLogo2 = 9
    LostMCLight = 9
    Num0 = 10
    Number0 = 10
    Num1 = 11
    Number1 = 11
    Num2 = 12
    Number2 = 12
    Num3 = 13
    Number3 = 13
    Num4 = 14
    Number4 = 14
    Num5 = 15
    Number5 = 15
    Num6 = 16
    Number6 = 16
    Num7 = 17
    Number7 = 17
    Num8 = 18
    Number8 = 18
    Num9 = 19
    Number9 = 19
    Chevron1 = 20
    ChevronUpx1 = 20
    Chevron2 = 21
    ChevronUpx2 = 21
    Chevron3 = 22
    ChevronUpx3 = 22
    RingFlat = 23
    HorizontalCircleFat = 23
    Lap = 24
    ReplayIcon = 24
    Halo = 25
    HorizontalCircleSkinny = 25
    HaloPoint = 26
    HorizontalCircleSkinnyArrow = 26
    HaloRotate = 27
    HorizontalSplitArrowCircle = 27
    Sphere = 28
    DebugSphere = 28
    Money = 29
    Lines = 30
    Beast = 31
    QuestionMark = 32
    TransformPlane = 33
    TransformHelicopter = 34
    TransformBoat = 35
    TransformCar = 36
    TransformBike = 37
    TransformPushBike = 38
    TransformTruck = 39
    TransformParachute = 40
    TransformThruster = 41
    Warp = 42
    Boxes = 43
    PitLane = 44

class MaterialHash(Enum):
    None_ = 0
    Blood = 5236042
    Temp30 = 13626292
    MetalHollowSmall = 15972667
    Spine3 = 32752644
    Temp11 = 47470226
    Temp10 = 63305994
    HandLeft = 113101985
    Cloth = 122789469
    MetalChainLinkLarge = 125958708
    WoodSolidPolished = 126470059
    RockNoinst = 127813971
    CarpetSolidDusty = 158576196
    Marsh = 223086562
    CardboardSheet = 236511221
    GlassBulletproof = 244521486
    Tarmac = 282940568
    AnimalDefault = 286224918
    Linoleum = 289630530
    MudPothole = 312396330
    VfxMetalFlame = 332778253
    ConcretePothole = 359120722
    Water = 435688960
    Temp23 = 465002639
    Paper = 474149820
    Buttocks = 483400232
    SandDryDeep = 509508168
    SandCompact = 510490462
    CarGlassOpaque = 513061559
    WoodSolidMedium = 555004797
    ClaySoft = 560985072
    Cobblestone = 576169331
    Bushes = 581794674
    SandstoneSolid = 592446772
    CarGlassMedium = 602884284
    PhysPoolTableSurface = 605776921
    VfxMetalWaterTower = 611561919
    PlasticHollow = 627123000
    ShinLeft = 652772852
    CarpetSolid = 669292054
    SlattedBlinds = 673696729
    Temp12 = 702596674
    WoodOldCreaky = 722686013
    Temp01 = 746881105
    MetalSolidLarge = 752131025
    MetalChainLinkSmall = 762193613
    Stone = 765206029
    PlasticHollowClear = 772722531
    Foam = 808719444
    WoodSolidLarge = 815762359
    MetalCorrugatedIron = 834144982
    FreshMeat = 868733839
    Temp27 = 889255498
    SandWet = 909950165
    GlassShootThrough = 937503243
    GravelSmall = 951832588
    PhysPoolTableCushion = 972939963
    VfxWoodBeerBarrel = 998201806
    Puddle = 999829011
    Temp17 = 1011960114
    Temp09 = 1026054937
    LowerArmLeft = 1045062756
    EmissivePlastic = 1059629996
    Temp06 = 1061250033
    CarGlassStrong = 1070994698
    Temp29 = 1078418101
    MudDeep = 1109728704
    ClayHard = 1144315879
    WoodChipboard = 1176309403
    Concrete = 1187676648
    CarGlassWeak = 1247281098
    SandWetDeep = 1288448767
    Grass = 1333033863
    FeatherPillow = 1341866303
    Temp08 = 1343679702
    PhysCarVoid = 1345867677
    Fiberglass = 1354180827
    Temp18 = 1354993138
    TvScreen = 1429989756
    BushesNoinst = 1441114862
    Spine2 = 1457572381
    GlassOpaque = 1500272081
    EmissiveGlass = 1501078253
    UpperArmRight = 1501153539
    SnowTarmac = 1550304810
    MarshDeep = 1584636462
    SnowDeep = 1619704960
    MudSoft = 1635937914
    Brick = 1639053622
    PhysNoFriction = 1666473731
    Neck = 1718294164
    RoofTile = 1755188853
    MetalDuct = 1761524221
    LowerArmRight = 1777921590
    Laminate = 1845676458
    MetalHollowMedium = 1849540536
    TarmacPothole = 1886546517
    PavingSlab = 1907048430
    Temp03 = 1911121241
    SandstoneBrittle = 1913209870
    Temp04 = 1923995104
    GravelTrainTrack = 1925605558
    FootLeft = 1926285543
    Marble = 1945073303
    Temp25 = 1952288305
    Temp24 = 1963820161
    WoodHollowSmall = 1993976879
    HandRight = 2000961972
    WoodLattice = 2011204130
    ConcretePavement = 2015599386
    PhysCasterRusty = 2016463089
    MetalRailing = 2100727187
    GravelLarge = 2128369009
    CarSoftTopClear = 2130571536
    CarPlastic = 2137197282
    WoodHighFriction = 2154880249
    StuntRampSurface = 2206792300
    Plastic = 2221655295
    Temp20 = 2242086891
    PhysDynamicCoverBound = 2247498441
    Leaves = 2253637325
    PhysElectricMetal = 2281206151
    Temp02 = 2316997185
    MudHard = 2352068586
    SnowLoose = 2357397706
    IceTarmac = 2363942873
    Spine0 = 2372680412
    CarEngine = 2378027672
    TreeBark = 2379541433
    SandTrack = 2387446527
    DirtTrack = 2409420175
    PlasticClear = 2435246283
    Hay = 2461440131
    Default = 2519482235
    Temp07 = 2529443614
    Polystyrene = 2538039965
    WoodHighDensity = 2552123904
    CarGlassBulletproof = 2573051366
    PhysGolfBall = 2601153738
    Temp13 = 2657481383
    Petrol = 2660782956
    PlasticHighDensity = 2668971817
    Perspex = 2675173228
    SandLoose = 2699818980
    Temp15 = 2710969365
    ClavicleRight = 2737678298
    PhysBarbedWire = 2751643840
    Temp16 = 2782232023
    ClavicleLeft = 2825350831
    MetalSolidSmall = 2847687191
    DriedMeat = 2849806867
    RoofFelt = 2877802565
    CardboardBox = 2885912856
    CarpetFloorboard = 2898482353
    Temp05 = 2901304848
    FootRight = 2925830612
    PlasticHighDensityClear = 2956494126
    TarmacPainted = 2993614768
    GrassShort = 3008270349
    Ceramic = 3108646581
    Temp28 = 3115293198
    PhysElectricFence = 3124923563
    BrickPavement = 3147605720
    Spine1 = 3154854427
    SandUnderwater = 3158909604
    Temp26 = 3178714198
    ConcreteDusty = 3210327185
    Temp21 = 3257211236
    CarSoftTop = 3315319434
    BreezeBlock = 3340854742
    WoodHollowLarge = 3369548007
    Twigs = 3381615457
    SnowCompact = 3416406407
    Rock = 3454750755
    Temp19 = 3493162850
    Ice = 3508906581
    RubberHollow = 3511032624
    FiberglassHollow = 3528912198
    MetalManhole = 3539969597
    WoodFloorDusty = 3545514974
    PhysPoolTableBall = 3546625734
    Head = 3559574543
    MetalSolidRoadSurface = 3565854962
    Soil = 3594309083
    VfxMetalSteam = 3603690002
    Temp14 = 3649011722
    Tarpaulin = 3652308448
    Oil = 3660485991
    Temp22 = 3674578943
    MetalHollowLarge = 3711753465
    PlasterSolid = 3720844863
    Leather = 3724496396
    UpperArmLeft = 3784624938
    GrassLong = 3833216577
    ThighLeft = 3834431425
    ShinRight = 3848931141
    MetalGrille = 3868849285
    WoodSolidSmall = 3895095068
    MetalSolidMedium = 3929336056
    WoodHollowMedium = 3929491133
    GravelDeep = 3938260814
    VfxMetalElectrified = 3985833031
    Woodchips = 3985845843
    PhysPedCapsule = 4003336261
    MudUnderwater = 4021477129
    PhysTennisBall = 4038262533
    PlasterBrittle = 4043078398
    RumbleStrip = 4044799021
    ThighRight = 4057986041
    PhysCaster = 4059664613
    MetalGarageDoor = 4063706601
    Rubber = 4149231379
    RockMossy = 4170197704
    CarMetal = 4201905313

class MeasurementSystem(Enum):
    Imperial = 0
    Metric = 1

class ParachuteTint(Enum):
    Rainbow = 0
    Red = 1
    SeasideStripes = 2
    WidowMaker = 3
    Patriot = 4
    Blue = 5
    Black = 6
    Hornet = 7
    AirFocce = 8
    Desert = 9
    Shadow = 10
    HighAltitude = 11
    Airbone = 12
    Sunrise = 13
    None_ = -1

class ParticleEffect(PoolObject):
    MemoryAddress: int
    Entity: Entity
    Bone: EntityBone
    AssetName: str
    EffectName: str
    Offset: Vector3
    Rotation: Vector3
    Color: Any
    Scale: float
    Range: float
    def SetParameter(self, parameterName: str, value: float) -> None: ...
    def Delete(self) -> None: ...
    def Exists(self) -> bool: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...
    def ToString(self) -> str: ...

class ParticleEffectAsset:
    IsLoaded: bool
    AssetName: str
    NonLoopedColor: Any
    def __init__(self, assetName: str) -> None: ...
    @overload
    def Request(self) -> None: ...
    @overload
    def Request(self, timeout: int) -> bool: ...
    def Request(self, *args: Any, **kwargs: Any) -> Any: ...
    def MarkAsNoLongerNeeded(self) -> None: ...
    @overload
    def Equals(self, asset: ParticleEffectAsset) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...
    def ToString(self) -> str: ...

class PathFind:
    @staticmethod
    def GetAllVehicleNodes(predicate: Optional[Callable[..., Any]] = None) -> List[PathNode]: ...
    @staticmethod
    def GetNearbyVehicleNodes(position: Vector3, radius: float, predicate: Optional[Callable[..., Any]] = None) -> List[PathNode]: ...
    @staticmethod
    def GetVehicleNodesInArea(min: Vector3, max: Vector3, predicate: Optional[Callable[..., Any]] = None) -> List[PathNode]: ...
    @staticmethod
    def GetClosestVehicleNode(position: Vector3, radius: float, predicate: Optional[Callable[..., Any]] = None) -> PathNode: ...
    @staticmethod
    def GetClosestVehicleNodePosition(position: Vector3, closestNodePosition: Vector3, flags: GetClosestVehicleNodeFlags = ..., zMeasureMult: float = 3.0, zTolerance: float = 0.0) -> bool: ...
    @staticmethod
    def GetNthClosestVehicleNode(position: Vector3, nthClosest: int, flags: GetClosestVehicleNodeFlags = ..., zMeasureMult: float = 3.0, zTolerance: float = 0.0) -> PathNode: ...
    @staticmethod
    def GetNthClosestVehicleNodePosition(position: Vector3, nthClosest: int, closestNodePosition: Vector3, flags: GetClosestVehicleNodeFlags = ..., zMeasureMult: float = 3.0, zTolerance: float = 0.0) -> bool: ...
    @staticmethod
    def GetNthClosestVehicleNodeWithHeading(position: Vector3, nthClosest: int, heading: float, numLanes: int, flags: GetClosestVehicleNodeFlags = ..., zMeasureMult: float = 3.0, zTolerance: float = 0.0) -> PathNode: ...
    @staticmethod
    def GetNthClosestVehicleNodePositionWithHeading(position: Vector3, nthClosest: int, closestNodePosition: Vector3, heading: float, numLanes: int, flags: GetClosestVehicleNodeFlags = ..., zMeasureMult: float = 3.0, zTolerance: float = 0.0) -> bool: ...
    @staticmethod
    def ArePathNodesLoadedForArea(min: Vector2, max: Vector2) -> bool: ...
    @staticmethod
    def RequestPathNodesInAreaThisFrame(min: Vector2, max: Vector2) -> bool: ...
    @staticmethod
    def SwitchPedPathsInArea(min: Vector3, max: Vector3, active: bool, forceAbortCurrentPath: bool) -> None: ...
    @staticmethod
    def SetPedPathsBackToOriginal(min: Vector3, max: Vector3, forceAbortCurrentPath: bool) -> None: ...
    @staticmethod
    def SwitchVehicleNodesInArea(min: Vector3, max: Vector3, active: bool) -> None: ...
    @staticmethod
    def SwitchVehicleNodesInAngledArea(position1: Vector3, position2: Vector3, areaWidth: float, active: bool) -> None: ...
    @staticmethod
    def SetVehicleNodesBackToOriginal(min: Vector3, max: Vector3) -> None: ...
    @staticmethod
    def SetVehicleNodesBackToOriginalInAngledArea(position1: Vector3, position2: Vector3, areaWidth: float) -> None: ...

class PathNode:
    AreaId: int
    NodeId: int
    Handle: int
    NativeValue: int
    MemoryAddress: int
    IsLoaded: bool
    Position: Vector3
    IsSwitchedOff: bool
    IsGpsAllowed: bool
    VehicleDensity: int
    def GetVehicleNodePropertyFlags(self) -> VehiclePathNodePropertyFlags: ...
    def GetAllPathNodeLinks(self) -> List[PathNodeLink]: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class PathNodeLink:
    AreaId: int
    Index: int
    TargetAreaId: int
    TargetNodeId: int
    TargetPathNode: PathNode
    MemoryAddress: int
    IsLoaded: bool
    ForwardLaneCount: int
    BackwardLaneCount: int
    @overload
    def GetForwardAndBackwardLaneCounts(self, forwardLaneCount: int, backwardLaneCount: int) -> bool: ...
    @overload
    def GetForwardAndBackwardLaneCounts(self) -> Tuple[int, int]: ...
    def GetForwardAndBackwardLaneCounts(self, *args: Any, **kwargs: Any) -> Any: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class Rope(PoolObject):
    VertexCount: int
    Length: float
    def __init__(self, handle: int) -> None: ...
    def ActivatePhysics(self) -> None: ...
    @overload
    def Attach(self, entity: Entity) -> None: ...
    @overload
    def Attach(self, entity: Entity, position: Vector3) -> None: ...
    def Attach(self, *args: Any, **kwargs: Any) -> Any: ...
    def Detach(self, entity: Entity) -> None: ...
    @overload
    def Connect(self, entity1: Entity, entity2: Entity, length: float) -> None: ...
    @overload
    def Connect(self, entity1: Entity, position1: Vector3, entity2: Entity, position2: Vector3, length: float) -> None: ...
    def Connect(self, *args: Any, **kwargs: Any) -> Any: ...
    def PinVertex(self, vertex: int, position: Vector3) -> None: ...
    def UnpinVertex(self, vertex: int) -> None: ...
    def GetVertexCoord(self, vertex: int) -> Vector3: ...
    def Delete(self) -> None: ...
    def Exists(self) -> bool: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class RopeType(Enum):
    ThickRope = 4
    ThinMetalWire = 5

class GetGroundHeightMode(Enum):
    Normal = 0
    ConsiderWaterAsGround = 1
    ConsiderWaterAsGroundNoWaves = 2

class IntersectFlags(Enum):
    Map = 1
    Vehicles = 2
    MissionEntities = 2
    PedCapsules = 4
    Ragdolls = 8
    Peds = 12
    Objects = 16
    LosToEntity = 17
    Pickups = 32
    Glass = 64
    BoundingBox = 126
    Rivers = 128
    Vegetation = 256
    Foliage = 256
    Everything = 511

class RaycastResult:
    Result: int
    DidHit: bool
    HitEntity: Entity
    HitPosition: Vector3
    SurfaceNormal: Vector3
    MaterialHash: MaterialHash
    def __init__(self, handle: int) -> None: ...

class ShapeTest:
    @staticmethod
    def StartTestLOSProbe(startPosition: Vector3, endPosition: Vector3, intersectFlags: IntersectFlags = ..., excludeEntity: Optional[Entity] = None, options: ShapeTestOptions = ...) -> ShapeTestHandle: ...
    @staticmethod
    def StartExpensiveSyncTestLOSProbe(startPosition: Vector3, endPosition: Vector3, intersectFlags: IntersectFlags = ..., excludeEntity: Optional[Entity] = None, options: ShapeTestOptions = ...) -> ShapeTestHandle: ...
    @staticmethod
    def StartTestBoundingBox(entity: Entity, intersectFlags: IntersectFlags = ..., options: ShapeTestOptions = ...) -> ShapeTestHandle: ...
    @staticmethod
    def StartTestBox(sourcePosition: Vector3, dimension: Vector3, rotationAngles: Vector3, rotationOrder: EulerRotationOrder = ..., intersectFlags: IntersectFlags = ..., excludeEntity: Optional[Entity] = None, options: ShapeTestOptions = ...) -> ShapeTestHandle: ...
    @staticmethod
    def StartTestBound(entity: Entity, intersectFlags: IntersectFlags = ..., options: ShapeTestOptions = ...) -> ShapeTestHandle: ...
    @staticmethod
    def StartTestCapsule(startPosition: Vector3, endPosition: Vector3, radius: float, intersectFlags: IntersectFlags = ..., excludeEntity: Optional[Entity] = None, options: ShapeTestOptions = ...) -> ShapeTestHandle: ...
    @staticmethod
    def StartTestSweptSphere(startPosition: Vector3, endPosition: Vector3, radius: float, intersectFlags: IntersectFlags = ..., excludeEntity: Optional[Entity] = None, options: ShapeTestOptions = ...) -> ShapeTestHandle: ...
    @overload
    @staticmethod
    def StartTestMouseCursorLOSProbe(probeStartPosition: Vector3, probeEndPosition: Vector3, intersectFlags: IntersectFlags = ..., excludeEntity: Optional[Entity] = None, options: ShapeTestOptions = ...) -> ShapeTestHandle: ...
    @overload
    @staticmethod
    def StartTestMouseCursorLOSProbe(intersectFlags: IntersectFlags, excludeEntity: Optional[Entity] = None, options: ShapeTestOptions = ...) -> Tuple[ShapeTestHandle, Vector3, Vector3]: ...
    @staticmethod
    def StartTestMouseCursorLOSProbe(*args: Any, **kwargs: Any) -> Any: ...

class ShapeTestHandle:
    Handle: int
    NativeValue: int
    IsRequestFailed: bool
    @overload
    def GetResult(self, result: ShapeTestResult) -> ShapeTestStatus: ...
    @overload
    def GetResult(self) -> Tuple[ShapeTestStatus, ShapeTestResult]: ...
    def GetResult(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def GetResultIncludingMaterial(self, result: ShapeTestResult, materialHash: MaterialHash) -> ShapeTestStatus: ...
    @overload
    def GetResultIncludingMaterial(self) -> Tuple[ShapeTestStatus, ShapeTestResult, MaterialHash]: ...
    def GetResultIncludingMaterial(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def Equals(self, model: ShapeTestHandle) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...

class ShapeTestOptions(Enum):
    IgnoreGlass = 1
    IgnoreSeeThrough = 2
    IgnoreNoCollision = 4
    Default = 7

class ShapeTestResult:
    DidHit: bool
    HitPosition: Vector3
    SurfaceNormal: Vector3
    def TryGetHitEntity(self, hitEntity: Entity) -> bool: ...

class ShapeTestStatus(Enum):
    NonExistent = 0
    NotReady = 1
    Ready = 2

class Pickup(PoolObject):
    Position: Vector3
    IsCollected: bool
    Object: PickupObject
    def __init__(self, handle: int) -> None: ...
    def ObjectExists(self) -> bool: ...
    def Delete(self) -> None: ...
    def Exists(self) -> bool: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class PickupObject(Prop):
    @staticmethod
    def FromHandle(handle: int) -> PickupObject: ...

class PickupObjectPlacement:
    Position: Vector3
    MemoryAddress: int
    def __init__(self, address: int) -> None: ...

class PickupPlacementFlags(Enum):
    None_ = 0
    Map = 1
    Fixed = 2
    Regenerates = 4
    SnapToGround = 8
    OrientToGround = 16
    LocalOnly = 32
    BlippedSimple = 64
    BlippedComplex = 128
    Upright = 256
    Rotate = 512
    FaceToPlayer = 1024
    HideInPhotos = 2048
    PlayerGift = 4096
    OnObject = 8192
    GlowInTeam = 16384
    AutoEquip = 32768
    CollectableInVehicle = 65536
    DisableWeaponHdModel = 131072
    ForceDeferredModel = 262144

class PickupType(Enum):
    PortableCrateUnfixedInAirVehicleWithPassengersUpright = 68603185
    PortableCrateUnfixedInCarWithPassengers = 79909481
    VehicleCustomScriptNoRotate = 83435908
    WeaponSpecialCarbineMk2 = 94531552
    WeaponMarksmanRifle = 127042729
    WeaponPoolCue = 155106086
    WeaponSpecialCarbine = 157823901
    WeaponBattleAxe = 158843122
    VehicleHealth = 160266735
    WeaponCompactRifle = 266812085
    AmmoSMG = 292537574
    MoneyMedBag = 341217064
    HealthSnack = 483577702
    WeaponSmokeGrenade = 483787975
    WeaponMicroSMG = 496339155
    MoneyPurse = 513448440
    AmmoPistol = 544828034
    MoneyDepBag = 545862290
    WeaponFirework = 582047296
    WeaponKnife = 663586612
    WeaponHammer = 693539241
    CustomScript = 738282662
    VehicleWeaponStickyBomb = 746606563
    WeaponMolotov = 768803961
    VehicleWeaponSawnoffShotgun = 772217690
    WeaponGrenadeLauncher = 779501861
    WeaponMinigun = 792114228
    PortableDLCVehiclePackage = 837436873
    WeaponMilitaryRifle = 884272848
    WeaponSMG = 978070226
    WeaponDoubleActionRevolver = 990867623
    WeaponAPPistol = 996550793
    WeaponWidowmaker = 1000920287
    WeaponSNSPistolMk2 = 1038697149
    VehicleCustomScriptLowGlow = 1104334678
    WeaponPistolMk2 = 1234831722
    PortableCrateUnfixedInCar = 1263688126
    Armour = 1274757841
    WeaponRPG = 1295434569
    WeaponHatchet = 1311775952
    WeaponCandyCane = 1337246736
    WeaponGusenberg = 1393009900
    AmmoBulletMP = 1426343849
    WeaponHeavyRifle = 1491498856
    AmmoHomingLauncher = 1548844439
    WeaponPumpShotgunMk2 = 1572258186
    MoneyWallet = 1575005502
    WeaponGrenade = 1577485217
    WeaponNightstick = 1587637620
    WeaponCeramicPistol = 1601729296
    PortableFMContentMissionEntitySmall = 1610516839
    AmmoFireworkMP = 1613316560
    WeaponRevolver = 1632369836
    WeaponProximityMine = 1649373715
    PortablePackageLargeRadius = 1651898027
    VehicleMoneyVariable = 1704231442
    VehicleWeaponSmokeGrenade = 1705498857
    Parachute = 1735599485
    VehicleWeaponAssaultSMG = 1751145014
    WeaponHeavySniper = 1765114797
    WeaponPistol50 = 1817941018
    WeaponRevolverMk2 = 1835046764
    WeaponBullpupShotgun = 1850631618
    PortableCrateUnfixed = 1852930709
    MoneyPaperBag = 1897726628
    WeaponAssaultSMG = 1948018762
    WeaponUnholyHellbringer = 1959050722
    WeaponMusket = 1983869217
    WeaponPericoPistol = 2010690963
    AmmoShotgun = 2012476125
    WeaponCombatPDW = 2023061218
    WeaponHazardousJerryCan = 2045070941
    WeaponCombatShotgun = 2074855423
    WeaponStickyBomb = 2081529176
    PortablePackage = 2158727964
    WeaponBullpupRifle = 2170382056
    WeaponAssaultRifleMk2 = 2173116527
    WeaponBat = 2179883038
    AmmoRPG = 2223210455
    WeaponMetalDetector = 2226947771
    VehicleWeaponMolotov = 2228647636
    WeaponMG = 2244651441
    WeaponCrowbar = 2267924616
    AmmoGrenadeLauncher = 2283450536
    WeaponTacticalSMG = 2292608621
    WeaponGolfclub = 2297080999
    WeaponCombatPistol = 2305275123
    AmmoEMPLauncher = 2308161313
    WeaponServiceCarbine = 2316705120
    WeaponMarksmanPistol = 2329799797
    WeaponBullpupRifleMk2 = 2349845267
    Health = 2406513688
    PortableCrateUnfixedInAirVehicleWithPassengers = 2431639355
    WeaponAssaultShotgun = 2459552091
    PortableCrateUnfixedLowGlow = 2499414878
    WeaponSawnoffShotgun = 2528383651
    WeaponHeavyPistol = 2633054488
    WeaponMarksmanRifleMk2 = 2673201481
    PortableCrateFixedInCarWithPassengers = 2689501965
    AmmoGrenadeLauncherMP = 2753668402
    VehicleWeaponPistol = 2773149623
    VehicleCustomScript = 2780351145
    VehicleWeaponGrenade = 2803366040
    PortableCrateFixedInCarSmall = 2817147086
    WeaponPrecisionRifle = 2821026276
    WeaponCombatMGMk2 = 2837437579
    WeaponPumpShotgun = 2838846925
    WeaponPipeBomb = 2942905513
    WeaponCombatMG = 2995980820
    WeaponAdvancedRifle = 2998219358
    WeaponStunGunMultiplayer = 3025681922
    WeaponWM29Pistol = 3063083075
    VehicleWeaponMicroSMG = 3094015579
    WeaponSweeperShotgun = 3167076850
    WeaponFlareGun = 3175998018
    WeaponFlashlight = 3182886821
    WeaponCarbineRifleMk2 = 3185079484
    WeaponHeavyShotgun = 3201593029
    WeaponDagger = 3220073531
    WeaponHomingLauncher = 3223238264
    AmmoSniper = 3224170789
    WeaponPetrolcanSmallRadius = 3279969783
    PortableCrateUnfixedInCarSmall = 3285027633
    WeaponSNSPistol = 3317114643
    WeaponPetrolCan = 3332236287
    WeaponNavyRevolver = 3392027813
    VehicleWeaponAPPistol = 3431676165
    WeaponStoneHatchet = 3432031091
    MoneyCase = 3463437675
    VehicleWeaponCombatPistol = 3500855031
    WeaponMiniSMG = 3547474523
    VehicleWeaponPistol50 = 3550712678
    WeaponMachete = 3626334911
    WeaponFertilizerCan = 3708929359
    WeaponSwitchblade = 3722713114
    AmmoMG = 3730366643
    MoneySecurityCase = 3732468094
    WeaponCarbineRifle = 3748731225
    AmmoFlareGun = 3759398940
    GangAttackMoney = 3782592152
    Camera = 3812460080
    WeaponUpNAtomizer = 3812817136
    WeaponRailgun = 3832418740
    AmmoRifle = 3837603782
    WeaponWrench = 3843167081
    Submarine = 3889104844
    WeaponVintagePistol = 3958938975
    PortableCrateFixedInCar = 3993904883
    WeaponSMGMk2 = 4012602256
    WeaponCompactGrenadeLauncher = 4041868857
    AmmoMinigun = 4065984953
    WeaponAssaultRifle = 4080829360
    WeaponRailgunXmas3 = 4109932467
    WeaponMachinePistol = 4123384540
    AmmoFirework = 4180625516
    AmmoMissileMP = 4187887056
    WeaponPistol = 4189041807
    WeaponDoubleBarrelShotgun = 4192395039
    WeaponBottle = 4199656437
    WeaponStunGun = 4246083230
    WeaponKnuckleDuster = 4254904030
    VehicleHealthLowGlow = 4260266856
    MoneyVariable = 4263048111
    WeaponSniperRifle = 4264178988
    WeaponCompactEMPLauncher = 4284229131

class Player:
    Handle: int
    NativeValue: int
    MemoryAddress: int
    Character: Ped
    Wanted: Wanted
    Name: str
    Money: int
    IsTargetingAnything: bool
    TargetedEntity: Entity
    TargetedBuilding: Building
    ClosestFreeAimTargetPos: Vector3
    LockedOnEntity: Entity
    LastLockOnTargetPos: Vector3
    WantedLevel: int
    WantedCenterPosition: Vector3
    IgnoredByPolice: bool
    IgnoredByEveryone: bool
    DispatchsCops: bool
    RemainingSpecialAbilityMeter: float
    MaxSpecialAbilityMeter: float
    HasSpecialAbility: bool
    IsSpecialAbilityActive: bool
    IsSpecialAbilityEnabled: bool
    MaxHealth: int
    MaxArmor: int
    PrimaryParachuteTint: ParachuteTint
    ReserveParachuteTint: ParachuteTint
    CanLeaveParachuteSmokeTrail: bool
    ParachuteSmokeTrailColor: Any
    IsDead: bool
    IsAlive: bool
    IsAiming: bool
    IsClimbing: bool
    IsRidingTrain: bool
    IsPressingHorn: bool
    IsPlaying: bool
    IsInvincible: bool
    CanUseCover: bool
    CanStartMission: bool
    CanControlRagdoll: bool
    CanControlCharacter: bool
    RemainingSprintTime: float
    RemainingSprintStamina: float
    RemainingUnderwaterTime: float
    LastVehicle: Vehicle
    ForcedAim: bool
    def IsTargeting(self, entity: Entity) -> bool: ...
    @overload
    def ChargeSpecialAbility(self, absoluteAmount: int) -> None: ...
    @overload
    def ChargeSpecialAbility(self, absoluteAmount: int, ignoreActive: bool) -> None: ...
    @overload
    def ChargeSpecialAbility(self, normalizedRatio: float) -> None: ...
    @overload
    def ChargeSpecialAbility(self, normalizedRatio: float, ignoreActive: bool) -> None: ...
    def ChargeSpecialAbility(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def RefillSpecialAbility(self) -> None: ...
    @overload
    def RefillSpecialAbility(self, ignoreActive: bool) -> None: ...
    def RefillSpecialAbility(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def DepleteSpecialAbility(self) -> None: ...
    @overload
    def DepleteSpecialAbility(self, ignoreActive: bool) -> None: ...
    def DepleteSpecialAbility(self, *args: Any, **kwargs: Any) -> Any: ...
    def ActivateSpecialAbility(self) -> None: ...
    def DeactivateSpecialAbility(self) -> None: ...
    def DeactivateSpecialAbilityInstantly(self) -> None: ...
    def SetControlState(self, setControlOn: bool, flags: SetPlayerControlFlags = ...) -> None: ...
    def ChangeModel(self, model: Model) -> bool: ...
    def DisableFiringThisFrame(self) -> None: ...
    def SetRunSpeedMultThisFrame(self, mult: float) -> None: ...
    def SetSwimSpeedMultThisFrame(self, mult: float) -> None: ...
    def SetFireAmmoThisFrame(self) -> None: ...
    def SetExplosiveAmmoThisFrame(self) -> None: ...
    def SetExplosiveMeleeThisFrame(self) -> None: ...
    def SetSuperJumpThisFrame(self) -> None: ...
    def SetMayNotEnterAnyVehicleThisFrame(self) -> None: ...
    def SetMayOnlyEnterThisVehicleThisFrame(self, vehicle: Vehicle) -> None: ...
    def Equals(self, obj: object) -> bool: ...
    def GetHashCode(self) -> int: ...

class PlayerTargetingMode(Enum):
    AssistedAimFull = 0
    AssistedAimPartial = 1
    FreeAimAssisted = 2
    FreeAim = 3

class PoolObject:
    Handle: int
    NativeValue: int
    def Exists(self) -> bool: ...
    def Delete(self) -> None: ...

class RadioStation(Enum):
    LosSantosRockRadio = 0
    NonStopPopFM = 1
    RadioLosSantos = 2
    ChannelX = 3
    WestCoastTalkRadio = 4
    RebelRadio = 5
    SoulwaxFM = 6
    EastLosFM = 7
    WestCoastClassics = 8
    BlaineCountyRadio = 9
    TheBlueArk = 10
    WorldWideFM = 11
    FlyloFM = 12
    TheLowdown = 13
    RadioMirrorPark = 14
    Space = 15
    VinewoodBoulevardRadio = 16
    SelfRadio = 17
    TheLab = 18
    BlondedLosSantos = 19
    LosSantosUndergroundRadio = 20
    iFruitRadio = 21
    StillSlippingLosSantos = 22
    KultFM = 23
    MusicLocker = 24
    MediaPlayer = 25
    MotomamiLosSantos = 26
    RadioOff = 255

class Scaleform:
    Handle: int
    NativeValue: int
    IsValid: bool
    IsLoaded: bool
    def __init__(self, scaleformID: str) -> None: ...
    @staticmethod
    def RequestMovie(fileName: str) -> Scaleform: ...
    @staticmethod
    def RequestMovieIgnoreSuperWidescreenAdjustment(fileName: str) -> Scaleform: ...
    @staticmethod
    def RequestMovieSkipRenderWhilePaused(fileName: str) -> Scaleform: ...
    def Dispose(self) -> None: ...
    def CallFunction(self, function: str, arguments: List[object]) -> None: ...
    def CallFunctionReturn(self, function: str, arguments: List[object]) -> int: ...
    def Render2D(self) -> None: ...
    def Render2DScreenSpace(self, position: Any, size: Any) -> None: ...
    def Render3D(self, position: Vector3, rotation: Vector3, scale: Vector3) -> None: ...
    def Render3DAdditive(self, position: Vector3, rotation: Vector3, scale: Vector3) -> None: ...
    @staticmethod
    def FromHandle(handle: int) -> Scaleform: ...

class ScaleformArgumentTXD:
    def __init__(self, s: str) -> None: ...

class ScriptSound:
    Id: int
    IsNull: bool
    def PlaySound(self, soundName: str, setName: str, enableOnReplay: bool = True) -> None: ...
    def PlaySoundFrontend(self, soundName: str, setName: str, enableOnReplay: bool = True) -> None: ...
    def PlaySoundFromEntity(self, entity: Entity, soundName: str, setName: Optional[str] = None) -> None: ...
    def PlaySoundFromPosition(self, position: Vector3, soundName: str, setName: Optional[str] = None, isExteriorLoc: bool = False) -> None: ...
    @overload
    def UpdatePosition(self, variableName: str, variableValue: float) -> None: ...
    @overload
    def UpdatePosition(self, position: Vector3) -> None: ...
    def UpdatePosition(self, *args: Any, **kwargs: Any) -> Any: ...
    def HasFinished(self) -> bool: ...
    def Stop(self) -> None: ...
    def Release(self) -> None: ...
    @overload
    def Equals(self, other: ScriptSound) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...

class SetPlayerControlFlags(Enum):
    None_ = 0
    AmbientScript = 2
    ClearTasks = 4
    RemoveFires = 8
    RemoveExplosions = 16
    RemoveProjectiles = 32
    DeactivateGadgets = 64
    ReenableControlOnDeath = 128
    LeaveCameraControlOn = 256
    AllowPlayerDamage = 512
    DontStopOtherCarsAroundPlayer = 1024
    PreventEverybodyBackOff = 2048
    AllowPadShake = 4096

class RequireScript:
    def __init__(self, dependency: type) -> None: ...

class Script:
    Name: str
    Filename: str
    BaseDirectory: str
    IsPaused: bool
    IsRunning: bool
    IsExecuting: bool
    Settings: ScriptSettings
    def __init__(self) -> None: ...
    def ToString(self) -> str: ...
    def GetRelativeFilePath(self, filePath: str) -> str: ...
    def Abort(self) -> None: ...
    def Pause(self) -> None: ...
    def Resume(self) -> None: ...
    @staticmethod
    def Wait(ms: int) -> None: ...
    @staticmethod
    def Yield() -> None: ...
    @staticmethod
    def InstantiateScript() -> T: ...

class AbortScriptMode(Enum):
    Default = 0
    Off = 1
    On = 2

class ScriptAttributes:
    NativeCallResetsTimeout: AbortScriptMode
    Author: str
    SupportURL: str
    NoScriptThread: bool
    NoDefaultInstance: bool
    def __init__(self) -> None: ...

class ScriptSettings:
    @staticmethod
    def Load(filename: str) -> ScriptSettings: ...
    def Save(self) -> bool: ...
    @overload
    def GetValue(self, section: str, name: str, defaultvalue: T) -> T: ...
    @overload
    def GetValue(self, sectionName: str, keyName: str, defaultValue: T, formatProvider: Any) -> T: ...
    def GetValue(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def TryGetValue(self, sectionName: str, keyName: str, value: T) -> bool: ...
    @overload
    def TryGetValue(self, sectionName: str, keyName: str, value: T, formatProvider: Any) -> bool: ...
    def TryGetValue(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def SetValue(self, section: str, name: str, value: T) -> None: ...
    @overload
    def SetValue(self, sectionName: str, keyName: str, value: T, format: str, formatProvider: Any) -> None: ...
    def SetValue(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def GetAllValues(self, section: str, name: str) -> List[T]: ...
    @overload
    def GetAllValues(self, sectionName: str, keyName: str, formatProvider: Any) -> List[T]: ...
    def GetAllValues(self, *args: Any, **kwargs: Any) -> Any: ...
    def ContainsSection(self, section: str) -> bool: ...
    def ContainsKey(self, sectionName: str, keyName: str) -> bool: ...
    def GetAllSectionNames(self) -> List[str]: ...
    def GetAllKeyNames(self, sectionName: str) -> List[str]: ...
    def RemoveKey(self, sectionName: str, keyName: str) -> bool: ...
    def RemoveSection(self, sectionName: str) -> bool: ...
    def Clear(self) -> None: ...

class NewLoadSceneFlags(Enum):
    RequireCollision = 1
    LongSwitchCutscene = 2
    InteriorAndExterior = 4

class Streaming:
    IsEnabled: bool
    FocusEntity: Entity
    IsNewLoadSceneActive: ClassVar[bool]
    IsNewLoadSceneLoaded: ClassVar[bool]
    @staticmethod
    def LoadScene(position: Vector3) -> None: ...
    @staticmethod
    def RequestCollisionAt(point: Vector3) -> None: ...
    @staticmethod
    def SetFocusPositionAndVelocity(position: Vector3, velocity: Vector3) -> None: ...
    @staticmethod
    def IsEntityFocus(entity: Entity) -> bool: ...
    @staticmethod
    def ClearOverriddenFocus() -> None: ...
    @staticmethod
    def StartNewFrustumLoadScene(position: Vector3, direction: Vector3, farClip: float, controlFlags: NewLoadSceneFlags = ...) -> bool: ...
    @staticmethod
    def StartNewSphereLoadScene(position: Vector3, radius: float, controlFlags: NewLoadSceneFlags = ...) -> bool: ...
    @staticmethod
    def StopNewLoadScene() -> None: ...
    @staticmethod
    def SetPedPopulationBudget(amount: int) -> None: ...
    @staticmethod
    def SetVehiclePopulationBudget(amount: int) -> None: ...

class StringHash:
    @overload
    @staticmethod
    def AtPartialStringHash(input: str, initValue: int = 0) -> int: ...
    @overload
    @staticmethod
    def AtPartialStringHash(input: List[int], initValue: int = 0) -> int: ...
    @staticmethod
    def AtPartialStringHash(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def AtPartialStringHashUtf8(input: str, initValue: int = 0) -> int: ...
    @overload
    @staticmethod
    def AtStringHash(input: str, initValue: int = 0) -> int: ...
    @overload
    @staticmethod
    def AtStringHash(input: List[int], initValue: int = 0) -> int: ...
    @staticmethod
    def AtStringHash(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def AtStringHashUtf8(input: str, initValue: int = 0) -> int: ...
    @overload
    @staticmethod
    def AtLiteralStringHash(input: str, initValue: int = 0) -> int: ...
    @overload
    @staticmethod
    def AtLiteralStringHash(input: List[int], initValue: int = 0) -> int: ...
    @staticmethod
    def AtLiteralStringHash(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def AtLiteralStringHashUtf8(input: str, initValue: int = 0) -> int: ...
    @staticmethod
    def AtFinalizeHash(partialHashValue: int) -> int: ...

class DrivingStyle(Enum):
    SometimesOvertakeTraffic = 5
    AvoidTrafficExtremely = 6
    AvoidTraffic = 786468
    Normal = 786603
    IgnoreLights = 2883621
    Rushed = 1074528293

class ParkType(Enum):
    Parallel = 0
    PerpendicularNoseIn = 1
    PerpendicularBackIn = 2
    PullOver = 3
    LeaveParallelSpace = 4
    BackOutPerpendicularSpace = 5
    PassengerExit = 6
    PullOverImmediate = 7

class VehicleChaseBehaviorFlags(Enum):
    CantBlock = 1
    CantBlockFromPursue = 2
    CantPursue = 4
    CantRam = 8
    CantSpinOut = 16
    CantMakeAggressiveMove = 32
    CantCruiseInFrontDuringBlock = 64
    UseContinuousRam = 128
    CantPullAlongside = 256
    CantPullAlongsideInFront = 512

class VehicleDrivingFlags(Enum):
    None_ = 0
    StopForVehicles = 1
    FollowTraffic = 1
    StopForPeds = 2
    YieldToPeds = 2
    SwerveAroundAllVehicles = 4
    AvoidVehicles = 4
    SteerAroundStationaryVehicles = 8
    AvoidEmptyVehicles = 8
    SteerAroundPeds = 16
    AvoidPeds = 16
    SteerAroundObjects = 32
    AvoidObjects = 32
    DontSteerAroundPlayerPed = 64
    StopAtTrafficLights = 128
    UseBlinkers = 256
    GoOffRoadWhenAvoiding = 256
    AllowGoingWrongWay = 512
    Reverse = 1024
    UseWanderFallbackInsteadOfStraightLine = 2048
    AvoidRestrictedAreas = 4096
    PreventBackgroundPathfinding = 8192
    AdjustCruiseSpeedBasedOnRoadSpeed = 16384
    UseShortCutLinks = 262144
    AllowMedianCrossing = 262144
    DrivingModePloughThrough = 262144
    DrivingModeStopForVehiclesStrict = 262275
    ChangeLanesAroundObstructions = 524288
    DrivingModeAvoidVehiclesReckless = 786468
    DrivingModeAvoidVehicles = 786469
    DrivingModeStopForVehiclesIgnoreLights = 786475
    DrivingModeAvoidVehiclesObeyLights = 786597
    DrivingModeAvoidVehiclesStopForPedsObeyLights = 786599
    DrivingModeStopForVehicles = 786603
    UseSwitchedOffNodes = 2097152
    DriveBySight = 4194304
    PreferNavmeshRoute = 4194304
    PlaneTaxiMode = 8388608
    ForceStraightLine = 16777216
    IgnorePathFinding = 16777216
    UseStringPullingAtJunctions = 33554432
    TryToAvoidHighways = 536870912
    ForceJoinInRoadDirection = 1073741824
    StopAtDestination = 2147483648

class VehicleEscortType(Enum):
    Front = 0
    Left = 1
    Right = 2
    Rear = -1

class VehiclePathNodePropertyFlags(Enum):
    None_ = 0
    OffRoad = 1
    OnPlayersRoad = 2
    NoBigVehicles = 4
    SwitchedOff = 8
    TunnelOrInterior = 16
    LeadsToDeadEnd = 32
    Highway = 64
    Junction = 128
    TrafficLight = 256
    GiveWay = 512
    Boat = 1024
    DontAllowGps = 2048

class Wanted:
    WantedLevel: int
    LastPositionSpottedByPolice: Vector3
    CurrentCrimeValue: int
    NewCrimeValue: int
    TimeWhenNewCrimeValueTakesEffect: int
    TimeSearchLastRefocused: int
    TimeLastSpotted: int
    TimeHiddenEvasionStarted: int
    HasGrayedOutStars: bool
    PoliceBackOff: bool
    EverybodyBackOff: bool
    DispatchesCopsForPlayer: bool
    def SetWantedLevel(self, newLevel: int, delayLawResponse: bool) -> None: ...
    def SetWantedLevelNoDrop(self, newLevel: int, delayLawResponse: bool) -> None: ...
    def ApplyWantedLevelChangeNow(self, delayLawResponse: bool) -> None: ...
    def SetRadiusCenter(self, pos: Vector3) -> None: ...
    def SetPoliceIgnorePlayer(self, value: bool) -> None: ...
    def SetEveryoneIgnorePlayer(self, value: bool) -> None: ...
    def SetWantedLevelNoRefocusSearchArea(self, wantedLevel: int) -> None: ...
    def ReportCrime(self, crimeToReport: CrimeType, crimeValue: int = 0) -> None: ...
    def ReportPoliceSpottingPlayer(self) -> None: ...
    def ForceStartHiddenEvasion(self) -> None: ...

class Water:
    @staticmethod
    def GetWaterLevel(position: Vector3, height: float) -> bool: ...
    @staticmethod
    def GetWaterLevelNoWaves(position: Vector3, height: float) -> bool: ...
    @staticmethod
    def TestLineAgainstWater(startPos: Vector3, endPos: Vector3, intersectionPos: Vector3) -> bool: ...

class ExtraWeaponComponentScriptResourceFlags(Enum):
    None_ = 0
    Flash = 1
    Scope = 2
    Supp = 4
    Sclip2 = 8
    Grip = 16

class Weapon:
    Hash: WeaponHash
    SlotHash: int
    DisplayName: str
    LocalizedName: str
    IsPresent: bool
    Model: Model
    Tint: WeaponTint
    TintCount: int
    Group: WeaponGroup
    Ammo: int
    AmmoInClip: int
    MaxAmmo: int
    MaxAmmoInClip: int
    DefaultClipSize: int
    InfiniteAmmo: bool
    InfiniteAmmoClip: bool
    CanUseOnParachute: bool
    Components: WeaponComponentCollection
    @staticmethod
    def GetDisplayNameFromHash(hash: WeaponHash) -> str: ...
    @staticmethod
    def GetHumanNameFromHash(hash: WeaponHash) -> str: ...
    @staticmethod
    def GetAllWeaponHashesForHumanPeds() -> List[WeaponHash]: ...
    @staticmethod
    def GetAllModels() -> List[Model]: ...

class WeaponAsset:
    Hash: int
    SlotHash: int
    NativeValue: int
    IsValid: bool
    IsValidAsWeaponHash: bool
    IsLoaded: bool
    DisplayName: str
    HumanName: str
    @overload
    def __init__(self, hash: int) -> None: ...
    @overload
    def __init__(self, hash: int) -> None: ...
    @overload
    def __init__(self, hash: WeaponHash) -> None: ...
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...
    @overload
    def Request(self) -> None: ...
    @overload
    def Request(self, timeout: int) -> bool: ...
    @overload
    def Request(self, weaponResourceFlags: WeaponScriptResourceFlags, extraWeaponComponentResourceFlags: ExtraWeaponComponentScriptResourceFlags = ...) -> None: ...
    def Request(self, *args: Any, **kwargs: Any) -> Any: ...
    def MarkAsNoLongerNeeded(self) -> None: ...
    @overload
    def Equals(self, weaponAsset: WeaponAsset) -> bool: ...
    @overload
    def Equals(self, obj: object) -> bool: ...
    def Equals(self, *args: Any, **kwargs: Any) -> Any: ...
    def GetHashCode(self) -> int: ...
    def ToString(self) -> str: ...

class WeaponAttachmentPoint(Enum):
    Scope = 196630833
    Clip2 = 291640902
    TorchBulb = 421673795
    Rail2 = 497110245
    FlashLaser = 679107254
    Supp2 = 945598191
    Flash = 953267555
    GunRoot = 962500902
    Scope2 = 1684637069
    Supp = 1863181664
    Rail = 2451679629
    FlashLaser2 = 2722126698
    Grip = 2972950469
    Barrel = 2982890265
    Clip = 3723347892
    Grip2 = 3748215485
    GunGripR = 4263393586
    Invalid = 4294967295

class WeaponCollection:
    Item: Weapon
    Count: int
    Current: Weapon
    BestWeapon: Weapon
    CurrentWeaponObject: Prop
    def GetEnumerator(self) -> Any: ...
    def GetAllWeaponHashes(self) -> List[WeaponHash]: ...
    def TryGetWeaponHashBySlotHash(self, slotHash: int, weaponHash: WeaponHash) -> bool: ...
    def TryGetWeaponBySlotHash(self, slotHash: int, weapon: Weapon) -> bool: ...
    @overload
    def HasWeapon(self, weaponHash: WeaponHash) -> bool: ...
    @overload
    def HasWeapon(self, weaponName: str) -> bool: ...
    def HasWeapon(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def IsWeaponValid(self, hash: WeaponHash) -> bool: ...
    @overload
    def IsWeaponValid(self, weaponName: str) -> bool: ...
    @overload
    def IsWeaponValid(self, weaponName: str, forceInHand: bool) -> bool: ...
    def IsWeaponValid(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def Select(self, weapon: Weapon) -> bool: ...
    @overload
    def Select(self, weaponHash: WeaponHash) -> bool: ...
    @overload
    def Select(self, weaponHash: WeaponHash, equipNow: bool) -> bool: ...
    def Select(self, *args: Any, **kwargs: Any) -> Any: ...
    @overload
    def Give(self, weaponHash: WeaponHash, ammoCount: int, equipNow: bool, isAmmoLoaded: bool) -> Weapon: ...
    @overload
    def Give(self, name: str, ammoCount: int, equipNow: bool, isAmmoLoaded: bool) -> Weapon: ...
    def Give(self, *args: Any, **kwargs: Any) -> Any: ...
    def Drop(self) -> None: ...
    @overload
    def Remove(self, weapon: Weapon) -> None: ...
    @overload
    def Remove(self, weaponHash: WeaponHash) -> None: ...
    @overload
    def Remove(self, weaponName: str) -> None: ...
    def Remove(self, *args: Any, **kwargs: Any) -> Any: ...
    def RemoveAll(self) -> None: ...

class WeaponComponent:
    Active: bool
    DisplayName: str
    LocalizedName: str
    ComponentHash: WeaponComponentHash
    AttachmentPoint: WeaponAttachmentPoint
    @staticmethod
    def GetAllHashes() -> List[WeaponComponentHash]: ...

class WeaponComponentCollection:
    Item: WeaponComponent
    Count: int
    ClipVariationsCount: int
    ScopeVariationsCount: int
    BarrelVariationsCount: int
    SuppressorAndMuzzleBrakeVariationsCount: int
    GunRootVariationsCount: int
    def GetEnumerator(self) -> Iterable[WeaponComponent]: ...
    def GetClipComponent(self, index: int) -> WeaponComponent: ...
    def GetScopeComponent(self, index: int) -> WeaponComponent: ...
    def GetBarrelComponent(self, index: int) -> WeaponComponent: ...
    def GetSuppressorOrMuzzleBrakeComponent(self, index: int) -> WeaponComponent: ...
    def GetGunRootComponent(self, index: int) -> WeaponComponent: ...
    def GetSuppressorComponent(self) -> WeaponComponent: ...
    def GetFlashLightComponent(self) -> WeaponComponent: ...
    def GetLuxuryFinishComponent(self) -> WeaponComponent: ...

class WeaponComponentHash(Enum):
    PumpShotgunMk2Camo05 = 8741501
    RevolverMk2Camo02 = 11918884
    RevolverMk2ClipIncendiary = 15712037
    SNSPistolMk2Clip01 = 21392614
    PistolMk2Camo04 = 24902297
    BullpupRifleMk2Clip01 = 25766362
    BullpupRifleMk2Camo06 = 36929477
    CombatMGMk2Camo10 = 42685294
    AtMuzzle05 = 48731514
    RailgunClip01 = 59044840
    AtScopeMacroMk2 = 77277509
    SNSPistolMk2Camo09 = 109848390
    CombatPistolClip01 = 119648377
    KnuckleVarmodPlayer = 146278587
    SweeperShotgunClip01 = 169463950
    SpecialCarbineMk2Camo07 = 172765678
    RevolverMk2Camo03 = 176157112
    SMGMk2ClipFMJ = 190476639
    AtArAfGrip = 202788691
    HeavyPistolClip01 = 222992026
    RevolverMk2ClipFMJ = 231258687
    CombatMGMk2Camo09 = 235171324
    HeavySniperMk2ClipIncendiary = 247526935
    SNSPistolMk2Camo = 259780317
    MarksmanRifleMk2Camo07 = 276639596
    AtSrBarrel02 = 277524638
    MicroSMGClip02 = 283556395
    RevolverMk2ClipHollowPoint = 284438159
    RevolverMk2Camo05 = 288456487
    GrenadeLauncherClip01 = 296639639
    TacticalSMGClip02 = 310778254
    HeavySniperMk2Camo04 = 329939175
    PistolMk2Camo02 = 368550800
    MarksmanRifleVarmodLuxe = 371102273
    WM29PistolClip01 = 375646046
    SpecialCarbineMk2Clip01 = 382112385
    RevolverVarmodBoss = 384708672
    PumpShotgunMk2Camo02 = 387223451
    CarbineRifleMk2ClipTracer = 391640422
    RevolverMk2Camo06 = 398658626
    CombatMGMk2Clip02 = 400507625
    MarksmanRifleMk2Camo06 = 423313640
    PistolMk2Camo02Slide = 438243936
    CombatMGMk2Camo08 = 457967755
    AtScopeLargeFixedZoom = 471997210
    GusenbergClip01 = 484812453
    BattleRifleClip02 = 494808810
    WM29PistolSupp = 503494624
    SNSPistolMk2CamoIndependence01Slide = 520557834
    RevolverMk2Camo10 = 552442715
    AtPiComp = 568543123
    SMGMk2Camo09 = 572063080
    Pistol50Clip01 = 580369945
    SNSPistolMk2Camo09Slide = 583159708
    SNSPistolMk2Camo10 = 593945703
    APPistolClip02 = 614078421
    SMGMk2Camo07 = 616006309
    PumpShotgunMk2Camo03 = 617753366
    CarbineRifleMk2ClipArmorPiercing = 626875735
    AssaultRifleMk2Camo04 = 628662130
    RevolverMk2Camo07 = 628697006
    PistolMk2ClipTracer = 634039983
    SMGClip01 = 643254679
    HeavySniperMk2Camo05 = 643374672
    AtPiComp03 = 654802123
    SMGVarmodLuxe = 663170192
    AssaultSMGVarmodLowrider = 663517359
    SNSPistolMk2Camo02Slide = 691432737
    CombatMGMk2ClipArmorPiercing = 696788003
    DBShotgunClip01 = 703231006
    SNSPistolMk2Camo08Slide = 730876697
    PistolMk2ClipIncendiary = 733837882
    PistolMk2Camo04Slide = 740920107
    HeavySniperMk2Clip02 = 752418717
    MilitaryRifleClip01 = 759617595
    AtScopeThermal = 776198721
    CarbineRifleMk2Camo03 = 792221348
    HeavySniperMk2Camo06 = 807875052
    APPistolClip01 = 834974250
    HeavyShotgunClip01 = 844049759
    CombatPDWClip02 = 860508675
    VintagePistolClip02 = 867832552
    AtMuzzle06 = 880736428
    SpecialCarbineMk2Camo03 = 886015732
    SMGClip02 = 889808635
    SMGMk2Camo06 = 899228776
    AtPiFlsh = 899381934
    RevolverMk2Camo08 = 925911836
    ServiceCarbineClip01 = 927578299
    AdvancedRifleVarmodLuxe = 930927479
    AssaultRifleMk2Camo02 = 937772107
    SMGMk2Camo02 = 940943685
    AtMrFlBarrel01 = 941317513
    TacticalSMGClip01 = 943088878
    SMGMk2CamoIndependence01 = 966612367
    SMGMk2ClipHollowPoint = 974903034
    SNSPistolMk2Camo03Slide = 987648331
    MarksmanRifleMk2Camo10 = 996213771
    PumpShotgunMk2ClipExplosive = 1004815965
    HeavySniperMk2ClipFMJ = 1005144310
    AtBpBarrel02 = 1005743559
    AtScopeSmall02 = 1006677997
    AtScopeMacro02 = 1019656791
    CarbineRifleMk2ClipIncendiary = 1025884839
    AtScopeSmallSMGMk2 = 1038927834
    AtScopeSmallMk2 = 1060929921
    KnuckleVarmodLove = 1062111910
    SniperRifleVarmodLuxe = 1077065191
    CarbineRifleMk2Camo02 = 1080719624
    AtSights = 1108334355
    SNSPistolMk2Camo07 = 1122574335
    CombatPDWClip01 = 1125642654
    SpecialCarbineMk2Camo02 = 1125852043
    BullpupRifleMk2ClipFMJ = 1130501904
    RailgunXmas3Clip01 = 1130760338
    AtArBarrel01 = 1134861606
    PistolMk2Camo10Slide = 1135718771
    AtPiFlsh02 = 1140676955
    CarbineRifleMk2ClipFMJ = 1141059345
    SNSPistolMk2CamoIndependence01 = 1142457062
    VintagePistolClip01 = 1168357051
    SMGMk2Camo10 = 1170588613
    PumpShotgunMk2CamoIndependence01 = 1178671645
    MachinePistolClip01 = 1198425599
    HeavySniperClip01 = 1198478068
    AtPiRail02 = 1205768792
    MicroSMGVarmodLuxe = 1215999497
    CombatMGMk2Camo05 = 1219453777
    RevolverMk2Camo09 = 1222307441
    SMGMk2Camo05 = 1224100642
    CombatMGMk2Clip01 = 1227564412
    CompactGrenadeLauncherClip01 = 1235472140
    AtPiFlsh03 = 1246324211
    CombatMGMk2Camo = 1249283253
    PistolMk2CamoIndependence01Slide = 1253942266
    SMGMk2Camo03 = 1263226800
    CarbineRifleMk2Camo = 1272803094
    SMGMk2Clip01 = 1277460590
    CarbineRifleMk2Clip01 = 1283078430
    PistolMk2Camo08 = 1301287696
    AtMuzzle07 = 1303784126
    SNSPistolMk2Camo06 = 1308243489
    PumpShotgunMk2ClipArmorPiercing = 1315288101
    RPGClip01 = 1319465907
    AssaultRifleVarmodLuxe = 1319990579
    MusketClip01 = 1322387263
    DoubleActionClip01 = 1328622785
    PistolMk2ClipFMJ = 1329061674
    SpecialCarbineMk2ClipFMJ = 1346235024
    KnuckleVarmodDollar = 1351683121
    SpecialCarbineMk2ClipArmorPiercing = 1362433589
    CompactRifleClip01 = 1363085923
    SpecialCarbineMk2CamoIndependence01 = 1377355801
    AssaultRifleMk2Camo03 = 1401650071
    SNSPistolMk2Camo08 = 1420313469
    CeramicPistolClip01 = 1423184737
    AtArBarrel02 = 1447477866
    CombatMGMk2ClipFMJ = 1475288264
    CompactRifleClip02 = 1509923832
    HeavyRifleClip01 = 1525977990
    AtScopeLargeFixedZoomMk2 = 1528590652
    SwitchbladeVarmodVar1 = 1530822070
    PistolMk2Camo = 1550611612
    CarbineRifleMk2Clip02 = 1574296533
    PistolMk2Clip02 = 1591132456
    PistolMk2Camo09 = 1597093459
    AtMuzzle08 = 1602080333
    CarbineRifleVarmodMich = 1605520746
    GunrunMk2Upgrade = 1623028892
    MarksmanRifleMk2Camo03 = 1624199183
    AssaultRifleMk2ClipFMJ = 1675665560
    HeavyPistolClip02 = 1694090795
    MicroSMGVarmodFrn = 1694268374
    AtBpBarrel01 = 1704640795
    AtPiSupp02 = 1709866683
    PumpShotgunMk2Camo10 = 1739501925
    AtMrFlBarrel02 = 1748450780
    MilitaryRifleClip02 = 1749732930
    AtMuzzle09 = 1764221345
    PistolMk2Camo10 = 1769871776
    CarbineRifleMk2Camo10 = 1796459838
    SpecialCarbineClip03 = 1801039530
    MilitaryRifleSight01 = 1803744149
    PistolMk2Camo06Slide = 1809261196
    HeavySniperMk2CamoIndependence01 = 1815270123
    HeavyRifleClip02 = 1824470811
    MarksmanRifleMk2ClipIncendiary = 1842849902
    CombatPDWClip03 = 1857603803
    SpecialCarbineVarmodLowrider = 1929467122
    MarksmanRifleMk2Camo02 = 1931539634
    AtRailCover01 = 1967214384
    CombatMGMk2Camo04 = 1980349969
    SNSPistolMk2Camo03 = 1996130345
    Pistol50VarmodLuxe = 2008591151
    SMGClip03 = 2043113590
    HeavyPistolVarmodLuxe = 2053798779
    KnuckleVarmodVagos = 2062808965
    SNSPistolClip02 = 2063610803
    SpecialCarbineMk2Camo09 = 2072122460
    AtArFlsh = 2076495324
    AssaultRifleMk2Camo09 = 2088750491
    SpecialCarbineClip02 = 2089537806
    KnuckleVarmodHate = 2112683568
    SMGMk2ClipTracer = 2146055916
    SNSPistolVarmodLowrider = 2150886575
    CeramicPistolClip02 = 2172153001
    MGClip02 = 2182449991
    BullpupRifleMk2ClipTracer = 2183159977
    AtScopeLargeMk2 = 2193687427
    AtCrBarrel01 = 2201368575
    AtArSupp = 2205435306
    CombatMGMk2Camo07 = 2220186280
    MiniSMGClip01 = 2227745491
    ServiceCarbineClip02 = 2241090895
    SawnoffShotgunVarmodLuxe = 2242268665
    PistolMk2ClipHollowPoint = 2248057097
    AssaultRifleMk2Clip01 = 2249208895
    CarbineRifleMk2Camo06 = 2250671235
    AssaultShotgunClip02 = 2260565874
    SpecialCarbineMk2ClipTracer = 2271594122
    HeavyShotgunClip03 = 2294798931
    SpecialCarbineMk2Camo10 = 2308747125
    SpecialCarbineMk2Camo08 = 2312089847
    HeavySniperMk2ClipExplosive = 2313935527
    BullpupRifleMk2Camo05 = 2318995410
    SNSPistolMk2Camo02 = 2321624822
    AtCrBarrel02 = 2335983627
    SNSPistolMk2Camo10Slide = 2366463693
    SNSPistolMk2ClipHollowPoint = 2366665730
    AssaultSMGClip01 = 2366834608
    AdvancedRifleClip02 = 2395064697
    AtPiRail = 2396306288
    SNSPistolMk2ClipTracer = 2418909806
    MarksmanRifleMk2Camo = 2425682848
    AtSrBarrel01 = 2425761975
    CarbineRifleClip02 = 2433783441
    AssaultRifleMk2Camo = 2434475183
    SwitchbladeVarmodBase = 2436343040
    CombatMGMk2Camo06 = 2441508106
    CombatMGVarmodLowrider = 2466172125
    CeramicPistolSupp = 2466764538
    PistolMk2CamoIndependence01 = 2467084625
    MiniSMGClip02 = 2474561719
    FlareGunClip01 = 2481569177
    BullpupRifleMk2Camo04 = 2491819116
    RevolverVarmodGoon = 2492708877
    MarksmanRifleMk2Clip01 = 2497785294
    AssaultShotgunClip01 = 2498239431
    PistolMk2Clip01 = 2499030370
    PistolMk2Camo03 = 2525897947
    HeavyShotgunClip02 = 2535257853
    KnuckleVarmodDiamond = 2539772380
    NavyRevolverClip01 = 2556346983
    CarbineRifleMk2Camo09 = 2559813981
    APPistolVarmodLuxe = 2608252716
    MarksmanRifleMk2Camo09 = 2612118995
    SniperRifleClip01 = 2613461129
    SNSPistolMk2Camo05 = 2626704212
    AtScopeMacro = 2637152041
    AtArAfGrip02 = 2640679034
    AtArFlshReh = 2645680163
    PistolMk2Camo07Slide = 2648428428
    PumpShotgunMk2ClipIncendiary = 2676628469
    CarbineRifleClip01 = 2680042476
    AtSightsSMG = 2681951826
    AtScopeMedium = 2698550338
    PumpShotgunVarmodLowrider = 2732039643
    SMGMk2Camo08 = 2733014785
    AtSbBarrel02 = 2774849419
    AssaultRifleMk2Camo10 = 2781053842
    BullpupRifleMk2Camo03 = 2797881576
    AtArSupp02 = 2805810788
    AssaultRifleMk2ClipArmorPiercing = 2816286296
    BullpupRifleVarmodLow = 2824322168
    BullpupRifleMk2Camo10 = 2826785822
    SNSPistolMk2Camo04 = 2839309484
    BullpupRifleMk2ClipIncendiary = 2845636954
    AssaultRifleMk2Camo07 = 2847614993
    MachinePistolClip03 = 2850671348
    AtScopeSmall = 2855028148
    AtPiComp02 = 2860680127
    CarbineRifleMk2Camo08 = 2866892280
    PericoPistolClip01 = 2871488073
    HeavySniperMk2Camo10 = 2881858759
    AtSrSupp03 = 2890063729
    HeavySniperMk2Camo07 = 2893163128
    BullpupRifleMk2Camo = 2923451831
    AssaultRifleClip02 = 2971750299
    PistolMk2Camo08Slide = 3004802348
    BullpupRifleClip02 = 3009973007
    HeavyRifleSight01 = 3017917522
    SpecialCarbineMk2Camo04 = 3032680157
    PistolMk2CamoSlide = 3036451504
    AtMGBarrel02 = 3051509595
    RPGVarmodTvr = 3054824576
    AtScopeNV = 3061846192
    MarksmanRifleMk2CamoIndependence01 = 3080918746
    BullpupRifleMk2Camo02 = 3104173419
    MachinePistolClip02 = 3106695545
    SMGMk2Clip02 = 3112393518
    AtMuzzle01 = 3113485012
    AssaultRifleMk2CamoIndependence01 = 3115408816
    RevolverMk2Clip01 = 3122911422
    CarbineRifleClip03 = 3127044405
    PistolMk2Camo07 = 3141791350
    AssaultSMGClip02 = 3141985303
    AtScopeMax = 3159677559
    AssaultRifleClip01 = 3193891350
    CombatMGMk2Camo03 = 3197423398
    HeavySniperMk2Camo08 = 3198471901
    RevolverMk2Camo = 3225415071
    SNSPistolMk2ClipFMJ = 3239176998
    AtPiSupp = 3271853210
    CombatMGMk2ClipIncendiary = 3274096058
    AtMGBarrel01 = 3276730932
    SMGMk2Camo = 3298267239
    MarksmanRifleMk2Camo08 = 3303610433
    AssaultRifleMk2Camo05 = 3309920045
    BullpupRifleClip01 = 3315675008
    PoliceTorchFlashlight = 3315797997
    HeavySniperMk2Camo02 = 3317620069
    BullpupRifleMk2CamoIndependence01 = 3320426066
    CompactRifleClip03 = 3322377230
    KnuckleVarmodPimp = 3323197061
    CombatShotgunClip01 = 3323278933
    CombatPistolVarmodLowrider = 3328527730
    AtScopeMediumMk2 = 3328927042
    PistolMk2Camo09Slide = 3330502162
    SpecialCarbineClip01 = 3334989185
    RevolverMk2ClipTracer = 3336103030
    SawnoffShotgunClip01 = 3352699429
    AtMuzzle02 = 3362234491
    MinigunClip01 = 3370020614
    BullpupShotgunClip01 = 3377353998
    MicroSMGClip01 = 3410538224
    BullpupRifleMk2Camo09 = 3412267557
    MarksmanPistolClip01 = 3416146413
    CombatMGMk2Camo02 = 3437259709
    MarksmanRifleClip02 = 3439143621
    HeavySniperMk2Camo09 = 3447155842
    SNSPistolMk2Camo05Slide = 3447384986
    PumpShotgunMk2Clip01 = 3449028929
    SNSPistolMk2Clip02 = 3465283442
    AssaultRifleMk2Camo06 = 3482022833
    AssaultRifleMk2Clip02 = 3509242479
    PumpShotgunClip01 = 3513717816
    AtScopeLarge = 3527687644
    CompactEMPLauncherClip01 = 3532609777
    CarbineRifleMk2Camo05 = 3548192559
    SpecialCarbineMk2Camo = 3557537083
    CombatPistolClip02 = 3598405421
    CombatMGClip02 = 3603274966
    MGVarmodLowrider = 3604658878
    CombatMGMk2CamoIndependence01 = 3607349581
    PistolVarmodLuxe = 3610841222
    MarksmanRifleMk2ClipTracer = 3615105746
    UpNAtomizerVarmodXmas18 = 3621517063
    MarksmanRifleClip01 = 3627761985
    CarbineRifleVarmodLuxe = 3634075224
    PumpShotgunMk2Camo08 = 3639579478
    AtSbBarrel01 = 3641720545
    RevolverMk2CamoIndependence01 = 3646023783
    SMGMk2ClipIncendiary = 3650233061
    Pistol50Clip02 = 3654528146
    CarbineRifleMk2CamoIndependence01 = 3663056191
    AssaultRifleClip03 = 3689981245
    PumpShotgunMk2Camo06 = 3693681093
    PistolMk2Camo06 = 3710005734
    FlashlightLight = 3719772431
    BullpupRifleMk2Camo08 = 3720197850
    SpecialCarbineMk2ClipIncendiary = 3724612230
    AtMuzzle03 = 3725708239
    SpecialCarbineMk2Clip02 = 3726614828
    SpecialCarbineMk2Camo06 = 3750812792
    PistolMk2Camo05Slide = 3753350949
    MarksmanRifleMk2ClipFMJ = 3779763923
    PumpShotgunMk2Camo07 = 3783533691
    CombatMGClip01 = 3791631178
    SNSPistolMk2Camo07Slide = 3800418970
    KnuckleVarmodKing = 3800804335
    PumpShotgunMk2Camo = 3820854852
    PistolMk2Camo03Slide = 3839888240
    FireworkClip01 = 3840197261
    AtScopeMacro02Mk2 = 3842157419
    AtScopeMacro02SMGMk2 = 3842157419
    CarbineRifleMk2Camo04 = 3842785869
    AtSrSupp = 3859329886
    SNSPistolMk2Camo04Slide = 3863286761
    SNSPistolMk2ClipIncendiary = 3870121849
    MarksmanRifleMk2Clip02 = 3872379306
    AtScBarrel01 = 3879097257
    SwitchbladeVarmodVar2 = 3885209186
    SNSPistolMk2CamoSlide = 3891161322
    PumpShotgunMk2ClipHollowPoint = 3914869031
    HeavySniperMk2Camo03 = 3916506229
    RevolverClip01 = 3917905123
    GusenbergClip02 = 3939025520
    SMGMk2Camo04 = 3966931456
    AtMuzzle04 = 3968886988
    HeavyRifleCamo01 = 3969903833
    PistolClip02 = 3978713628
    SpecialCarbineMk2Camo05 = 3999758885
    BattleRifleClip01 = 4002533646
    KnuckleVarmodBallas = 4007263587
    PumpShotgunMk2Camo09 = 4012490698
    AssaultRifleMk2ClipTracer = 4012669121
    BullpupRifleMk2Clip02 = 4021290536
    BullpupRifleMk2Camo07 = 4026522462
    PistolMk2Camo05 = 4066925682
    PumpShotgunMk2Camo04 = 4072589040
    RevolverMk2Camo04 = 4074914441
    PrecisionRifleClip01 = 4075474698
    KnuckleVarmodBase = 4081463091
    MarksmanRifleMk2Camo05 = 4084561241
    CarbineRifleMk2Camo07 = 4095795318
    MGClip01 = 4097109892
    MarksmanRifleMk2ClipArmorPiercing = 4100968569
    CombatMGMk2ClipTracer = 4133787461
    HomingLauncherClip01 = 4162006335
    HeavySniperMk2Camo = 4164123906
    HeavySniperMk2ClipArmorPiercing = 4164277972
    SNSPistolClip01 = 4169150169
    AtScBarrel02 = 4185880635
    HeavySniperMk2Clip01 = 4196276776
    SNSPistolMk2Camo06Slide = 4202375078
    AdvancedRifleClip01 = 4203716879
    BullpupRifleMk2ClipArmorPiercing = 4205311469
    AssaultRifleMk2ClipIncendiary = 4218476627
    AssaultRifleMk2Camo08 = 4234628436
    MarksmanRifleMk2Camo04 = 4268133183
    PistolClip01 = 4275109233
    Invalid = 4294967295

class WeaponGroup(Enum):
    Pistol = 416676503
    Parachute = 431593103
    Stungun = 690389602
    Shotgun = 860033945
    AssaultRifle = 970310034
    MG = 1159398588
    Thrown = 1548507267
    PetrolCan = 1595662460
    Unarmed = 2685387236
    Heavy = 2725924767
    Sniper = 3082541095
    SMG = 3337201093
    NightVision = 3493187224
    DigiScanner = 3539449195
    Melee = 3566412244
    FireExtinguisher = 4257178988

class WeaponHash(Enum):
    SnowballLauncher = 62870901
    CombatShotgun = 94989220
    SniperRifle = 100416529
    FireExtinguisher = 101631238
    CompactGrenadeLauncher = 125959754
    Snowball = 126349499
    VintagePistol = 137902532
    CombatPDW = 171789620
    HeavySniperMk2 = 177293209
    HeavySniper = 205991906
    SweeperShotgun = 317205821
    MicroSMG = 324215364
    TacticalSMG = 350597077
    FertilizerCan = 406929569
    Wrench = 419712736
    Pistol = 453432689
    WM29Pistol = 465894841
    HackingDevice = 485882440
    PumpShotgun = 487013001
    APPistol = 584646201
    Ball = 600439132
    Molotov = 615608432
    CeramicPistol = 727643628
    SMG = 736523883
    StickyBomb = 741814745
    PetrolCan = 883325847
    StunGun = 911657153
    StoneHatchet = 940833800
    AssaultrifleMk2 = 961495388
    HeavyShotgun = 984333226
    Minigun = 1119849093
    GolfClub = 1141786504
    StunGunMultiplayer = 1171102963
    UnholyHellbringer = 1198256469
    FlareGun = 1198879012
    Flare = 1233104067
    GrenadeLauncherSmoke = 1305664598
    Hammer = 1317494643
    PumpShotgunMk2 = 1432025498
    PericoPistol = 1470379660
    CombatPistol = 1593441988
    Gusenberg = 1627465347
    CompactRifle = 1649403952
    HomingLauncher = 1672152130
    CandyCane = 1703483498
    Nightstick = 1737195953
    MarksmanRifleMk2 = 1785463520
    Railgun = 1834241177
    PrecisionRifle = 1853742572
    BattleRifle = 1924557585
    SawnOffShotgun = 2017895192
    SMGMk2 = 2024373456
    BullpupRifle = 2132975508
    Firework = 2138347493
    CombatMG = 2144741730
    CarbineRifle = 2210333304
    Crowbar = 2227010557
    BullpupRifleMk2 = 2228681469
    SNSPistolMk2 = 2285322324
    Flashlight = 2343591895
    NavyRevolver = 2441047180
    Dagger = 2460120199
    Grenade = 2481070269
    PoolCue = 2484171525
    Bat = 2508868239
    SpecialCarbineMk2 = 2526821735
    DoubleActionRevolver = 2548703416
    Pistol50 = 2578377531
    Knife = 2578778090
    MG = 2634544996
    MilitaryRifle = 2636060646
    BullpupShotgun = 2640438543
    BZGas = 2694266206
    Unarmed = 2725352035
    GrenadeLauncher = 2726580491
    NightVision = 2803906140
    Musket = 2828843422
    ProximityMine = 2874559379
    AdvancedRifle = 2937143193
    UpNAtomizer = 2939590305
    RPG = 2982836145
    Widowmaker = 3056410471
    PipeBomb = 3125143736
    HazardousJerryCan = 3126027122
    MiniSMG = 3173288789
    SNSPistol = 3218215474
    PistolMk2 = 3219281620
    AssaultRifle = 3220176749
    SpecialCarbine = 3231910285
    Revolver = 3249783761
    MarksmanRifle = 3342088282
    HeavyRifle = 3347935668
    RevolverMk2 = 3415619887
    BattleAxe = 3441901897
    ServiceCarbine = 3520460075
    HeavyPistol = 3523564046
    KnuckleDuster = 3638508604
    MachinePistol = 3675956304
    CompactEMPLauncher = 3676729658
    MetalDetector = 3684886537
    CombatMGMk2 = 3686625920
    MarksmanPistol = 3696079510
    Machete = 3713923289
    SwitchBlade = 3756226112
    AssaultShotgun = 3800352039
    DoubleBarrelShotgun = 4019527611
    AssaultSMG = 4024951519
    AcidPackage = 4159824478
    Hatchet = 4191993645
    Bottle = 4192643659
    CarbineRifleMk2 = 4208062921
    Parachute = 4222310262
    SmokeGrenade = 4256991824
    RailgunXmas3 = 4272043364

class VehicleWeaponHash(Enum):
    Dune = 987028236
    ValkyrieNoseTurret = 1097917585
    Insurgent = 1155224728
    Stromberg = 1176362368
    PlayerBuzzard = 1186503822
    PlayerBullet = 1259576109
    EnemyLaser = 1566990507
    WaterCannon = 1741783703
    Tank = 1945616459
    Technical = 2144528907
    PlayerHunter = 2669318622
    ValkyrieTurret = 2756787765
    Rotors = 2971687502
    SearchLight = 3450622333
    PlaneRocket = 3473446624
    Radar = 3530961278
    PlayerLazer = 3800181289
    PlayerLaser = 4026335563
    SpaceRocket = 4171469727
    Invalid = 4294967295

class WeaponScriptResourceFlags(Enum):
    RequestBaseAnims = 1
    RequestCoverAnims = 2
    RequestMeleeAnims = 4
    RequestMotionAnims = 8
    RequestStealthAnims = 16
    RequestAllAnims = 31
    RequestAllMovementVariationAnims = 32

class WeaponTint(Enum):
    Normal = 0
    Green = 1
    Gold = 2
    Pink = 3
    Army = 4
    LSPD = 5
    Orange = 6
    Platinum = 7

class Weather(Enum):
    ExtraSunny = 0
    Clear = 1
    Clouds = 2
    Smog = 3
    Foggy = 4
    Overcast = 5
    Raining = 6
    ThunderStorm = 7
    Clearing = 8
    Neutral = 9
    Snowing = 10
    Blizzard = 11
    Snowlight = 12
    Christmas = 13
    Halloween = 14
    Unknown = -1

class WindowTitle(Enum):
    EnterEyefindMessage = 0
    MessageTooLong = 1
    ForbiddenMessage = 2
    EnterEyefindSubject = 3
    SubjectTooLong = 4
    EnterSynopsis = 5
    EnterCustomTeamName = 6
    ForbiddenText15 = 7
    CustomTeamName = 8
    EnterMessage60 = 9
    ForbiddenText60 = 10
    InvalidMessage = 11
    EnterMessage20 = 12
    EnterOutfitName = 13
    InvalidOutfitName = 14
    OutfitName = 15
    EnterChallengeName = 16

class World:
    IsClockPaused: ClassVar[bool]
    CurrentDate: ClassVar[Any]
    CurrentTimeOfDay: ClassVar[float]
    MillisecondsPerGameMinute: ClassVar[int]
    Blackout: bool
    Weather: ClassVar[Weather]
    NextWeather: ClassVar[Weather]
    GravityLevel: ClassVar[float]
    RainLevel: ClassVar[float]
    RainLevelOverride: float
    SnowLevel: ClassVar[float]
    SnowLevelOverride: float
    WindSpeed: ClassVar[float]
    WindSpeedOverride: float
    WindDirection: ClassVar[Vector3]
    WaypointBlip: ClassVar[Blip]
    WaypointPosition: ClassVar[Vector3]
    VehicleCount: ClassVar[int]
    PedCount: ClassVar[int]
    PropCount: ClassVar[int]
    PickupObjectCount: ClassVar[int]
    PickupObjectPlacementCount: ClassVar[int]
    BuildingCount: ClassVar[int]
    AnimatedBuildingCount: ClassVar[int]
    InteriorInstanceCount: ClassVar[int]
    InteriorProxyCount: ClassVar[int]
    ProjectileCount: ClassVar[int]
    EntityColliderCount: ClassVar[int]
    VehicleCapacity: ClassVar[int]
    PedCapacity: ClassVar[int]
    PropCapacity: ClassVar[int]
    PickupObjectCapacity: ClassVar[int]
    PickupObjectPlacementCapacity: ClassVar[int]
    ProjectileCapacity: ClassVar[int]
    BuildingCapacity: ClassVar[int]
    AnimatedBuildingCapacity: ClassVar[int]
    InteriorInstanceCapacity: ClassVar[int]
    InteriorProxyCapacity: ClassVar[int]
    EntityColliderCapacity: ClassVar[int]
    RenderingCamera: ClassVar[Camera]
    @staticmethod
    def DestroyAllCameras() -> None: ...
    @staticmethod
    def CreateCamera(position: Vector3, rotation: Vector3, fov: float) -> Camera: ...
    @staticmethod
    def ClearArea(position: Vector3, radius: float, deleteProjectiles: bool, leaveCarGenCars: bool = False, clearLowPriorityPickupsOnly: bool = False) -> None: ...
    @staticmethod
    def ClearAreaOfProjectiles(position: Vector3, radius: float) -> None: ...
    @staticmethod
    def ClearAreaOfVehicles(position: Vector3, radius: float, leaveCarGenCars: bool = False, checkViewFrustum: bool = False, ifWrecked: bool = False, ifAbandoned: bool = False, ifEngineOnFire: bool = False) -> None: ...
    @staticmethod
    def ClearAngledAreaOfVehicles(position1: Vector3, position2: Vector3, areaWidth: float, leaveCarGenCars: bool = False, checkViewFrustum: bool = False, ifWrecked: bool = False, ifAbandoned: bool = False, ifEngineOnFire: bool = False) -> None: ...
    @staticmethod
    def ClearAreaOfProps(position: Vector3, radius: float, flags: ClearPropsFlags) -> None: ...
    @staticmethod
    def ClearAreaOfPeds(position: Vector3, radius: float) -> None: ...
    @staticmethod
    def ClearAreaOfCops(position: Vector3, radius: float) -> None: ...
    @staticmethod
    def DeleteAllTrains() -> None: ...
    @overload
    @staticmethod
    def CreateParticleEffectNonLooped(asset: ParticleEffectAsset, effectName: str, pos: Vector3, rot: Optional[Vector3] = None, scale: float = 1.0, invertAxis: InvertAxisFlags = ...) -> bool: ...
    @overload
    @staticmethod
    def CreateParticleEffectNonLooped(asset: ParticleEffectAsset, effectName: str, entity: Entity, off: Optional[Vector3] = None, rot: Optional[Vector3] = None, scale: float = 1.0, invertAxis: InvertAxisFlags = ...) -> bool: ...
    @overload
    @staticmethod
    def CreateParticleEffectNonLooped(asset: ParticleEffectAsset, effectName: str, entityBone: EntityBone, off: Optional[Vector3] = None, rot: Optional[Vector3] = None, scale: float = 1.0, invertAxis: InvertAxisFlags = ...) -> bool: ...
    @staticmethod
    def CreateParticleEffectNonLooped(*args: Any, **kwargs: Any) -> Any: ...
    @overload
    @staticmethod
    def CreateParticleEffect(asset: ParticleEffectAsset, effectName: str, entity: Entity, offset: Optional[Vector3] = None, rotation: Optional[Vector3] = None, scale: float = 1.0, invertAxis: InvertAxisFlags = ...) -> ParticleEffect: ...
    @overload
    @staticmethod
    def CreateParticleEffect(asset: ParticleEffectAsset, effectName: str, entityBone: EntityBone, offset: Optional[Vector3] = None, rotation: Optional[Vector3] = None, scale: float = 1.0, invertAxis: InvertAxisFlags = ...) -> ParticleEffect: ...
    @overload
    @staticmethod
    def CreateParticleEffect(asset: ParticleEffectAsset, effectName: str, position: Vector3, rotation: Optional[Vector3] = None, scale: float = 1.0, invertAxis: InvertAxisFlags = ...) -> ParticleEffect: ...
    @staticmethod
    def CreateParticleEffect(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def RemoveAllParticleEffectsInRange(pos: Vector3, range: float) -> None: ...
    @staticmethod
    def AddRope(type: RopeType, position: Vector3, rotation: Vector3, length: float, minLength: float, breakable: bool) -> Rope: ...
    @staticmethod
    def ShootBullet(sourcePosition: Vector3, targetPosition: Vector3, owner: Ped, weaponAsset: WeaponAsset, damage: int, speed: float = -1.0) -> None: ...
    @staticmethod
    def ShootSingleBullet(startPosition: Vector3, endPosition: Vector3, damage: int, weapon: WeaponAsset, owner: Optional[Ped] = None, perfectAccuracy: bool = True, createTraceVfx: bool = True, allowRumble: bool = True, initialVelocity: float = -1.0) -> None: ...
    @staticmethod
    def ShootSingleBulletIgnoreEntity(startPosition: Vector3, endPosition: Vector3, damage: int, weapon: WeaponAsset, owner: Optional[Ped] = None, perfectAccuracy: bool = True, createTraceVfx: bool = True, allowRumble: bool = True, initialVelocity: float = -1.0, ignoreEntity: Optional[Entity] = None, targetEntity: Optional[Entity] = None) -> None: ...
    @staticmethod
    def ShootSingleBulletIgnoreEntityNew(startPosition: Vector3, endPosition: Vector3, damage: int, weapon: WeaponAsset, owner: Optional[Ped] = None, perfectAccuracy: bool = True, createTraceVfx: bool = True, allowRumble: bool = True, initialVelocity: float = -1.0, ignoreEntity: Optional[Entity] = None, forceCreateNewProjectileObject: bool = False, disablePlayerCoverStartAdjustment: bool = False, targetEntity: Optional[Entity] = None, freezeProjectileWaitingOnCollision: bool = False, ignoreCollisionEntity: bool = False, ignoreCollisionResetNoBB: bool = False) -> None: ...
    @staticmethod
    def AddExplosion(position: Vector3, type: ExplosionType, radius: float, cameraShake: float, owner: Optional[Ped] = None, aubidble: bool = True, invisible: bool = False) -> None: ...
    @staticmethod
    def AddRelationshipGroup(name: str) -> RelationshipGroup: ...
    @staticmethod
    def VehicleHighSpeedBumpMultiplier(multiplier: float) -> None: ...
    @staticmethod
    def DrawMarker(type: MarkerType, pos: Vector3, dir: Vector3, rot: Vector3, scale: Vector3, color: Any, bobUpAndDown: bool = False, faceCamera: bool = False, rotateY: bool = False, textueDict: Optional[str] = None, textureName: Optional[str] = None, drawOnEntity: bool = False) -> None: ...
    @staticmethod
    def DrawMarkerEx(type: MarkerType, pos: Vector3, dir: Vector3, rot: Vector3, scale: Vector3, color: Any, bounce: bool = False, faceCamera: bool = False, rotOrder: EulerRotationOrder = ..., rotate: bool = False, texAsset: Optional[TextureAsset] = None, renderInverted: bool = False, usePreAlphaDepth: bool = True, matchEntityRotOrder: bool = False) -> None: ...
    @staticmethod
    def DrawLightWithRange(position: Vector3, color: Any, range: float, intensity: float) -> None: ...
    @staticmethod
    def DrawSpotLight(pos: Vector3, dir: Vector3, color: Any, distance: float, brightness: float, roundness: float, radius: float, fadeout: float) -> None: ...
    @staticmethod
    def DrawSpotLightWithShadow(pos: Vector3, dir: Vector3, color: Any, distance: float, brightness: float, roundness: float, radius: float, fadeout: float) -> None: ...
    @staticmethod
    def DrawLine(start: Vector3, end: Vector3, color: Any) -> None: ...
    @staticmethod
    def DrawPolygon(vertexA: Vector3, vertexB: Vector3, vertexC: Vector3, color: Any) -> None: ...
    @staticmethod
    def DrawBoxForAngledArea(originEdge: Vector3, extentEdge: Vector3, width: float, color: Any, drawFlags: DrawBoxFlags = ...) -> None: ...
    @overload
    @staticmethod
    def Raycast(source: Vector3, target: Vector3, options: IntersectFlags, ignoreEntity: Optional[Entity] = None) -> RaycastResult: ...
    @overload
    @staticmethod
    def Raycast(source: Vector3, direction: Vector3, maxDistance: float, options: IntersectFlags, ignoreEntity: Optional[Entity] = None) -> RaycastResult: ...
    @staticmethod
    def Raycast(*args: Any, **kwargs: Any) -> Any: ...
    @overload
    @staticmethod
    def RaycastCapsule(source: Vector3, target: Vector3, radius: float, options: IntersectFlags, ignoreEntity: Optional[Entity] = None) -> RaycastResult: ...
    @overload
    @staticmethod
    def RaycastCapsule(source: Vector3, direction: Vector3, maxDistance: float, radius: float, options: IntersectFlags, ignoreEntity: Optional[Entity] = None) -> RaycastResult: ...
    @staticmethod
    def RaycastCapsule(*args: Any, **kwargs: Any) -> Any: ...
    @overload
    @staticmethod
    def GetCrosshairCoordinates() -> RaycastResult: ...
    @overload
    @staticmethod
    def GetCrosshairCoordinates(intersectOptions: IntersectFlags = ..., ignoreEntity: Optional[Entity] = None) -> RaycastResult: ...
    @staticmethod
    def GetCrosshairCoordinates(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetDistance(origin: Vector3, destination: Vector3) -> float: ...
    @staticmethod
    def CalculateTravelDistance(origin: Vector3, destination: Vector3) -> float: ...
    @overload
    @staticmethod
    def GetGroundHeight(position: Vector3, height: float, mode: GetGroundHeightMode = ...) -> bool: ...
    @overload
    @staticmethod
    def GetGroundHeight(position: Vector2) -> float: ...
    @overload
    @staticmethod
    def GetGroundHeight(position: Vector3) -> float: ...
    @staticmethod
    def GetGroundHeight(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetGroundHeightAndNormal(position: Vector3, height: float, normal: Vector3) -> bool: ...
    @staticmethod
    def GetGroundHeightExcludingProps(position: Vector3, height: float, mode: GetGroundHeightMode = ...) -> bool: ...
    @staticmethod
    def GetApproxHeightForPoint(position: Vector2) -> float: ...
    @staticmethod
    def GetApproxHeightForArea(minPosition: Vector2, maxPosition: Vector2) -> float: ...
    @staticmethod
    def GetApproxFloorForPoint(position: Vector2) -> float: ...
    @staticmethod
    def GetApproxFloorForArea(minPosition: Vector2, maxPosition: Vector2) -> float: ...
    @staticmethod
    def GetSafePositionForPed(position: Vector3, safePosition: Vector3, flags: GetSafePositionFlags = ...) -> bool: ...
    @staticmethod
    def GetSafeCoordForPed(position: Vector3, sidewalk: bool = True, flags: int = 0) -> Vector3: ...
    @overload
    @staticmethod
    def GetNextPositionOnStreet(position: Vector2, unoccupied: bool = False) -> Vector3: ...
    @overload
    @staticmethod
    def GetNextPositionOnStreet(position: Vector3, unoccupied: bool = False) -> Vector3: ...
    @staticmethod
    def GetNextPositionOnStreet(*args: Any, **kwargs: Any) -> Any: ...
    @overload
    @staticmethod
    def GetNextPositionOnSidewalk(position: Vector2) -> Vector3: ...
    @overload
    @staticmethod
    def GetNextPositionOnSidewalk(position: Vector3) -> Vector3: ...
    @staticmethod
    def GetNextPositionOnSidewalk(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetPositionOnRoadside(position: Vector3, direction: Direction, output: Vector3) -> bool: ...
    @overload
    @staticmethod
    def GetStreetName(position: Vector2) -> str: ...
    @overload
    @staticmethod
    def GetStreetName(position: Vector3) -> str: ...
    @overload
    @staticmethod
    def GetStreetName(position: Vector3, crossingRoadName: str) -> str: ...
    @staticmethod
    def GetStreetName(*args: Any, **kwargs: Any) -> Any: ...
    @overload
    @staticmethod
    def GetZoneDisplayName(position: Vector2) -> str: ...
    @overload
    @staticmethod
    def GetZoneDisplayName(position: Vector3) -> str: ...
    @staticmethod
    def GetZoneDisplayName(*args: Any, **kwargs: Any) -> Any: ...
    @overload
    @staticmethod
    def GetZoneLocalizedName(position: Vector2) -> str: ...
    @overload
    @staticmethod
    def GetZoneLocalizedName(position: Vector3) -> str: ...
    @staticmethod
    def GetZoneLocalizedName(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def IsPointInAngledArea(point: Vector3, originEdge: Vector3, extentEdge: Vector3, width: float, includeZAxis: bool = True) -> bool: ...
    @staticmethod
    def PauseClock(value: bool) -> None: ...
    @staticmethod
    def TransitionToWeather(weather: Weather, duration: float) -> None: ...
    @staticmethod
    def SetRandomWeather() -> None: ...
    @staticmethod
    def ForceLightningFlash() -> None: ...
    @staticmethod
    def SetWindSpeedOverrideBySpeed(windSpeed: float) -> None: ...
    @staticmethod
    def RemoveWaypoint() -> None: ...
    @staticmethod
    def GetAllBlips(blipTypes: List[BlipSprite]) -> List[Blip]: ...
    @staticmethod
    def GetNearbyBlips(position: Vector3, radius: float, blipTypes: List[BlipSprite]) -> List[Blip]: ...
    @overload
    @staticmethod
    def CreateBlip(position: Vector3) -> Blip: ...
    @overload
    @staticmethod
    def CreateBlip(position: Vector3, radius: float) -> Blip: ...
    @staticmethod
    def CreateBlip(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetClosestPed(position: Vector3, radius: float, models: List[Model]) -> Ped: ...
    @staticmethod
    def GetAllPeds(models: List[Model]) -> List[Ped]: ...
    @overload
    @staticmethod
    def GetNearbyPeds(ped: Ped, radius: float, models: List[Model]) -> List[Ped]: ...
    @overload
    @staticmethod
    def GetNearbyPeds(position: Vector3, radius: float, models: List[Model]) -> List[Ped]: ...
    @staticmethod
    def GetNearbyPeds(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetClosestVehicle(position: Vector3, radius: float, models: List[Model]) -> Vehicle: ...
    @staticmethod
    def GetAllVehicles(models: List[Model]) -> List[Vehicle]: ...
    @overload
    @staticmethod
    def GetNearbyVehicles(ped: Ped, radius: float, models: List[Model]) -> List[Vehicle]: ...
    @overload
    @staticmethod
    def GetNearbyVehicles(position: Vector3, radius: float, models: List[Model]) -> List[Vehicle]: ...
    @staticmethod
    def GetNearbyVehicles(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetClosestProp(position: Vector3, radius: float, models: List[Model]) -> Prop: ...
    @staticmethod
    def GetAllProps(models: List[Model]) -> List[Prop]: ...
    @staticmethod
    def GetNearbyProps(position: Vector3, radius: float, models: List[Model]) -> List[Prop]: ...
    @staticmethod
    def GetClosestPickupObject(position: Vector3, radius: float) -> Prop: ...
    @staticmethod
    def GetAllPickupObjects() -> List[Prop]: ...
    @staticmethod
    def GetNearbyPickupObjects(position: Vector3, radius: float) -> List[Prop]: ...
    @staticmethod
    def GetAllPickupObjectPlacements() -> List[PickupObjectPlacement]: ...
    @staticmethod
    def GetNearbyPickupObjectPlacements(position: Vector3, radius: float) -> List[PickupObjectPlacement]: ...
    @staticmethod
    def GetClosestProjectile(position: Vector3, radius: float) -> Projectile: ...
    @staticmethod
    def GetAllProjectiles() -> List[Projectile]: ...
    @staticmethod
    def GetNearbyProjectiles(position: Vector3, radius: float) -> List[Projectile]: ...
    @staticmethod
    def GetClosestRocketProjectile(position: Vector3, radius: float) -> ProjectileRocket: ...
    @staticmethod
    def GetAllRocketProjectiles() -> List[ProjectileRocket]: ...
    @staticmethod
    def GetNearbyRocketProjectiles(position: Vector3, radius: float) -> List[ProjectileRocket]: ...
    @staticmethod
    def GetClosestThrownProjectile(position: Vector3, radius: float) -> ProjectileThrown: ...
    @staticmethod
    def GetAllThrownProjectiles() -> List[ProjectileThrown]: ...
    @staticmethod
    def GetNearbyThrownProjectiles(position: Vector3, radius: float) -> List[ProjectileThrown]: ...
    @staticmethod
    def GetAllEntities() -> List[Entity]: ...
    @staticmethod
    def GetNearbyEntities(position: Vector3, radius: float) -> List[Entity]: ...
    @staticmethod
    def GetAllBuildings() -> List[Building]: ...
    @staticmethod
    def GetNearbyBuildings(position: Vector3, radius: float) -> List[Building]: ...
    @staticmethod
    def GetClosestBuilding(position: Vector3, radius: float) -> Building: ...
    @staticmethod
    def GetAllAnimatedBuildings() -> List[AnimatedBuilding]: ...
    @staticmethod
    def GetNearbyAnimatedBuildings(position: Vector3, radius: float) -> List[AnimatedBuilding]: ...
    @staticmethod
    def GetClosestAnimatedBuilding(position: Vector3, radius: float) -> AnimatedBuilding: ...
    @staticmethod
    def GetAllInteriorInstances() -> List[InteriorInstance]: ...
    @staticmethod
    def GetNearbyInteriorInstances(position: Vector3, radius: float) -> List[InteriorInstance]: ...
    @staticmethod
    def GetClosestInteriorInstance(position: Vector3, radius: float) -> InteriorInstance: ...
    @staticmethod
    def GetAllInteriorProxies() -> List[InteriorProxy]: ...
    @staticmethod
    def GetNearbyInteriorProxies(position: Vector3, radius: float) -> List[InteriorProxy]: ...
    @staticmethod
    def GetClosestInteriorProxy(position: Vector3, radius: float) -> InteriorProxy: ...
    @overload
    @staticmethod
    def GetClosest(position: Vector3, spatials: List[T]) -> T: ...
    @overload
    @staticmethod
    def GetClosest(position: Vector2, spatials: List[T]) -> T: ...
    @overload
    @staticmethod
    def GetClosest(position: Vector3, buildings: List[Building]) -> Building: ...
    @overload
    @staticmethod
    def GetClosest(position: Vector2, buildings: List[Building]) -> Building: ...
    @overload
    @staticmethod
    def GetClosest(position: Vector3, animatedBuildings: List[AnimatedBuilding]) -> AnimatedBuilding: ...
    @overload
    @staticmethod
    def GetClosest(position: Vector2, animatedBuildings: List[AnimatedBuilding]) -> AnimatedBuilding: ...
    @overload
    @staticmethod
    def GetClosest(position: Vector3, interiorInstances: List[InteriorInstance]) -> InteriorInstance: ...
    @overload
    @staticmethod
    def GetClosest(position: Vector2, interiorInstances: List[InteriorInstance]) -> InteriorInstance: ...
    @overload
    @staticmethod
    def GetClosest(position: Vector3, interiorProxies: List[InteriorProxy]) -> InteriorProxy: ...
    @overload
    @staticmethod
    def GetClosest(position: Vector2, interiorProxies: List[InteriorProxy]) -> InteriorProxy: ...
    @staticmethod
    def GetClosest(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def SetAmbientVehicleDensityMultiplierThisFrame(densityMult: float) -> None: ...
    @staticmethod
    def SetAmbientPedDensityMultiplierThisFrame(densityMult: float) -> None: ...
    @staticmethod
    def CreatePed(model: Model, position: Vector3, heading: float = 0.0) -> Ped: ...
    @overload
    @staticmethod
    def CreateRandomPed(position: Vector3) -> Ped: ...
    @overload
    @staticmethod
    def CreateRandomPed(position: Vector3, heading: float, predicate: Optional[Callable[..., Any]] = None) -> Ped: ...
    @staticmethod
    def CreateRandomPed(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def CreateVehicle(model: Model, position: Vector3, heading: float = 0.0) -> Vehicle: ...
    @staticmethod
    def CreateRandomVehicle(position: Vector3, heading: float = 0.0, predicate: Optional[Callable[..., Any]] = None) -> Vehicle: ...
    @overload
    @staticmethod
    def CreateProp(model: Model, position: Vector3, dynamic: bool, placeOnGround: bool) -> Prop: ...
    @overload
    @staticmethod
    def CreateProp(model: Model, position: Vector3, rotation: Vector3, dynamic: bool, placeOnGround: bool) -> Prop: ...
    @staticmethod
    def CreateProp(*args: Any, **kwargs: Any) -> Any: ...
    @overload
    @staticmethod
    def CreatePropNoOffset(model: Model, position: Vector3, dynamic: bool) -> Prop: ...
    @overload
    @staticmethod
    def CreatePropNoOffset(model: Model, position: Vector3, rotation: Vector3, dynamic: bool) -> Prop: ...
    @staticmethod
    def CreatePropNoOffset(*args: Any, **kwargs: Any) -> Any: ...
    @overload
    @staticmethod
    def CreateAmbientPickup(type: PickupType, position: Vector3, placementFlags: PickupPlacementFlags = ..., amount: int = -1, customModel: Optional[Model] = None, createAsScriptObject: bool = False) -> Prop: ...
    @overload
    @staticmethod
    def CreateAmbientPickup(type: PickupType, position: Vector3, model: Model, value: int) -> Prop: ...
    @staticmethod
    def CreateAmbientPickup(*args: Any, **kwargs: Any) -> Any: ...
    @overload
    @staticmethod
    def CreatePickup(type: PickupType, position: Vector3, placementFlags: PickupPlacementFlags = ..., amount: int = -1, customModel: Optional[Model] = None) -> Pickup: ...
    @overload
    @staticmethod
    def CreatePickup(type: PickupType, position: Vector3, rotation: Vector3, placementFlags: PickupPlacementFlags = ..., amount: int = -1, rotOrder: EulerRotationOrder = ..., customModel: Optional[Model] = None) -> Pickup: ...
    @overload
    @staticmethod
    def CreatePickup(type: PickupType, position: Vector3, model: Model, value: int) -> Pickup: ...
    @overload
    @staticmethod
    def CreatePickup(type: PickupType, position: Vector3, rotation: Vector3, model: Model, value: int) -> Pickup: ...
    @staticmethod
    def CreatePickup(*args: Any, **kwargs: Any) -> Any: ...
    @staticmethod
    def GetAllCheckpoints() -> List[Checkpoint]: ...
    @overload
    @staticmethod
    def CreateCheckpoint(icon: CheckpointIcon, position: Vector3, pointTo: Vector3, radius: float, color: Any) -> Checkpoint: ...
    @overload
    @staticmethod
    def CreateCheckpoint(icon: CheckpointCustomIcon, position: Vector3, pointTo: Vector3, radius: float, color: Any) -> Checkpoint: ...
    @staticmethod
    def CreateCheckpoint(*args: Any, **kwargs: Any) -> Any: ...
