--- @meta





--- SET_CAM_COORD
---
--- Sets the position of the cam.  
--- 
---@param cam any
---@param posX number
---@param posY number
---@param posZ number
---@return any
function SetCamCoord(cam, posX, posY, posZ)
end

--- SET_CAM_ROT
---
--- Sets the rotation of the cam.  
--- Last parameter unknown.  
--- Last parameter seems to always be set to 2.  
--- 
---@param cam any
---@param rotX number
---@param rotY number
---@param rotZ number
---@param rotationOrder any
---@return any
function SetCamRot(cam, rotX, rotY, rotZ, rotationOrder)
end

--- SET_GAMEPLAY_PED_HINT
---
---@param p0 number
---@param x1 number
---@param y1 number
---@param z1 number
---@param p4 boolean
---@param duration any
---@param blendOutDuration any
---@param blendInDuration any
---@return any
function SetGameplayPedHint(p0, x1, y1, z1, p4, duration, blendOutDuration, blendInDuration)
end

--- DISABLE_AIM_CAM_THIS_UPDATE
---
---@return any
function DisableAimCamThisUpdate()
end

--- SET_CAM_DEBUG_NAME
---
--- NOTE: Debugging functions are not present in the retail version of the game.  
--- 
---@param camera any
---@param name any
---@return any
function SetCamDebugName(camera, name)
end

--- _SET_CAM_DOF_MAX_NEAR_IN_FOCUS_DISTANCE
---
--- This native has a name defined inside its code  
--- 
---@param camera any
---@param p1 number
---@return any
function SetCamDofMaxNearInFocusDistance(camera, p1)
end

--- IS_CINEMATIC_CAM_INPUT_ACTIVE
---
--- NativeDB Introduced: v1493
--- 
---@return boolean
function IsCinematicCamInputActive()
end

--- IS_CAM_RENDERING
---
---@param cam any
---@return boolean
function IsCamRendering(cam)
end

--- SET_IN_VEHICLE_CAM_STATE_THIS_UPDATE
---
---@param p0 any
---@param p1 any
---@return any
function SetInVehicleCamStateThisUpdate(p0, p1)
end

--- _USE_STUNT_CAMERA_THIS_FRAME
---
---@return any
function UseStuntCameraThisFrame()
end

--- IS_CINEMATIC_IDLE_CAM_RENDERING
---
---@return boolean
function IsCinematicIdleCamRendering()
end

--- IS_CINEMATIC_SHOT_ACTIVE
---
---@param p0 any
---@return boolean
function IsCinematicShotActive(p0)
end

--- IS_SCREEN_FADED_IN
---
---@return boolean
function IsScreenFadedIn()
end

--- DISABLE_CAM_COLLISION_FOR_OBJECT
---
---@param entity number
---@return any
function DisableCamCollisionForObject(entity)
end

--- IS_CAM_INTERPOLATING
---
---@param cam any
---@return boolean
function IsCamInterpolating(cam)
end

--- IS_CINEMATIC_CAM_RENDERING
---
---@return boolean
function IsCinematicCamRendering()
end

--- ADD_CAM_SPLINE_NODE
---
--- I filled p1-p6 (the floats) as they are as other natives with 6 floats in a row are similar and I see no other method. So if a test from anyone proves them wrong please correct.  
--- p7 (length) determines the length of the spline, affects camera path and duration of transition between previous node and this one  
--- p8 big values ~100 will slow down the camera movement before reaching this node  
--- p9 != 0 seems to override the rotation/pitch (bool?)  
--- 
---@param camera any
---@param x number
---@param y number
---@param z number
---@param xRot number
---@param yRot number
---@param zRot number
---@param length any
---@param p8 any
---@param transitionType any
---@return any
function AddCamSplineNode(camera, x, y, z, xRot, yRot, zRot, length, p8, transitionType)
end

--- CREATE_CINEMATIC_SHOT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param entity number
---@return any
function CreateCinematicShot(p0, p1, p2, entity)
end

--- _INVALIDATE_VEHICLE_IDLE_CAM
---Resets the vehicle idle camera timer. Calling this in a loop will disable the idle camera.
---@return any
function InvalidateVehicleIdleCam()
end

--- SET_WIDESCREEN_BORDERS
---
---@param p0 boolean
---@param p1 any
---@return any
function SetWidescreenBorders(p0, p1)
end

--- IS_CAM_PLAYING_ANIM
---[Animations list](https://alexguirre.github.io/animations-list/)
---@param cam any
---@param animName any
---@param animDictionary any
---@return boolean
function IsCamPlayingAnim(cam, animName, animDictionary)
end

--- IS_CINEMATIC_CAM_SHAKING
---
---@return boolean
function IsCinematicCamShaking()
end

--- SET_GAMEPLAY_CAM_FOLLOW_PED_THIS_UPDATE
---
---@param ped number
---@return any
function SetGameplayCamFollowPedThisUpdate(ped)
end

--- GET_FOLLOW_VEHICLE_CAM_VIEW_MODE
---See [GET_FOLLOW_PED_CAM_VIEW_MODE](#\_0x8D4D46230B2C353A) for the follow mode enum.
---@return any
function GetFollowVehicleCamViewMode()
end

--- GET_CAM_SPLINE_NODE_PHASE
---
--- I'm pretty sure the parameter is the camera as usual, but I am not certain so I'm going to leave it as is.  
--- 
---@param cam any
---@return number
function GetCamSplineNodePhase(cam)
end

--- DETACH_CAM
---
---@param cam any
---@return any
function DetachCam(cam)
end

--- SET_CAM_SPLINE_NODE_EASE
---
---@param cam any
---@param p1 any
---@param p2 any
---@param p3 number
---@return any
function SetCamSplineNodeEase(cam, p1, p2, p3)
end

--- _SET_FLY_CAM_VERTICAL_SPEED_MULTIPLIER
---
---@param cam any
---@param p1 number
---@param p2 number
---@param p3 number
---@return any
function SetFlyCamVerticalSpeedMultiplier(cam, p1, p2, p3)
end

--- SET_FOLLOW_VEHICLE_CAM_ZOOM_LEVEL
---See [GET_FOLLOW_PED_CAM_VIEW_MODE](#\_0x8D4D46230B2C353A) for the follow mode enum.
---@param zoomLevel any
---@return any
function SetFollowVehicleCamZoomLevel(zoomLevel)
end

--- _SET_GAMEPLAY_CAM_VEHICLE_CAMERA_NAME
---
---@param vehicleModel any
---@return any
function SetGameplayCamVehicleCameraName(vehicleModel)
end

--- _GET_CAM_NEAR_DOF
---
--- NativeDB Introduced: v2699
--- 
---@param cam any
---@return number
function GetCamNearDof(cam)
end

--- GET_CAM_SPLINE_NODE_INDEX
---
---@param cam any
---@return any
function GetCamSplineNodeIndex(cam)
end

--- _SET_USE_HI_DOF_IN_CUTSCENE
---
--- Only used in R* Script fm_mission_controller_2020
--- 
--- 
--- 
--- NativeDB Introduced: v2699
--- 
---@return any
function SetUseHiDofInCutscene()
end

--- DESTROY_CAM
---
--- BOOL param indicates whether the cam should be destroyed if it belongs to the calling script.  
--- 
---@param cam any
---@param bScriptHostCam boolean
---@return any
function DestroyCam(cam, bScriptHostCam)
end

--- IS_SCREEN_FADED_OUT
---
---@return boolean
function IsScreenFadedOut()
end

--- IS_GAMEPLAY_CAM_LOOKING_BEHIND
---
---@return boolean
function IsGameplayCamLookingBehind()
end

--- _SET_GAMEPLAY_HINT_ANIM_OFFSETY
---
---@param yOffset number
---@return any
function SetGameplayHintAnimOffsety(yOffset)
end

--- SET_THIRD_PERSON_AIM_CAM_NEAR_CLIP_THIS_UPDATE
---
---@param distance number
---@return any
function SetThirdPersonAimCamNearClipThisUpdate(distance)
end

--- SET_CAM_FAR_CLIP
---
---@param cam any
---@param farClip number
---@return any
function SetCamFarClip(cam, farClip)
end

--- SET_CAM_SPLINE_SMOOTHING_STYLE
---Sets the smoothing style for a DEFAULT_SPLINE_CAMERA
--- Ranges from 0 to 3 in rockstar scripts although there are actually 26
--- 
--- 
--- 0: No lead-in or lead-out smoothing
--- 1: Smooth lead-in
--- 2: Smooth lead-out
--- 3: Both lead-in and lead-out are smoothed
--- 4-6: Longer speed up, lead-in, lead-out, and both in order as above. 
--- 6: see above, but missed a node in testing(?)
--- 7: Smoothed lead-in, longer smoothed lead-out
--- 8: Longer lead-in and lead-out than 6, didn't drop node
--- 9: Constant acceleration
--- 10: Constant deceleration. Dropped 2 nodes in testing.
--- 11: Same as 0
--- 12: 10 but slower lead-in, reaches end node less early
--- 13: Extremely close to 3, slightly longer lead-in/lead-out
--- 14: Constant acceleration, dropped last 2 nodes in testing and halted (?)
--- 15: Very similar to 10, did not drop any nodes.
--- 16: Long lead-in, dropped 2 nodes in testing, very long leadout.
--- 17: Constant acceleration, slower speed-up than 9
--- 18: Same as 17 is to 9, slightly longer lead-out, lingers at end node
--- 19: Very long lead in and out
--- 20: Very long, gradual lead-in acceleration at start, gets extremely fast
--- 21: Same as 20 but for constant deceleration
--- 22: 20 and 21 combined, long linger at end node. Dropped 2 nodes in testing
--- 23: Constant acceleration, doesn't complete path before it stops
--- 24: Same as 23 but with constant deceleration, but completes path
--- 25: 23 and 24 combined, insanely fast at middle.
--- 26: No noticable lead-in, misses last 2 nodes in testing
--- 27+: Alternates between 0 and 26
--- 
--- 
--- The above is documented and graphed at [Spline Cam Interp Graphs](https://docs.google.com/spreadsheets/d/1ejyiMcEYrhhQOL0mLe8664UN-vU4Oh-SBqQnVcKlFIk/edit?usp=sharing)
--- 
--- 
--- 
--- Using 1-3 will result in misalignment from the passed durations for the spline nodes, the overall duration will remain but other nodes will be shortened if smoothing anything.
--- 
--- Graph below demonstrates interpolation between 0-1000 and back 10 times.
--- 
--- ![](https://i.imgur.com/cixWh7m.png)
--- 
--- ## Parameters
--- * **cam**: The DEFAULT_SPLINE_CAMERA to apply the smoothing to
--- * **smoothingStyle**: 0 to 3, 0 no additional smoothing, 1 smooth lead-in, 2 smooth lead-out, 3 smooth lead-in & lead-out
--- 
---@param cam any
---@param smoothingStyle any
---@return any
function SetCamSplineSmoothingStyle(cam, smoothingStyle)
end

--- _SET_GAMEPLAY_CAM_RAW_PITCH
---
---@param pitch number
---@return any
function SetGameplayCamRawPitch(pitch)
end

--- _GET_CAM_DOF_STRENGTH
---
--- NativeDB Introduced: v2699
--- 
---@param cam any
---@return number
function GetCamDofStrength(cam)
end

--- SET_CAM_ACTIVE_WITH_INTERP
---
--- Previous declaration void SET_CAM_ACTIVE_WITH_INTERP(Cam camTo, Cam camFrom, int duration, BOOL easeLocation, BOOL easeRotation) is completely wrong. The last two params are integers not BOOLs...  
--- 
---@param camTo any
---@param camFrom any
---@param duration any
---@param easeLocation any
---@param easeRotation any
---@return any
function SetCamActiveWithInterp(camTo, camFrom, duration, easeLocation, easeRotation)
end

--- _SET_CAM_DOF_FOCAL_LENGTH_MULTIPLIER
---
--- Native name labeled within its code
--- 
---@param camera any
---@param multiplier number
---@return any
function SetCamDofFocalLengthMultiplier(camera, multiplier)
end

--- STOP_CINEMATIC_SHOT
---
---@param p0 any
---@return any
function StopCinematicShot(p0)
end

--- GET_CAM_FAR_DOF
---
---@param cam any
---@return number
function GetCamFarDof(cam)
end

--- GET_FINAL_RENDERED_IN_WHEN_FRIENDLY_FOV
---
---@param player number
---@return number
function GetFinalRenderedInWhenFriendlyFov(player)
end

--- GET_FINAL_RENDERED_CAM_FAR_CLIP
---
---@return number
function GetFinalRenderedCamFarClip()
end

--- IS_AIM_CAM_ACTIVE
---
---@return boolean
function IsAimCamActive()
end

--- RENDER_SCRIPT_CAMS
---
--- ease - smooth transition between the camera's positions  
--- easeTime - Time in milliseconds for the transition to happen  
--- If you have created a script (rendering) camera, and want to go back to the   
--- character (gameplay) camera, call this native with render set to 0.  
--- Setting ease to 1 will smooth the transition.  
--- 
--- 
--- 
--- NativeDB Added Parameter 6: Any p5
--- 
---@param render boolean
---@param ease boolean
---@param easeTime any
---@param p3 boolean
---@param p4 boolean
---@return any
function RenderScriptCams(render, ease, easeTime, p3, p4)
end

--- SET_CAM_SHAKE_AMPLITUDE
---
---@param cam any
---@param amplitude number
---@return any
function SetCamShakeAmplitude(cam, amplitude)
end

--- SET_CAM_USE_SHALLOW_DOF_MODE
---
---@param cam any
---@param toggle boolean
---@return any
function SetCamUseShallowDofMode(cam, toggle)
end

--- SET_CINEMATIC_NEWS_CHANNEL_ACTIVE_THIS_UPDATE
---
---@return any
function SetCinematicNewsChannelActiveThisUpdate()
end

--- _DISABLE_CAM_COLLISION_FOR_ENTITY
---
---@param entity number
---@return any
function DisableCamCollisionForEntity(entity)
end

--- SHAKE_CINEMATIC_CAM
---
--- p0 argument found in the b617d scripts: "DRUNK_SHAKE"  
--- 
---@param p0 any
---@param p1 number
---@return any
function ShakeCinematicCam(p0, p1)
end

--- ADD_CAM_SPLINE_NODE_USING_CAMERA
---Takes a camera and uses the information from it as a camera spline node.
---@param cam any
---@param cam2 any
---@param length any
---@param p3 any
---@return any
function AddCamSplineNodeUsingCamera(cam, cam2, length, p3)
end

--- _CLAMP_GAMEPLAY_CAM_PITCH
---
--- minimum: Degrees between -90f and 90f.
--- maximum: Degrees between -90f and 90f.
--- Clamps the gameplay camera's current pitch.
--- Eg. _CLAMP_GAMEPLAY_CAM_PITCH(0.0f, 0.0f) will set the vertical angle directly behind the player.
--- 
---@param minimum number
---@param maximum number
---@return any
function ClampGameplayCamPitch(minimum, maximum)
end

--- CREATE_CAMERA_WITH_PARAMS
---CAM::\_GET_GAMEPLAY_CAM_COORDS can be used instead of posX,Y,Z\
--- CAM::\_GET_GAMEPLAY_CAM_ROT can be used instead of rotX,Y,Z\
--- CAM::\_80EC114669DAEFF4() can be used instead of p7 (Possible p7 is FOV parameter. )\
--- rotationOrder is 2 usually
---@param camHash any
---@param posX number
---@param posY number
---@param posZ number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param fov number
---@param active boolean
---@param rotationOrder any
---@return any
function CreateCameraWithParams(camHash, posX, posY, posZ, rotX, rotY, rotZ, fov, active, rotationOrder)
end

--- GET_FINAL_RENDERED_CAM_MOTION_BLUR_STRENGTH
---
---@return number
function GetFinalRenderedCamMotionBlurStrength()
end

--- PLAY_CAM_ANIM
---
--- Atleast one time in a script for the zRot Rockstar uses GET_ENTITY_HEADING to help fill the parameter.  
--- p9 is unknown at this time.  
--- p10 throughout all the X360 Scripts is always 2.  
--- 
--- 
--- [Animations list](https://alexguirre.github.io/animations-list/)
---@param cam any
---@param animName any
---@param animDictionary any
---@param x number
---@param y number
---@param z number
---@param xRot number
---@param yRot number
---@param zRot number
---@param p9 boolean
---@param p10 any
---@return boolean
function PlayCamAnim(cam, animName, animDictionary, x, y, z, xRot, yRot, zRot, p9, p10)
end

--- SET_CAM_DOF_PLANES
---
---@param cam any
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@return any
function SetCamDofPlanes(cam, p1, p2, p3, p4)
end

--- SET_FOLLOW_PED_CAM_VIEW_MODE
---See [GET_FOLLOW_PED_CAM_VIEW_MODE](#\_0x8D4D46230B2C353A) for the follow mode enum.
---@param viewMode any
---@return any
function SetFollowPedCamViewMode(viewMode)
end

--- DO_SCREEN_FADE_OUT
---
--- Fades the screen out.  
--- duration: The time the fade should take, in milliseconds.  
--- 
---@param duration any
---@return any
function DoScreenFadeOut(duration)
end

--- IS_SPHERE_VISIBLE
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@return boolean
function IsSphereVisible(x, y, z, radius)
end

--- SET_CAM_ACTIVE
---
--- Set camera as active/inactive.  
--- 
---@param cam any
---@param active boolean
---@return any
function SetCamActive(cam, active)
end

--- GET_CAM_COORD
---
---@param cam any
---@return { x: number, y: number, z: number }
function GetCamCoord(cam)
end

--- GET_FOCUS_PED_ON_SCREEN
---
---@param p0 number
---@param p1 any
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 number
---@param p7 any
---@param p8 any
---@return number
function GetFocusPedOnScreen(p0, p1, p2, p3, p4, p5, p6, p7, p8)
end

--- GET_RENDERING_CAM
---
---@return any
function GetRenderingCam()
end

--- PLAY_SYNCHRONIZED_CAM_ANIM
---
--- Examples:  
--- CAM::PLAY_SYNCHRONIZED_CAM_ANIM(l_2734, NETWORK::_02C40BF885C567B6(l_2739), "PLAYER_EXIT_L_CAM", "mp_doorbell");  
--- CAM::PLAY_SYNCHRONIZED_CAM_ANIM(l_F0D[7/*1*/], l_F4D[15/*1*/], "ah3b_attackheli_cam2", "missheistfbi3b_helicrash");  
--- 
--- 
--- [Animations list](https://alexguirre.github.io/animations-list/)
---@param camera any
---@param scene any
---@param animName any
---@param animDictionary any
---@return boolean
function PlaySynchronizedCamAnim(camera, scene, animName, animDictionary)
end

--- SET_GAMEPLAY_ENTITY_HINT
---
--- p6 & p7 - possibly length or time  
--- 
---@param entity number
---@param xOffset number
---@param yOffset number
---@param zOffset number
---@param p4 boolean
---@param p5 any
---@param p6 any
---@param p7 any
---@param p8 any
---@return any
function SetGameplayEntityHint(entity, xOffset, yOffset, zOffset, p4, p5, p6, p7, p8)
end

--- GET_CAM_FAR_CLIP
---
---@param cam any
---@return number
function GetCamFarClip(cam)
end

--- _IS_IN_VEHICLE_CAM_DISABLED
---
---@return boolean
function IsInVehicleCamDisabled()
end

--- SET_GAMEPLAY_CAM_RELATIVE_HEADING
---
--- Sets the camera position relative to heading in float from -360 to +360.  
--- Heading is alwyas 0 in aiming camera.  
--- 
---@param heading number
---@return any
function SetGameplayCamRelativeHeading(heading)
end

--- SET_CINEMATIC_BUTTON_ACTIVE
---
---@param p0 boolean
---@return any
function SetCinematicButtonActive(p0)
end

--- _SET_GAMEPLAY_HINT_ANIM_CLOSEUP
---
---@param toggle boolean
---@return any
function SetGameplayHintAnimCloseup(toggle)
end

--- SET_CAM_NEAR_CLIP
---
---@param cam any
---@param nearClip number
---@return any
function SetCamNearClip(cam, nearClip)
end

--- SET_FLY_CAM_HORIZONTAL_RESPONSE
---
---@param cam any
---@param p1 number
---@param p2 number
---@param p3 number
---@return any
function SetFlyCamHorizontalResponse(cam, p1, p2, p3)
end

--- _SET_CAM_DOF_FOCUS_DISTANCE_BIAS
---
--- This native has a name defined inside its code  
--- 
---@param camera any
---@param p1 number
---@return any
function SetCamDofFocusDistanceBias(camera, p1)
end

--- STOP_CAM_POINTING
---
---@param cam any
---@return any
function StopCamPointing(cam)
end

--- STOP_CUTSCENE_CAM_SHAKING
---
---@return any
function StopCutsceneCamShaking()
end

--- GET_FINAL_RENDERED_CAM_FAR_DOF
---
---@return number
function GetFinalRenderedCamFarDof()
end

--- GET_FIRST_PERSON_AIM_CAM_ZOOM_FACTOR
---
---@return number
function GetFirstPersonAimCamZoomFactor()
end

--- IS_FIRST_PERSON_AIM_CAM_ACTIVE
---
---@return boolean
function IsFirstPersonAimCamActive()
end

--- SET_CINEMATIC_MODE_ACTIVE
---
--- Toggles the vehicle cinematic cam; requires the player ped to be in a vehicle to work.
--- 
---@param toggle boolean
---@return any
function SetCinematicModeActive(toggle)
end

--- STOP_RENDERING_SCRIPT_CAMS_USING_CATCH_UP
---
--- This native makes the gameplay camera zoom into first person/third person with a special effect.
--- 
--- 
--- 
--- NativeDB Added Parameter 4: Any p3
--- 
---@param render boolean
---@param p1 number
---@param p2 any
---@return any
function StopRenderingScriptCamsUsingCatchUp(render, p1, p2)
end

--- SET_CAM_DOF_STRENGTH
---
---@param cam any
---@param dofStrength number
---@return any
function SetCamDofStrength(cam, dofStrength)
end

--- SET_GAMEPLAY_OBJECT_HINT
---
---@param p0 any
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 boolean
---@param p5 any
---@param p6 any
---@param p7 any
---@return any
function SetGameplayObjectHint(p0, p1, p2, p3, p4, p5, p6, p7)
end

--- STOP_CINEMATIC_CAM_SHAKING
---
---@param p0 boolean
---@return any
function StopCinematicCamShaking(p0)
end

--- IS_CAM_SHAKING
---
---@param cam any
---@return boolean
function IsCamShaking(cam)
end

--- SET_CAM_FAR_DOF
---
---@param cam any
---@param farDOF number
---@return any
function SetCamFarDof(cam, farDOF)
end

--- SET_CAM_SPLINE_PHASE
---
---@param cam any
---@param p1 number
---@return any
function SetCamSplinePhase(cam, p1)
end

--- ATTACH_CAM_TO_ENTITY
---
--- Last param determines if its relative to the Entity  
--- 
---@param cam any
---@param entity number
---@param xOffset number
---@param yOffset number
---@param zOffset number
---@param isRelative boolean
---@return any
function AttachCamToEntity(cam, entity, xOffset, yOffset, zOffset, isRelative)
end

--- GET_FINAL_RENDERED_CAM_NEAR_CLIP
---
---@return number
function GetFinalRenderedCamNearClip()
end

--- SET_CAM_ANIM_CURRENT_PHASE
---
---@param cam any
---@param phase number
---@return any
function SetCamAnimCurrentPhase(cam, phase)
end

--- STOP_GAMEPLAY_HINT
---
---@param p0 boolean
---@return any
function StopGameplayHint(p0)
end

--- IS_SCRIPT_GLOBAL_SHAKING
---
--- In drunk_controller.c4, sub_309
--- if (CAM::IS_SCRIPT_GLOBAL_SHAKING()) {
---     CAM::STOP_SCRIPT_GLOBAL_SHAKING(0);
--- }
--- 
---@return boolean
function IsScriptGlobalShaking()
end

--- SET_CAM_VIEW_MODE_FOR_CONTEXT
---
---@param context any
---@param viewMode any
---@return any
function SetCamViewModeForContext(context, viewMode)
end

--- _ENABLE_CROSSHAIR_THIS_FRAME
---
--- Shows the crosshair even if it wouldn't show normally. Only works for one frame, so make sure to call it repeatedly.  
--- 
---@return any
function EnableCrosshairThisFrame()
end

--- IS_BONNET_CINEMATIC_CAM_RENDERING
---
---@return boolean
function IsBonnetCinematicCamRendering()
end

--- SET_CAM_PARAMS
---
---@param cam any
---@param posX number
---@param posY number
---@param posZ number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param fieldOfView number
---@param transitionSpeed any
---@param p9 any
---@param p10 any
---@param rotationOrder any
---@return any
function SetCamParams(cam, posX, posY, posZ, rotX, rotY, rotZ, fieldOfView, transitionSpeed, p9, p10, rotationOrder)
end

--- SET_FOLLOW_VEHICLE_CAM_VIEW_MODE
---See [GET_FOLLOW_PED_CAM_VIEW_MODE](#\_0x8D4D46230B2C353A) for the follow mode enum.
---@param viewMode any
---@return any
function SetFollowVehicleCamViewMode(viewMode)
end

--- GET_CAM_ROT
---
--- The last parameter, as in other "ROT" methods, is usually 2.  
--- 
---@param cam any
---@param rotationOrder any
---@return { x: number, y: number, z: number }
function GetCamRot(cam, rotationOrder)
end

--- GET_FINAL_RENDERED_CAM_FOV
---
---@return number
function GetFinalRenderedCamFov()
end

--- POINT_CAM_AT_COORD
---
---@param cam any
---@param x number
---@param y number
---@param z number
---@return any
function PointCamAtCoord(cam, x, y, z)
end

--- _CLAMP_GAMEPLAY_CAM_YAW
---
--- minimum: Degrees between -180f and 180f.
--- maximum: Degrees between -180f and 180f.
--- Clamps the gameplay camera's current yaw.
--- Eg. _CLAMP_GAMEPLAY_CAM_YAW(0.0f, 0.0f) will set the horizontal angle directly behind the player.
--- 
---@param minimum number
---@param maximum number
---@return any
function ClampGameplayCamYaw(minimum, maximum)
end

--- GET_CAM_NEAR_CLIP
---
---@param cam any
---@return number
function GetCamNearClip(cam)
end

--- GET_CAM_VIEW_MODE_FOR_CONTEXT
---See [GET_FOLLOW_PED_CAM_VIEW_MODE](#\_0x8D4D46230B2C353A) for the view mode enum.
---@param context any
---@return any
function GetCamViewModeForContext(context)
end

--- IS_SCREEN_FADING_OUT
---
---@return boolean
function IsScreenFadingOut()
end

--- SET_FLY_CAM_COORD_AND_CONSTRAIN
---
---@param cam any
---@param x number
---@param y number
---@param z number
---@return any
function SetFlyCamCoordAndConstrain(cam, x, y, z)
end

--- GET_FOLLOW_VEHICLE_CAM_ZOOM_LEVEL
---See [GET_FOLLOW_PED_CAM_VIEW_MODE](#\_0x8D4D46230B2C353A) for the follow mode enum.
---@return any
function GetFollowVehicleCamZoomLevel()
end

--- GET_GAMEPLAY_CAM_RELATIVE_HEADING
---
---@return number
function GetGameplayCamRelativeHeading()
end

--- GET_GAMEPLAY_CAM_FOV
---
---@return number
function GetGameplayCamFov()
end

--- IS_CAM_SPLINE_PAUSED
---
---@param p0 any
---@return boolean
function IsCamSplinePaused(p0)
end

--- _SET_CAM_EFFECT
---
--- if p0 is 0, effect is cancelled  
--- if p0 is 1, effect zooms in, gradually tilts cam clockwise apx 30 degrees, wobbles slowly. Motion blur is active until cancelled.  
--- if p0 is 2, effect immediately tilts cam clockwise apx 30 degrees, begins to wobble slowly, then gradually tilts cam back to normal. The wobbling will continue until the effect is cancelled.  
--- 
---@param p0 any
---@return any
function SetCamEffect(p0)
end

--- SET_FOLLOW_PED_CAM_THIS_UPDATE
---
--- From the scripts:
--- CAM::SET_FOLLOW_PED_CAM_THIS_UPDATE("FOLLOW_PED_ATTACHED_TO_ROPE_CAMERA", 0);
--- CAM::SET_FOLLOW_PED_CAM_THIS_UPDATE("FOLLOW_PED_ON_EXILE1_LADDER_CAMERA", 1500);
--- CAM::SET_FOLLOW_PED_CAM_THIS_UPDATE("FOLLOW_PED_SKY_DIVING_CAMERA", 0);
--- CAM::SET_FOLLOW_PED_CAM_THIS_UPDATE("FOLLOW_PED_SKY_DIVING_CAMERA", 3000);
--- CAM::SET_FOLLOW_PED_CAM_THIS_UPDATE("FOLLOW_PED_SKY_DIVING_FAMILY5_CAMERA", 0);
--- CAM::SET_FOLLOW_PED_CAM_THIS_UPDATE("FOLLOW_PED_SKY_DIVING_CAMERA", 0);
--- 
---@param camName any
---@param p1 any
---@return boolean
function SetFollowPedCamThisUpdate(camName, p1)
end

--- SET_GAMEPLAY_CAM_SHAKE_AMPLITUDE
---
--- Sets the amplitude for the gameplay (i.e. 3rd or 1st) camera to shake. Used in script "drunk_controller.ysc.c4" to simulate making the player drunk.  
--- 
---@param amplitude number
---@return any
function SetGameplayCamShakeAmplitude(amplitude)
end

--- GET_CAM_ANIM_CURRENT_PHASE
---
---@param cam any
---@return number
function GetCamAnimCurrentPhase(cam)
end

--- IS_GAMEPLAY_HINT_ACTIVE
---
---@return boolean
function IsGameplayHintActive()
end

--- _SET_GAMEPLAY_CAM_RELATIVE_ROTATION
---
---@param roll number
---@param pitch number
---@param yaw number
---@return any
function SetGameplayCamRelativeRotation(roll, pitch, yaw)
end

--- OVERRIDE_CAM_SPLINE_VELOCITY
---
---@param cam any
---@param p1 any
---@param p2 number
---@param p3 number
---@return any
function OverrideCamSplineVelocity(cam, p1, p2, p3)
end

--- _REPLAY_FREE_CAM_GET_MAX_RANGE
---
---@return number
function ReplayFreeCamGetMaxRange()
end

--- _ATTACH_CAM_TO_PED_BONE_2
---
--- NativeDB Introduced: v1180
--- 
---@param cam any
---@param ped number
---@param boneIndex any
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 number
---@param p7 number
---@param p8 number
---@param p9 boolean
---@return any
function AttachCamToPedBone2(cam, ped, boneIndex, p3, p4, p5, p6, p7, p8, p9)
end

--- DO_SCREEN_FADE_IN
---
--- Fades the screen in.  
--- duration: The time the fade should take, in milliseconds.  
--- 
---@param duration any
---@return any
function DoScreenFadeIn(duration)
end

--- STOP_CAM_SHAKING
---
---@param cam any
---@param p1 boolean
---@return any
function StopCamShaking(cam, p1)
end

--- ADD_CAM_SPLINE_NODE_USING_CAMERA_FRAME
---
---@param cam any
---@param cam2 any
---@param p2 any
---@param p3 any
---@return any
function AddCamSplineNodeUsingCameraFrame(cam, cam2, p2, p3)
end

--- DOES_CAM_EXIST
---
--- Returns whether or not the passed camera handle exists.  
--- 
---@param cam any
---@return boolean
function DoesCamExist(cam)
end

--- SET_CAM_INHERIT_ROLL_VEHICLE
---
--- The native seems to only be called once.  
--- The native is used as so,  
--- CAM::SET_CAM_INHERIT_ROLL_VEHICLE(l_544, getElem(2, &l_525, 4));  
--- In the exile1 script.  
--- 
---@param cam any
---@param p1 boolean
---@return any
function SetCamInheritRollVehicle(cam, p1)
end

--- SET_FIRST_PERSON_AIM_CAM_ZOOM_FACTOR
---
---@param zoomFactor number
---@return any
function SetFirstPersonAimCamZoomFactor(zoomFactor)
end

--- _DISABLE_FIRST_PERSON_CAM_THIS_FRAME
---
--- Disables first person camera for the current frame.  
--- Found in decompiled scripts:  
--- GRAPHICS::DRAW_DEBUG_TEXT_2D("Disabling First Person Cam", 0.5, 0.8, 0.0, 0, 0, 255, 255);  
--- CAM::_DE2EF5DA284CC8DF();  
--- 
---@return any
function DisableFirstPersonCamThisFrame()
end

--- IS_SCREEN_FADING_IN
---
---@return boolean
function IsScreenFadingIn()
end

--- SET_CINEMATIC_CAM_SHAKE_AMPLITUDE
---
---@param p0 number
---@return any
function SetCinematicCamShakeAmplitude(p0)
end

--- ATTACH_CAM_TO_PED_BONE
---
---@param cam any
---@param ped number
---@param boneIndex any
---@param x number
---@param y number
---@param z number
---@param heading boolean
---@return any
function AttachCamToPedBone(cam, ped, boneIndex, x, y, z, heading)
end

--- _ATTACH_CAM_TO_VEHICLE_BONE
---This native works with vehicles only.
--- Bone indexes are usually given by this native [GET_ENTITY_BONE_INDEX_BY_NAME](#\_0xFB71170B7E76ACBA).
---@param cam any
---@param vehicle any
---@param boneIndex any
---@param relativeRotation boolean
---@param rotX number
---@param rotY number
---@param rotZ number
---@param offX number
---@param offY number
---@param offZ number
---@param fixedDirection boolean
---@return any
function AttachCamToVehicleBone(cam, vehicle, boneIndex, relativeRotation, rotX, rotY, rotZ, offX, offY, offZ, fixedDirection)
end

--- _SET_CAM_DOF_MAX_NEAR_IN_FOCUS_DISTANCE_BLEND_LEVEL
---
--- This native has a name defined inside its code  
--- 
---@param camera any
---@param p1 number
---@return any
function SetCamDofMaxNearInFocusDistanceBlendLevel(camera, p1)
end

--- SET_GAMEPLAY_CAM_RELATIVE_PITCH
---This native sets the camera's pitch (rotation on the x-axis).
---@param angle number
---@param scalingFactor number
---@return any
function SetGameplayCamRelativePitch(angle, scalingFactor)
end

--- ADD_CAM_SPLINE_NODE_USING_GAMEPLAY_FRAME
---
---@param cam any
---@param p1 any
---@param p2 any
---@return any
function AddCamSplineNodeUsingGameplayFrame(cam, p1, p2)
end

--- CREATE_CAMERA
---
---@param camHash any
---@param active boolean
---@return any
function CreateCamera(camHash, active)
end

--- SET_CAM_SPLINE_NODE_EXTRA_FLAGS
---
---@param cam any
---@param p1 any
---@param flags any
---@return any
function SetCamSplineNodeExtraFlags(cam, p1, flags)
end

--- SET_CAM_SPLINE_NODE_VELOCITY_SCALE
---
---@param cam any
---@param p1 any
---@param scale number
---@return any
function SetCamSplineNodeVelocityScale(cam, p1, scale)
end

--- _SET_GAMEPLAY_CAM_VEHICLE_CAMERA
---
--- From b617 scripts:
--- CAM::_21E253A7F8DA5DFB("DINGHY");
--- CAM::_21E253A7F8DA5DFB("ISSI2");
--- CAM::_21E253A7F8DA5DFB("SPEEDO");
--- 
---@param vehicleName any
---@return any
function SetGameplayCamVehicleCamera(vehicleName)
end

--- SET_GAMEPLAY_VEHICLE_HINT
---Focuses the camera on the specified vehicle.
---@param vehicle any
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@param p4 boolean
---@param time any
---@param easeInTime any
---@param easeOutTime any
---@return any
function SetGameplayVehicleHint(vehicle, offsetX, offsetY, offsetZ, p4, time, easeInTime, easeOutTime)
end

--- GET_CAM_SPLINE_PHASE
---
--- Can use this with SET_CAM_SPLINE_PHASE to set the float it this native returns.  
--- (returns 1.0f when no nodes has been added, reached end of non existing spline)  
--- 
---@param cam any
---@return number
function GetCamSplinePhase(cam)
end

--- _IS_AIM_CAM_THIRD_PERSON_ACTIVE
---
--- IS_A*
--- 
---@return boolean
function IsAimCamThirdPersonActive()
end

--- SET_CAM_AFFECTS_AIMING
---
--- Allows you to aim and shoot at the direction the camera is facing.  
--- 
---@param cam any
---@param toggle boolean
---@return any
function SetCamAffectsAiming(cam, toggle)
end

--- _SET_FOLLOW_TURRET_SEAT_CAM
---
--- NativeDB Introduced: v1365
--- 
---@param seatIndex any
---@return any
function SetFollowTurretSeatCam(seatIndex)
end

--- SET_CAM_FOV
---
--- Sets the field of view of the cam.  
--- ---------------------------------------------  
--- Min: 1.0f  
--- Max: 130.0f  
--- 
---@param cam any
---@param fieldOfView number
---@return any
function SetCamFov(cam, fieldOfView)
end

--- _GET_DEBUG_CAMERA
---
--- NativeDB Introduced: v2372
--- 
---@return any
function GetDebugCamera()
end

--- POINT_CAM_AT_ENTITY
---Points the camera at the specified entity.
--- 
--- Offset works like [GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS](#\_0x1899F328B0E12848).
---@param cam any
---@param entity number
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@param p5 boolean
---@return any
function PointCamAtEntity(cam, entity, offsetX, offsetY, offsetZ, p5)
end

--- _SET_CAM_DOF_FNUMBER_OF_LENS
---
--- This native has its name defined inside its codE  
--- 
---@param camera any
---@param p1 number
---@return any
function SetCamDofFnumberOfLens(camera, p1)
end

--- SET_CAM_NEAR_DOF
---
---@param cam any
---@param nearDOF number
---@return any
function SetCamNearDof(cam, nearDOF)
end

--- GET_CAM_FOV
---
---@param cam any
---@return number
function GetCamFov(cam)
end

--- GET_FINAL_RENDERED_IN_WHEN_FRIENDLY_ROT
---
---@param player number
---@param rotationOrder any
---@return { x: number, y: number, z: number }
function GetFinalRenderedInWhenFriendlyRot(player, rotationOrder)
end

--- GET_FOLLOW_PED_CAM_ZOOM_LEVEL
---See [GET_FOLLOW_PED_CAM_VIEW_MODE](#\_0x8D4D46230B2C353A) for the follow mode enum.
---@return any
function GetFollowPedCamZoomLevel()
end

--- SET_FLY_CAM_MAX_HEIGHT
---
---@param cam any
---@param height number
---@return any
function SetFlyCamMaxHeight(cam, height)
end

--- _DISABLE_VEHICLE_FIRST_PERSON_CAM_THIS_FRAME
---
---@return any
function DisableVehicleFirstPersonCamThisFrame()
end

--- _ANIMATE_GAMEPLAY_CAM_ZOOM
---
--- Seems to animate the gameplay camera zoom.  
--- Eg. _ANIMATE_GAMEPLAY_CAM_ZOOM(1f, 1000f);  
--- will animate the camera zooming in from 1000 meters away.  
--- Game scripts use it like this:  
--- // Setting this to 1 prevents V key from changing zoom  
--- PLAYER::SET_PLAYER_FORCED_ZOOM(PLAYER::PLAYER_ID(), 1);  
--- // These restrict how far you can move cam up/down left/right  
--- CAM::_CLAMP_GAMEPLAY_CAM_YAW(-20f, 50f);  
--- CAM::_CLAMP_GAMEPLAY_CAM_PITCH(-60f, 0f);  
--- CAM::_ANIMATE_GAMEPLAY_CAM_ZOOM(1f, 1f);  
--- 
---@param p0 number
---@param distance number
---@return any
function AnimateGameplayCamZoom(p0, distance)
end

--- CUSTOM_MENU_COORDINATES
---
--- some camera effect that is used in the drunk-cheat, and turned off (by setting it to 0.0) along with the shaking effects once the drunk cheat is disabled.  
--- 
---@param p0 number
---@return any
function CustomMenuCoordinates(p0)
end

--- SET_CAM_MOTION_BLUR_STRENGTH
---
---@param cam any
---@param strength number
---@return any
function SetCamMotionBlurStrength(cam, strength)
end

--- SET_FIRST_PERSON_AIM_CAM_NEAR_CLIP_THIS_UPDATE
---
---@param distance number
---@return any
function SetFirstPersonAimCamNearClipThisUpdate(distance)
end

--- STOP_SCRIPT_GLOBAL_SHAKING
---
--- In drunk_controller.c4, sub_309
--- if (CAM::IS_SCRIPT_GLOBAL_SHAKING()) {
---     CAM::STOP_SCRIPT_GLOBAL_SHAKING(0);
--- }
--- 
---@param p0 boolean
---@return any
function StopScriptGlobalShaking(p0)
end

--- CREATE_CAM
---Creates a camera with the specified cam name, You can use SET_CAM_ natives to manipulate the camera.\
--- Make sure to call [RENDER_SCRIPT_CAMS](#\_0x07E5B515DB0636FC) once the camera is created, or this won't have any visible effect.
--- 
--- ### Camera names:
--- 
--- *   DEFAULT_SCRIPTED_CAMERA
--- *   DEFAULT_ANIMATED_CAMERA
--- *   DEFAULT_SPLINE_CAMERA
--- *   DEFAULT_SCRIPTED_FLY_CAMERA
--- *   TIMED_SPLINE_CAMERA
--- *   CUSTOM_TIMED_SPLINE_CAMERA
--- *   ROUNDED_SPLINE_CAMERA
--- *   SMOOTHED_SPLINE_CAMERA
---@param camName any
---@param active boolean
---@return any
function CreateCam(camName, active)
end

--- POINT_CAM_AT_PED_BONE
---
--- Parameters p0-p5 seems correct. The bool p6 is unknown, but through every X360 script it's always 1. Please correct p0-p5 if any prove to be wrong.  
--- 
---@param cam any
---@param ped number
---@param boneIndex any
---@param x number
---@param y number
---@param z number
---@param p6 boolean
---@return any
function PointCamAtPedBone(cam, ped, boneIndex, x, y, z, p6)
end

--- _SET_GAMEPLAY_CAM_HASH
---
--- Sets gameplay camera to hash
--- 
--- 
--- 
--- NativeDB Introduced: v1180
--- 
---@param camName any
---@return any
function SetGameplayCamHash(camName)
end

--- SHAKE_GAMEPLAY_CAM
---
--- Possible shake types (updated b617d):  
--- DEATH_FAIL_IN_EFFECT_SHAKE  
--- DRUNK_SHAKE  
--- FAMILY5_DRUG_TRIP_SHAKE  
--- HAND_SHAKE  
--- JOLT_SHAKE  
--- LARGE_EXPLOSION_SHAKE  
--- MEDIUM_EXPLOSION_SHAKE  
--- SMALL_EXPLOSION_SHAKE  
--- ROAD_VIBRATION_SHAKE  
--- SKY_DIVING_SHAKE  
--- VIBRATE_SHAKE  
--- 
---@param shakeName any
---@param intensity number
---@return any
function ShakeGameplayCam(shakeName, intensity)
end

--- ANIMATED_SHAKE_SCRIPT_GLOBAL
---
--- CAM::ANIMATED_SHAKE_SCRIPT_GLOBAL("SHAKE_CAM_medium", "medium", "", 0.5f);
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 number
---@return any
function AnimatedShakeScriptGlobal(p0, p1, p2, p3)
end

--- CREATE_CAM_WITH_PARAMS
---Create a camera with the specified cam name/type, You can use SET_CAM_ natives to manipulate the camera.
--- 
--- Camera names found in the b617d scripts:
--- 
--- 
--- "DEFAULT_ANIMATED_CAMERA"  
--- "DEFAULT_SCRIPTED_CAMERA"  
--- "DEFAULT_SCRIPTED_FLY_CAMERA"  
--- "DEFAULT_SPLINE_CAMERA" 
--- 
---@param camName any
---@param posX number
---@param posY number
---@param posZ number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param fov number
---@param active boolean
---@param rotationOrder any
---@return any
function CreateCamWithParams(camName, posX, posY, posZ, rotX, rotY, rotZ, fov, active, rotationOrder)
end

--- DESTROY_ALL_CAMS
---
--- BOOL param indicates whether the cam should be destroyed if it belongs to the calling script.  
--- 
---@param bScriptHostCam boolean
---@return any
function DestroyAllCams(bScriptHostCam)
end

--- FORCE_CINEMATIC_RENDERING_THIS_UPDATE
---
---@param p0 boolean
---@return any
function ForceCinematicRenderingThisUpdate(p0)
end

--- GET_GAMEPLAY_CAM_COORD
---
---@return { x: number, y: number, z: number }
function GetGameplayCamCoord()
end

--- GET_GAMEPLAY_CAM_ROT
---
--- p0 dosen't seem to change much, I tried it with 0, 1, 2:  
--- 0-Pitch(X): -70.000092  
--- 0-Roll(Y): -0.000001  
--- 0-Yaw(Z): -43.886459  
--- 1-Pitch(X): -70.000092  
--- 1-Roll(Y): -0.000001  
--- 1-Yaw(Z): -43.886463  
--- 2-Pitch(X): -70.000092  
--- 2-Roll(Y): -0.000002  
--- 2-Yaw(Z): -43.886467  
--- 
---@param rotationOrder any
---@return { x: number, y: number, z: number }
function GetGameplayCamRot(rotationOrder)
end

--- SET_CAM_SPLINE_DURATION
---
--- I named p1 as timeDuration as it is obvious. I'm assuming tho it is ran in ms(Milliseconds) as usual.  
--- 
---@param cam any
---@param timeDuration any
---@return any
function SetCamSplineDuration(cam, timeDuration)
end

--- _SET_FIRST_PERSON_CAM_PITCH_RANGE
---
---@param minAngle number
---@param maxAngle number
---@return any
function SetFirstPersonCamPitchRange(minAngle, maxAngle)
end

--- _SET_GAMEPLAY_CAM_RAW_YAW
---
--- Does nothing  
--- 
--- 
--- 
--- NativeDB Added Parameter 2: Any p1
--- 
---@param yaw number
---@return any
function SetGameplayCamRawYaw(yaw)
end

--- IS_GAMEPLAY_CAM_SHAKING
---
---@return boolean
function IsGameplayCamShaking()
end

--- _GET_CAM_ACTIVE_VIEW_MODE_CONTEXT
---Enumerated type defined in camControlHelperMetadataViewModes:
--- 
--- cpp
--- enum Context {
---     ON_FOOT = 0, // [G|S]ET_FOLLOW_PED_CAM_*
---     IN_VEHICLE = 1, // [G|S]ET_FOLLOW_VEHICLE_CAM_*
---     ON_BIKE = 2,
---     IN_BOAT = 3,
---     IN_AIRCRAFT = 4,
---     IN_SUBMARINE = 5,
---     IN_HELI = 6,
---     IN_TURRET = 7,
--- }
--- 
---@return any
function GetCamActiveViewModeContext()
end

--- IS_FOLLOW_PED_CAM_ACTIVE
---
---@return boolean
function IsFollowPedCamActive()
end

--- _SET_GAMEPLAY_HINT_ANIM_OFFSETX
---
---@param xOffset number
---@return any
function SetGameplayHintAnimOffsetx(xOffset)
end

--- SET_USE_HI_DOF
---
---@return any
function SetUseHiDof()
end

--- GET_FOLLOW_PED_CAM_VIEW_MODE
---cpp
--- // view mode enumeration
--- enum _0xA11D7CA8
--- {
--- 	THIRD_PERSON_NEAR = 0,
--- 	THIRD_PERSON_MEDIUM = 1,
--- 	THIRD_PERSON_FAR = 2,
--- 	CINEMATIC = 3,
--- 	FIRST_PERSON = 4,
--- };
--- 
---@return any
function GetFollowPedCamViewMode()
end

--- IS_FOLLOW_VEHICLE_CAM_ACTIVE
---
---@return boolean
function IsFollowVehicleCamActive()
end

--- SHAKE_SCRIPT_GLOBAL
---
--- CAM::SHAKE_SCRIPT_GLOBAL("HAND_SHAKE", 0.2);
--- 
---@param p0 any
---@param p1 number
---@return any
function ShakeScriptGlobal(p0, p1)
end

--- IS_GAMEPLAY_CAM_RENDERING
---
--- Examples when this function will return 0 are:
--- - During busted screen.
--- - When player is coming out from a hospital.
--- - When player is coming out from a police station.
--- - When player is buying gun from AmmuNation.
--- 
---@return boolean
function IsGameplayCamRendering()
end

--- GET_FINAL_RENDERED_CAM_NEAR_DOF
---
---@return number
function GetFinalRenderedCamNearDof()
end

--- GET_FINAL_RENDERED_CAM_ROT
---
---@param rotationOrder any
---@return { x: number, y: number, z: number }
function GetFinalRenderedCamRot(rotationOrder)
end

--- IS_CAM_ACTIVE
---
--- Returns whether or not the passed camera handle is active.  
--- 
---@param cam any
---@return boolean
function IsCamActive(cam)
end

--- SET_GAMEPLAY_HINT_FOLLOW_DISTANCE_SCALAR
---
---@param value number
---@return any
function SetGameplayHintFollowDistanceScalar(value)
end

--- SHAKE_CAM
---
--- Possible shake types (updated b617d):  
--- DEATH_FAIL_IN_EFFECT_SHAKE  
--- DRUNK_SHAKE  
--- FAMILY5_DRUG_TRIP_SHAKE  
--- HAND_SHAKE  
--- JOLT_SHAKE  
--- LARGE_EXPLOSION_SHAKE  
--- MEDIUM_EXPLOSION_SHAKE  
--- SMALL_EXPLOSION_SHAKE  
--- ROAD_VIBRATION_SHAKE  
--- SKY_DIVING_SHAKE  
--- VIBRATE_SHAKE  
--- 
---@param cam any
---@param type any
---@param amplitude number
---@return any
function ShakeCam(cam, type, amplitude)
end

--- STOP_GAMEPLAY_CAM_SHAKING
---
---@param p0 boolean
---@return any
function StopGameplayCamShaking(p0)
end

--- ANIMATED_SHAKE_CAM
---
--- Example from michael2 script.  
--- CAM::ANIMATED_SHAKE_CAM(l_5069, "shake_cam_all@", "light", "", 1f);  
--- 
---@param cam any
---@param p1 any
---@param p2 any
---@param p3 any
---@param amplitude number
---@return any
function AnimatedShakeCam(cam, p1, p2, p3, amplitude)
end

--- SET_GAMEPLAY_HINT_FOV
---
---@param FOV number
---@return any
function SetGameplayHintFov(FOV)
end

--- GET_GAMEPLAY_CAM_RELATIVE_PITCH
---
---@return number
function GetGameplayCamRelativePitch()
end

--- SET_GAMEPLAY_HINT_BASE_ORBIT_PITCH_OFFSET
---
---@param value number
---@return any
function SetGameplayHintBaseOrbitPitchOffset(value)
end

--- GET_FINAL_RENDERED_CAM_COORD
---
---@return { x: number, y: number, z: number }
function GetFinalRenderedCamCoord()
end

--- INVALIDATE_IDLE_CAM
---Resets the idle camera timer. Calling that in a loop once every few seconds is enough to disable the idle cinematic camera.
---@return any
function InvalidateIdleCam()
end

--- OVERRIDE_CAM_SPLINE_MOTION_BLUR
---
--- Max value for p1 is 15.  
--- 
---@param cam any
---@param p1 any
---@param p2 number
---@param p3 number
---@return any
function OverrideCamSplineMotionBlur(cam, p1, p2, p3)
end

--- SET_GAMEPLAY_COORD_HINT
---
---@param x number
---@param y number
---@param z number
---@param duration any
---@param blendOutDuration any
---@param blendInDuration any
---@param unk any
---@return any
function SetGameplayCoordHint(x, y, z, duration, blendOutDuration, blendInDuration, unk)
end

--- _CELL_CAM_SET_ROLL
---
---@param p0 number
---@return any
function CellCamSetRoll(p0)
end

--- DESTROY_MOBILE_PHONE
---
--- Destroys the currently active mobile phone.  
--- 
---@return any
function DestroyMobilePhone()
end

--- GET_MOBILE_PHONE_POSITION
---
---@param position any
---@return any
function GetMobilePhonePosition(position)
end

--- CAN_PHONE_BE_SEEN_ON_SCREEN
---
--- This one is weird and seems to return a TRUE state regardless of whether the phone is visible on screen or tucked away.  
--- I can confirm the above. This function is hard-coded to always return 1.  
--- 
---@return boolean
function CanPhoneBeSeenOnScreen()
end

--- CELL_CAM_ACTIVATE
---
---@param p0 boolean
---@param p1 boolean
---@return any
function CellCamActivate(p0, p1)
end

--- _CELL_CAM_SET_HEAD_PITCH
---
---@param p0 number
---@return any
function CellCamSetHeadPitch(p0)
end

--- _CELL_CAM_SET_HEAD_ROLL
---
---@param p0 number
---@return any
function CellCamSetHeadRoll(p0)
end

--- _CELL_CAM_SET_LEAN
---
--- if the bool "Toggle" is "true" so the phone is lean.  
--- if the bool "Toggle" is "false" so the phone is not lean.  
--- 
---@param toggle boolean
---@return any
function CellCamSetLean(toggle)
end

--- _SET_MOBILE_PHONE_UNK
---
---@param toggle boolean
---@return any
function SetMobilePhoneUnk(toggle)
end

--- CELL_CAM_IS_CHAR_VISIBLE_NO_FACE_CHECK
---
---@param entity number
---@return boolean
function CellCamIsCharVisibleNoFaceCheck(entity)
end

--- _CELL_CAM_SET_HEAD_HEIGHT
---
---@param p0 number
---@return any
function CellCamSetHeadHeight(p0)
end

--- _CELL_CAM_SET_HORIZONTAL_OFFSET
---
---@param p0 number
---@return any
function CellCamSetHorizontalOffset(p0)
end

--- _CELL_CAM_SET_VERTICAL_OFFSET
---
---@param p0 number
---@return any
function CellCamSetVerticalOffset(p0)
end

--- GET_MOBILE_PHONE_ROTATION
---
---@param rotation any
---@param p1 any
---@return any
function GetMobilePhoneRotation(rotation, p1)
end

--- _CELL_CAM_DISABLE_THIS_FRAME
---
--- Disables the phone up-button, oddly enough.   
--- i.e.: When the phone is out, and this method is called with false as it's parameter, the phone will not be able to scroll up. However, when you use the down arrow key, it's functionality still, works on the phone.   
--- When the phone is not out, and this method is called with false as it's parameter, you will not be able to bring up the phone. Although the up arrow key still works for whatever functionality it's used for, just not for the phone.  
--- This can be used for creating menu's when trying to disable the phone from being used.   
--- You do not have to call the function again with false as a parameter, as soon as the function stops being called, the phone will again be usable.  
--- 
---@param toggle boolean
---@return any
function CellCamDisableThisFrame(toggle)
end

--- SET_MOBILE_PHONE_POSITION
---
---@param posX number
---@param posY number
---@param posZ number
---@return any
function SetMobilePhonePosition(posX, posY, posZ)
end

--- SCRIPT_IS_MOVING_MOBILE_PHONE_OFFSCREEN
---
--- If bool Toggle = true so the mobile is hide to screen.  
--- If bool Toggle = false so the mobile is show to screen.  
--- 
---@param toggle boolean
---@return any
function ScriptIsMovingMobilePhoneOffscreen(toggle)
end

--- SET_MOBILE_PHONE_ROTATION
---
--- Last parameter is unknown and always zero.  
--- 
---@param rotX number
---@param rotY number
---@param rotZ number
---@param p3 any
---@return any
function SetMobilePhoneRotation(rotX, rotY, rotZ, p3)
end

--- SET_MOBILE_PHONE_SCALE
---
--- The minimum/default is 500.0f. If you plan to make it bigger set it's position as well. Also this seems to need to be called in a loop as when you close the phone the scale is reset. If not in a loop you'd need to call it everytime before you re-open the phone.  
--- 
---@param scale number
---@return any
function SetMobilePhoneScale(scale)
end

--- _CELL_CAM_MOVE_FINGER
---
--- For move the finger of player, the value of int goes 1 at 5.  
--- 
---@param direction any
---@return any
function CellCamMoveFinger(direction)
end

--- _CELL_CAM_SET_DISTANCE
---
---@param p0 number
---@return any
function CellCamSetDistance(p0)
end

--- CREATE_MOBILE_PHONE
---
--- Creates a mobile phone of the specified type.  
--- Possible phone types:  
--- 0 - Default phone / Michael's phone  
--- 1 - Trevor's phone  
--- 2 - Franklin's phone  
--- 4 - Prologue phone  
--- These values represent bit flags, so a value of '3' would toggle Trevor and Franklin's phones together, causing unexpected behavior and most likely crash the game.  
--- 
---@param phoneType any
---@return any
function CreateMobilePhone(phoneType)
end

--- GET_MOBILE_PHONE_RENDER_ID
---
---@param renderId any
---@return any
function GetMobilePhoneRenderId(renderId)
end

--- CREATE_OBJECT_NO_OFFSET
---Creates an object (prop) with the specified model centered at the specified position.
--- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
---@param modelHash any
---@param x number
---@param y number
---@param z number
---@param isNetwork boolean
---@param netMissionEntity boolean
---@param doorFlag boolean
---@return any
function CreateObjectNoOffset(modelHash, x, y, z, isNetwork, netMissionEntity, doorFlag)
end

--- HIDE_PORTABLE_PICKUP_WHEN_DETACHED
---
---@param pickup any
---@param toggle boolean
---@return any
function HidePortablePickupWhenDetached(pickup, toggle)
end

--- REMOVE_PICKUP
---
---@param pickup any
---@return any
function RemovePickup(pickup)
end

--- CREATE_PORTABLE_PICKUP
---
--- Pickup hashes: pastebin.com/8EuSv2r1
--- 
---@param pickupHash any
---@param x number
---@param y number
---@param z number
---@param placeOnGround boolean
---@param modelHash any
---@return any
function CreatePortablePickup(pickupHash, x, y, z, placeOnGround, modelHash)
end

--- DOOR_SYSTEM_SET_OPEN_RATIO
---
--- Sets the ajar angle of a door.
--- Ranges from -1.0 to 1.0, and 0.0 is closed / default.
--- 
---@param doorHash any
---@param ajar number
---@param requestDoor boolean
---@param forceUpdate boolean
---@return any
function DoorSystemSetOpenRatio(doorHash, ajar, requestDoor, forceUpdate)
end

--- GET_PICKUP_COORDS
---
---@param pickup any
---@return { x: number, y: number, z: number }
function GetPickupCoords(pickup)
end

--- IS_ANY_OBJECT_NEAR_POINT
---
---@param x number
---@param y number
---@param z number
---@param range number
---@param p4 boolean
---@return boolean
function IsAnyObjectNearPoint(x, y, z, range, p4)
end

--- IS_OBJECT_A_PICKUP
---
---@param object any
---@return boolean
function IsObjectAPickup(object)
end

--- SET_ACTIVATE_OBJECT_PHYSICS_AS_SOON_AS_IT_IS_UNFROZEN
---
---@param object any
---@param toggle boolean
---@return any
function SetActivateObjectPhysicsAsSoonAsItIsUnfrozen(object, toggle)
end

--- _SET_CREATE_WEAPON_OBJECT_LIGHT_SOURCE
---
--- Requires a component_at_*_flsh to be attached to the weapon object
--- 
---@param object any
---@param toggle boolean
---@return any
function SetCreateWeaponObjectLightSource(object, toggle)
end

--- _SET_OBJECT_STUNT_PROP_SPEEDUP
---Sets the intensity of Speed Boost and Slow Down props.
--- 
--- The corresponding values for Speed Boosts in the Creator are:\
--- Weak: 15\
--- Normal: 25\
--- Strong: 35\
--- Extra Strong: 45\
--- Ultra Strong: 100
--- 
--- For Slow Downs:\
--- Weak: 44\
--- Normal: 30\
--- Strong: 16
---@param object any
---@param intensity any
---@return any
function SetObjectStuntPropSpeedup(object, intensity)
end

--- CREATE_PICKUP
---
--- Pickup hashes: pastebin.com/8EuSv2r1  
--- 
---@param pickupHash any
---@param posX number
---@param posY number
---@param posZ number
---@param p4 any
---@param value any
---@param p6 boolean
---@param modelHash any
---@return any
function CreatePickup(pickupHash, posX, posY, posZ, p4, value, p6, modelHash)
end

--- SET_LOCAL_PLAYER_CAN_COLLECT_PORTABLE_PICKUPS
---
---@param p0 boolean
---@return any
function SetLocalPlayerCanCollectPortablePickups(p0)
end

--- SET_OBJECT_FORCE_VEHICLES_TO_AVOID
---Overrides a flag on the object which determines if the object should be avoided by a vehicle in task: CTaskVehicleGoToPointWithAvoidanceAutomobile.
--- Tested on vehicles that were created by the vehicle generators.
---@param object any
---@param toggle boolean
---@return any
function SetObjectForceVehiclesToAvoid(object, toggle)
end

--- _SET_OBJECT_TEXTURE_VARIATION
---
--- enum ObjectPaintVariants  
--- {  
--- 	Pacific = 0,  
--- 	Azure = 1,  
--- 	Nautical = 2,  
--- 	Continental = 3,  
--- 	Battleship = 4,  
--- 	Intrepid = 5,  
--- 	Uniform = 6,  
--- 	Classico = 7,  
--- 	Mediterranean = 8,  
--- 	Command = 9,  
--- 	Mariner = 10,  
--- 	Ruby = 11,  
--- 	Vintage = 12,  
--- 	Pristine = 13,  
--- 	Merchant = 14,  
--- 	Voyager = 15  
--- };  
--- 
---@param object any
---@param textureVariation any
---@return any
function SetObjectTextureVariation(object, textureVariation)
end

--- IS_PLAYER_ENTIRELY_INSIDE_GARAGE
---
---@param garageHash any
---@param player number
---@param p2 number
---@param p3 any
---@return boolean
function IsPlayerEntirelyInsideGarage(garageHash, player, p2, p3)
end

--- IS_OBJECT_VISIBLE
---
---@param object any
---@return boolean
function IsObjectVisible(object)
end

--- RENDER_FAKE_PICKUP_GLOW
---
--- draws circular marker at pos
--- -1 = none
--- 0 = red
--- 1 = green
--- 2 = blue
--- 3 = green larger
--- 4 = nothing
--- 5 = green small
--- 
---@param x number
---@param y number
---@param z number
---@param colorIndex any
---@return any
function RenderFakePickupGlow(x, y, z, colorIndex)
end

--- DOES_OBJECT_OF_TYPE_EXIST_AT_COORDS
---
--- p5 is usually 0.  
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param hash any
---@param p5 boolean
---@return boolean
function DoesObjectOfTypeExistAtCoords(x, y, z, radius, hash, p5)
end

--- IS_OBJECT_PARTIALLY_INSIDE_GARAGE
---
---@param garageHash any
---@param entity number
---@param p2 any
---@return boolean
function IsObjectPartiallyInsideGarage(garageHash, entity, p2)
end

--- GET_STATE_OF_CLOSEST_DOOR_OF_TYPE
---
--- locked is 0 if no door is found  
--- locked is 0 if door is unlocked  
--- locked is 1 if door is found and unlocked.  
--- -------------  
--- the locked bool is either 0(unlocked)(false) or 1(locked)(true)  
--- 
---@param type any
---@param x number
---@param y number
---@param z number
---@param locked any
---@param heading any
---@return any
function GetStateOfClosestDoorOfType(type, x, y, z, locked, heading)
end

--- PREVENT_COLLECTION_OF_PORTABLE_PICKUP
---
---@param object any
---@param p1 boolean
---@param p2 boolean
---@return any
function PreventCollectionOfPortablePickup(object, p1, p2)
end

--- SLIDE_OBJECT
---
--- Returns true if the object has finished moving.  
--- If false, moves the object towards the specified X, Y and Z coordinates with the specified X, Y and Z speed.  
--- See also: https://gtagmodding.com/opcode-database/opcode/034E/
--- Has to be looped until it returns true.   
--- 
---@param object any
---@param toX number
---@param toY number
---@param toZ number
---@param speedX number
---@param speedY number
---@param speedZ number
---@param collision boolean
---@return boolean
function SlideObject(object, toX, toY, toZ, speedX, speedY, speedZ, collision)
end

--- DOES_RAYFIRE_MAP_OBJECT_EXIST
---
--- Returns true if a destructible object with this handle exists, false otherwise.  
--- 
---@param object any
---@return boolean
function DoesRayfireMapObjectExist(object)
end

--- DOOR_SYSTEM_GET_DOOR_STATE
---
---@param doorHash any
---@return any
function DoorSystemGetDoorState(doorHash)
end

--- _SET_ENABLE_ARENA_PROP_PHYSICS
---
--- Activate the physics to: "xs_prop_arena_{flipper,wall,bollard,turntable,pit}"
--- 
--- 
--- 
--- NativeDB Introduced: v1604
--- 
---@param entity any
---@param toggle boolean
---@param p2 any
---@return any
function SetEnableArenaPropPhysics(entity, toggle, p2)
end

--- SET_OBJECT_PHYSICS_PARAMS
---
--- rage::phArchetypeDamp
--- p9: Some phBoundGeometry margin value, limited to (0.0, 0.1) exclusive.
--- 
---@param object any
---@param mass number
---@param gravityFactor number
---@param linearC number
---@param linearV number
---@param linearV2 number
---@param angularC number
---@param angularV number
---@param angularV2 number
---@param p9 number
---@param maxAngSpeed number
---@param buoyancyFactor number
---@return any
function SetObjectPhysicsParams(object, mass, gravityFactor, linearC, linearV, linearV2, angularC, angularV, angularV2, p9, maxAngSpeed, buoyancyFactor)
end

--- _DOOR_SYSTEM_GET_AUTOMATIC_DISTANCE
---
--- NativeDB Introduced: v1868
--- 
---@param doorHash any
---@return number
function DoorSystemGetAutomaticDistance(doorHash)
end

--- _GET_OBJECT_OFFSET_FROM_COORDS
---
---@param xPos number
---@param yPos number
---@param zPos number
---@param heading number
---@param xOffset number
---@param yOffset number
---@param zOffset number
---@return { x: number, y: number, z: number }
function GetObjectOffsetFromCoords(xPos, yPos, zPos, heading, xOffset, yOffset, zOffset)
end

--- _CLEAR_GARAGE_AREA
---
---@param garageHash any
---@param isNetwork boolean
---@return any
function ClearGarageArea(garageHash, isNetwork)
end

--- CREATE_OBJECT
---Creates an object (prop) with the specified model at the specified position, offset on the Z axis by the radius of the object's model.
--- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
---@param modelHash any
---@param x number
---@param y number
---@param z number
---@param isNetwork boolean
---@param netMissionEntity boolean
---@param doorFlag boolean
---@return any
function CreateObject(modelHash, x, y, z, isNetwork, netMissionEntity, doorFlag)
end

--- DOOR_SYSTEM_GET_DOOR_PENDING_STATE
---
---@param doorHash any
---@return any
function DoorSystemGetDoorPendingState(doorHash)
end

--- GET_COORDS_AND_ROTATION_OF_CLOSEST_OBJECT_OF_TYPE
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@param modelHash any
---@param outPosition any
---@param outRotation any
---@param rotationOrder any
---@return any
function GetCoordsAndRotationOfClosestObjectOfType(x, y, z, radius, modelHash, outPosition, outRotation, rotationOrder)
end

--- HAS_PICKUP_BEEN_COLLECTED
---
---@param pickup any
---@return boolean
function HasPickupBeenCollected(pickup)
end

--- _PLACE_OBJECT_ON_GROUND_PROPERLY_2
---
---@param object any
---@return boolean
function PlaceObjectOnGroundProperly2(object)
end

--- _GET_PICKUP_HASH_FROM_WEAPON
---
--- NativeDB Introduced: v1290
--- 
---@param weapon any
---@return any
function GetPickupHashFromWeapon(weapon)
end

--- IS_DOOR_CLOSED
---
---@param doorHash any
---@return boolean
function IsDoorClosed(doorHash)
end

--- IS_PLAYER_PARTIALLY_INSIDE_GARAGE
---
---@param garageHash any
---@param player number
---@param p2 any
---@return boolean
function IsPlayerPartiallyInsideGarage(garageHash, player, p2)
end

--- _SET_TEXTURE_VARIATION_OF_CLOSEST_OBJECT_OF_TYPE
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@param modelHash any
---@param textureVariation any
---@return boolean
function SetTextureVariationOfClosestObjectOfType(x, y, z, radius, modelHash, textureVariation)
end

--- CREATE_MONEY_PICKUPS
---
--- Spawns one or more money pickups.  
--- x: The X-component of the world position to spawn the money pickups at.  
--- y: The Y-component of the world position to spawn the money pickups at.  
--- z: The Z-component of the world position to spawn the money pickups at.  
--- value: The combined value of the pickups (in dollars).  
--- amount: The number of pickups to spawn.  
--- model: The model to use, or 0 for default money model.  
--- Example:  
--- CREATE_MONEY_PICKUPS(x, y, z, 1000, 3, 0x684a97ae);  
--- Spawns 3 spray cans that'll collectively give $1000 when picked up. (Three spray cans, each giving $334, $334, $332 = $1000).  
--- ==============================================  
--- Max is 2000 in MP. So if you put the amount to 20, but the value to $400,000 eg. They will only be able to pickup 20 - $2,000 bags. So, $40,000  
--- 
---@param x number
---@param y number
---@param z number
---@param value any
---@param amount any
---@param model any
---@return any
function CreateMoneyPickups(x, y, z, value, amount, model)
end

--- _GET_IS_ARENA_PROP_PHYSICS_DISABLED
---
--- NativeDB Introduced: v1604
--- 
---@param entity any
---@param p1 any
---@return boolean
function GetIsArenaPropPhysicsDisabled(entity, p1)
end

--- _MARK_OBJECT_FOR_DELETION
---
--- is this like setting is as no longer needed?  
--- 
---@param object any
---@return any
function MarkObjectForDeletion(object)
end

--- SET_MAX_NUM_PORTABLE_PICKUPS_CARRIED_BY_PLAYER
---
---@param modelHash any
---@param p1 any
---@return any
function SetMaxNumPortablePickupsCarriedByPlayer(modelHash, p1)
end

--- DOES_PICKUP_OF_TYPE_EXIST_IN_AREA
---
--- Pickup hashes: pastebin.com/8EuSv2r1  
--- 
---@param pickupHash any
---@param x number
---@param y number
---@param z number
---@param radius number
---@return boolean
function DoesPickupOfTypeExistInArea(pickupHash, x, y, z, radius)
end

--- IS_OBJECT_ENTIRELY_INSIDE_GARAGE
---
---@param garageHash any
---@param entity number
---@param p2 number
---@param p3 any
---@return boolean
function IsObjectEntirelyInsideGarage(garageHash, entity, p2, p3)
end

--- PLACE_OBJECT_ON_GROUND_PROPERLY
---
---@param object any
---@return boolean
function PlaceObjectOnGroundProperly(object)
end

--- _GET_OBJECT_TEXTURE_VARIATION
---
---@param object any
---@return any
function GetObjectTextureVariation(object)
end

--- SET_OBJECT_ALLOW_LOW_LOD_BUOYANCY
---
--- Overrides the climbing/blocking flags of the object, used in the native scripts mostly for "prop_dock_bouy_*"
--- 
---@param object any
---@param toggle boolean
---@return any
function SetObjectAllowLowLodBuoyancy(object, toggle)
end

--- ARE_ENTITIES_ENTIRELY_INSIDE_GARAGE
---
---@param garageHash any
---@param p1 boolean
---@param p2 boolean
---@param p3 boolean
---@param p4 any
---@return boolean
function AreEntitiesEntirelyInsideGarage(garageHash, p1, p2, p3, p4)
end

--- CLEAR_OBJECTS_INSIDE_GARAGE
---
---@param garageHash any
---@param vehicles boolean
---@param peds boolean
---@param objects boolean
---@param isNetwork boolean
---@return any
function ClearObjectsInsideGarage(garageHash, vehicles, peds, objects, isNetwork)
end

--- GET_SAFE_PICKUP_COORDS
---
---@param x number
---@param y number
---@param z number
---@param p3 number
---@param p4 number
---@return { x: number, y: number, z: number }
function GetSafePickupCoords(x, y, z, p3, p4)
end

--- HAS_CLOSEST_OBJECT_OF_TYPE_BEEN_COMPLETELY_DESTROYED
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@param modelHash any
---@param p5 boolean
---@return boolean
function HasClosestObjectOfTypeBeenCompletelyDestroyed(x, y, z, radius, modelHash, p5)
end

--- _SET_PICKUP_HIDDEN_WHEN_UNCOLLECTABLE
---
---@param p0 any
---@param p1 any
---@return any
function SetPickupHiddenWhenUncollectable(p0, p1)
end

--- DOES_PICKUP_OBJECT_EXIST
---
---@param pickupObject any
---@return boolean
function DoesPickupObjectExist(pickupObject)
end

--- DOOR_SYSTEM_SET_AUTOMATIC_RATE
---Includes networking check: ownership vs. or the door itself **isn't** networked.
---@param doorHash any
---@param rate number
---@param requestDoor boolean
---@param forceUpdate boolean
---@return any
function DoorSystemSetAutomaticRate(doorHash, rate, requestDoor, forceUpdate)
end

--- _GET_PICKUP_GENERATION_RANGE_MULTIPLIER
---
---@return number
function GetPickupGenerationRangeMultiplier()
end

--- IS_GARAGE_EMPTY
---
---@param garageHash any
---@param p1 boolean
---@param p2 any
---@return boolean
function IsGarageEmpty(garageHash, p1, p2)
end

--- SET_PICKUP_REGENERATION_TIME
---
---@param pickup any
---@param duration any
---@return any
function SetPickupRegenerationTime(pickup, duration)
end

--- _CREATE_NON_NETWORKED_AMBIENT_PICKUP
---
--- NativeDB Introduced: v2372
--- 
---@param pickupHash any
---@param posX number
---@param posY number
---@param posZ number
---@param flags any
---@param value any
---@param modelHash any
---@param p7 boolean
---@param p8 boolean
---@return any
function CreateNonNetworkedAmbientPickup(pickupHash, posX, posY, posZ, flags, value, modelHash, p7, p8)
end

--- GET_CLOSEST_OBJECT_OF_TYPE
---
--- Has 8 params in the latest patches.  
--- isMission - if true doesn't return mission objects  
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param modelHash any
---@param isMission boolean
---@param p6 boolean
---@param p7 boolean
---@return any
function GetClosestObjectOfType(x, y, z, radius, modelHash, isMission, p6, p7)
end

--- _FORCE_PICKUP_REGENERATE
---
---@param p0 any
---@return any
function ForcePickupRegenerate(p0)
end

--- REMOVE_OBJECT_HIGH_DETAIL_MODEL
---
---@param object any
---@return any
function RemoveObjectHighDetailModel(object)
end

--- DETACH_PORTABLE_PICKUP_FROM_PED
---
---@param pickupObject any
---@return any
function DetachPortablePickupFromPed(pickupObject)
end

--- DOOR_SYSTEM_SET_AUTOMATIC_DISTANCE
---
---@param doorHash any
---@param distance number
---@param requestDoor boolean
---@param forceUpdate boolean
---@return any
function DoorSystemSetAutomaticDistance(doorHash, distance, requestDoor, forceUpdate)
end

--- _GET_PICKUP_HASH
---
--- returns pickup hash.
--- 
---@param pickupHash any
---@return any
function GetPickupHash(pickupHash)
end

--- GET_PICKUP_OBJECT
---
---@param pickup any
---@return any
function GetPickupObject(pickup)
end

--- REMOVE_ALL_PICKUPS_OF_TYPE
---
--- Pickup hashes: pastebin.com/8EuSv2r1  
--- 
---@param pickupHash any
---@return any
function RemoveAllPickupsOfType(pickupHash)
end

--- DOOR_SYSTEM_SET_DOOR_STATE
---Lockstates not applied and CNetObjDoor's not created until [DOOR_SYSTEM_GET_IS_PHYSICS_LOADED](#\_0xDF97CDD4FC08FD34) returns true.
--- 
--- ### Door lock states: (v323)
--- 
--- *   **0**: UNLOCKED
--- *   **1**: LOCKED
--- *   **2**: DOORSTATE_FORCE_LOCKED_UNTIL_OUT_OF_AREA
--- *   **3**: DOORSTATE_FORCE_UNLOCKED_THIS_FRAME
--- *   **4**: DOORSTATE_FORCE_LOCKED_THIS_FRAME
--- *   **5**: DOORSTATE_FORCE_OPEN_THIS_FRAME
--- *   **6**: DOORSTATE_FORCE_CLOSED_THIS_FRAME
---@param doorHash any
---@param state any
---@param requestDoor boolean
---@param forceUpdate boolean
---@return any
function DoorSystemSetDoorState(doorHash, state, requestDoor, forceUpdate)
end

--- REMOVE_DOOR_FROM_SYSTEM
---CDoor and CDoorSystemData still internally allocated (and their associations between doorHash, modelHash, and coordinates).
--- 
--- Only its NetObj removed and flag *(v2 + 192) |= 8u (1604 retail) toggled.
---@param doorHash any
---@return any
function RemoveDoorFromSystem(doorHash)
end

--- SET_TEAM_PICKUP_OBJECT
---
---@param object any
---@param p1 any
---@param p2 boolean
---@return any
function SetTeamPickupObject(object, p1, p2)
end

--- _SET_ENABLE_ARENA_PROP_PHYSICS_ON_PED
---
--- NativeDB Introduced: v1604
--- 
---@param entity any
---@param toggle boolean
---@param p2 any
---@param ped number
---@return any
function SetEnableArenaPropPhysicsOnPed(entity, toggle, p2, ped)
end

--- BREAK_OBJECT_FRAGMENT_CHILD
---
---@param p0 any
---@param p1 any
---@param p2 boolean
---@return any
function BreakObjectFragmentChild(p0, p1, p2)
end

--- CREATE_AMBIENT_PICKUP
---
--- Used for doing money drop  
--- Pickup hashes: pastebin.com/8EuSv2r1  
--- 
---@param pickupHash any
---@param posX number
---@param posY number
---@param posZ number
---@param flags any
---@param value any
---@param modelHash any
---@param returnHandle boolean
---@param p8 boolean
---@return any
function CreateAmbientPickup(pickupHash, posX, posY, posZ, flags, value, modelHash, returnHandle, p8)
end

--- DOES_PICKUP_EXIST
---
---@param pickup any
---@return boolean
function DoesPickupExist(pickup)
end

--- ENABLE_SAVING_IN_GARAGE
---
---@param garageHash any
---@param toggle boolean
---@return any
function EnableSavingInGarage(garageHash, toggle)
end

--- IS_POINT_IN_ANGLED_AREA
---An **angled area** is an X-Z oriented rectangle with three parameters:
--- 
--- 1.  **origin**: the mid-point along a base edge of the rectangle;
--- 2.  **extent**: the mid-point of opposite base edge on the other Z;
--- 3.  **width**: the length of the base edge; (named derived from logging strings CNetworkRoadNodeWorldStateData).
--- 
--- The oriented rectangle can then be derived from the direction of the two points (norm(origin - extent)), its orthonormal, and the width, e.g:
--- 
--- 1.  [golf_mp](https://i.imgur.com/JhsQAK9.png)
--- 2.  [am_taxi](https://i.imgur.com/TJWCZaT.jpg)
---@param xPos number
---@param yPos number
---@param zPos number
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param width number
---@param p10 boolean
---@param includez boolean
---@return boolean
function IsPointInAngledArea(xPos, yPos, zPos, x1, y1, z1, x2, y2, z2, width, p10, includez)
end

--- DELETE_OBJECT
---
--- Deletes the specified object, then sets the handle pointed to by the pointer to NULL.
--- 
---@param object any
---@return any
function DeleteObject(object)
end

--- IS_OBJECT_NEAR_POINT
---
---@param objectHash any
---@param x number
---@param y number
---@param z number
---@param range number
---@return boolean
function IsObjectNearPoint(objectHash, x, y, z, range)
end

--- SET_STATE_OF_RAYFIRE_MAP_OBJECT
---
--- Defines the state of a destructible object.
--- Use the GET_RAYFIRE_MAP_OBJECT native to find an object's handle with its name / coords.
--- State 2 == object just spawned
--- State 4 == Beginning of the animation
--- State 6 == Start animation
--- State 9 == End of the animation
--- 
---@param object any
---@param state any
---@return any
function SetStateOfRayfireMapObject(object, state)
end

--- ATTACH_PORTABLE_PICKUP_TO_PED
---
---@param pickupObject any
---@param ped number
---@return any
function AttachPortablePickupToPed(pickupObject, ped)
end

--- DOOR_SYSTEM_GET_OPEN_RATIO
---
---@param doorHash any
---@return number
function DoorSystemGetOpenRatio(doorHash)
end

--- GET_STATE_OF_RAYFIRE_MAP_OBJECT
---See [SET_STATE_OF_RAYFIRE_MAP_OBJECT](#\_0x5C29F698D404C5E1) to see the different states
--- 
--- Get a destructible object's state. Substract 1 to get the real state. For example, if the object just spawned (state 2), the native will return 3.
---@param object any
---@return any
function GetStateOfRayfireMapObject(object)
end

--- _SET_OBJECT_LIGHT_COLOR
---Sets color of embedded light source.
--- Only appears in am_mp_nightclub.c for the nightclub dancefloor.
--- 
--- Not sure what p1 does, seems to only ever be '1' in scripts.
--- 
--- 
--- NativeDB Introduced: v1493
--- 
---@param object any
---@param p1 boolean
---@param r any
---@param g any
---@param b any
---@return any
function SetObjectLightColor(object, p1, r, g, b)
end

--- ADD_DOOR_TO_SYSTEM
---p5 only set to true in single player native scripts. Door hashes normally look like PROP_[int]_DOOR_[int] for interior doors and PROP_BUILDING_[int]_DOOR_[int] exterior doors but you can just make up your own hash if you want.
--- 
--- If scriptDoor is true, register the door on the script handler host (note: there's a hardcap on the number of script IDs that can be added to the system at a given time). If scriptDoor and isLocal are both false, the door is considered to be in a "Persists w/o netobj" state.
--- 
--- A simple "localized" door-system (with hundreds/thousands of doors) can be created by setting p5, p6, and p7 to false and using EventHandlers to synchronize the states to: [DOOR_SYSTEM_SET_DOOR_STATE](#\_0x6BAB9442830C7F53), [DOOR_SYSTEM_SET_OPEN_RATIO](#\_0xB6E6FBA95C7324AC), [DOOR_SYSTEM_SET_HOLD_OPEN](#\_0xD9B71952F78A2640), etc.
---@param doorHash any
---@param modelHash any
---@param x number
---@param y number
---@param z number
---@param p5 boolean
---@param scriptDoor boolean
---@param isLocal boolean
---@return any
function AddDoorToSystem(doorHash, modelHash, x, y, z, p5, scriptDoor, isLocal)
end

--- IS_PICKUP_WEAPON_OBJECT_VALID
---
---@param object any
---@return boolean
function IsPickupWeaponObjectValid(object)
end

--- CREATE_NON_NETWORKED_PORTABLE_PICKUP
---
---@param pickupHash any
---@param x number
---@param y number
---@param z number
---@param placeOnGround boolean
---@param modelHash any
---@return any
function CreateNonNetworkedPortablePickup(pickupHash, x, y, z, placeOnGround, modelHash)
end

--- _SET_UNK_GLOBAL_BOOL_RELATED_TO_DAMAGE
---
--- NativeDB Introduced: v1365
--- 
---@param value boolean
---@return any
function SetUnkGlobalBoolRelatedToDamage(value)
end

--- GET_RAYFIRE_MAP_OBJECT_ANIM_PHASE
---
--- object: The des-object handle to get the animation progress from.
--- Return value is a float between 0.0 and 1.0, 0.0 is the beginning of the animation, 1.0 is the end. Value resets to 0.0 instantly after reaching 1.0.
--- 
---@param object any
---@return number
function GetRayfireMapObjectAnimPhase(object)
end

--- SET_OBJECT_TARGETTABLE
---
---@param object any
---@param targettable boolean
---@return any
function SetObjectTargettable(object, targettable)
end

--- _TOGGLE_USE_PICKUPS_FOR_PLAYER
---
--- Disabling/enabling a player from getting pickups. From the scripts:
--- OBJECT::_616093EC6B139DD9(PLAYER::PLAYER_ID(), ${pickup_portable_package}, 0);
--- OBJECT::_616093EC6B139DD9(PLAYER::PLAYER_ID(), ${pickup_portable_package}, 0);
--- OBJECT::_616093EC6B139DD9(PLAYER::PLAYER_ID(), ${pickup_portable_package}, 1);
--- OBJECT::_616093EC6B139DD9(PLAYER::PLAYER_ID(), ${pickup_portable_package}, 0);
--- OBJECT::_616093EC6B139DD9(PLAYER::PLAYER_ID(), ${pickup_armour_standard}, 0);
--- OBJECT::_616093EC6B139DD9(PLAYER::PLAYER_ID(), ${pickup_armour_standard}, 1);
--- SET_PLAYER_*
--- 
---@param player number
---@param pickupHash any
---@param toggle boolean
---@return any
function ToggleUsePickupsForPlayer(player, pickupHash, toggle)
end

--- SET_STATE_OF_CLOSEST_DOOR_OF_TYPE
---
--- Hardcoded to not work in multiplayer.  
--- Used to lock/unlock doors to interior areas of the game.  
--- (Possible) Door Types:  
--- pastebin.com/9S2m3qA4  
--- Heading is either 1, 0 or -1 in the scripts. Means default closed(0) or opened either into(1) or out(-1) of the interior.  
--- Locked means that the heading is locked.    
--- p6 is always 0.   
--- 225 door types, model names and coords found in stripclub.c4:  
--- pastebin.com/gywnbzsH  
--- get door info: pastebin.com/i14rbekD  
--- 
---@param type any
---@param x number
---@param y number
---@param z number
---@param locked boolean
---@param heading number
---@param p6 boolean
---@return any
function SetStateOfClosestDoorOfType(type, x, y, z, locked, heading, p6)
end

--- _DOOR_CONTROL
---Hardcoded not to work in multiplayer environments.
--- Native name between SET_LOCAL_PLAYER_VISIBLE_LOCALLY & SET_MAX_WANTED_LEVEL.
--- 
--- 
--- OBJECT::_9B12F9A24FABEDB0(${prop_gate_prison_01}, 1845.0, 2605.0, 45.0, 0, 0.0, 50.0, 0);  //door unlocked
--- OBJECT::_9B12F9A24FABEDB0(${prop_gate_prison_01}, 1845.0, 2605.0, 45.0, 1, 0.0, 50.0, 0);  //door locked
--- 
---@param modelHash any
---@param x number
---@param y number
---@param z number
---@param locked boolean
---@param xRotMult number
---@param yRotMult number
---@param zRotMult number
---@return any
function DoorControl(modelHash, x, y, z, locked, xRotMult, yRotMult, zRotMult)
end

--- DOOR_SYSTEM_FIND_EXISTING_DOOR
---Search radius: 0.5
---@param x number
---@param y number
---@param z number
---@param modelHash any
---@param doorOutPointer any
---@return boolean
function DoorSystemFindExistingDoor(x, y, z, modelHash, doorOutPointer)
end

--- GET_OBJECT_FRAGMENT_DAMAGE_HEALTH
---
---@param p0 any
---@param p1 boolean
---@return number
function GetObjectFragmentDamageHealth(p0, p1)
end

--- HAS_OBJECT_BEEN_BROKEN
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param object any
---@return boolean
function HasObjectBeenBroken(object)
end

--- _SET_PICKUP_UNCOLLECTABLE
---
---@param p0 any
---@param p1 any
---@return any
function SetPickupUncollectable(p0, p1)
end

--- TRACK_OBJECT_VISIBILITY
---
---@param object any
---@return any
function TrackObjectVisibility(object)
end

--- DOOR_SYSTEM_SET_HOLD_OPEN
---Includes networking check: ownership vs. or the door itself **isn't** networked.
---@param doorHash any
---@param toggle boolean
---@return any
function DoorSystemSetHoldOpen(doorHash, toggle)
end

--- DOOR_SYSTEM_SET_SPRING_REMOVED
---Includes networking check: ownership vs. or the door itself **isn't** networked.
---@param doorHash any
---@param removed boolean
---@param requestDoor boolean
---@param forceUpdate boolean
---@return any
function DoorSystemSetSpringRemoved(doorHash, removed, requestDoor, forceUpdate)
end

--- GET_RAYFIRE_MAP_OBJECT
---
--- Example:
--- OBJECT::GET_RAYFIRE_MAP_OBJECT(-809.9619750976562, 170.919, 75.7406997680664, 3.0, "des_tvsmash");
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param name any
---@return any
function GetRayfireMapObject(x, y, z, radius, name)
end

--- HAS_CLOSEST_OBJECT_OF_TYPE_BEEN_BROKEN
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param modelHash any
---@param p5 any
---@return boolean
function HasClosestObjectOfTypeBeenBroken(p0, p1, p2, p3, modelHash, p5)
end

--- IS_OBJECT_A_PORTABLE_PICKUP
---
--- NativeDB Introduced: v1365
--- 
---@param object any
---@return boolean
function IsObjectAPortablePickup(object)
end

--- IS_ANY_ENTITY_ENTIRELY_INSIDE_GARAGE
---
---@param garageHash any
---@param p1 boolean
---@param p2 boolean
---@param p3 boolean
---@param p4 any
---@return boolean
function IsAnyEntityEntirelyInsideGarage(garageHash, p1, p2, p3, p4)
end

--- SET_PICKUP_GENERATION_RANGE_MULTIPLIER
---
---@param multiplier number
---@return any
function SetPickupGenerationRangeMultiplier(multiplier)
end

--- CREATE_PICKUP_ROTATE
---
--- Pickup hashes: pastebin.com/8EuSv2r1  
--- flags:  
--- 8 (1 << 3): place on ground  
--- 512 (1 << 9): spin around  
--- 
---@param pickupHash any
---@param posX number
---@param posY number
---@param posZ number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param flag any
---@param amount any
---@param p9 any
---@param p10 boolean
---@param modelHash any
---@return any
function CreatePickupRotate(pickupHash, posX, posY, posZ, rotX, rotY, rotZ, flag, amount, p9, p10, modelHash)
end

--- DOOR_SYSTEM_GET_IS_PHYSICS_LOADED
---
---@param doorHash any
---@return boolean
function DoorSystemGetIsPhysicsLoaded(doorHash)
end

--- GET_WEAPON_TYPE_FROM_PICKUP_TYPE
---
---@param pickupHash any
---@return any
function GetWeaponTypeFromPickupType(pickupHash)
end

--- IS_DOOR_REGISTERED_WITH_SYSTEM
---
--- if (OBJECT::IS_DOOR_REGISTERED_WITH_SYSTEM(doorHash))
--- {
---     OBJECT::REMOVE_DOOR_FROM_SYSTEM(doorHash);
--- }
--- 
---@param doorHash any
---@return boolean
function IsDoorRegisteredWithSystem(doorHash)
end

--- _SET_LOCAL_PLAYER_CAN_USE_PICKUPS_WITH_THIS_MODEL
---
--- Maximum amount of pickup models that can be disallowed is 30.
--- SET_LOCAL_PLAYER_*
--- 
---@param modelHash any
---@param toggle boolean
---@return any
function SetLocalPlayerCanUsePickupsWithThisModel(modelHash, toggle)
end

--- _SET_OBJECT_STUNT_PROP_DURATION
---
---@param object any
---@param duration number
---@return any
function SetObjectStuntPropDuration(object, duration)
end

--- SET_FORCE_OBJECT_THIS_FRAME
---
---@param x number
---@param y number
---@param z number
---@param p3 number
---@return any
function SetForceObjectThisFrame(x, y, z, p3)
end

--- PLAYSTATS_NPC_INVITE
---
---@param p0 any
---@return any
function PlaystatsNpcInvite(p0)
end

--- PLAYSTATS_QUICKFIX_TOOL
---
---@param element any
---@param item any
---@return any
function PlaystatsQuickfixTool(element, item)
end

--- STAT_GET_LICENSE_PLATE
---
---@param statName any
---@return any
function StatGetLicensePlate(statName)
end

--- _PLAYSTATS_COLLECTIBLE
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@param p7 any
---@param p8 any
---@param p9 any
---@return any
function PlaystatsCollectible(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9)
end

--- _PLAYSTATS_CASINO_BLACKJACK_LIGHT
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@return any
function PlaystatsCasinoBlackjackLight(p0)
end

--- STAT_SLOT_IS_LOADED
---
---@param p0 any
---@return boolean
function StatSlotIsLoaded(p0)
end

--- LEADERBOARDS_GET_CACHE_TIME
---
---@param p0 any
---@return any
function LeaderboardsGetCacheTime(p0)
end

--- _PLAYSTATS_PASSIVE_MODE
---
--- NativeDB Introduced: v1734
--- 
---@param p0 boolean
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function PlaystatsPassiveMode(p0, p1, p2, p3)
end

--- STAT_DELETE_SLOT
---
---@param p0 any
---@return any
function StatDeleteSlot(p0)
end

--- STAT_SET_GXT_LABEL
---
--- The following values have been found in the decompiled scripts:  
--- "RC_ABI1"  
--- "RC_ABI2"  
--- "RC_BA1"  
--- "RC_BA2"  
--- "RC_BA3"  
--- "RC_BA3A"  
--- "RC_BA3C"  
--- "RC_BA4"  
--- "RC_DRE1"  
--- "RC_EPS1"  
--- "RC_EPS2"  
--- "RC_EPS3"  
--- "RC_EPS4"  
--- "RC_EPS5"  
--- "RC_EPS6"  
--- "RC_EPS7"  
--- "RC_EPS8"  
--- "RC_EXT1"  
--- "RC_EXT2"  
--- "RC_EXT3"  
--- "RC_EXT4"  
--- "RC_FAN1"  
--- "RC_FAN2"  
--- "RC_FAN3"  
--- "RC_HAO1"  
--- "RC_HUN1"  
--- "RC_HUN2"  
--- "RC_JOS1"  
--- "RC_JOS2"  
--- "RC_JOS3"  
--- "RC_JOS4"  
--- "RC_MAU1"  
--- "RC_MIN1"  
--- "RC_MIN2"  
--- "RC_MIN3"  
--- "RC_MRS1"  
--- "RC_MRS2"  
--- "RC_NI1"  
--- "RC_NI1A"  
--- "RC_NI1B"  
--- "RC_NI1C"  
--- "RC_NI1D"  
--- "RC_NI2"  
--- "RC_NI3"  
--- "RC_OME1"  
--- "RC_OME2"  
--- "RC_PA1"  
--- "RC_PA2"  
--- "RC_PA3"  
--- "RC_PA3A"  
--- "RC_PA3B"  
--- "RC_PA4"  
--- "RC_RAM1"  
--- "RC_RAM2"  
--- "RC_RAM3"  
--- "RC_RAM4"  
--- "RC_RAM5"  
--- "RC_SAS1"  
--- "RC_TON1"  
--- "RC_TON2"  
--- "RC_TON3"  
--- "RC_TON4"  
--- "RC_TON5"  
--- 
---@param statName any
---@param value any
---@param save boolean
---@return boolean
function StatSetGxtLabel(statName, value, save)
end

--- _PLAYSTATS_CASINO_THREECARDPOKER
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@return any
function PlaystatsCasinoThreecardpoker(p0)
end

--- _STAT_SAVE_MIGRATION_CONSUME_CONTENT_UNLOCK
---
---@param contentId any
---@param srcPlatform any
---@param srcGamerHandle any
---@return boolean
function StatSaveMigrationConsumeContentUnlock(contentId, srcPlatform, srcGamerHandle)
end

--- _PLAYSTATS_ARCADEGAME
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@return any
function PlaystatsArcadegame(p0, p1, p2, p3, p4, p5)
end

--- STAT_SET_USER_ID
---
---@param statName any
---@param value any
---@param save boolean
---@return boolean
function StatSetUserId(statName, value, save)
end

--- LEADERBOARDS2_READ_BY_ROW
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@return boolean
function Leaderboards2ReadByRow(p0, p1, p2, p3, p4, p5, p6)
end

--- _PLAYSTATS_STUNT_PERFORMED_EVENT_DISALLOW_TRIGGER
---
--- Disallows CEventNetworkStuntPerformed to be triggered.
--- 
---@return any
function PlaystatsStuntPerformedEventDisallowTrigger()
end

--- _SET_HAS_CONTENT_UNLOCKS_FLAGS
---
--- Sets profile setting 866
--- SET_*
--- 
---@param value any
---@return any
function SetHasContentUnlocksFlags(value)
end

--- STAT_GET_BOOL_MASKED
---
--- p2 - Default value? Seems to be -1 most of the time.  
--- 
---@param statName any
---@param mask any
---@param p2 any
---@return boolean
function StatGetBoolMasked(statName, mask, p2)
end

--- LEADERBOARDS_GET_CACHE_DATA_ROW
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return boolean
function LeaderboardsGetCacheDataRow(p0, p1, p2)
end

--- PLAYSTATS_MISSION_STARTED
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 boolean
---@return any
function PlaystatsMissionStarted(p0, p1, p2, p3)
end

--- _STAT_GET_PACKED_INT_MASK
---
--- Needs more research. Possibly used to calculate the "mask" when calling "STAT_SET_MASKED_INT"?  
--- 
---@param p0 any
---@return any
function StatGetPackedIntMask(p0)
end

--- _PLAYSTATS_SELL_CONTRABAND
---
---@param data any
---@return any
function PlaystatsSellContraband(data)
end

--- PLAYSTATS_CLOTH_CHANGE
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function PlaystatsClothChange(p0, p1, p2, p3, p4)
end

--- PLAYSTATS_ODDJOB_DONE
---**This native does absolutely nothing, just a nullsub**
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function PlaystatsOddjobDone(p0, p1, p2)
end

--- _PLAYSTATS_PI_MENU_HIDE_SETTINGS
---
---@param data any
---@return any
function PlaystatsPiMenuHideSettings(data)
end

--- GET_PACKED_TU_INT_STAT_KEY
---
---@param index any
---@param spStat boolean
---@param charStat boolean
---@param character any
---@return any
function GetPackedTuIntStatKey(index, spStat, charStat, character)
end

--- _PLAYSTATS_ROBBERY_PREP
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@return any
function PlaystatsRobberyPrep(p0)
end

--- _HIRED_LIMO
---
---@param p0 any
---@param p1 any
---@return any
function HiredLimo(p0, p1)
end

--- STAT_GET_STRING
---
--- p1 is always -1 in the script files  
--- 
---@param statHash any
---@param p1 any
---@return any
function StatGetString(statHash, p1)
end

--- _PLAYSTATS_CASINO_INSIDETRACK_LIGHT
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@return any
function PlaystatsCasinoInsidetrackLight(p0)
end

--- _PLAYSTATS_COPY_RANK_INTO_NEW_SLOT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@return any
function PlaystatsCopyRankIntoNewSlot(p0, p1, p2, p3, p4, p5, p6)
end

--- _PLAYSTATS_PEGASAIRCRAFT
---
--- NativeDB Introduced: v1180
--- 
---@param modelHash any
---@return any
function PlaystatsPegasaircraft(modelHash)
end

--- LEADERBOARDS2_READ_BY_HANDLE
---
---@param p0 any
---@param p1 any
---@return boolean
function Leaderboards2ReadByHandle(p0, p1)
end

--- LEADERBOARDS_CLEAR_CACHE_DATA
---
---@return any
function LeaderboardsClearCacheData()
end

--- _SET_SAVE_MIGRATION_TRANSACTION_ID
---
--- Sets profile setting 501
--- 
---@param transactionId any
---@return any
function SetSaveMigrationTransactionId(transactionId)
end

--- _PLAYSTATS_CHANGE_MC_EMBLEM
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function PlaystatsChangeMcEmblem(p0, p1, p2, p3, p4)
end

--- _PLAYSTATS_DEFEND_CONTRABAND
---
---@param data any
---@return any
function PlaystatsDefendContraband(data)
end

--- SET_PROFILE_SETTING_PROLOGUE_COMPLETE
---
---@return any
function SetProfileSettingPrologueComplete()
end

--- _PLAYSTATS_CASINO_SLOTMACHINE_LIGHT
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@return any
function PlaystatsCasinoSlotmachineLight(p0)
end

--- _PLAYSTATS_START_OFFLINE_MODE
---
--- PLAYSTATS_START_INVITE_DESPAWNING?
--- 
---@return any
function PlaystatsStartOfflineMode()
end

--- STAT_SET_STRING
---
---@param statName any
---@param value any
---@param save boolean
---@return boolean
function StatSetString(statName, value, save)
end

--- PLAYSTATS_AWARD_XP
---
---@param amount any
---@param type any
---@param category any
---@return any
function PlaystatsAwardXp(amount, type, category)
end

--- PRESENCE_EVENT_UPDATESTAT_INT
---
---@param statHash any
---@param value any
---@param p2 any
---@return any
function PresenceEventUpdatestatInt(statHash, value, p2)
end

--- LEADERBOARDS2_WRITE_DATA_FOR_EVENT_TYPE
---
---@param p0 any
---@param p1 any
---@return boolean
function Leaderboards2WriteDataForEventType(p0, p1)
end

--- LEADERBOARDS_GET_COLUMN_TYPE
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function LeaderboardsGetColumnType(p0, p1, p2)
end

--- STAT_SET_BOOL_MASKED
---
---@param statName any
---@param value boolean
---@param mask any
---@param save boolean
---@return boolean
function StatSetBoolMasked(statName, value, mask, save)
end

--- _PLAYSTATS_CASINO_ROULETTE_LIGHT
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@return any
function PlaystatsCasinoRouletteLight(p0)
end

--- _PLAYSTATS_SPENT_PI_CUSTOM_LOADOUT
---
---@param amount any
---@return any
function PlaystatsSpentPiCustomLoadout(amount)
end

--- STAT_CLEAR_SLOT_FOR_RELOAD
---
--- Example:
--- for (v_2 = 0; v_2 <= 4; v_2 += 1) {
---     STATS::STAT_CLEAR_SLOT_FOR_RELOAD(v_2);
--- }
--- 
---@param statSlot any
---@return any
function StatClearSlotForReload(statSlot)
end

--- _STAT_SAVE_MIGRATION_CANCEL
---
---@return boolean
function StatSaveMigrationCancel()
end

--- STAT_SET_BLOCK_SAVES
---
---@param toggle boolean
---@return any
function StatSetBlockSaves(toggle)
end

--- _PLAYSTATS_SMUG_MISSION_ENDED
---
--- NativeDB Introduced: v1180
--- 
---@param data any
---@return any
function PlaystatsSmugMissionEnded(data)
end

--- LEADERBOARDS2_READ_BY_SCORE_INT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return boolean
function Leaderboards2ReadByScoreInt(p0, p1, p2)
end

--- LEADERBOARDS_READ_SUCCESSFUL
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return boolean
function LeaderboardsReadSuccessful(p0, p1, p2)
end

--- STAT_SET_MASKED_INT
---
---@param statName any
---@param p1 any
---@param p2 any
---@param p3 any
---@param save boolean
---@return boolean
function StatSetMaskedInt(statName, p1, p2, p3, save)
end

--- PLAYSTATS_ACQUIRED_HIDDEN_PACKAGE
---
---@param p0 any
---@return any
function PlaystatsAcquiredHiddenPackage(p0)
end

--- _PLAYSTATS_DRONE_USAGE
---
--- NativeDB Introduced: v1493
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function PlaystatsDroneUsage(p0, p1, p2)
end

--- PLAYSTATS_RACE_CHECKPOINT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function PlaystatsRaceCheckpoint(p0, p1, p2, p3, p4)
end

--- PLAYSTATS_ROS_BET
---
---@param amount any
---@param act any
---@param player number
---@param cm number
---@return any
function PlaystatsRosBet(amount, act, player, cm)
end

--- _PLAYSTATS_BAN_ALERT
---
---@param p0 any
---@return any
function PlaystatsBanAlert(p0)
end

--- _PLAYSTATS_H2_INSTANCE_END
---
--- NativeDB Introduced: v1290
--- 
---@param data any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function PlaystatsH2InstanceEnd(data, p1, p2, p3)
end

--- LEADERBOARDS2_READ_BY_SCORE_FLOAT
---
---@param p0 any
---@param p1 number
---@param p2 any
---@return boolean
function Leaderboards2ReadByScoreFloat(p0, p1, p2)
end

--- LEADERBOARDS_READ_CLEAR
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function LeaderboardsReadClear(p0, p1, p2)
end

--- PLAYSTATS_RANDOM_MISSION_DONE
---
---@param name any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function PlaystatsRandomMissionDone(name, p1, p2, p3)
end

--- _PLAYSTATS_CASINO_LUCKYSEVEN
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@return any
function PlaystatsCasinoLuckyseven(p0)
end

--- _PLAYSTATS_CASINO_THREECARDPOKER_LIGHT
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@return any
function PlaystatsCasinoThreecardpokerLight(p0)
end

--- GET_PACKED_BOOL_STAT_KEY
---
---@param index any
---@param spStat boolean
---@param charStat boolean
---@param character any
---@return any
function GetPackedBoolStatKey(index, spStat, charStat, character)
end

--- PLAYSTATS_RANK_UP
---
---@param rank any
---@return any
function PlaystatsRankUp(rank)
end

--- _ORDERED_BOSS_VEHICLE
---
---@param p0 any
---@param p1 any
---@param vehicleHash any
---@return any
function OrderedBossVehicle(p0, p1, vehicleHash)
end

--- STAT_GET_USER_ID
---
--- Needs more research. Seems to return "STAT_UNKNOWN" if no such user id exists.  
--- 
---@param p0 any
---@return any
function StatGetUserId(p0)
end

--- STAT_SAVE
---
--- NativeDB Added Parameter 4: Any p3
--- 
---@param p0 any
---@param p1 boolean
---@param p2 any
---@return boolean
function StatSave(p0, p1, p2)
end

--- LEADERBOARDS2_READ_FRIENDS_BY_ROW
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 boolean
---@param p4 any
---@param p5 any
---@return boolean
function Leaderboards2ReadFriendsByRow(p0, p1, p2, p3, p4, p5)
end

--- LEADERBOARDS2_READ_BY_RANK
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return boolean
function Leaderboards2ReadByRank(p0, p1, p2)
end

--- LEADERBOARDS_GET_CACHE_NUMBER_OF_ROWS
---
---@param p0 any
---@return any
function LeaderboardsGetCacheNumberOfRows(p0)
end

--- _STAT_GET_SAVE_MIGRATION_CONSUME_CONTENT_UNLOCK_STATUS
---
---@param p0 any
---@return any
function StatGetSaveMigrationConsumeContentUnlockStatus(p0)
end

--- _PLAYSTATS_CASINO_STORY_MISSION_ENDED
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@param p1 any
---@return any
function PlaystatsCasinoStoryMissionEnded(p0, p1)
end

--- PLAYSTATS_CRATE_CREATED
---
---@param p0 number
---@param p1 number
---@param p2 number
---@return any
function PlaystatsCrateCreated(p0, p1, p2)
end

--- PLAYSTATS_WEBSITE_VISITED
---
---@param scaleformHash any
---@param p1 any
---@return any
function PlaystatsWebsiteVisited(scaleformHash, p1)
end

--- STAT_SET_CURRENT_POSIX_TIME
---
--- p1 always true.  
--- 
---@param statName any
---@param p1 boolean
---@return boolean
function StatSetCurrentPosixTime(statName, p1)
end

--- _PLAYSTATS_ARENA_WARS_ENDED
---
--- NativeDB Introduced: v1604
--- 
---@param data any
---@return any
function PlaystatsArenaWarsEnded(data)
end

--- STAT_GET_INT
---
--- p2 appears to always be -1  
--- 
---@param statHash any
---@param outValue any
---@param p2 any
---@return boolean
function StatGetInt(statHash, outValue, p2)
end

--- LEADERBOARDS_READ_CLEAR_ALL
---
---@return any
function LeaderboardsReadClearAll()
end

--- STAT_SET_BOOL
---
--- Example:
---  STATS::STAT_SET_BOOL(MISC::GET_HASH_KEY("MPPLY_MELEECHLENGECOMPLETED"), trur, true);
--- 
---@param statName any
---@param value boolean
---@param save boolean
---@return boolean
function StatSetBool(statName, value, save)
end

--- _LEADERBOARDS2_READ_BY_PLATFORM
---
---@param p0 any
---@param gamerHandleCsv any
---@param platformName any
---@return boolean
function Leaderboards2ReadByPlatform(p0, gamerHandleCsv, platformName)
end

--- STAT_GET_NUMBER_OF_MINUTES
---
---@param statName any
---@return any
function StatGetNumberOfMinutes(statName)
end

--- _LEADERBOARDS_DEATHS
---
---@param statName any
---@param value number
---@return any
function LeaderboardsDeaths(statName, value)
end

--- STAT_SET_POS
---
---@param statName any
---@param x number
---@param y number
---@param z number
---@param save boolean
---@return boolean
function StatSetPos(statName, x, y, z, save)
end

--- _PLAYSTATS_CASINO_BLACKJACK
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@return any
function PlaystatsCasinoBlackjack(p0)
end

--- LEADERBOARDS_GET_NUMBER_OF_COLUMNS
---
---@param p0 any
---@param p1 any
---@return any
function LeaderboardsGetNumberOfColumns(p0, p1)
end

--- LEADERBOARDS_READ_PENDING
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return boolean
function LeaderboardsReadPending(p0, p1, p2)
end

--- PLAYSTATS_JOB_BEND
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function PlaystatsJobBend(p0, p1, p2, p3)
end

--- LEADERBOARDS2_WRITE_DATA
---
---@param p0 any
---@return boolean
function Leaderboards2WriteData(p0)
end

--- _PLAYSTATS_CASINO_ROULETTE
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@return any
function PlaystatsCasinoRoulette(p0)
end

--- _STAT_GET_CANCEL_SAVE_MIGRATION_STATUS
---
---@return any
function StatGetCancelSaveMigrationStatus()
end

--- STAT_SET_CHEAT_IS_ACTIVE
---
---@return any
function StatSetCheatIsActive()
end

--- STAT_SET_PROFILE_SETTING_VALUE
---
--- Does not take effect immediately, unfortunately.
--- profileSetting seems to only be 936, 937 and 938 in scripts
--- 
---@param profileSetting any
---@param value any
---@return any
function StatSetProfileSettingValue(profileSetting, value)
end

--- LEADERBOARDS_CACHE_DATA_ROW
---
---@param p0 any
---@return boolean
function LeaderboardsCacheDataRow(p0)
end

--- PLAYSTATS_CHEAT_APPLIED
---
---@param cheat any
---@return any
function PlaystatsCheatApplied(cheat)
end

--- GET_PACKED_TU_BOOL_STAT_KEY
---
---@param index any
---@param spStat boolean
---@param charStat boolean
---@param character any
---@return any
function GetPackedTuBoolStatKey(index, spStat, charStat, character)
end

--- PLAYSTATS_PROP_CHANGE
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function PlaystatsPropChange(p0, p1, p2, p3)
end

--- PLAYSTATS_BACKGROUND_SCRIPT_ACTION
---
---@param action any
---@param value any
---@return any
function PlaystatsBackgroundScriptAction(action, value)
end

--- PLAYSTATS_MISSION_CHECKPOINT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function PlaystatsMissionCheckpoint(p0, p1, p2, p3)
end

--- PLAYSTATS_HOLD_UP_MISSION_DONE
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function PlaystatsHoldUpMissionDone(p0, p1, p2, p3)
end

--- _PLAYSTATS_INVENTORY
---
--- NativeDB Introduced: v2699
--- 
---@param p0 any
---@return any
function PlaystatsInventory(p0)
end

--- _PLAYSTATS_CARCLUB_PRIZE
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@return any
function PlaystatsCarclubPrize(p0, p1)
end

--- _PLAYSTATS_EXTRA_EVENT
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@return any
function PlaystatsExtraEvent(p0)
end

--- _PLAYSTATS_CARCLUB_POINTS
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@return any
function PlaystatsCarclubPoints(p0)
end

--- PLAYSTATS_CRATE_DROP_MISSION_DONE
---
--- NativeDB Added Parameter 7: Any p6
--- NativeDB Added Parameter 8: Any p7
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@return any
function PlaystatsCrateDropMissionDone(p0, p1, p2, p3, p4, p5)
end

--- STAT_SAVE_PENDING
---
---@return boolean
function StatSavePending()
end

--- _GET_NGSTAT_INT_HASH
---
--- Needs more research. Gets the stat name of a masked int?
--- section - values used in the decompiled scripts:
--- "_NGPSTAT_INT"
--- "_MP_NGPSTAT_INT"
--- "_MP_LRPSTAT_INT"
--- "_MP_APAPSTAT_INT"
--- "_MP_LR2PSTAT_INT"
--- "_MP_BIKEPSTAT_INT"
--- "_MP_IMPEXPPSTAT_INT"
--- "_MP_GUNRPSTAT_INT"
--- "_NGDLCPSTAT_INT"
--- "_MP_NGDLCPSTAT_INT"
--- "_DLCSMUGCHARPSTAT_INT"
--- "_GANGOPSPSTAT_INT"
--- "_BUSINESSBATPSTAT_INT"
--- "_ARENAWARSPSTAT_INT"
--- "_CASINOPSTAT_INT"
--- "_CASINOHSTPSTAT_INT"
--- 
---@param index any
---@param spStat boolean
---@param charStat boolean
---@param character any
---@param section any
---@return any
function GetNgstatIntHash(index, spStat, charStat, character, section)
end

--- STAT_SET_FLOAT
---
--- Example:
---  STATS::STAT_SET_FLOAT(MISC::GET_HASH_KEY("MP0_WEAPON_ACCURACY"), 66.6f, true);
--- 
---@param statName any
---@param value number
---@param save boolean
---@return boolean
function StatSetFloat(statName, value, save)
end

--- STAT_GET_NUMBER_OF_HOURS
---
---@param statName any
---@return any
function StatGetNumberOfHours(statName)
end

--- PLAYSTATS_IDLE_KICK
---
--- longest time being ilde?  
--- 
---@param time any
---@return any
function PlaystatsIdleKick(time)
end

--- _PLAYSTATS_ARENA_WAR_SPECTATOR
---
--- NativeDB Introduced: v1604
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function PlaystatsArenaWarSpectator(p0, p1, p2, p3, p4)
end

--- _PLAYSTATS_BUY_CONTRABAND
---
---@param data any
---@return any
function PlaystatsBuyContraband(data)
end

--- _PLAYSTATS_DUPE_DETECTION
---
---@param data any
---@return any
function PlaystatsDupeDetection(data)
end

--- _PLAYSTATS_STUNT_PERFORMED_EVENT_ALLOW_TRIGGER
---
--- Allows CEventNetworkStuntPerformed to be triggered.
--- 
---@return any
function PlaystatsStuntPerformedEventAllowTrigger()
end

--- LEADERBOARDS_READ_ANY_PENDING
---
---@return boolean
function LeaderboardsReadAnyPending()
end

--- STAT_GET_FLOAT
---
---@param statHash any
---@param outValue any
---@param p2 any
---@return boolean
function StatGetFloat(statHash, outValue, p2)
end

--- STAT_GET_NUMBER_OF_DAYS
---
---@param statName any
---@return any
function StatGetNumberOfDays(statName)
end

--- STAT_GET_NUMBER_OF_SECONDS
---
---@param statName any
---@return any
function StatGetNumberOfSeconds(statName)
end

--- STAT_SAVE_MIGRATION_STATUS_START
---
---@return boolean
function StatSaveMigrationStatusStart()
end

--- GET_PACKED_INT_STAT_KEY
---
---@param index any
---@param spStat boolean
---@param charStat boolean
---@param character any
---@return any
function GetPackedIntStatKey(index, spStat, charStat, character)
end

--- _PLAYSTATS_CASINO_SLOTMACHINE
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@return any
function PlaystatsCasinoSlotmachine(p0)
end

--- _PLAYSTATS_DAR_MISSION_END
---
--- NativeDB Introduced: v1290
--- 
---@param data any
---@return any
function PlaystatsDarMissionEnd(data)
end

--- _PLAYSTATS_RECOVER_CONTRABAND
---
---@param data any
---@return any
function PlaystatsRecoverContraband(data)
end

--- PLAYSTATS_SET_JOIN_TYPE
---Sets a byte that is then used in session_host and session_join metrics when hosting or joining a session
---@param joinType any
---@return any
function PlaystatsSetJoinType(joinType)
end

--- STAT_GET_DATE
---
---@param statHash any
---@param p1 any
---@param p2 any
---@param p3 any
---@return boolean
function StatGetDate(statHash, p1, p2, p3)
end

--- STAT_LOAD_PENDING
---
---@param p0 any
---@return boolean
function StatLoadPending(p0)
end

--- PLAYSTATS_ACTIVITY_DONE
---
---@param p0 any
---@param p1 any
---@return any
function PlaystatsActivityDone(p0, p1)
end

--- _STAT_GET_PACKED_BOOL_MASK
---
--- Needs more research. Possibly used to calculate the "mask" when calling "STAT_SET_BOOL_MASKED"?  
--- 
---@param p0 any
---@return any
function StatGetPackedBoolMask(p0)
end

--- STAT_SET_LICENSE_PLATE
---
---@param statName any
---@param str any
---@return boolean
function StatSetLicensePlate(statName, str)
end

--- _PLAYSTATS_AWARD_BADSPORT
---
---@param id any
---@return any
function PlaystatsAwardBadsport(id)
end

--- PLAYSTATS_FRIEND_ACTIVITY
---
---@param p0 any
---@param p1 any
---@return any
function PlaystatsFriendActivity(p0, p1)
end

--- STAT_SAVE_PENDING_OR_REQUESTED
---
---@return boolean
function StatSavePendingOrRequested()
end

--- _PLAYSTATS_CASINO_INSIDETRACK
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@return any
function PlaystatsCasinoInsidetrack(p0)
end

--- _PLAYSTATS_CASINO_MISSION_ENDED
---
--- NativeDB Introduced: v1734
--- 
---@param data any
---@return any
function PlaystatsCasinoMissionEnded(data)
end

--- _PLAYSTATS_EARNED_MC_POINTS
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@return any
function PlaystatsEarnedMcPoints(p0, p1, p2, p3, p4, p5)
end

--- _PLAYSTATS_GUNRUN_MISSION_ENDED
---
---@param data any
---@return any
function PlaystatsGunrunMissionEnded(data)
end

--- _PLAYSTATS_STONE_HATCHET_END
---
--- NativeDB Introduced: v1493
--- 
---@param data any
---@return any
function PlaystatsStoneHatchetEnd(data)
end

--- STAT_GET_SAVE_MIGRATION_STATUS
---
---@param data any
---@return any
function StatGetSaveMigrationStatus(data)
end

--- _PLAYSTATS_ROBBERY_FINALE
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@return any
function PlaystatsRobberyFinale(p0)
end

--- LEADERBOARDS_GET_COLUMN_ID
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function LeaderboardsGetColumnId(p0, p1, p2)
end

--- LEADERBOARDS2_READ_BY_RADIUS
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return boolean
function Leaderboards2ReadByRadius(p0, p1, p2)
end

--- LEADERBOARDS2_READ_RANK_PREDICTION
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return boolean
function Leaderboards2ReadRankPrediction(p0, p1, p2)
end

--- STAT_SET_DATE
---
--- 'value' is a structure to a structure, 'numFields' is how many fields there are in said structure (usually 7).  
--- The structure looks like this:  
--- int year  
--- int month  
--- int day  
--- int hour  
--- int minute  
--- int second  
--- int millisecond  
--- The decompiled scripts use TIME::GET_POSIX_TIME to fill this structure.  
--- 
---@param statName any
---@param value any
---@param numFields any
---@param save boolean
---@return boolean
function StatSetDate(statName, value, numFields, save)
end

--- _PLAYSTATS_H2_FMPREP_END
---
--- NativeDB Introduced: v1290
--- 
---@param data any
---@return any
function PlaystatsH2FmprepEnd(data)
end

--- PRESENCE_EVENT_UPDATESTAT_FLOAT
---
---@param statHash any
---@param value number
---@param p2 any
---@return any
function PresenceEventUpdatestatFloat(statHash, value, p2)
end

--- _GET_NGSTAT_BOOL_HASH
---
--- Needs more research. Gets the stat name of a masked bool?
--- section - values used in the decompiled scripts:
--- "_NGPSTAT_BOOL"
--- "_NGTATPSTAT_BOOL"
--- "_NGDLCPSTAT_BOOL"
--- "_DLCBIKEPSTAT_BOOL"
--- "_DLCGUNPSTAT_BOOL"
--- "_GUNTATPSTAT_BOOL"
--- "_DLCSMUGCHARPSTAT_BOOL"
--- "_GANGOPSPSTAT_BOOL"
--- "_BUSINESSBATPSTAT_BOOL"
--- "_ARENAWARSPSTAT_BOOL"
--- "_CASINOPSTAT_BOOL"
--- "_CASINOHSTPSTAT_BOOL"
--- "_HEIST3TATTOOSTAT_BOOL"
--- 
---@param index any
---@param spStat boolean
---@param charStat boolean
---@param character any
---@param section any
---@return any
function GetNgstatBoolHash(index, spStat, charStat, character, section)
end

--- PLAYSTATS_WEAPON_MODE_CHANGE
---
---@param weaponHash any
---@param componentHashTo any
---@param componentHashFrom any
---@return any
function PlaystatsWeaponModeChange(weaponHash, componentHashTo, componentHashFrom)
end

--- STAT_GET_POS
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return boolean
function StatGetPos(p0, p1, p2, p3, p4)
end

--- _PLAYSTATS_CARCLUB_CHALLENGE
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function PlaystatsCarclubChallenge(p0, p1, p2, p3)
end

--- PLAYSTATS_IMPORT_EXPORT_MISSION_DONE
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function PlaystatsImportExportMissionDone(p0, p1, p2, p3)
end

--- PLAYSTATS_LEAVE_JOB_CHAIN
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function PlaystatsLeaveJobChain(p0, p1, p2, p3, p4)
end

--- PLAYSTATS_MATCH_STARTED
---
--- NativeDB Removed Parameter 4: Any p3
--- NativeDB Removed Parameter 5: Any p4
--- NativeDB Removed Parameter 6: Any p5
--- NativeDB Removed Parameter 7: Any p6
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@return any
function PlaystatsMatchStarted(p0, p1, p2, p3, p4, p5, p6)
end

--- STAT_GET_BOOL
---
---@param statHash any
---@param outValue any
---@param p2 any
---@return boolean
function StatGetBool(statHash, outValue, p2)
end

--- LEADERBOARDS_WRITE_ADD_COLUMN
---
---@param p0 any
---@param p1 any
---@param p2 number
---@return any
function LeaderboardsWriteAddColumn(p0, p1, p2)
end

--- _PLAYSTATS_SPECTATOR_WHEEL_SPIN
---
--- NativeDB Introduced: v1604
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function PlaystatsSpectatorWheelSpin(p0, p1, p2, p3)
end

--- LEADERBOARDS_WRITE_ADD_COLUMN_LONG
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function LeaderboardsWriteAddColumnLong(p0, p1, p2)
end

--- LEADERBOARDS_GET_CACHE_EXISTS
---
---@param p0 any
---@return boolean
function LeaderboardsGetCacheExists(p0)
end

--- PLAYSTATS_MISSION_OVER
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 boolean
---@param p4 boolean
---@param p5 boolean
---@return any
function PlaystatsMissionOver(p0, p1, p2, p3, p4, p5)
end

--- _PLAYSTATS_ENTER_SESSION_PACK
---
--- NativeDB Introduced: v1290
--- 
---@param data any
---@return any
function PlaystatsEnterSessionPack(data)
end

--- _PLAYSTATS_DIRECTOR_MODE
---
---@param p0 any
---@return any
function PlaystatsDirectorMode(p0)
end

--- PLAYSTATS_RACE_TO_POINT_MISSION_DONE
---
--- NativeDB Removed Parameter 5: Any p4
--- NativeDB Removed Parameter 6: Any p5
--- NativeDB Removed Parameter 7: Any p6
--- NativeDB Removed Parameter 8: Any p7
--- NativeDB Removed Parameter 9: Any p8
--- NativeDB Removed Parameter 10: Any p9
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@param p7 any
---@param p8 any
---@param p9 any
---@return any
function PlaystatsRaceToPointMissionDone(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9)
end

--- _STAT_MIGRATE_SAVE
---
--- platformName must be one of the following: ps3, xbox360, ps4, xboxone
--- 
---@param platformName any
---@return boolean
function StatMigrateSave(platformName)
end

--- STAT_GET_MASKED_INT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return boolean
function StatGetMaskedInt(p0, p1, p2, p3, p4)
end

--- PLAYSTATS_HEIST_SAVE_CHEAT
---
---@param hash any
---@param p1 any
---@return any
function PlaystatsHeistSaveCheat(hash, p1)
end

--- STAT_INCREMENT
---
---@param statName any
---@param value number
---@return any
function StatIncrement(statName, value)
end

--- STAT_LOAD
---
---@param p0 any
---@return boolean
function StatLoad(p0)
end

--- PLAYSTATS_SHOP_ITEM
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function PlaystatsShopItem(p0, p1, p2, p3, p4)
end

--- STAT_SET_INT
---
---@param statName any
---@param value any
---@param save boolean
---@return boolean
function StatSetInt(statName, value, save)
end

--- _PLAYSTATS_CASINO_CHIP
---
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@return any
function PlaystatsCasinoChip(p0)
end

--- DATAARRAY_GET_VECTOR
---
---@param arrayData any
---@param arrayIndex any
---@return { x: number, y: number, z: number }
function DataarrayGetVector(arrayData, arrayIndex)
end

--- DATADICT_SET_STRING
---
---@param objectData any
---@param key any
---@param value any
---@return any
function DatadictSetString(objectData, key, value)
end

--- DATAFILE_CLEAR_WATCH_LIST
---
---@return any
function DatafileClearWatchList()
end

--- DATAFILE_SELECT_UGC_STATS
---
--- NativeDB Added Parameter 3: Any p2
--- 
---@param p0 any
---@param p1 boolean
---@return boolean
function DatafileSelectUgcStats(p0, p1)
end

--- DATAARRAY_ADD_DICT
---
---@param arrayData any
---@return any
function DataarrayAddDict(arrayData)
end

--- DATAARRAY_ADD_STRING
---
---@param arrayData any
---@param value any
---@return any
function DataarrayAddString(arrayData, value)
end

--- DATAARRAY_GET_STRING
---
---@param arrayData any
---@param arrayIndex any
---@return any
function DataarrayGetString(arrayData, arrayIndex)
end

--- DATAFILE_SELECT_ACTIVE_FILE
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param p0 any
---@return boolean
function DatafileSelectActiveFile(p0)
end

--- DATAARRAY_ADD_INT
---
---@param arrayData any
---@param value any
---@return any
function DataarrayAddInt(arrayData, value)
end

--- DATADICT_GET_INT
---
---@param objectData any
---@param key any
---@return any
function DatadictGetInt(objectData, key)
end

--- DATAFILE_DELETE
---
--- NativeDB Added Parameter 1: int p0
--- 
---@return any
function DatafileDelete()
end

--- DATAFILE_UPDATE_SAVE_TO_CLOUD
---
---@param p0 any
---@return boolean
function DatafileUpdateSaveToCloud(p0)
end

--- UGC_CREATE_MISSION
---
--- NativeDB Added Parameter 6: Any p5
--- 
---@param contentName any
---@param description any
---@param tagsCsv any
---@param contentTypeName any
---@param publish boolean
---@return boolean
function UgcCreateMission(contentName, description, tagsCsv, contentTypeName, publish)
end

--- DATAARRAY_ADD_VECTOR
---
---@param arrayData any
---@param valueX number
---@param valueY number
---@param valueZ number
---@return any
function DataarrayAddVector(arrayData, valueX, valueY, valueZ)
end

--- DATAARRAY_GET_COUNT
---
---@param arrayData any
---@return any
function DataarrayGetCount(arrayData)
end

--- DATADICT_SET_VECTOR
---
---@param objectData any
---@param key any
---@param valueX number
---@param valueY number
---@param valueZ number
---@return any
function DatadictSetVector(objectData, key, valueX, valueY, valueZ)
end

--- DATAFILE_START_SAVE_TO_CLOUD
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param filename any
---@return boolean
function DatafileStartSaveToCloud(filename)
end

--- DATADICT_GET_STRING
---
---@param objectData any
---@param key any
---@return any
function DatadictGetString(objectData, key)
end

--- DATAFILE_HAS_VALID_FILE_DATA
---
---@param p0 any
---@return boolean
function DatafileHasValidFileData(p0)
end

--- DATAFILE_IS_VALID_REQUEST_ID
---
---@param index any
---@return boolean
function DatafileIsValidRequestId(index)
end

--- DATAARRAY_GET_BOOL
---
---@param arrayData any
---@param arrayIndex any
---@return boolean
function DataarrayGetBool(arrayData, arrayIndex)
end

--- DATAFILE_HAS_LOADED_FILE_DATA
---
---@param p0 any
---@return boolean
function DatafileHasLoadedFileData(p0)
end

--- DATAFILE_SELECT_UGC_DATA
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param p0 any
---@return boolean
function DatafileSelectUgcData(p0)
end

--- DATAARRAY_GET_FLOAT
---
---@param arrayData any
---@param arrayIndex any
---@return number
function DataarrayGetFloat(arrayData, arrayIndex)
end

--- DATAARRAY_GET_TYPE
---
--- Types:  
--- 1 = Boolean  
--- 2 = Integer  
--- 3 = Float  
--- 4 = String  
--- 5 = Vector3  
--- 6 = Object  
--- 7 = Array  
--- 
---@param arrayData any
---@param arrayIndex any
---@return any
function DataarrayGetType(arrayData, arrayIndex)
end

--- DATADICT_GET_FLOAT
---
---@param objectData any
---@param key any
---@return number
function DatadictGetFloat(objectData, key)
end

--- DATADICT_CREATE_ARRAY
---
---@param objectData any
---@param key any
---@return any
function DatadictCreateArray(objectData, key)
end

--- UGC_UPDATE_CONTENT
---
--- NativeDB Added Parameter 8: Any p7
--- 
---@param contentId any
---@param data any
---@param dataCount any
---@param contentName any
---@param description any
---@param tagsCsv any
---@param contentTypeName any
---@return boolean
function UgcUpdateContent(contentId, data, dataCount, contentName, description, tagsCsv, contentTypeName)
end

--- DATAFILE_STORE_MISSION_HEADER
---
--- NativeDB Added Parameter 1: int p0
--- 
---@return any
function DatafileStoreMissionHeader()
end

--- DATADICT_CREATE_DICT
---
---@param objectData any
---@param key any
---@return any
function DatadictCreateDict(objectData, key)
end

--- DATADICT_GET_BOOL
---
---@param objectData any
---@param key any
---@return boolean
function DatadictGetBool(objectData, key)
end

--- DATAFILE_GET_FILE_DICT
---
--- NativeDB Added Parameter 1: int p0
--- 
---@return any
function DatafileGetFileDict()
end

--- DATADICT_GET_ARRAY
---
---@param objectData any
---@param key any
---@return any
function DatadictGetArray(objectData, key)
end

--- DATADICT_GET_DICT
---
---@param objectData any
---@param key any
---@return any
function DatadictGetDict(objectData, key)
end

--- DATAFILE_LOAD_OFFLINE_UGC
---
--- Loads a User-Generated Content (UGC) file. These files can be found in "[GTA5]\data\ugc" and "[GTA5]\common\patch\ugc". They seem to follow a naming convention, most likely of "[name]_[part].ugc". See example below for usage.
--- Returns whether or not the file was successfully loaded.
--- Example:
--- DATAFILE::_LOAD_UGC_FILE("RockstarPlaylists") // loads "rockstarplaylists_00.ugc"
--- 
--- 
--- 
--- NativeDB Added Parameter 2: Any p1
--- 
---@param filename any
---@return boolean
function DatafileLoadOfflineUgc(filename)
end

--- DATAFILE_DELETE_REQUESTED_FILE
---
---@param p0 any
---@return boolean
function DatafileDeleteRequestedFile(p0)
end

--- DATAFILE_WATCH_REQUEST_ID
---
--- Adds the given request ID to the watch list.
--- 
---@param id any
---@return any
function DatafileWatchRequestId(id)
end

--- DATAARRAY_GET_DICT
---
---@param arrayData any
---@param arrayIndex any
---@return any
function DataarrayGetDict(arrayData, arrayIndex)
end

--- DATADICT_SET_INT
---
---@param objectData any
---@param key any
---@param value any
---@return any
function DatadictSetInt(objectData, key, value)
end

--- DATAFILE_CREATE
---
--- NativeDB Added Parameter 1: int p0
--- 
---@return any
function DatafileCreate()
end

--- DATADICT_SET_FLOAT
---
---@param objectData any
---@param key any
---@param value number
---@return any
function DatadictSetFloat(objectData, key, value)
end

--- DATADICT_GET_TYPE
---
--- Types:  
--- 1 = Boolean  
--- 2 = Integer  
--- 3 = Float  
--- 4 = String  
--- 5 = Vector3  
--- 6 = Object  
--- 7 = Array  
--- 
---@param objectData any
---@param key any
---@return any
function DatadictGetType(objectData, key)
end

--- DATAARRAY_ADD_FLOAT
---
---@param arrayData any
---@param value number
---@return any
function DataarrayAddFloat(arrayData, value)
end

--- DATADICT_SET_BOOL
---
---@param objectData any
---@param key any
---@param value boolean
---@return any
function DatadictSetBool(objectData, key, value)
end

--- DATAFILE_SELECT_UGC_PLAYER_DATA
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param p0 any
---@return boolean
function DatafileSelectUgcPlayerData(p0)
end

--- UGC_CREATE_CONTENT
---
--- NativeDB Added Parameter 8: Any p7
--- 
---@param data any
---@param dataCount any
---@param contentName any
---@param description any
---@param tagsCsv any
---@param contentTypeName any
---@param publish boolean
---@return boolean
function UgcCreateContent(data, dataCount, contentName, description, tagsCsv, contentTypeName, publish)
end

--- UGC_UPDATE_MISSION
---
--- NativeDB Added Parameter 6: Any p5
--- 
---@param contentId any
---@param contentName any
---@param description any
---@param tagsCsv any
---@param contentTypeName any
---@return boolean
function UgcUpdateMission(contentId, contentName, description, tagsCsv, contentTypeName)
end

--- DATAARRAY_GET_INT
---
---@param arrayData any
---@param arrayIndex any
---@return any
function DataarrayGetInt(arrayData, arrayIndex)
end

--- DATADICT_GET_VECTOR
---
---@param objectData any
---@param key any
---@return { x: number, y: number, z: number }
function DatadictGetVector(objectData, key)
end

--- DATAFILE_SELECT_CREATOR_STATS
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param p0 any
---@return boolean
function DatafileSelectCreatorStats(p0)
end

--- DATAARRAY_ADD_BOOL
---
---@param arrayData any
---@param value boolean
---@return any
function DataarrayAddBool(arrayData, value)
end

--- DATAFILE_IS_SAVE_PENDING
---
--- Example:  
--- if (!DATAFILE::_BEDB96A7584AA8CF())  
--- {  
---     if (!g_109E3)  
--- 	{  
---         if (((sub_d4f() == 2) == 0) && (!NETWORK::NETWORK_IS_GAME_IN_PROGRESS()))  
--- {  
---             if (NETWORK::NETWORK_IS_CLOUD_AVAILABLE())  
--- 	{  
---                 g_17A8B = 0;  
---             }  
---             if (!g_D52C)  
--- 	{  
---                 sub_730();  
---             }  
---         }  
---     }  
--- }  
--- 
---@return boolean
function DatafileIsSavePending()
end

--- UGC_SET_PLAYER_DATA
---
--- NativeDB Added Parameter 4: Any p3
--- 
---@param contentId any
---@param rating number
---@param contentTypeName any
---@return boolean
function UgcSetPlayerData(contentId, rating, contentTypeName)
end

--- DATAFILE_FLUSH_MISSION_HEADER
---
---@return any
function DatafileFlushMissionHeader()
end

--- GET_NUMBER_OF_FIRES_IN_RANGE
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@return any
function GetNumberOfFiresInRange(x, y, z, radius)
end

--- IS_EXPLOSION_IN_SPHERE
---
---@param explosionType any
---@param x number
---@param y number
---@param z number
---@param radius number
---@return boolean
function IsExplosionInSphere(explosionType, x, y, z, radius)
end

--- IS_ENTITY_ON_FIRE
---
---@param entity number
---@return boolean
function IsEntityOnFire(entity)
end

--- START_SCRIPT_FIRE
---
--- Starts a fire:  
--- xyz: Location of fire  
--- maxChildren: The max amount of times a fire can spread to other objects. Must be 25 or less, or the function will do nothing.  
--- isGasFire: Whether or not the fire is powered by gasoline.  
--- 
---@param X number
---@param Y number
---@param Z number
---@param maxChildren any
---@param isGasFire boolean
---@return any
function StartScriptFire(X, Y, Z, maxChildren, isGasFire)
end

--- ADD_OWNED_EXPLOSION
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param explosionType any
---@param damageScale number
---@param isAudible boolean
---@param isInvisible boolean
---@param cameraShake number
---@return any
function AddOwnedExplosion(ped, x, y, z, explosionType, damageScale, isAudible, isInvisible, cameraShake)
end

--- _GET_ENTITY_INSIDE_EXPLOSION_AREA
---
--- Returns a handle to the first entity within the a circle spawned inside the 2 points from a radius.
--- 
---@param explosionType any
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param radius number
---@return number
function GetEntityInsideExplosionArea(explosionType, x1, y1, z1, x2, y2, z2, radius)
end

--- START_ENTITY_FIRE
---
---@param entity number
---@return any
function StartEntityFire(entity)
end

--- ADD_EXPLOSION
---
--- NativeDB Added Parameter 9: BOOL noDamage
--- 
--- 
--- 
--- BOOL isAudible = If explosion makes a sound.  
--- BOOL isInvisible = If the explosion is invisible or not.
--- BOOL noDamage = false: damage || nodamage = true: no damage
--- 
--- 
--- cpp
--- enum class eExplosionTag : uint32_t
--- {
---     DONTCARE = 0xFFFFFFFF,
---     GRENADE = 0,
---     GRENADELAUNCHER = 1,
---     STICKYBOMB = 2,
---     MOLOTOV = 3,
---     ROCKET = 4,
---     TANKSHELL = 5,
---     HI_OCTANE = 6,
---     CAR = 7,
---     PLANE = 8,
---     PETROL_PUMP = 9,
---     BIKE = 10,
---     DIR_STEAM = 11,
---     DIR_FLAME = 12,
---     DIR_WATER_HYDRANT = 13,
---     DIR_GAS_CANISTER = 14,
---     BOAT = 15,
---     SHIP_DESTROY = 16,
---     TRUCK = 17,
---     BULLET = 18,
---     SMOKEGRENADELAUNCHER = 19,
---     SMOKEGRENADE = 20,
---     BZGAS = 21,
---     FLARE = 22,
---     GAS_CANISTER = 23,
---     EXTINGUISHER = 24,
---     _0x988620B8 = 25,
---     EXP_TAG_TRAIN = 26,
---     EXP_TAG_BARREL = 27,
---     EXP_TAG_PROPANE = 28,
---     EXP_TAG_BLIMP = 29,
---     EXP_TAG_DIR_FLAME_EXPLODE = 30,
---     EXP_TAG_TANKER = 31,
---     PLANE_ROCKET = 32,
---     EXP_TAG_VEHICLE_BULLET = 33,
---     EXP_TAG_GAS_TANK = 34,
---     EXP_TAG_BIRD_CRAP = 35,
---     EXP_TAG_RAILGUN = 36,
---     EXP_TAG_BLIMP2 = 37,
---     EXP_TAG_FIREWORK = 38,
---     EXP_TAG_SNOWBALL = 39,
---     EXP_TAG_PROXMINE = 40,
---     EXP_TAG_VALKYRIE_CANNON = 41,
---     EXP_TAG_AIR_DEFENCE = 42,
---     EXP_TAG_PIPEBOMB = 43,
---     EXP_TAG_VEHICLEMINE = 44,
---     EXP_TAG_EXPLOSIVEAMMO = 45,
---     EXP_TAG_APCSHELL = 46,
---     EXP_TAG_BOMB_CLUSTER = 47,
---     EXP_TAG_BOMB_GAS = 48,
---     EXP_TAG_BOMB_INCENDIARY = 49,
---     EXP_TAG_BOMB_STANDARD = 50,
---     EXP_TAG_TORPEDO = 51,
---     EXP_TAG_TORPEDO_UNDERWATER = 52,
---     EXP_TAG_BOMBUSHKA_CANNON = 53,
---     EXP_TAG_BOMB_CLUSTER_SECONDARY = 54,
---     EXP_TAG_HUNTER_BARRAGE = 55,
---     EXP_TAG_HUNTER_CANNON = 56,
---     EXP_TAG_ROGUE_CANNON = 57,
---     EXP_TAG_MINE_UNDERWATER = 58,
---     EXP_TAG_ORBITAL_CANNON = 59,
---     EXP_TAG_BOMB_STANDARD_WIDE = 60,
---     EXP_TAG_EXPLOSIVEAMMO_SHOTGUN = 61,
---     EXP_TAG_OPPRESSOR2_CANNON = 62,
---     EXP_TAG_MORTAR_KINETIC = 63,
---     EXP_TAG_VEHICLEMINE_KINETIC = 64,
---     EXP_TAG_VEHICLEMINE_EMP = 65,
---     EXP_TAG_VEHICLEMINE_SPIKE = 66,
---     EXP_TAG_VEHICLEMINE_SLICK = 67,
---     EXP_TAG_VEHICLEMINE_TAR = 68,
---     EXP_TAG_SCRIPT_DRONE = 69,
---     EXP_TAG_RAYGUN = 70,
---     EXP_TAG_BURIEDMINE = 71,
---     EXP_TAG_SCRIPT_MISSILE = 72,
---     EXP_TAG_RCTANK_ROCKET = 73,
---     EXP_TAG_BOMB_WATER = 74,
---     EXP_TAG_BOMB_WATER_SECONDARY = 75,
---     _0xF728C4A9 = 76,
---     _0xBAEC056F = 77,
---     EXP_TAG_FLASHGRENADE = 78,
---     EXP_TAG_STUNGRENADE = 79,
---     _0x763D3B3B = 80,
---     EXP_TAG_SCRIPT_MISSILE_LARGE = 81,
---     EXP_TAG_SUBMARINE_BIG = 82,
--- };
--- 
---@param x number
---@param y number
---@param z number
---@param explosionType any
---@param damageScale number
---@param isAudible boolean
---@param isInvisible boolean
---@param cameraShake number
---@return any
function AddExplosion(x, y, z, explosionType, damageScale, isAudible, isInvisible, cameraShake)
end

--- GET_CLOSEST_FIRE_POS
---
--- Returns TRUE if it found something. FALSE if not.  
--- 
---@param outPosition any
---@param x number
---@param y number
---@param z number
---@return boolean
function GetClosestFirePos(outPosition, x, y, z)
end

--- IS_EXPLOSION_IN_AREA
---
---@param explosionType any
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@return boolean
function IsExplosionInArea(explosionType, x1, y1, z1, x2, y2, z2)
end

--- STOP_ENTITY_FIRE
---
---@param entity number
---@return any
function StopEntityFire(entity)
end

--- IS_EXPLOSION_IN_ANGLED_AREA
---See [IS_POINT_IN_ANGLED_AREA](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
---@param explosionType any
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param width number
---@return boolean
function IsExplosionInAngledArea(explosionType, x1, y1, z1, x2, y2, z2, width)
end

--- _SET_FIRE_SPREAD_RATE
---SET_FIRE_\*
--- 
--- 
--- NativeDB Introduced: v1734
--- 
---@param p0 number
---@return any
function SetFireSpreadRate(p0)
end

--- STOP_FIRE_IN_RANGE
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@return any
function StopFireInRange(x, y, z, radius)
end

--- ADD_EXPLOSION_WITH_USER_VFX
---
---@param x number
---@param y number
---@param z number
---@param explosionType any
---@param explosionFx any
---@param damageScale number
---@param isAudible boolean
---@param isInvisible boolean
---@param cameraShake number
---@return any
function AddExplosionWithUserVfx(x, y, z, explosionType, explosionFx, damageScale, isAudible, isInvisible, cameraShake)
end

--- _GET_ENTITY_INSIDE_EXPLOSION_SPHERE
---
--- NativeDB Introduced: v1290
--- 
---@param explosionType any
---@param x number
---@param y number
---@param z number
---@param radius number
---@return number
function GetEntityInsideExplosionSphere(explosionType, x, y, z, radius)
end

--- IS_EXPLOSION_ACTIVE_IN_AREA
---
---@param explosionType any
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@return boolean
function IsExplosionActiveInArea(explosionType, x1, y1, z1, x2, y2, z2)
end

--- REMOVE_SCRIPT_FIRE
---
---@param fireHandle any
---@return any
function RemoveScriptFire(fireHandle)
end

--- _SET_WANTED_LEVEL_HIDDEN_EVASION_TIME
---
--- NativeDB Introduced: v2060
--- 
---@param player number
---@param wantedLevel any
---@param lossTime any
---@return any
function SetWantedLevelHiddenEvasionTime(player, wantedLevel, lossTime)
end

--- IS_PLAYER_CONTROL_ON
---
--- Can the player control himself, used to disable controls for player for things like a cutscene.  
--- ---  
--- You can't disable controls with this, use SET_PLAYER_CONTROL(...) for this.  
--- 
---@param player number
---@return boolean
function IsPlayerControlOn(player)
end

--- SET_DISABLE_AMBIENT_MELEE_MOVE
---
---@param player number
---@param toggle boolean
---@return any
function SetDisableAmbientMeleeMove(player, toggle)
end

--- GET_TIME_SINCE_PLAYER_HIT_VEHICLE
---
---@param player number
---@return any
function GetTimeSincePlayerHitVehicle(player)
end

--- GET_PLAYER_NAME
---Returns the players name from a specified player index
---@param player number
---@return any
function GetPlayerName(player)
end

--- REPORT_POLICE_SPOTTED_PLAYER
---
---@param player number
---@return any
function ReportPoliceSpottedPlayer(player)
end

--- SET_WANTED_LEVEL_MULTIPLIER
---
---@param multiplier number
---@return any
function SetWantedLevelMultiplier(multiplier)
end

--- _CLEAR_PLAYER_RESERVE_PARACHUTE_MODEL_OVERRIDE
---
--- NativeDB Introduced: v2372
--- 
---@param player number
---@return any
function ClearPlayerReserveParachuteModelOverride(player)
end

--- FORCE_CLEANUP_FOR_THREAD_WITH_THIS_ID
---
---@param id any
---@param cleanupFlags any
---@return any
function ForceCleanupForThreadWithThisId(id, cleanupFlags)
end

--- _GET_ACHIEVEMENT_PROGRESS
---
--- For Steam.
--- Always returns 0 in retail version of the game.
--- 
---@param achievement any
---@return any
function GetAchievementProgress(achievement)
end

--- IS_PLAYER_FREE_AIMING_AT_ENTITY
---
--- Gets a value indicating whether the specified player is currently aiming freely at the specified entity.  
--- 
---@param player number
---@param entity number
---@return boolean
function IsPlayerFreeAimingAtEntity(player, entity)
end

--- SPECIAL_ABILITY_FILL_METER
---
--- Also known as _RECHARGE_SPECIAL_ABILITY
--- 
--- 
--- 
--- NativeDB Added Parameter 3: Any p2
--- 
---@param player number
---@param p1 boolean
---@return any
function SpecialAbilityFillMeter(player, p1)
end

--- DISPLAY_SYSTEM_SIGNIN_UI
---
--- Purpose of the BOOL currently unknown.  
--- Both, true and false, work  
--- 
---@param unk boolean
---@return any
function DisplaySystemSigninUi(unk)
end

--- HAS_PLAYER_DAMAGED_AT_LEAST_ONE_PED
---
---@param player number
---@return boolean
function HasPlayerDamagedAtLeastOnePed(player)
end

--- _IS_PLAYER_CAM_CONTROL_DISABLED
---
--- Returns true when the player is not able to control the cam i.e. when running a benchmark test, switching the player or viewing a cutscene.  
--- Note: I am not 100% sure if the native actually checks if the cam control is disabled but it seems promising.  
--- 
---@return boolean
function IsPlayerCamControlDisabled()
end

--- SET_POLICE_RADAR_BLIPS
---
--- If toggle is set to false:
---  The police won't be shown on the (mini)map
--- If toggle is set to true:
---  The police will be shown on the (mini)map
--- 
---@param toggle boolean
---@return any
function SetPoliceRadarBlips(toggle)
end

--- SET_WANTED_LEVEL_DIFFICULTY
---
--- Max value is 1.0  
--- 
---@param player number
---@param difficulty number
---@return any
function SetWantedLevelDifficulty(player, difficulty)
end

--- SPECIAL_ABILITY_DEPLETE_METER
---
--- p1 was always true.
--- 
--- 
--- 
--- NativeDB Added Parameter 3: Any p2
--- 
---@param player number
---@param p1 boolean
---@return any
function SpecialAbilityDepleteMeter(player, p1)
end

--- GET_TIME_SINCE_LAST_DEATH
---
--- Returns the time since the character died in (ms) milliseconds.  
--- example  
--- var time = Function.call<int>(Hash.GET_TIME_SINCE_LAST_DEATH();  
--- UI.DrawSubtitle(time.ToString());  
--- if player has not died, the int returned will be -1.  
--- 
---@return any
function GetTimeSinceLastDeath()
end

--- START_PLAYER_TELEPORT
---Teleports the player to the given coordinates.
--- 
--- If findCollisionLand is true it will try to find the Z value for you, this however has a timeout of 100 frames.
--- 
--- When trying to find the Z value the native will take longer the higher the difference from the given Z to the ground, this combined with the timeout can cause the teleport to just teleport to the given Z value, so try to estimate the z value, so don't just pass in 1000.0.
--- 
--- Also if you're in a vehicle and teleportWithVehicle is true it will not find the Z value for you.
---@param player number
---@param x number
---@param y number
---@param z number
---@param heading number
---@param teleportWithVehicle boolean
---@param findCollisionLand boolean
---@param p7 boolean
---@return any
function StartPlayerTeleport(player, x, y, z, heading, teleportWithVehicle, findCollisionLand, p7)
end

--- SET_PLAYER_VEHICLE_DAMAGE_MODIFIER
---
--- modifier's min value is 0.1
--- 
---@param player number
---@param modifier number
---@return any
function SetPlayerVehicleDamageModifier(player, modifier)
end

--- STOP_PLAYER_TELEPORT
---
--- Disables the player's teleportation  
--- 
---@return any
function StopPlayerTeleport()
end

--- FORCE_CLEANUP
---
--- used with 1,2,8,64,128 in the scripts  
--- 
---@param cleanupFlags any
---@return any
function ForceCleanup(cleanupFlags)
end

--- IS_PLAYER_DEAD
---
---@param player number
---@return boolean
function IsPlayerDead(player)
end

--- IS_SYSTEM_UI_BEING_DISPLAYED
---
---@return boolean
function IsSystemUiBeingDisplayed()
end

--- IS_PLAYER_BLUETOOTH_ENABLE
---
---@param player number
---@return boolean
function IsPlayerBluetoothEnable(player)
end

--- GET_MAX_WANTED_LEVEL
---
--- Gets the maximum wanted level the player can get.  
--- Ranges from 0 to 5.  
--- 
---@return any
function GetMaxWantedLevel()
end

--- SET_PLAYER_WANTED_LEVEL
---
--- Call SET_PLAYER_WANTED_LEVEL_NOW for immediate effect  
--- wantedLevel is an integer value representing 0 to 5 stars even though the game supports the 6th wanted level but no police will appear since no definitions are present for it in the game files  
--- disableNoMission-  Disables When Off Mission- appears to always be false  
--- 
---@param player number
---@param wantedLevel any
---@param disableNoMission boolean
---@return any
function SetPlayerWantedLevel(player, wantedLevel, disableNoMission)
end

--- SPECIAL_ABILITY_RESET
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param player number
---@return any
function SpecialAbilityReset(player)
end

--- CLEAR_PLAYER_PARACHUTE_MODEL_OVERRIDE
---
---@param player number
---@return any
function ClearPlayerParachuteModelOverride(player)
end

--- SET_PLAYER_WANTED_LEVEL_NO_DROP
---
--- p2 is always false in R* scripts  
--- 
---@param player number
---@param wantedLevel any
---@param p2 boolean
---@return any
function SetPlayerWantedLevelNoDrop(player, wantedLevel, p2)
end

--- SET_PLAYER_STEALTH_PERCEPTION_MODIFIER
---
---@param player number
---@param value number
---@return any
function SetPlayerStealthPerceptionModifier(player, value)
end

--- SET_PLAYER_SPRINT
---
---@param player number
---@param toggle boolean
---@return any
function SetPlayerSprint(player, toggle)
end

--- CLEAR_PLAYER_HAS_DAMAGED_AT_LEAST_ONE_NON_ANIMAL_PED
---
---@param player number
---@return any
function ClearPlayerHasDamagedAtLeastOneNonAnimalPed(player)
end

--- GET_PLAYER_PED_SCRIPT_INDEX
---
--- Does the same like PLAYER::GET_PLAYER_PED
--- 
---@param player number
---@return number
function GetPlayerPedScriptIndex(player)
end

--- IS_SPECIAL_ABILITY_ACTIVE
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param player number
---@return boolean
function IsSpecialAbilityActive(player)
end

--- GET_TIME_SINCE_PLAYER_DROVE_ON_PAVEMENT
---
---@param player number
---@return any
function GetTimeSincePlayerDroveOnPavement(player)
end

--- SET_PLAYER_SIMULATE_AIMING
---
---@param player number
---@param toggle boolean
---@return any
function SetPlayerSimulateAiming(player, toggle)
end

--- SET_PLAYER_TEAM
---
--- Set player team on deathmatch and last team standing..  
--- 
---@param player number
---@param team any
---@return any
function SetPlayerTeam(player, team)
end

--- SPECIAL_ABILITY_LOCK
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param playerModel any
---@return any
function SpecialAbilityLock(playerModel)
end

--- SET_PLAYER_MAY_NOT_ENTER_ANY_VEHICLE
---
---@param player number
---@return any
function SetPlayerMayNotEnterAnyVehicle(player)
end

--- SET_PLAYER_SNEAKING_NOISE_MULTIPLIER
---
--- Values around 1.0f to 2.0f used in game scripts.  
--- 
---@param player number
---@param multiplier number
---@return any
function SetPlayerSneakingNoiseMultiplier(player, multiplier)
end

--- SET_PLAYER_BLUETOOTH_STATE
---
---@param player number
---@param state boolean
---@return any
function SetPlayerBluetoothState(player, state)
end

--- SET_PLAYER_FORCE_SKIP_AIM_INTRO
---
---@param player number
---@param toggle boolean
---@return any
function SetPlayerForceSkipAimIntro(player, toggle)
end

--- SET_PLAYER_RESET_FLAG_PREFER_REAR_SEATS
---
--- example:  
--- flags: 0-6  
--- PLAYER::SET_PLAYER_RESET_FLAG_PREFER_REAR_SEATS(PLAYER::PLAYER_ID(), 6);  
--- wouldnt the flag be the seatIndex?  
--- 
---@param player number
---@param flags any
---@return any
function SetPlayerResetFlagPreferRearSeats(player, flags)
end

--- FORCE_CLEANUP_FOR_ALL_THREADS_WITH_THIS_NAME
---
--- PLAYER::FORCE_CLEANUP_FOR_ALL_THREADS_WITH_THIS_NAME("pb_prostitute", 1); // Found in decompilation  
--- 
---@param name any
---@param cleanupFlags any
---@return any
function ForceCleanupForAllThreadsWithThisName(name, cleanupFlags)
end

--- SET_AIR_DRAG_MULTIPLIER_FOR_PLAYERS_VEHICLE
---
--- This can be between 1.0f - 14.9f   
--- You can change the max in IDA from 15.0. I say 15.0 as the function blrs if what you input is greater than or equal to 15.0 hence why it's 14.9 max default.  
--- On PC the multiplier can be between 0.0f and 50.0f (inclusive).  
--- 
---@param player number
---@param multiplier number
---@return any
function SetAirDragMultiplierForPlayersVehicle(player, multiplier)
end

--- SET_EVERYONE_IGNORE_PLAYER
---
---@param player number
---@param toggle boolean
---@return any
function SetEveryoneIgnorePlayer(player, toggle)
end

--- GET_PLAYER_INVINCIBLE
---
--- Returns the Player's Invincible status.  
--- This function will always return false if 0x733A643B5B0C53C1 is used to set the invincibility status. To always get the correct result, use this:  
--- 	bool IsPlayerInvincible(Player player)  
--- 	{  
--- auto addr = getScriptHandleBaseAddress(GET_PLAYER_PED(player));	  
--- if (addr)  
--- {  
--- 	DWORD flag = *(DWORD *)(addr + 0x188);  
--- 	return ((flag & (1 << 8)) != 0) || ((flag & (1 << 9)) != 0);  
--- }  
--- return false;  
--- 	}  
--- ============================================================  
--- This has bothered me for too long, whoever may come across this, where did anyone ever come up with this made up hash? 0x733A643B5B0C53C1 I've looked all over old hash list, and this nativedb I can not find that PC hash anywhere. What native name is it now or was it?  
--- 
---@param player number
---@return boolean
function GetPlayerInvincible(player)
end

--- IS_PLAYER_TELEPORT_ACTIVE
---
---@return boolean
function IsPlayerTeleportActive()
end

--- SET_PLAYER_FORCED_ZOOM
---
---@param player number
---@param toggle boolean
---@return any
function SetPlayerForcedZoom(player, toggle)
end

--- SET_PLAYER_PARACHUTE_MODEL_OVERRIDE
---
--- example:  
--- PLAYER::SET_PLAYER_PARACHUTE_MODEL_OVERRIDE(PLAYER::PLAYER_ID(), 0x73268708);  
--- 
---@param player number
---@param model any
---@return any
function SetPlayerParachuteModelOverride(player, model)
end

--- START_FIRING_AMNESTY
---
---@param duration any
---@return any
function StartFiringAmnesty(duration)
end

--- ASSISTED_MOVEMENT_CLOSE_ROUTE
---
---@return any
function AssistedMovementCloseRoute()
end

--- GET_ENTITY_PLAYER_IS_FREE_AIMING_AT
---
--- Returns TRUE if it found an entity in your crosshair within range of your weapon. Assigns the handle of the target to the *entity that you pass it.  
--- Returns false if no entity found.  
--- 
---@param player number
---@param entity any
---@return boolean
function GetEntityPlayerIsFreeAimingAt(player, entity)
end

--- GET_PLAYER_CURRENT_STEALTH_NOISE
---
---@param player number
---@return number
function GetPlayerCurrentStealthNoise(player)
end

--- SET_PLAYER_CAN_USE_COVER
---
--- Sets whether this player can take cover.
--- 
---@param player number
---@param toggle boolean
---@return any
function SetPlayerCanUseCover(player, toggle)
end

--- SPECIAL_ABILITY_CHARGE_NORMALIZED
---
--- normalizedValue is from 0.0 - 1.0
--- p2 is always 1
--- 
--- 
--- 
--- NativeDB Added Parameter 4: Any p3
--- 
---@param player number
---@param normalizedValue number
---@param p2 boolean
---@return any
function SpecialAbilityChargeNormalized(player, normalizedValue, p2)
end

--- DISABLE_PLAYER_VEHICLE_REWARDS
---
---@param player number
---@return any
function DisablePlayerVehicleRewards(player)
end

--- GET_PLAYER_UNDERWATER_TIME_REMAINING
---
---@param player number
---@return number
function GetPlayerUnderwaterTimeRemaining(player)
end

--- GIVE_PLAYER_RAGDOLL_CONTROL
---
---@param player number
---@param toggle boolean
---@return any
function GivePlayerRagdollControl(player, toggle)
end

--- SET_PLAYER_PARACHUTE_TINT_INDEX
---
--- Tints:  
--- None = -1,  
--- 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,  
--- 
---@param player number
---@param tintIndex any
---@return any
function SetPlayerParachuteTintIndex(player, tintIndex)
end

--- CLEAR_PLAYER_HAS_DAMAGED_AT_LEAST_ONE_PED
---
---@param player number
---@return any
function ClearPlayerHasDamagedAtLeastOnePed(player)
end

--- NETWORK_PLAYER_ID_TO_INT
---
--- Does exactly the same thing as PLAYER_ID()  
--- 
---@return any
function NetworkPlayerIdToInt()
end

--- SET_PLAYER_MODEL
---Set the model for a specific Player. Note that this will destroy the current Ped for the Player and create a new one, any reference to the old ped will be invalid after calling this.
--- 
--- As per usual, make sure to request the model first and wait until it has loaded.
---@param player number
---@param model any
---@return any
function SetPlayerModel(player, model)
end

--- IS_PLAYER_RIDING_TRAIN
---
--- Returns true if the player is riding a train.  
--- 
---@param player number
---@return boolean
function IsPlayerRidingTrain(player)
end

--- REPORT_CRIME
---
--- PLAYER::REPORT_CRIME(PLAYER::PLAYER_ID(), 37, PLAYER::GET_WANTED_LEVEL_THRESHOLD(1));  
--- From am_armybase.ysc.c4:  
--- PLAYER::REPORT_CRIME(PLAYER::PLAYER_ID(4), 36, PLAYER::GET_WANTED_LEVEL_THRESHOLD(4));  
--- -----  
--- This was taken from the GTAV.exe v1.334. The function is called sub_140592CE8. For a full decompilation of the function, see here: pastebin.com/09qSMsN7   
--- -----  
--- crimeType:  
--- 1: Firearms possession  
--- 2: Person running a red light ("5-0-5")  
--- 3: Reckless driver  
--- 4: Speeding vehicle (a "5-10")  
--- 5: Traffic violation (a "5-0-5")  
--- 6: Motorcycle rider without a helmet  
--- 7: Vehicle theft (a "5-0-3")  
--- 8: Grand Theft Auto  
--- 9: ???  
--- 10: ???  
--- 11: Assault on a civilian (a "2-40")  
--- 12: Assault on an officer  
--- 13: Assault with a deadly weapon (a "2-45")  
--- 14: Officer shot (a "2-45")  
--- 15: Pedestrian struck by a vehicle  
--- 16: Officer struck by a vehicle  
--- 17: Helicopter down (an "AC"?)  
--- 18: Civilian on fire (a "2-40")  
--- 19: Officer set on fire (a "10-99")  
--- 20: Car on fire  
--- 21: Air unit down (an "AC"?)  
--- 22: An explosion (a "9-96")  
--- 23: A stabbing (a "2-45") (also something else I couldn't understand)  
--- 24: Officer stabbed (also something else I couldn't understand)  
--- 25: Attack on a vehicle ("MDV"?)  
--- 26: Damage to property  
--- 27: Suspect threatening officer with a firearm  
--- 28: Shots fired  
--- 29: ???  
--- 30: ???  
--- 31: ???  
--- 32: ???  
--- 33: ???  
--- 34: A "2-45"  
--- 35: ???  
--- 36: A "9-25"  
--- 37: ???  
--- 38: ???  
--- 39: ???  
--- 40: ???  
--- 41: ???  
--- 42: ???  
--- 43: Possible disturbance  
--- 44: Civilian in need of assistance  
--- 45: ???  
--- 46: ???  
--- 
---@param player number
---@param crimeType any
---@param wantedLvlThresh any
---@return any
function ReportCrime(player, crimeType, wantedLvlThresh)
end

--- SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER
---
--- NativeDB Added Parameter 3: BOOL p2
--- 
---@param player number
---@param modifier number
---@return any
function SetPlayerMeleeWeaponDamageModifier(player, modifier)
end

--- SET_PLAYER_NOISE_MULTIPLIER
---
---@param player number
---@param multiplier number
---@return any
function SetPlayerNoiseMultiplier(player, multiplier)
end

--- _GET_PLAYER_PARACHUTE_MODEL_OVERRIDE
---
--- NativeDB Introduced: v2372
--- 
---@param player number
---@return any
function GetPlayerParachuteModelOverride(player)
end

--- GET_PLAYER_WANTED_CENTRE_POSITION
---
---@param player number
---@return { x: number, y: number, z: number }
function GetPlayerWantedCentrePosition(player)
end

--- IS_PLAYER_BEING_ARRESTED
---
--- Return true while player is being arrested / busted.  
--- If atArresting is set to 1, this function will return 1 when player is being arrested (while player is putting his hand up, but still have control)  
--- If atArresting is set to 0, this function will return 1 only when the busted screen is shown.  
--- 
---@param player number
---@param atArresting boolean
---@return boolean
function IsPlayerBeingArrested(player, atArresting)
end

--- _HAS_PLAYER_BEEN_SHOT_BY_COP
---
---@param player number
---@param ms any
---@param p2 boolean
---@return boolean
function HasPlayerBeenShotByCop(player, ms, p2)
end

--- PLAYER_ATTACH_VIRTUAL_BOUND
---
--- Only 1 match. ob_sofa_michael.  
--- PLAYER::PLAYER_ATTACH_VIRTUAL_BOUND(-804.5928f, 173.1801f, 71.68436f, 0f, 0f, 0.590625f, 1f, 0.7f);1.0.335.2, 1.0.350.1/2, 1.0.372.2, 1.0.393.2, 1.0.393.4, 1.0.463.1;  
--- 
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 number
---@param p7 number
---@return any
function PlayerAttachVirtualBound(p0, p1, p2, p3, p4, p5, p6, p7)
end

--- IS_PLAYER_ONLINE
---
--- Returns TRUE if the game is in online mode and FALSE if in offline mode.  
--- This is an alias for NETWORK_IS_SIGNED_ONLINE.  
--- 
---@return boolean
function IsPlayerOnline()
end

--- SET_PLAYER_FORCED_AIM
---
---@param player number
---@param toggle boolean
---@return any
function SetPlayerForcedAim(player, toggle)
end

--- EXTEND_WORLD_BOUNDARY_FOR_PLAYER
---
--- Appears only 3 times in the scripts, more specifically in michael1.ysc
--- -
--- This can be used to prevent dying if you are "out of the world"
--- 
---@param x number
---@param y number
---@param z number
---@return any
function ExtendWorldBoundaryForPlayer(x, y, z)
end

--- GET_PLAYER_TEAM
---
--- Gets the player's team.  
--- Does nothing in singleplayer.  
--- 
---@param player number
---@return any
function GetPlayerTeam(player)
end

--- GET_TIME_SINCE_PLAYER_HIT_PED
---
---@param player number
---@return any
function GetTimeSincePlayerHitPed(player)
end

--- CLEAR_PLAYER_PARACHUTE_VARIATION_OVERRIDE
---
---@param player number
---@return any
function ClearPlayerParachuteVariationOverride(player)
end

--- SPECIAL_ABILITY_CHARGE_ABSOLUTE
---
--- p1 appears as 5, 10, 15, 25, or 30. p2 is always true.
--- 
--- 
--- 
--- NativeDB Added Parameter 4: Any p3
--- 
---@param player number
---@param p1 any
---@param p2 boolean
---@return any
function SpecialAbilityChargeAbsolute(player, p1, p2)
end

--- HAS_PLAYER_DAMAGED_AT_LEAST_ONE_NON_ANIMAL_PED
---
---@param player number
---@return boolean
function HasPlayerDamagedAtLeastOneNonAnimalPed(player)
end

--- IS_SPECIAL_ABILITY_ENABLED
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param player number
---@return boolean
function IsSpecialAbilityEnabled(player)
end

--- SET_ALL_RANDOM_PEDS_FLEE_THIS_FRAME
---
---@param player number
---@return any
function SetAllRandomPedsFleeThisFrame(player)
end

--- SET_PLAYER_WANTED_CENTRE_POSITION
---
--- # Predominant call signatures  
--- PLAYER::SET_PLAYER_WANTED_CENTRE_POSITION(PLAYER::PLAYER_ID(), ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1));  
--- # Parameter value ranges  
--- P0: PLAYER::PLAYER_ID()  
--- P1: ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1)  
--- P2: Not set by any call  
--- 
---@param player number
---@param position any
---@param p2 boolean
---@param p3 boolean
---@return any
function SetPlayerWantedCentrePosition(player, position, p2, p3)
end

--- CLEAR_PLAYER_WANTED_LEVEL
---
--- This executes at the same as speed as PLAYER::SET_PLAYER_WANTED_LEVEL(player, 0, false);  
--- PLAYER::GET_PLAYER_WANTED_LEVEL(player); executes in less than half the time. Which means that it's worth first checking if the wanted level needs to be cleared before clearing. However, this is mostly about good code practice and can important in other situations. The difference in time in this example is negligible.  
--- 
---@param player number
---@return any
function ClearPlayerWantedLevel(player)
end

--- SET_PLAYER_INVINCIBLE
---
--- Simply sets you as invincible (Health will not deplete).  
--- Use 0x733A643B5B0C53C1 instead if you want Ragdoll enabled, which is equal to:  
--- *(DWORD *)(playerPedAddress + 0x188) |= (1 << 9);  
--- 
---@param player number
---@param toggle boolean
---@return any
function SetPlayerInvincible(player, toggle)
end

--- SET_PLAYER_PARACHUTE_VARIATION_OVERRIDE
---
--- p1 was always 5.  
--- p4 was always false.  
--- 
---@param player number
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 boolean
---@return any
function SetPlayerParachuteVariationOverride(player, p1, p2, p3, p4)
end

--- INT_TO_PLAYERINDEX
---
--- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).  
--- 
---@param value any
---@return number
function IntToPlayerindex(value)
end

--- IS_PLAYER_WANTED_LEVEL_GREATER
---
---@param player number
---@param wantedLevel any
---@return boolean
function IsPlayerWantedLevelGreater(player, wantedLevel)
end

--- _SPECIAL_ABILITY_ACTIVATE
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param player any
---@return any
function SpecialAbilityActivate(player)
end

--- IS_PLAYER_FREE_FOR_AMBIENT_TASK
---
---@param player number
---@return boolean
function IsPlayerFreeForAmbientTask(player)
end

--- IS_PLAYER_LOGGING_IN_NP
---
--- this function is hard-coded to always return 0.  
--- 
---@return boolean
function IsPlayerLoggingInNp()
end

--- SET_PLAYER_CLOTH_PACKAGE_INDEX
---
--- Every occurrence was either 0 or 2.  
--- 
---@param index any
---@return any
function SetPlayerClothPackageIndex(index)
end

--- GET_PLAYER_SPRINT_STAMINA_REMAINING
---
---@param player number
---@return number
function GetPlayerSprintStaminaRemaining(player)
end

--- RESET_PLAYER_INPUT_GAIT
---
---@param player number
---@return any
function ResetPlayerInputGait(player)
end

--- GET_PLAYER_TARGET_ENTITY
---
--- Assigns the handle of locked-on melee target to *entity that you pass it.  
--- Returns false if no entity found.  
--- 
---@param player number
---@param entity any
---@return boolean
function GetPlayerTargetEntity(player, entity)
end

--- _UPDATE_PLAYER_TELEPORT
---
---@param player number
---@return boolean
function UpdatePlayerTeleport(player)
end

--- GET_PLAYER_HAS_RESERVE_PARACHUTE
---
---@param player number
---@return boolean
function GetPlayerHasReserveParachute(player)
end

--- RESTORE_PLAYER_STAMINA
---
---@param player number
---@param p1 number
---@return any
function RestorePlayerStamina(player, p1)
end

--- SIMULATE_PLAYER_INPUT_GAIT
---This is to make the player walk without accepting input.
--- 
--- Call this native every frame so you can control the direction of your ped.
---@param player number
---@param amount number
---@param gaitType any
---@param rotationSpeed number
---@param p4 boolean
---@param p5 boolean
---@return any
function SimulatePlayerInputGait(player, amount, gaitType, rotationSpeed, p4, p5)
end

--- IS_SPECIAL_ABILITY_METER_FULL
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param player number
---@return boolean
function IsSpecialAbilityMeterFull(player)
end

--- CLEAR_PLAYER_PARACHUTE_PACK_MODEL_OVERRIDE
---
---@param player number
---@return any
function ClearPlayerParachutePackModelOverride(player)
end

--- GET_PLAYER_INDEX
---
--- Returns the same as PLAYER_ID and NETWORK_PLAYER_ID_TO_INT  
--- 
---@return number
function GetPlayerIndex()
end

--- GET_WANTED_LEVEL_RADIUS
---
--- Remnant from GTA IV. Does nothing in GTA V.
--- 
---@param player number
---@return number
function GetWantedLevelRadius(player)
end

--- REMOVE_PLAYER_HELMET
---
---@param player number
---@param p2 boolean
---@return any
function RemovePlayerHelmet(player, p2)
end

--- SET_PLAYER_MAX_ARMOUR
---
--- Default is 100. Use player id and not ped id. For instance: PLAYER::SET_PLAYER_MAX_ARMOUR(PLAYER::PLAYER_ID(), 100); // main_persistent.ct4  
--- 
---@param player number
---@param value any
---@return any
function SetPlayerMaxArmour(player, value)
end

--- HAS_PLAYER_LEFT_THE_WORLD
---
---@param player number
---@return boolean
function HasPlayerLeftTheWorld(player)
end

--- _SET_PLAYER_INVINCIBLE_KEEP_RAGDOLL_ENABLED
---
---@param player number
---@param toggle boolean
---@return any
function SetPlayerInvincibleKeepRagdollEnabled(player, toggle)
end

--- _SET_PLAYER_UNDERWATER_TIME_REMAINING
---Seems to lock the underwater timer of the specified player. Set percentage to 50.0 will reduce the value of [GET_PLAYER_UNDERWATER_TIME_REMAINING](#\_0xA1FCF8E6AF40B731) to 5.0.
--- 
--- If you want to increase the underwater time for ped, use [SET_PED_MAX_TIME_UNDERWATER](#\_0x6BA428C528D9E522) instead.
--- 
--- Using this native after [SET_PED_MAX_TIME_UNDERWATER](#\_0x6BA428C528D9E522) **WILL NOT** get what you want. For example, if you set the max time underwater to 100.0 seconds using [SET_PED_MAX_TIME_UNDERWATER](#\_0x6BA428C528D9E522) and then call this native and set the percentage to 50.0, you will not get 50.0, instead 2.0.
---@param player number
---@param percentage number
---@return any
function SetPlayerUnderwaterTimeRemaining(player, percentage)
end

--- ARE_PLAYER_FLASHING_STARS_ABOUT_TO_DROP
---
---@param player number
---@return boolean
function ArePlayerFlashingStarsAboutToDrop(player)
end

--- GET_PLAYER_PARACHUTE_PACK_TINT_INDEX
---
---@param player number
---@param tintIndex any
---@return any
function GetPlayerParachutePackTintIndex(player, tintIndex)
end

--- GIVE_ACHIEVEMENT_TO_PLAYER
---
--- Achievements from 0-57
--- more achievements came with update 1.29 (freemode events update), I'd say that they now go to 60, but I'll need to check.
--- 
---@param achievement any
---@return boolean
function GiveAchievementToPlayer(achievement)
end

--- SET_PLAYER_PARACHUTE_PACK_TINT_INDEX
---
--- tints 0- 13
--- 0 - unkown
--- 1 - unkown
--- 2 - unkown
--- 3 - unkown
--- 4 - unkown
--- 
---@param player number
---@param tintIndex any
---@return any
function SetPlayerParachutePackTintIndex(player, tintIndex)
end

--- IS_PLAYER_SCRIPT_CONTROL_ON
---
---@param player number
---@return boolean
function IsPlayerScriptControlOn(player)
end

--- SET_PLAYER_MELEE_WEAPON_DEFENSE_MODIFIER
---
--- modifier's min value is 0.1
--- 
---@param player number
---@param modifier number
---@return any
function SetPlayerMeleeWeaponDefenseModifier(player, modifier)
end

--- IS_PLAYER_PRESSING_HORN
---
---@param player number
---@return boolean
function IsPlayerPressingHorn(player)
end

--- SET_PLAYER_CAN_LEAVE_PARACHUTE_SMOKE_TRAIL
---
---@param player number
---@param enabled boolean
---@return any
function SetPlayerCanLeaveParachuteSmokeTrail(player, enabled)
end

--- SET_PLAYER_LEAVE_PED_BEHIND
---
---@param player number
---@param toggle boolean
---@return any
function SetPlayerLeavePedBehind(player, toggle)
end

--- _SET_PLAYER_HOMING_ROCKET_DISABLED
---
--- NativeDB Introduced: v1180
--- 
---@param player number
---@param p1 boolean
---@return any
function SetPlayerHomingRocketDisabled(player, p1)
end

--- SET_PLAYER_PARACHUTE_PACK_MODEL_OVERRIDE
---
---@param player number
---@param model any
---@return any
function SetPlayerParachutePackModelOverride(player, model)
end

--- HAS_PLAYER_BEEN_SPOTTED_IN_STOLEN_VEHICLE
---
---@param player number
---@return boolean
function HasPlayerBeenSpottedInStolenVehicle(player)
end

--- SET_PLAYER_CONTROL
---
--- Flags:
--- SPC_AMBIENT_SCRIPT = (1 << 1),
--- SPC_CLEAR_TASKS = (1 << 2),
--- SPC_REMOVE_FIRES = (1 << 3),
--- SPC_REMOVE_EXPLOSIONS = (1 << 4),
--- SPC_REMOVE_PROJECTILES = (1 << 5),
--- SPC_DEACTIVATE_GADGETS = (1 << 6),
--- SPC_REENABLE_CONTROL_ON_DEATH = (1 << 7),
--- SPC_LEAVE_CAMERA_CONTROL_ON = (1 << 8),
--- SPC_ALLOW_PLAYER_DAMAGE = (1 << 9),
--- SPC_DONT_STOP_OTHER_CARS_AROUND_PLAYER = (1 << 10),
--- SPC_PREVENT_EVERYBODY_BACKOFF = (1 << 11),
--- SPC_ALLOW_PAD_SHAKE = (1 << 12)
--- See: https://alloc8or.re/gta5/doc/enums/eSetPlayerControlFlag.txt
--- 
---@param player number
---@param bHasControl boolean
---@param flags any
---@return any
function SetPlayerControl(player, bHasControl, flags)
end

--- RESET_WANTED_LEVEL_DIFFICULTY
---
---@param player number
---@return any
function ResetWantedLevelDifficulty(player)
end

--- SET_RUN_SPRINT_MULTIPLIER_FOR_PLAYER
---
--- Multiplier goes up to 1.49 any value above will be completely overruled by the game and the multiplier will not take effect, this can be edited in memory however.  
--- Just call it one time, it is not required to be called once every tick.  
--- Note: At least the IDA method if you change the max float multiplier from 1.5 it will change it for both this and SWIM above. I say 1.5 as the function blrs if what you input is greater than or equal to 1.5 hence why it's 1.49 max default.  
--- It is not possible to "decrease" speed. Anything below 1 will be ignored.  
--- 
---@param player number
---@param multiplier number
---@return any
function SetRunSprintMultiplierForPlayer(player, multiplier)
end

--- _GET_NUMBER_OF_PLAYERS_IN_TEAM
---
--- NativeDB Introduced: v1180
--- 
---@param team any
---@return any
function GetNumberOfPlayersInTeam(team)
end

--- GET_NUMBER_OF_PLAYERS
---
--- Gets the number of players in the current session.
--- If not multiplayer, always returns 1.
--- 
---@return any
function GetNumberOfPlayers()
end

--- _GET_PLAYER_RESERVE_PARACHUTE_MODEL_OVERRIDE
---
--- NativeDB Introduced: v2372
--- 
---@param player number
---@return any
function GetPlayerReserveParachuteModelOverride(player)
end

--- PLAYER_PED_ID
---Returns the entity handle for the local player ped. Note that this entity handle will change after using commands such as SET_PLAYER_MODEL.
---@return number
function PlayerPedId()
end

--- SET_SWIM_MULTIPLIER_FOR_PLAYER
---
--- Swim speed multiplier.  
--- Multiplier goes up to 1.49  
--- Just call it one time, it is not required to be called once every tick. - Note copied from below native.  
--- Note: At least the IDA method if you change the max float multiplier from 1.5 it will change it for both this and RUN_SPRINT below. I say 1.5 as the function blrs if what you input is greater than or equal to 1.5 hence why it's 1.49 max default.  
--- 
---@param player number
---@param multiplier number
---@return any
function SetSwimMultiplierForPlayer(player, multiplier)
end

--- SPECIAL_ABILITY_CHARGE_ON_MISSION_FAILED
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param player number
---@return any
function SpecialAbilityChargeOnMissionFailed(player)
end

--- GET_PLAYERS_LAST_VEHICLE
---
--- Alternative: GET_VEHICLE_PED_IS_IN(PLAYER_PED_ID(), 1);  
--- 
---@return any
function GetPlayersLastVehicle()
end

--- HAS_FORCE_CLEANUP_OCCURRED
---
---@param cleanupFlags any
---@return boolean
function HasForceCleanupOccurred(cleanupFlags)
end

--- IS_PLAYER_CLIMBING
---
--- Returns TRUE if the player ('s ped) is climbing at the moment.  
--- 
---@param player number
---@return boolean
function IsPlayerClimbing(player)
end

--- PLAYER_DETACH_VIRTUAL_BOUND
---
--- 1.0.335.2, 1.0.350.1/2, 1.0.372.2, 1.0.393.2, 1.0.393.4, 1.0.463.1;  
--- 
---@return any
function PlayerDetachVirtualBound()
end

--- RESET_PLAYER_STAMINA
---
---@param player number
---@return any
function ResetPlayerStamina(player)
end

--- SET_IGNORE_LOW_PRIORITY_SHOCKING_EVENTS
---
---@param player number
---@param toggle boolean
---@return any
function SetIgnoreLowPriorityShockingEvents(player, toggle)
end

--- SET_PLAYER_CAN_BE_HASSLED_BY_GANGS
---
--- Sets whether this player can be hassled by gangs.  
--- 
---@param player number
---@param toggle boolean
---@return any
function SetPlayerCanBeHassledByGangs(player, toggle)
end

--- DISABLE_PLAYER_FIRING
---
--- Inhibits the player from using any method of combat including melee and firearms.  
--- NOTE: Only disables the firing for one frame  
--- 
---@param player number
---@param toggle boolean
---@return any
function DisablePlayerFiring(player, toggle)
end

--- GET_CAUSE_OF_MOST_RECENT_FORCE_CLEANUP
---
---@return any
function GetCauseOfMostRecentForceCleanup()
end

--- IS_PLAYER_PLAYING
---
--- Checks whether the specified player has a Ped, the Ped is not dead, is not injured and is not arrested.  
--- 
---@param player number
---@return boolean
function IsPlayerPlaying(player)
end

--- SET_PLAYER_HEALTH_RECHARGE_MULTIPLIER
---
---@param player number
---@param regenRate number
---@return any
function SetPlayerHealthRechargeMultiplier(player, regenRate)
end

--- _GET_PLAYER_HEALTH_RECHARGE_LIMIT
---
---@param player number
---@return number
function GetPlayerHealthRechargeLimit(player)
end

--- GET_PLAYER_PED
---Gets the ped for a specified player index.
---@param playerId number
---@return number
function GetPlayerPed(playerId)
end

--- SET_AUTO_GIVE_PARACHUTE_WHEN_ENTER_PLANE
---
---@param player number
---@param toggle boolean
---@return any
function SetAutoGiveParachuteWhenEnterPlane(player, toggle)
end

--- SET_PLAYER_WEAPON_DEFENSE_MODIFIER
---
---@param player number
---@param modifier number
---@return any
function SetPlayerWeaponDefenseModifier(player, modifier)
end

--- SPECIAL_ABILITY_DEACTIVATE
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param player number
---@return any
function SpecialAbilityDeactivate(player)
end

--- GET_TIME_SINCE_PLAYER_DROVE_AGAINST_TRAFFIC
---
---@param player number
---@return any
function GetTimeSincePlayerDroveAgainstTraffic(player)
end

--- GET_PLAYER_WANTED_LEVEL
---
---@param player number
---@return any
function GetPlayerWantedLevel(player)
end

--- IS_SPECIAL_ABILITY_UNLOCKED
---
---@param playerModel any
---@return boolean
function IsSpecialAbilityUnlocked(playerModel)
end

--- SET_SPECIAL_ABILITY_MULTIPLIER
---
---@param multiplier number
---@return any
function SetSpecialAbilityMultiplier(multiplier)
end

--- SPECIAL_ABILITY_UNLOCK
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param playerModel any
---@return any
function SpecialAbilityUnlock(playerModel)
end

--- RESET_PLAYER_ARREST_STATE
---
---@param player number
---@return any
function ResetPlayerArrestState(player)
end

--- SET_PLAYER_CAN_DO_DRIVE_BY
---Sets whether the player is able to do drive-bys in vehicle (shooting & aiming in vehicles), this also includes middle finger taunts.
--- 
--- This is a toggle, it does not have to be ran every frame.
--- 
--- Example:
--- 
--- lua
--- SetPlayerCanDoDriveBy(PlayerId(), false)
--- 
---@param player number
---@param toggle boolean
---@return any
function SetPlayerCanDoDriveBy(player, toggle)
end

--- SET_PLAYER_CLOTH_PIN_FRAMES
---
---@param player number
---@param p1 any
---@return any
function SetPlayerClothPinFrames(player, p1)
end

--- SET_PLAYER_MAY_ONLY_ENTER_THIS_VEHICLE
---
---@param player number
---@param vehicle any
---@return any
function SetPlayerMayOnlyEnterThisVehicle(player, vehicle)
end

--- IS_PLAYER_BATTLE_AWARE
---
--- Returns true if an unk value is greater than 0.0f  
--- 
---@param player number
---@return boolean
function IsPlayerBattleAware(player)
end

--- IS_PLAYER_READY_FOR_CUTSCENE
---
---@param player number
---@return boolean
function IsPlayerReadyForCutscene(player)
end

--- SET_ALL_RANDOM_PEDS_FLEE
---
---@param player number
---@param toggle boolean
---@return any
function SetAllRandomPedsFlee(player, toggle)
end

--- SET_DISPATCH_COPS_FOR_PLAYER
---
---@param player number
---@param toggle boolean
---@return any
function SetDispatchCopsForPlayer(player, toggle)
end

--- SPECIAL_ABILITY_CHARGE_CONTINUOUS
---
--- p1 appears to always be 1 (only comes up twice)
--- 
--- 
--- 
--- NativeDB Added Parameter 3: Any p2
--- 
---@param player number
---@param p2 number
---@return any
function SpecialAbilityChargeContinuous(player, p2)
end

--- SET_PLAYER_HAS_RESERVE_PARACHUTE
---
---@param player number
---@return any
function SetPlayerHasReserveParachute(player)
end

--- ENABLE_SPECIAL_ABILITY
---
--- NativeDB Added Parameter 3: Any p2
--- 
---@param player number
---@param toggle boolean
---@return any
function EnableSpecialAbility(player, toggle)
end

--- GET_PLAYER_FAKE_WANTED_LEVEL
---
---@param player number
---@return any
function GetPlayerFakeWantedLevel(player)
end

--- SET_AUTO_GIVE_SCUBA_GEAR_WHEN_EXIT_VEHICLE
---
---@param player number
---@param toggle boolean
---@return any
function SetAutoGiveScubaGearWhenExitVehicle(player, toggle)
end

--- ASSISTED_MOVEMENT_FLUSH_ROUTE
---
---@return any
function AssistedMovementFlushRoute()
end

--- GET_PLAYER_PARACHUTE_SMOKE_TRAIL_COLOR
---
---@param player number
---@param r any
---@param g any
---@param b any
---@return any
function GetPlayerParachuteSmokeTrailColor(player, r, g, b)
end

--- SET_MAX_WANTED_LEVEL
---
---@param maxWantedLevel any
---@return any
function SetMaxWantedLevel(maxWantedLevel)
end

--- GET_PLAYER_RGB_COLOUR
---
---@param player number
---@param r any
---@param g any
---@param b any
---@return any
function GetPlayerRgbColour(player, r, g, b)
end

--- SPECIAL_ABILITY_CHARGE_LARGE
---
--- 2 matches. p1 was always true.
--- 
--- 
--- 
--- NativeDB Added Parameter 4: Any p3
--- 
---@param player number
---@param p1 boolean
---@param p2 boolean
---@return any
function SpecialAbilityChargeLarge(player, p1, p2)
end

--- SET_PLAYER_TARGETING_MODE
---
--- Sets your targeting mode.
--- 0 = Assisted Aim - Full
--- 1 = Assisted Aim - Partial
--- 2 = Free Aim - Assisted
--- 3 = Free Aim
--- 
---@param targetMode any
---@return any
function SetPlayerTargetingMode(targetMode)
end

--- SPECIAL_ABILITY_CHARGE_MEDIUM
---
--- Only 1 match. Both p1 & p2 were true.
--- 
--- 
--- 
--- NativeDB Added Parameter 4: Any p3
--- 
---@param player number
---@param p1 boolean
---@param p2 boolean
---@return any
function SpecialAbilityChargeMedium(player, p1, p2)
end

--- ARE_PLAYER_STARS_GREYED_OUT
---
---@param player number
---@return boolean
function ArePlayerStarsGreyedOut(player)
end

--- GET_PLAYER_RESERVE_PARACHUTE_TINT_INDEX
---
--- Tints:  
--- None = -1,  
--- 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,  
--- 
---@param player number
---@param index any
---@return any
function GetPlayerReserveParachuteTintIndex(player, index)
end

--- CAN_PLAYER_START_MISSION
---
---@param player number
---@return boolean
function CanPlayerStartMission(player)
end

--- SET_PLAYER_RESERVE_PARACHUTE_TINT_INDEX
---
--- Tints:  
--- None = -1,  
--- 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,  
--- 
---@param player number
---@param index any
---@return any
function SetPlayerReserveParachuteTintIndex(player, index)
end

--- GET_PLAYER_SPRINT_TIME_REMAINING
---
---@param player number
---@return number
function GetPlayerSprintTimeRemaining(player)
end

--- SET_PLAYER_LOCKON
---
--- Used to toggle the square up aim.
--- 
---@param player number
---@param toggle boolean
---@return any
function SetPlayerLockon(player, toggle)
end

--- _SET_SPECIAL_ABILITY
---
--- NativeDB Added Parameter 3: Any p2
--- 
---@param player number
---@param p1 any
---@return any
function SetSpecialAbility(player, p1)
end

--- SPECIAL_ABILITY_DEACTIVATE_FAST
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param player number
---@return any
function SpecialAbilityDeactivateFast(player)
end

--- CAN_PED_HEAR_PLAYER
---
---@param player number
---@param ped number
---@return boolean
function CanPedHearPlayer(player, ped)
end

--- GET_PLAYER_PARACHUTE_TINT_INDEX
---
--- Tints:  
--- None = -1,  
--- 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,  
--- 
---@param player number
---@param tintIndex any
---@return any
function GetPlayerParachuteTintIndex(player, tintIndex)
end

--- SET_PLAYER_VEHICLE_DEFENSE_MODIFIER
---
--- modifier's min value is 0.1
--- 
---@param player number
---@param modifier number
---@return any
function SetPlayerVehicleDefenseModifier(player, modifier)
end

--- _SET_ACHIEVEMENT_PROGRESS
---For Steam.
--- Does nothing and always returns false in the retail version of the game.
---@param achievement any
---@param progress any
---@return boolean
function SetAchievementProgress(achievement, progress)
end

--- RESET_WORLD_BOUNDARY_FOR_PLAYER
---
--- NativeDB Introduced: v323
--- 
---@return any
function ResetWorldBoundaryForPlayer()
end

--- _SET_PLAYER_RESERVE_PARACHUTE_MODEL_OVERRIDE
---
--- NativeDB Introduced: v2372
--- 
---@param player number
---@param model any
---@return any
function SetPlayerReserveParachuteModelOverride(player, model)
end

--- SPECIAL_ABILITY_CHARGE_SMALL
---
--- Every occurrence of p1 & p2 were both true.
--- 
--- 
--- 
--- NativeDB Added Parameter 4: Any p3
--- 
---@param player number
---@param p1 boolean
---@param p2 boolean
---@return any
function SpecialAbilityChargeSmall(player, p1, p2)
end

--- GET_TIME_SINCE_LAST_ARREST
---
--- Returns the time since the character was arrested in (ms) milliseconds.  
--- example  
--- var time = Function.call<int>(Hash.GET_TIME_SINCE_LAST_ARREST();  
--- UI.DrawSubtitle(time.ToString());  
--- if player has not been arrested, the int returned will be -1.  
--- 
---@return any
function GetTimeSinceLastArrest()
end

--- INT_TO_PARTICIPANTINDEX
---
--- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).  
--- --------------------------------------------------------  
--- if (NETWORK::NETWORK_IS_PARTICIPANT_ACTIVE(PLAYER::INT_TO_PARTICIPANTINDEX(i)))  
--- 
---@param value any
---@return any
function IntToParticipantindex(value)
end

--- SET_PLAYER_CLOTH_LOCK_COUNTER
---
--- 6 matches across 4 scripts. 5 occurrences were 240. The other was 255.  
--- 
---@param value any
---@return any
function SetPlayerClothLockCounter(value)
end

--- IS_PLAYER_TARGETTING_ENTITY
---
---@param player number
---@param entity number
---@return boolean
function IsPlayerTargettingEntity(player, entity)
end

--- IS_PLAYER_TARGETTING_ANYTHING
---
---@param player number
---@return boolean
function IsPlayerTargettingAnything(player)
end

--- _SET_PLAYER_HEALTH_RECHARGE_LIMIT
---
---@param player number
---@param limit number
---@return any
function SetPlayerHealthRechargeLimit(player, limit)
end

--- SET_PLAYER_LOCKON_RANGE_OVERRIDE
---
--- Affects the range of auto aim target.  
--- 
---@param player number
---@param range number
---@return any
function SetPlayerLockonRangeOverride(player, range)
end

--- GET_PLAYER_MAX_ARMOUR
---
---@param player number
---@return any
function GetPlayerMaxArmour(player)
end

--- GET_WANTED_LEVEL_THRESHOLD
---
--- Drft  
--- 
---@param wantedLevel any
---@return any
function GetWantedLevelThreshold(wantedLevel)
end

--- HAS_ACHIEVEMENT_BEEN_PASSED
---
---@param achievement any
---@return boolean
function HasAchievementBeenPassed(achievement)
end

--- SET_POLICE_IGNORE_PLAYER
---
--- The player will be ignored by the police if toggle is set to true  
--- 
---@param player number
---@param toggle boolean
---@return any
function SetPoliceIgnorePlayer(player, toggle)
end

--- _SWITCH_CRIME_TYPE
---
--- This was previously named as "RESERVE_ENTITY_EXPLODES_ON_HIGH_EXPLOSION_COMBO"  
--- which is obviously incorrect.  
--- Seems to only appear in scripts used in Singleplayer. p1 ranges from 2 - 46.  
--- I assume this switches the crime type  
--- 
---@param player number
---@param p1 any
---@return any
function SwitchCrimeType(player, p1)
end

--- SET_PLAYER_WANTED_LEVEL_NOW
---
--- Forces any pending wanted level to be applied to the specified player immediately.  
--- Call SET_PLAYER_WANTED_LEVEL with the desired wanted level, followed by SET_PLAYER_WANTED_LEVEL_NOW.  
--- Second parameter is unknown (always false).  
--- 
---@param player number
---@param p1 boolean
---@return any
function SetPlayerWantedLevelNow(player, p1)
end

--- _SPECIAL_ABILITY_DEPLETE
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param p0 any
---@return any
function SpecialAbilityDeplete(p0)
end

--- CHANGE_PLAYER_PED
---
---@param player number
---@param ped number
---@param b2 boolean
---@param resetDamage boolean
---@return any
function ChangePlayerPed(player, ped, b2, resetDamage)
end

--- _GET_WANTED_LEVEL_PAROLE_DURATION
---
--- NativeDB Introduced: v2372
--- 
---@return any
function GetWantedLevelParoleDuration()
end

--- IS_PLAYER_FREE_AIMING
---
--- Gets a value indicating whether the specified player is currently aiming freely.  
--- 
---@param player number
---@return boolean
function IsPlayerFreeAiming(player)
end

--- PLAYER_ID
---Returns the player index for the local player.
---@return number
function PlayerId()
end

--- SET_PLAYER_PARACHUTE_SMOKE_TRAIL_COLOR
---
---@param player number
---@param r any
---@param g any
---@param b any
---@return any
function SetPlayerParachuteSmokeTrailColor(player, r, g, b)
end

--- SET_PLAYER_TARGET_LEVEL
---
---@param targetLevel any
---@return any
function SetPlayerTargetLevel(targetLevel)
end

--- GET_PLAYER_GROUP
---
--- Returns the group ID the player is member of.  
--- 
---@param player number
---@return any
function GetPlayerGroup(player)
end

--- _SET_PLAYER_FALL_DISTANCE
---
---@param player number
---@param distance number
---@return any
function SetPlayerFallDistance(player, distance)
end

--- SET_PLAYER_WEAPON_DAMAGE_MODIFIER
---The native ensures the 'modifier' parameter is 0.1 or greater.
---@param player number
---@param modifier number
---@return any
function SetPlayerWeaponDamageModifier(player, modifier)
end

--- _SET_PLAYER_WEAPON_DEFENSE_MODIFIER_2
---
---@param player number
---@param modifier number
---@return any
function SetPlayerWeaponDefenseModifier2(player, modifier)
end

--- DECOR_SET_BOOL
---
--- This function sets metadata of type bool to specified entity.  
--- 
---@param entity number
---@param propertyName any
---@param value boolean
---@return boolean
function DecorSetBool(entity, propertyName, value)
end

--- DECOR_SET_INT
---
--- Sets property to int.  
--- 
---@param entity number
---@param propertyName any
---@param value any
---@return boolean
function DecorSetInt(entity, propertyName, value)
end

--- DECOR_GET_BOOL
---
---@param entity number
---@param propertyName any
---@return boolean
function DecorGetBool(entity, propertyName)
end

--- DECOR_GET_INT
---
---@param entity number
---@param propertyName any
---@return any
function DecorGetInt(entity, propertyName)
end

--- DECOR_IS_REGISTERED_AS_TYPE
---
---@param propertyName any
---@param type any
---@return boolean
function DecorIsRegisteredAsType(propertyName, type)
end

--- DECOR_REMOVE
---
---@param entity number
---@param propertyName any
---@return boolean
function DecorRemove(entity, propertyName)
end

--- DECOR_SET_FLOAT
---
---@param entity number
---@param propertyName any
---@param value number
---@return boolean
function DecorSetFloat(entity, propertyName, value)
end

--- DECOR_REGISTER_LOCK
---
--- Called after all decorator type initializations.  
--- 
---@return any
function DecorRegisterLock()
end

--- DECOR_SET_TIME
---
---@param entity number
---@param propertyName any
---@param timestamp any
---@return boolean
function DecorSetTime(entity, propertyName, timestamp)
end

--- DECOR_EXIST_ON
---
--- Returns whether or not the specified property is set for the entity.  
--- 
---@param entity number
---@param propertyName any
---@return boolean
function DecorExistOn(entity, propertyName)
end

--- DECOR_REGISTER
---Decor types:
--- 
--- 
--- enum eDecorType
--- {
---     DECOR_TYPE_FLOAT = 1,
---     DECOR_TYPE_BOOL = 2,
---     DECOR_TYPE_INT = 3,
---     DECOR_TYPE_UNK = 4,
---     DECOR_TYPE_TIME = 5
--- };
--- 
---@param propertyName any
---@param type any
---@return any
function DecorRegister(propertyName, type)
end

--- DECOR_GET_FLOAT
---
---@param entity number
---@param propertyName any
---@return number
function DecorGetFloat(entity, propertyName)
end

--- UPDATE_NAVMESH_BLOCKING_OBJECT
---
---@param p0 any
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 number
---@param p7 number
---@param p8 any
---@return any
function UpdateNavmeshBlockingObject(p0, p1, p2, p3, p4, p5, p6, p7, p8)
end

--- DOES_NAVMESH_BLOCKING_OBJECT_EXIST
---
---@param p0 any
---@return boolean
function DoesNavmeshBlockingObjectExist(p0)
end

--- _GET_HEIGHTMAP_TOP_Z_FOR_POSITION
---
--- Returns CGameWorldHeightMap's maximum Z value at specified point (grid node).
--- 
---@param x number
---@param y number
---@return number
function GetHeightmapTopZForPosition(x, y)
end

--- GET_NTH_CLOSEST_VEHICLE_NODE_FAVOUR_DIRECTION
---
--- See gtaforums.com/topic/843561-pathfind-node-types for node type info. 0 = paved road only, 1 = any road, 3 = water  
--- p10 always equal 0x40400000  
--- p11 always equal 0  
--- 
---@param x number
---@param y number
---@param z number
---@param desiredX number
---@param desiredY number
---@param desiredZ number
---@param nthClosest any
---@param outPosition any
---@param outHeading any
---@param nodetype any
---@param p10 number
---@param p11 any
---@return boolean
function GetNthClosestVehicleNodeFavourDirection(x, y, z, desiredX, desiredY, desiredZ, nthClosest, outPosition, outHeading, nodetype, p10, p11)
end

--- _SET_AI_GLOBAL_PATH_NODES_TYPE
---Activates Cayo Perico path nodes if passed 1. GPS navigation will start working, maybe more stuff will change, not sure. It seems if you try to unload (pass 0) when close to the island, your game might crash.
--- 
--- 
--- NativeDB Introduced: v2189
--- 
---@param type any
---@return any
function SetAiGlobalPathNodesType(type)
end

--- GET_RANDOM_VEHICLE_NODE
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@param p4 boolean
---@param p5 boolean
---@param p6 boolean
---@param outPosition any
---@param nodeId any
---@return boolean
function GetRandomVehicleNode(x, y, z, radius, p4, p5, p6, outPosition, nodeId)
end

--- GET_ROAD_BOUNDARY_USING_HEADING
---
---@param x number
---@param y number
---@param z number
---@param heading number
---@param outPosition any
---@return boolean
function GetRoadBoundaryUsingHeading(x, y, z, heading, outPosition)
end

--- SET_IGNORE_NO_GPS_FLAG
---
---@param toggle boolean
---@return any
function SetIgnoreNoGpsFlag(toggle)
end

--- GET_CLOSEST_VEHICLE_NODE_WITH_HEADING
---
--- p5, p6 and p7 seems to be about the same as p4, p5 and p6 for GET_CLOSEST_VEHICLE_NODE. p6 and/or p7 has something to do with finding a node on the same path/road and same direction(at least for this native, something to do with the heading maybe). Edit this when you find out more.  
--- p5 is either 1 or 12. 1 means any path/road. 12, 8, 0 means node in the middle of the closest main (asphalt) road.  
--- p6 is always 3.0  
--- p7 is always 0.  
--- Known node types: simple path/asphalt road, only asphalt road, water, under the map at always the same coords.   
--- The node types follows a pattern. For example, every fourth node is of the type water i.e. 3, 7, 11, 15, 19, 23, 27, 31, 35, 39... 239. Could not see any difference between nodes within certain types.   
--- Starting at 2, every fourth node is under the map, always same coords.  
--- Same with only asphalt road (0, 4, 8, etc) and simple path/asphalt road (1, 5, 9, etc).  
--- gtaforums.com/topic/843561-pathfind-node-types  
--- Example of usage, moving vehicle to closest path/road:  
--- Vector3 coords = ENTITY::GET_ENTITY_COORDS(playerVeh, true);  
--- Vector3 closestVehicleNodeCoords;   
--- float roadHeading;   
--- PATHFIND::GET_CLOSEST_VEHICLE_NODE_WITH_HEADING(coords.x, coords.y, coords.z, &closestVehicleNodeCoords, &roadHeading, 1, 3, 0);   
--- ENTITY::SET_ENTITY_HEADING(playerVeh, roadHeading);  
--- ENTITY::SET_ENTITY_COORDS(playerVeh, closestVehicleNodeCoords.x, closestVehicleNodeCoords.y, closestVehicleNodeCoords.z, 1, 0, 0, 1);  
--- VEHICLE::SET_VEHICLE_ON_GROUND_PROPERLY(playerVeh);  
--- ------------------------------------------------------------------  
--- C# Example (ins1de) : pastebin.com/fxtMWAHD  
--- 
---@param x number
---@param y number
---@param z number
---@param outPosition any
---@param outHeading any
---@param nodeType any
---@param p6 number
---@param p7 any
---@return boolean
function GetClosestVehicleNodeWithHeading(x, y, z, outPosition, outHeading, nodeType, p6, p7)
end

--- GET_NEXT_GPS_DISABLED_ZONE_INDEX
---Gets the next zone that has been disabled using SET_GPS_DISABLED_ZONE_AT_INDEX.
--- 
--- 
--- NativeDB Removed Parameter 1: int index
--- 
---@param index any
---@return any
function GetNextGpsDisabledZoneIndex(index)
end

--- CLEAR_GPS_DISABLED_ZONE_AT_INDEX
---Clears a disabled GPS route area from a certain index previously set using [SET_GPS_DISABLED_ZONE_AT_INDEX](#\_0xD0BC1C6FB18EE154).
---@param index any
---@return any
function ClearGpsDisabledZoneAtIndex(index)
end

--- GET_NTH_CLOSEST_VEHICLE_NODE_ID_WITH_HEADING
---
---@param x number
---@param y number
---@param z number
---@param nthClosest any
---@param outPosition any
---@param outHeading any
---@param p6 any
---@param p7 number
---@param p8 number
---@return any
function GetNthClosestVehicleNodeIdWithHeading(x, y, z, nthClosest, outPosition, outHeading, p6, p7, p8)
end

--- SET_ROADS_BACK_TO_ORIGINAL
---
--- missing a last parameter int p6  
--- 
--- 
--- 
--- NativeDB Added Parameter 7: Any p6
--- 
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@return any
function SetRoadsBackToOriginal(p0, p1, p2, p3, p4, p5)
end

--- GET_CLOSEST_VEHICLE_NODE
---
--- FYI: When falling through the map (or however you got under it) you will respawn when your player ped's height is <= -200.0 meters (I think you all know this) and when in a vehicle you will actually respawn at the closest vehicle node.
--- ----------
--- Vector3 nodePos;
--- GET_CLOSEST_VEHICLE_NODE(x,y,z,&nodePos,...)
--- p4 is either 0, 1 or 8. 1 means any path/road. 0 means node in the middle of the closest main (asphalt) road.
--- p5, p6 are always the same:
--- 0x40400000 (3.0), 0
--- p5 can also be 100.0 and p6 can be 2.5:
--- PATHFIND::GET_CLOSEST_VEHICLE_NODE(a_0, &v_5, v_9, 100.0, 2.5)
--- Known node types: simple path/asphalt road, only asphalt road, water, under the map at always the same coords.
--- The node types follows a pattern. For example, every fourth node is of the type water i.e. 3, 7, 11, 15, 19, 23, 27, 31, 35, 39... 239. Could not see any difference between nodes within certain types.
--- Starting at 2, every fourth node is under the map, always same coords.
--- Same with only asphalt road (0, 4, 8, etc) and simple path/asphalt road (1, 5, 9, etc).
--- gtaforums.com/topic/843561-pathfind-node-types
--- 
---@param x number
---@param y number
---@param z number
---@param outPosition any
---@param nodeType any
---@param p5 number
---@param p6 number
---@return boolean
function GetClosestVehicleNode(x, y, z, outPosition, nodeType, p5, p6)
end

--- GET_GPS_BLIP_ROUTE_LENGTH
---
---@return any
function GetGpsBlipRouteLength()
end

--- GET_VEHICLE_NODE_PROPERTIES
---
--- Gets the density and flags of the closest node to the specified position.  
--- Density is a value between 0 and 15, indicating how busy the road is.  
--- Flags is a bit field.  
--- 
---@param x number
---@param y number
---@param z number
---@param density any
---@param flags any
---@return boolean
function GetVehicleNodeProperties(x, y, z, density, flags)
end

--- _REQUEST_PATHS_PREFER_ACCURATE_BOUNDINGSTRUCT
---
--- Used internally for long range tasks
--- 
---@param x1 number
---@param y1 number
---@param x2 number
---@param y2 number
---@return boolean
function RequestPathsPreferAccurateBoundingstruct(x1, y1, x2, y2)
end

--- ARE_NODES_LOADED_FOR_AREA
---
---@param x1 number
---@param y1 number
---@param x2 number
---@param y2 number
---@return boolean
function AreNodesLoadedForArea(x1, y1, x2, y2)
end

--- IS_NAVMESH_LOADED_IN_AREA
---
--- Returns whether navmesh for the region is loaded. The region is a rectangular prism defined by it's top left deepest corner to it's bottom right shallowest corner.  
--- If you can re-word this so it makes more sense, please do. I'm horrible with words sometimes...  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@return boolean
function IsNavmeshLoadedInArea(x1, y1, z1, x2, y2, z2)
end

--- REMOVE_NAVMESH_REQUIRED_REGIONS
---
---@return any
function RemoveNavmeshRequiredRegions()
end

--- SET_GPS_DISABLED_ZONE_AT_INDEX
---Disables the GPS route displayed on the minimap while within a certain zone (area). When in a disabled zone and creating a waypoint, the GPS route is not shown on the minimap until you are outside of the zone. When disabled, the direct distance is shown on minimap opposed to distance to travel. Seems to only work before setting a waypoint.
--- 
--- You can clear the disabled zone with CLEAR_GPS_DISABLED_ZONE_AT_INDEX.
--- 
--- **Setting a waypoint at the same coordinate:**
--- 
--- Disabled Zone: <https://i.imgur.com/P9VUuxM.png>
--- 
--- Enabled Zone (normal): <https://i.imgur.com/BPi24aw.png>
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param index any
---@return any
function SetGpsDisabledZoneAtIndex(x1, y1, z1, x2, y2, z2, index)
end

--- ADD_NAVMESH_REQUIRED_REGION
---
---@param x number
---@param y number
---@param radius number
---@return any
function AddNavmeshRequiredRegion(x, y, radius)
end

--- GET_GPS_WAYPOINT_ROUTE_END
---p3 can be 0, 1 or 2.
---@param result any
---@param p1 boolean
---@param p2 number
---@param p3 any
---@return boolean
function GetGpsWaypointRouteEnd(result, p1, p2, p3)
end

--- SET_AMBIENT_PED_RANGE_MULTIPLIER_THIS_FRAME
---
---@param multiplier number
---@return any
function SetAmbientPedRangeMultiplierThisFrame(multiplier)
end

--- LOAD_ALL_PATH_NODES
---
--- This native has been removed in v1180.  
--- 
---@param keepInMemory boolean
---@return boolean
function LoadAllPathNodes(keepInMemory)
end

--- SET_GPS_DISABLED_ZONE
---
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@return any
function SetGpsDisabledZone(x1, y1, z1, x2, y2, z2)
end

--- SET_ROADS_IN_ANGLED_AREA
---unknown3 is related to SEND_SCRIPT_WORLD_STATE_EVENT > CNetworkRoadNodeWorldStateData in networked environments.
--- 
--- See [IS_POINT_IN_ANGLED_AREA](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param width number
---@param unknown1 boolean
---@param unknown2 boolean
---@param unknown3 boolean
---@return any
function SetRoadsInAngledArea(x1, y1, z1, x2, y2, z2, width, unknown1, unknown2, unknown3)
end

--- DISABLE_NAVMESH_IN_AREA
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@return any
function DisableNavmeshInArea(p0, p1, p2, p3, p4, p5, p6)
end

--- GET_NUM_NAVMESHES_EXISTING_IN_AREA
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@return any
function GetNumNavmeshesExistingInArea(p0, p1, p2, p3, p4, p5)
end

--- _GET_POINT_ON_ROAD_SIDE
---
---@param x number
---@param y number
---@param z number
---@param p3 any
---@param outPosition any
---@return boolean
function GetPointOnRoadSide(x, y, z, p3, outPosition)
end

--- GET_VEHICLE_NODE_IS_GPS_ALLOWED
---
--- Returns false for nodes that aren't used for GPS routes.
--- Example:
--- Nodes in Fort Zancudo and LSIA are false
--- 
---@param nodeID any
---@return boolean
function GetVehicleNodeIsGpsAllowed(nodeID)
end

--- GET_CLOSEST_ROAD
---
--- p1 seems to be always 1.0f in the scripts  
--- 
---@param x number
---@param y number
---@param z number
---@param p3 number
---@param p4 any
---@param p5 any
---@param p6 any
---@param p7 any
---@param p8 any
---@param p9 any
---@param p10 boolean
---@return any
function GetClosestRoad(x, y, z, p3, p4, p5, p6, p7, p8, p9, p10)
end

--- GET_NTH_CLOSEST_VEHICLE_NODE
---
---@param x number
---@param y number
---@param z number
---@param nthClosest any
---@param outPosition any
---@param unknown1 any
---@param unknown2 any
---@param unknown3 any
---@return boolean
function GetNthClosestVehicleNode(x, y, z, nthClosest, outPosition, unknown1, unknown2, unknown3)
end

--- GET_STREET_NAME_AT_COORD
---
--- Determines the name of the street which is the closest to the given coordinates.
--- x,y,z - the coordinates of the street
--- streetName - returns a hash to the name of the street the coords are on
--- crossingRoad - if the coordinates are on an intersection, a hash to the name of the crossing road
--- Note: the names are returned as hashes, the strings can be returned using the function HUD::GET_STREET_NAME_FROM_HASH_KEY.
--- 
---@param x number
---@param y number
---@param z number
---@param streetName any
---@param crossingRoad any
---@return any
function GetStreetNameAtCoord(x, y, z, streetName, crossingRoad)
end

--- CALCULATE_TRAVEL_DISTANCE_BETWEEN_POINTS
---Calculates the travel distance between a set of points.
--- Doesn't seem to correlate with distance on gps sometimes.
--- 
--- This function returns the value 100000.0 over long distances, seems to be a failure mode result, potentially occurring when not all path nodes are loaded into pathfind.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@return number
function CalculateTravelDistanceBetweenPoints(x1, y1, z1, x2, y2, z2)
end

--- _GET_HEIGHTMAP_BOTTOM_Z_FOR_POSITION
---
--- Returns CGameWorldHeightMap's minimum Z value at specified point (grid node).
--- 
---@param x number
---@param y number
---@return number
function GetHeightmapBottomZForPosition(x, y)
end

--- _SET_IGNORE_SECONDARY_ROUTE_NODES
---
--- See: SET_BLIP_ROUTE
--- 
---@param toggle boolean
---@return any
function SetIgnoreSecondaryRouteNodes(toggle)
end

--- _GET_HEIGHTMAP_TOP_Z_FOR_AREA
---
--- Returns CGameWorldHeightMap's maximum Z among all grid nodes that intersect with the specified rectangle.
--- 
---@param x1 number
---@param y1 number
---@param x2 number
---@param y2 number
---@return number
function GetHeightmapTopZForArea(x1, y1, x2, y2)
end

--- REMOVE_NAVMESH_BLOCKING_OBJECT
---
---@param p0 any
---@return any
function RemoveNavmeshBlockingObject(p0)
end

--- SET_ROADS_BACK_TO_ORIGINAL_IN_ANGLED_AREA
---See [IS_POINT_IN_ANGLED_AREA](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
--- 
--- 
--- NativeDB Added Parameter 8: Any p7
--- 
--- bool p7 - always 1  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param width number
---@return any
function SetRoadsBackToOriginalInAngledArea(x1, y1, z1, x2, y2, z2, width)
end

--- IS_POINT_ON_ROAD
---
--- Gets a value indicating whether the specified position is on a road.  
--- The vehicle parameter is not implemented (ignored).  
--- 
---@param x number
---@param y number
---@param z number
---@param vehicle any
---@return boolean
function IsPointOnRoad(x, y, z, vehicle)
end

--- _GET_HEIGHTMAP_BOTTOM_Z_FOR_AREA
---
--- Returns CGameWorldHeightMap's minimum Z among all grid nodes that intersect with the specified rectangle.
--- 
---@param x1 number
---@param y1 number
---@param x2 number
---@param y2 number
---@return number
function GetHeightmapBottomZForArea(x1, y1, x2, y2)
end

--- GET_VEHICLE_NODE_IS_SWITCHED_OFF
---
--- Returns true when the node is Offroad. Alleys, some dirt roads, and carparks return true.
--- Normal roads where plenty of Peds spawn will return false
--- 
---@param nodeID any
---@return boolean
function GetVehicleNodeIsSwitchedOff(nodeID)
end

--- _IS_NAVMESH_REQUIRED_REGION_OWNED_BY_ANY_THREAD
---
--- IS_*
--- 
---@return boolean
function IsNavmeshRequiredRegionOwnedByAnyThread()
end

--- GET_SAFE_COORD_FOR_PED
---
--- Flags are:
--- 1 = 1 = B02_IsFootpath
--- 2 = 4 = !B15_InteractionUnk
--- 4 = 0x20 = !B14_IsInterior
--- 8 = 0x40 = !B07_IsWater
--- 16 = 0x200 = B17_IsFlatGround
--- When onGround == true outPosition is a position located on the nearest pavement.
--- When a safe coord could not be found the result of a function is false and outPosition == Vector3.Zero.
--- In the scripts these flags are used: 0, 14, 12, 16, 20, 21, 28. 0 is most commonly used, then 16.
--- 16 works for me, 0 crashed the script.
--- 
---@param x number
---@param y number
---@param z number
---@param onGround boolean
---@param outPosition any
---@param flags any
---@return boolean
function GetSafeCoordForPed(x, y, z, onGround, outPosition, flags)
end

--- GET_GPS_BLIP_ROUTE_FOUND
---
---@return boolean
function GetGpsBlipRouteFound()
end

--- IS_VEHICLE_NODE_ID_VALID
---
--- Returns true if the id is non zero.  
--- 
---@param vehicleNodeId any
---@return boolean
function IsVehicleNodeIdValid(vehicleNodeId)
end

--- GET_VEHICLE_NODE_POSITION
---
--- Calling this with an invalid node id, will crash the game.
--- Note that IS_VEHICLE_NODE_ID_VALID simply checks if nodeId is not zero. It does not actually ensure that the id is valid.
--- Eg. IS_VEHICLE_NODE_ID_VALID(1) will return true, but will crash when calling GET_VEHICLE_NODE_POSITION().
--- 
---@param nodeId any
---@param outPosition any
---@return any
function GetVehicleNodePosition(nodeId, outPosition)
end

--- SET_ROADS_IN_AREA
---When this is set to false, all nodes in the area get disabled.
--- 
--- GET_VEHICLE_NODE_IS_SWITCHED_OFF returns true afterwards.
--- 
--- If it's true,
--- 
--- GET_VEHICLE_NODE_IS_SWITCHED_OFF returns false.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param nodeEnabled boolean
---@param unknown2 boolean
---@return any
function SetRoadsInArea(x1, y1, z1, x2, y2, z2, nodeEnabled, unknown2)
end

--- GET_NTH_CLOSEST_VEHICLE_NODE_ID
---
--- Returns the id.  
--- 
---@param x number
---@param y number
---@param z number
---@param nth any
---@param nodetype any
---@param p5 number
---@param p6 number
---@return any
function GetNthClosestVehicleNodeId(x, y, z, nth, nodetype, p5, p6)
end

--- _SET_ALL_PATHS_CACHE_BOUNDINGSTRUCT
---
--- Toggles a global boolean, name is probably a hash collision but describes its functionality.
--- 
---@param toggle boolean
---@return any
function SetAllPathsCacheBoundingstruct(toggle)
end

--- ARE_ALL_NAVMESH_REGIONS_LOADED
---
---@return boolean
function AreAllNavmeshRegionsLoaded()
end

--- ADD_NAVMESH_BLOCKING_OBJECT
---Creates a navmesh blocking object, vehicles will avoid driving through this area.
--- 
--- Only 32 blocking objects may exist at a given time and must be manually managed. See [REMOVE_NAVMESH_BLOCKING_OBJECT](#\_0x46399A7895957C0E) and [onResourceStop](https://docs.fivem.net/docs/scripting-reference/events/list/onResourceStop/)
---@param x number
---@param y number
---@param z number
---@param width number
---@param length number
---@param height number
---@param heading number
---@param p7 boolean
---@param p8 any
---@return any
function AddNavmeshBlockingObject(x, y, z, width, length, height, heading, p7, p8)
end

--- GET_CLOSEST_MAJOR_VEHICLE_NODE
---
--- Get the closest vehicle node to a given position, unknown1 = 3.0, unknown2 = 0  
--- 
---@param x number
---@param y number
---@param z number
---@param outPosition any
---@param unknown1 number
---@param unknown2 any
---@return boolean
function GetClosestMajorVehicleNode(x, y, z, outPosition, unknown1, unknown2)
end

--- GENERATE_DIRECTIONS_TO_COORD
---
--- p3 is 0 in the only game script occurrence (trevor3) but 1 doesn't seem to make a difference
--- distToNxJunction seems to be the distance in metres * 10.0f
--- direction:
--- 0 = This happens randomly during the drive for seemingly no reason but if you consider that this native is only used in trevor3, it seems to mean "Next frame, stop whatever's being said and tell the player the direction."
--- 1 = Route is being calculated or the player is going in the wrong direction
--- 2 = Please Proceed the Highlighted Route
--- 3 = In (distToNxJunction) Turn Left
--- 4 = In (distToNxJunction) Turn Right
--- 5 = In (distToNxJunction) Keep Straight
--- 6 = In (distToNxJunction) Turn Sharply To The Left
--- 7 = In (distToNxJunction) Turn Sharply To The Right
--- 8 = Route is being recalculated or the navmesh is confusing. This happens randomly during the drive but consistently at {2044.0358, 2996.6116, 44.9717} if you face towards the bar and the route needs you to turn right. In that particular case, it could be a bug with how the turn appears to be 270 deg. CCW instead of "right." Either way, this seems to be the engine saying "I don't know the route right now."
--- return value set to 0 always
--- 
---@param x number
---@param y number
---@param z number
---@param p3 boolean
---@param direction any
---@param vehicle any
---@param distToNxJunction any
---@return any
function GenerateDirectionsToCoord(x, y, z, p3, direction, vehicle, distToNxJunction)
end

--- GET_NTH_CLOSEST_VEHICLE_NODE_WITH_HEADING
---
--- Get the nth closest vehicle node and its heading. (unknown2 = 9, unknown3 = 3.0, unknown4 = 2.5)  
--- 
---@param x number
---@param y number
---@param z number
---@param nthClosest any
---@param outPosition any
---@param heading any
---@param unknown1 any
---@param unknown2 any
---@param unknown3 number
---@param unknown4 number
---@return boolean
function GetNthClosestVehicleNodeWithHeading(x, y, z, nthClosest, outPosition, heading, unknown1, unknown2, unknown3, unknown4)
end

--- SET_PED_PATHS_BACK_TO_ORIGINAL
---
--- NativeDB Added Parameter 7: Any p6
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@return any
function SetPedPathsBackToOriginal(p0, p1, p2, p3, p4, p5)
end

--- SET_PED_PATHS_IN_AREA
---
--- NativeDB Added Parameter 8: Any p7
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param unknown boolean
---@return any
function SetPedPathsInArea(x1, y1, z1, x2, y2, z2, unknown)
end

--- _STOP_RECORDING_AND_SAVE_CLIP
---
--- Stops recording and saves the recorded clip.  
--- 
---@return any
function StopRecordingAndSaveClip()
end

--- _SAVE_RECORDING_CLIP
---
---@return boolean
function SaveRecordingClip()
end

--- _IS_RECORDING
---
--- Checks if you're recording, returns TRUE when you start recording (F1) or turn on action replay (F2)  
--- mov al, cs:g_bIsRecordingGameplay // byte_141DD0CD0 in b944  
--- retn  
--- 
---@return boolean
function IsRecording()
end

--- _START_RECORDING
---
--- Starts recording a replay.  
--- If mode is 0, turns on action replay.  
--- If mode is 1, starts recording.  
--- If already recording a replay, does nothing.  
--- 
---@param mode any
---@return any
function StartRecording(mode)
end

--- _STOP_RECORDING_THIS_FRAME
---This disable the recording feature and has to be called every frame.
---@return any
function StopRecordingThisFrame()
end

--- _DISABLE_ROCKSTAR_EDITOR_CAMERA_CHANGES
---
--- This will disable the ability to make camera changes in R* Editor.
--- 
--- RE*
--- 
---@return any
function DisableRockstarEditorCameraChanges()
end

--- _STOP_RECORDING_AND_DISCARD_CLIP
---
--- Stops recording and discards the recorded clip.  
--- 
---@return any
function StopRecordingAndDiscardClip()
end

--- SQRT
---
---@param value number
---@return number
function Sqrt(value)
end

--- TIMERB
---
---@return any
function Timerb()
end

--- START_NEW_SCRIPT_WITH_NAME_HASH
---
---@param scriptHash any
---@param stackSize any
---@return any
function StartNewScriptWithNameHash(scriptHash, stackSize)
end

--- START_NEW_SCRIPT_WITH_NAME_HASH_AND_ARGS
---
---@param scriptHash any
---@param args any
---@param argCount any
---@param stackSize any
---@return any
function StartNewScriptWithNameHashAndArgs(scriptHash, args, argCount, stackSize)
end

--- VMAG2
---
--- Calculates the magnitude of a vector but does not perform Sqrt operations. (Its way faster)  
--- 
---@param x number
---@param y number
---@param z number
---@return number
function Vmag2(x, y, z)
end

--- WAIT
---
--- Pauses execution of the current script, please note this behavior is only seen when called from one of the game script files(ysc). In order to wait an asi script use "static void WAIT(DWORD time);" found in main.h
--- 
---@param ms any
---@return any
function Wait(ms)
end

--- VDIST2
---
--- Calculates distance between vectors but does not perform Sqrt operations. (Its way faster)  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@return number
function Vdist2(x1, y1, z1, x2, y2, z2)
end

--- FLOOR
---
---@param value number
---@return any
function Floor(value)
end

--- POW
---
---@param base number
---@param exponent number
---@return number
function Pow(base, exponent)
end

--- SIN
---Returns the sine of the given number.
---@param value number
---@return number
function Sin(value)
end

--- SETTIMERA
---
---@param value any
---@return any
function Settimera(value)
end

--- SHIFT_RIGHT
---
---@param value any
---@param bitShift any
---@return any
function ShiftRight(value, bitShift)
end

--- START_NEW_SCRIPT_WITH_ARGS
---
--- return : script thread id, 0 if failed  
--- Pass pointer to struct of args in p1, size of struct goes into p2  
--- 
---@param scriptName any
---@param args any
---@param argCount any
---@param stackSize any
---@return any
function StartNewScriptWithArgs(scriptName, args, argCount, stackSize)
end

--- TIMERA
---
--- Counts up. Every 1000 is 1 real-time second. Use SETTIMERA(int value) to set the timer (e.g.: SETTIMERA(0)).  
--- 
---@return any
function Timera()
end

--- VDIST
---
--- Calculates distance between vectors.  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@return number
function Vdist(x1, y1, z1, x2, y2, z2)
end

--- _LOG10
---
--- NativeDB Introduced: v1604
--- 
---@param value number
---@return number
function Log10(value)
end

--- COS
---Returns the cosine of the given number.
---@param value number
---@return number
function Cos(value)
end

--- ROUND
---
---@param value number
---@return any
function Round(value)
end

--- _SET_THREAD_PRIORITY
---
--- 0 = high
--- 1 = normal
--- 2 = low
--- 
---@param priority any
---@return any
function SetThreadPriority(priority)
end

--- TIMESTEP
---
--- Gets the current frame time.  
--- 
---@return number
function Timestep()
end

--- VMAG
---
--- Calculates the magnitude of a vector.  
--- 
---@param x number
---@param y number
---@param z number
---@return number
function Vmag(x, y, z)
end

--- CEIL
---
--- I'm guessing this rounds a float value up to the next whole number, and FLOOR rounds it down  
--- 
---@param value number
---@return any
function Ceil(value)
end

--- SHIFT_LEFT
---
---@param value any
---@param bitShift any
---@return any
function ShiftLeft(value, bitShift)
end

--- START_NEW_SCRIPT
---
--- Examples:
---  g_384A = SYSTEM::START_NEW_SCRIPT("cellphone_flashhand", 1424);
---  l_10D = SYSTEM::START_NEW_SCRIPT("taxiService", 1828);
---  SYSTEM::START_NEW_SCRIPT("AM_MP_YACHT", 5000);
---  SYSTEM::START_NEW_SCRIPT("emergencycall", 512);
---  SYSTEM::START_NEW_SCRIPT("emergencycall", 512);
---  SYSTEM::START_NEW_SCRIPT("FM_maintain_cloud_header_data", 1424);
---  SYSTEM::START_NEW_SCRIPT("FM_Mission_Controller", 31000);
---  SYSTEM::START_NEW_SCRIPT("tennis_family", 3650);
---  SYSTEM::START_NEW_SCRIPT("Celebrations", 3650);
--- Decompiled examples of usage when starting a script:
--- 
---     SCRIPT::REQUEST_SCRIPT(a_0);
---     if (SCRIPT::HAS_SCRIPT_LOADED(a_0)) {
---         SYSTEM::START_NEW_SCRIPT(a_0, v_3);
---         SCRIPT::SET_SCRIPT_AS_NO_LONGER_NEEDED(a_0);
---         return 1;
---     }
--- 
--- or:
---     v_2 = "MrsPhilips2";
---     SCRIPT::REQUEST_SCRIPT(v_2);
---     while (!SCRIPT::HAS_SCRIPT_LOADED(v_2)) {
---     SCRIPT::REQUEST_SCRIPT(v_2);
---     SYSTEM::WAIT(0);
---     }
---     sub_8792(36);
---     SYSTEM::START_NEW_SCRIPT(v_2, 17000);
---     SCRIPT::SET_SCRIPT_AS_NO_LONGER_NEEDED(v_2);
--- All native script names: pastebin.com/K9adDsu4 and pastebin.com/yLNWicUi
--- 
---@param scriptName any
---@param stackSize any
---@return any
function StartNewScript(scriptName, stackSize)
end

--- SETTIMERB
---
---@param value any
---@return any
function Settimerb(value)
end

--- TO_FLOAT
---
---@param value any
---@return number
function ToFloat(value)
end

--- GET_SHOP_PED_APPAREL_FORCED_PROP_COUNT
---
--- Returns number of possible values of the forcedPropIndex argument of GET_FORCED_PROP.
--- 
---@param componentHash any
---@return any
function GetShopPedApparelForcedPropCount(componentHash)
end

--- GET_SHOP_PED_COMPONENT
---
--- More info here: https://gist.github.com/root-cause/3b80234367b0c856d60bf5cb4b826f86
--- 
---@param componentHash any
---@param outComponent any
---@return any
function GetShopPedComponent(componentHash, outComponent)
end

--- GET_SHOP_PED_QUERY_COMPONENT
---
---@param componentId any
---@param outComponent any
---@return any
function GetShopPedQueryComponent(componentId, outComponent)
end

--- _GET_VARIANT_PROP
---
---@param componentHash any
---@param variantPropIndex any
---@param nameHash any
---@param enumValue any
---@param anchorPoint any
---@return any
function GetVariantProp(componentHash, variantPropIndex, nameHash, enumValue, anchorPoint)
end

--- IS_CONTENT_ITEM_LOCKED
---
---@param itemHash any
---@return boolean
function IsContentItemLocked(itemHash)
end

--- GET_NUM_DLC_VEHICLES
---Returns the total number of DLC vehicles.
---@return any
function GetNumDlcVehicles()
end

--- GET_NUM_TATTOO_SHOP_DLC_ITEMS
---
--- Character types:
--- 0 = Michael,
--- 1 = Franklin,
--- 2 = Trevor,
--- 3 = MPMale,
--- 4 = MPFemale
--- 
---@param character any
---@return any
function GetNumTattooShopDlcItems(character)
end

--- _UNLOAD_CONTENT_CHANGE_SET_GROUP
---
--- From fm_deathmatch_creator and fm_race_creator:
--- 
--- FILES::_UNLOAD_CONTENT_CHANGE_SET_GROUP(joaat("GROUP_MAP_SP"));
--- FILES::_LOAD_CONTENT_CHANGE_SET_GROUP(joaat("GROUP_MAP"));
--- 
--- NativeDB Introduced: v1604
--- 
---@param hash any
---@return any
function UnloadContentChangeSetGroup(hash)
end

--- SETUP_SHOP_PED_OUTFIT_QUERY
---
--- characters
--- 0: Michael
--- 1: Franklin
--- 2: Trevor
--- 3: MPMale
--- 4: MPFemale
--- 
---@param character any
---@param p1 boolean
---@return any
function SetupShopPedOutfitQuery(character, p1)
end

--- GET_DLC_VEHICLE_DATA
---The Second item in the struct *(Hash *)(outData + 1) is the vehicle hash.
---@param dlcVehicleIndex any
---@param outData any
---@return boolean
function GetDlcVehicleData(dlcVehicleIndex, outData)
end

--- GET_HASH_NAME_FOR_PROP
---
---@param entity number
---@param componentId any
---@param propIndex any
---@param propTextureIndex any
---@return any
function GetHashNameForProp(entity, componentId, propIndex, propTextureIndex)
end

--- _GET_SHOP_PED_APPAREL_VARIANT_PROP_COUNT
---
---@param propHash any
---@return any
function GetShopPedApparelVariantPropCount(propHash)
end

--- GET_SHOP_PED_OUTFIT
---
---@param p0 any
---@param p1 any
---@return any
function GetShopPedOutfit(p0, p1)
end

--- GET_SHOP_PED_OUTFIT_COMPONENT_VARIANT
---
---@param outfit any
---@param slot any
---@param outComponentVariant any
---@return boolean
function GetShopPedOutfitComponentVariant(outfit, slot, outComponentVariant)
end

--- GET_SHOP_PED_QUERY_PROP
---
---@param componentId any
---@param outProp any
---@return any
function GetShopPedQueryProp(componentId, outProp)
end

--- INIT_SHOP_PED_PROP
---
---@param outProp any
---@return any
function InitShopPedProp(outProp)
end

--- IS_DLC_VEHICLE_MOD
---
---@param hash any
---@return boolean
function IsDlcVehicleMod(hash)
end

--- GET_NUM_DLC_WEAPON_COMPONENTS
---
--- Returns the total number of DLC weapon components.
--- 
---@param dlcWeaponIndex any
---@return any
function GetNumDlcWeaponComponents(dlcWeaponIndex)
end

--- GET_SHOP_PED_APPAREL_FORCED_COMPONENT_COUNT
---
--- Returns number of possible values of the forcedComponentIndex argument of GET_FORCED_COMPONENT.
--- 
---@param componentHash any
---@return any
function GetShopPedApparelForcedComponentCount(componentHash)
end

--- SETUP_SHOP_PED_APPAREL_QUERY
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function SetupShopPedApparelQuery(p0, p1, p2, p3)
end

--- GET_SHOP_PED_APPAREL_VARIANT_COMPONENT_COUNT
---
---@param componentHash any
---@return any
function GetShopPedApparelVariantComponentCount(componentHash)
end

--- _LOAD_CONTENT_CHANGE_SET_GROUP
---
--- From fm_deathmatch_creator and fm_race_creator:
--- 
--- FILES::_UNLOAD_CONTENT_CHANGE_SET_GROUP(joaat("GROUP_MAP_SP"));
--- FILES::_LOAD_CONTENT_CHANGE_SET_GROUP(joaat("GROUP_MAP"));
--- 
--- NativeDB Introduced: v1604
--- 
---@param hash any
---@return any
function LoadContentChangeSetGroup(hash)
end

--- GET_DLC_WEAPON_DATA
---
--- dlcWeaponIndex takes a number from 0 - GET_NUM_DLC_WEAPONS() - 1.  
--- struct DlcWeaponData  
--- {  
--- int emptyCheck; //use DLC1::_IS_DLC_DATA_EMPTY on this  
--- int padding1;  
--- int weaponHash;  
--- int padding2;  
--- int unk;  
--- int padding3;  
--- int weaponCost;  
--- int padding4;  
--- int ammoCost;  
--- int padding5;  
--- int ammoType;  
--- int padding6;  
--- int defaultClipSize;  
--- int padding7;  
--- char nameLabel[64];  
--- char descLabel[64];  
--- char desc2Label[64]; // usually "the" + name  
--- char upperCaseNameLabel[64];  
--- };  
--- 
---@param dlcWeaponIndex any
---@param outData any
---@return boolean
function GetDlcWeaponData(dlcWeaponIndex, outData)
end

--- _GET_DLC_WEAPON_DATA_SP
---Same as GET_DLC_WEAPON_DATA but only works for DLC weapons that are available in SP.
--- 
--- 
--- NativeDB Introduced: v2060
--- 
---@param dlcWeaponIndex any
---@param outData any
---@return boolean
function GetDlcWeaponDataSp(dlcWeaponIndex, outData)
end

--- GET_SHOP_PED_PROP
---
---@param componentHash any
---@param outProp any
---@return any
function GetShopPedProp(componentHash, outProp)
end

--- GET_SHOP_PED_OUTFIT_PROP_VARIANT
---
---@param outfitHash any
---@param variantIndex any
---@param outPropVariant any
---@return boolean
function GetShopPedOutfitPropVariant(outfitHash, variantIndex, outPropVariant)
end

--- GET_DLC_VEHICLE_MOD_LOCK_HASH
---
---@param hash any
---@return any
function GetDlcVehicleModLockHash(hash)
end

--- GET_FORCED_PROP
---
---@param componentHash any
---@param forcedPropIndex any
---@param nameHash any
---@param enumValue any
---@param anchorPoint any
---@return any
function GetForcedProp(componentHash, forcedPropIndex, nameHash, enumValue, anchorPoint)
end

--- GET_SHOP_PED_OUTFIT_LOCATE
---
---@param p0 any
---@return any
function GetShopPedOutfitLocate(p0)
end

--- GET_TATTOO_SHOP_DLC_ITEM_DATA
---Character types:
--- 
--- 
--- 0 = Michael,
--- 1 = Franklin,
--- 2 = Trevor,
--- 3 = MPMale,
--- 4 = MPFemale
--- 
--- 
--- csharp
--- enum TattooZoneData
--- {
---     ZONE_TORSO = 0,
---     ZONE_HEAD = 1,
---     ZONE_LEFT_ARM = 2,
---     ZONE_RIGHT_ARM = 3,
---     ZONE_LEFT_LEG = 4,
---     ZONE_RIGHT_LEG = 5,
---     ZONE_UNKNOWN = 6,
---     ZONE_NONE = 7,
--- };
--- 
--- struct outComponent
--- {
---     // these vars are suffixed with 4 bytes of padding each.
---     uint unk;
---     int unk2;
---     uint tattooCollectionHash;
---     uint tattooNameHash;
---     int unk3;
---     TattooZoneData zoneId;
---     uint unk4;
---     uint unk5;
---     // maybe more, not sure exactly, decompiled scripts are very vague around this part.
--- }
--- 
---@param characterType any
---@param decorationIndex any
---@param outComponent any
---@return boolean
function GetTattooShopDlcItemData(characterType, decorationIndex, outComponent)
end

--- GET_VARIANT_COMPONENT
---
---@param componentHash any
---@param variantComponentIndex any
---@param nameHash any
---@param enumValue any
---@param componentType any
---@return any
function GetVariantComponent(componentHash, variantComponentIndex, nameHash, enumValue, componentType)
end

--- INIT_SHOP_PED_COMPONENT
---
---@param outComponent any
---@return any
function InitShopPedComponent(outComponent)
end

--- SETUP_SHOP_PED_APPAREL_QUERY_TU
---
--- character is 0 for Michael, 1 for Franklin, 2 for Trevor, 3 for freemode male, and 4 for freemode female.
--- componentId is between 0 and 11 and corresponds to the usual component slots.
--- p1 could be the outfit number; unsure.
--- p2 is usually -1; unknown function.
--- p3 appears to be for selecting between clothes and props; false is used with components/clothes, true is used with props.
--- p4 is usually -1; unknown function.
--- componentId is -1 when p3 is true in decompiled scripts.
--- 
---@param character any
---@param p1 any
---@param p2 any
---@param p3 boolean
---@param p4 any
---@param componentId any
---@return any
function SetupShopPedApparelQueryTu(character, p1, p2, p3, p4, componentId)
end

--- GET_DLC_WEAPON_COMPONENT_DATA
---
--- p0 seems to be the weapon index  
--- p1 seems to be the weapon component index  
--- struct DlcComponentData{  
--- int attachBone;  
--- int padding1;  
--- int bActiveByDefault;  
--- int padding2;  
--- int unk;  
--- int padding3;  
--- int componentHash;  
--- int padding4;  
--- int unk2;  
--- int padding5;  
--- int componentCost;  
--- int padding6;  
--- char nameLabel[64];  
--- char descLabel[64];  
--- };  
--- 
---@param dlcWeaponIndex any
---@param dlcWeapCompIndex any
---@param ComponentDataPtr any
---@return boolean
function GetDlcWeaponComponentData(dlcWeaponIndex, dlcWeapCompIndex, ComponentDataPtr)
end

--- _GET_NUM_DLC_WEAPONS_SP
---Returns the total number of DLC weapons that are available in SP (availableInSP field in shop_weapon.meta).
--- 
--- 
--- NativeDB Introduced: v2060
--- 
---@return any
function GetNumDlcWeaponsSp()
end

--- _GET_NUM_DLC_WEAPON_COMPONENTS_SP
---Returns the total number of DLC weapon components that are available in SP.
--- 
--- 
--- NativeDB Introduced: v2060
--- 
---@param dlcWeaponIndex any
---@return any
function GetNumDlcWeaponComponentsSp(dlcWeaponIndex)
end

--- GET_NUM_DLC_WEAPONS
---
--- Returns the total number of DLC weapons.
--- 
---@return any
function GetNumDlcWeapons()
end

--- GET_SHOP_PED_QUERY_OUTFIT
---
--- struct Outfit_s  
--- {  
--- 	int mask, torso, pants, parachute, shoes, misc1, tops1, armour, crew, tops2, hat, glasses, earpiece;  
--- 	int maskTexture, torsoTexture, pantsTexture, parachuteTexture, shoesTexture, misc1Texture, tops1Texture,   
--- 		armourTexture, crewTexture, tops2Texture, hatTexture, glassesTexture, earpieceTexture;  
--- };  
--- 
---@param outfitIndex any
---@param outfit any
---@return any
function GetShopPedQueryOutfit(outfitIndex, outfit)
end

--- GET_DLC_VEHICLE_FLAGS
---
---@param dlcVehicleIndex any
---@return any
function GetDlcVehicleFlags(dlcVehicleIndex)
end

--- GET_HASH_NAME_FOR_COMPONENT
---
---@param entity number
---@param componentId any
---@param drawableVariant any
---@param textureVariant any
---@return any
function GetHashNameForComponent(entity, componentId, drawableVariant, textureVariant)
end

--- _GET_DLC_WEAPON_COMPONENT_DATA_SP
---Same as GET_DLC_WEAPON_COMPONENT_DATA but only works for DLC components that are available in SP.
--- 
--- 
--- NativeDB Introduced: v2060
--- 
---@param dlcWeaponIndex any
---@param dlcWeapCompIndex any
---@param ComponentDataPtr any
---@return boolean
function GetDlcWeaponComponentDataSp(dlcWeaponIndex, dlcWeapCompIndex, ComponentDataPtr)
end

--- GET_FORCED_COMPONENT
---
---@param componentHash any
---@param forcedComponentIndex any
---@param nameHash any
---@param enumValue any
---@param componentType any
---@return any
function GetForcedComponent(componentHash, forcedComponentIndex, nameHash, enumValue, componentType)
end

--- DOES_SHOP_PED_APPAREL_HAVE_RESTRICTION_TAG
---
---@param componentHash any
---@param restrictionTagHash any
---@param componentId any
---@return boolean
function DoesShopPedApparelHaveRestrictionTag(componentHash, restrictionTagHash, componentId)
end

--- GET_DLC_VEHICLE_MODEL
---
--- dlcVehicleIndex is 0 to GET_NUM_DLC_VEHICLS()  
--- 
---@param dlcVehicleIndex any
---@return any
function GetDlcVehicleModel(dlcVehicleIndex)
end

--- IS_CONVERSATION_PED_DEAD
---
---@param ped number
---@return boolean
function IsConversationPedDead(ped)
end

--- SET_BLOCKING_OF_NON_TEMPORARY_EVENTS
---
--- works with TASK::TASK_SET_BLOCKING_OF_NON_TEMPORARY_EVENTS to make a ped completely oblivious to all events going on around him
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetBlockingOfNonTemporaryEvents(ped, toggle)
end

--- SET_PED_PRELOAD_PROP_DATA
---
--- List of component/props ID
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
--- 
---@param ped number
---@param componentId any
---@param drawableId any
---@param TextureId any
---@return boolean
function SetPedPreloadPropData(ped, componentId, drawableId, TextureId)
end

--- SET_PED_SUFFERS_CRITICAL_HITS
---Ped no longer takes critical damage modifiers if set to FALSE.
--- 
--- Example: Headshotting a player no longer one shots them. Instead they will take the same damage as a torso shot.
---@param ped number
---@param toggle boolean
---@return any
function SetPedSuffersCriticalHits(ped, toggle)
end

--- SPAWNPOINTS_IS_SEARCH_COMPLETE
---
---@return boolean
function SpawnpointsIsSearchComplete()
end

--- IS_TRACKED_PED_VISIBLE
---
--- returns whether or not a ped is visible within your FOV, not this check auto's to false after a certain distance.  
--- Target needs to be tracked.. won't work otherwise.  
--- 
---@param ped number
---@return boolean
function IsTrackedPedVisible(ped)
end

--- RELEASE_PED_PRELOAD_VARIATION_DATA
---
---@param ped number
---@return any
function ReleasePedPreloadVariationData(ped)
end

--- SET_PED_CAN_TELEPORT_TO_GROUP_LEADER
---
--- This only will teleport the ped to the group leader if the group leader teleports (sets coords).  
--- Only works in singleplayer  
--- 
---@param pedHandle number
---@param groupHandle any
---@param toggle boolean
---@return any
function SetPedCanTeleportToGroupLeader(pedHandle, groupHandle, toggle)
end

--- SET_PED_DEFAULT_COMPONENT_VARIATION
---
--- Sets Ped Default Clothes  
--- 
---@param ped number
---@return any
function SetPedDefaultComponentVariation(ped)
end

--- SET_PED_GESTURE_GROUP
---
--- From the scripts:  
--- PED::SET_PED_GESTURE_GROUP(PLAYER::PLAYER_PED_ID(),  
--- "ANIM_GROUP_GESTURE_MISS_FRA0");  
--- PED::SET_PED_GESTURE_GROUP(PLAYER::PLAYER_PED_ID(),  
--- "ANIM_GROUP_GESTURE_MISS_DocksSetup1");  
--- 
---@param ped number
---@param animGroupGesture any
---@return any
function SetPedGestureGroup(ped, animGroupGesture)
end

--- IS_PED_IN_COMBAT
---
--- Checks to see if ped and target are in combat with eachother. Only goes one-way: if target is engaged in combat with ped but ped has not yet reacted, the function will return false until ped starts fighting back.  
--- p1 is usually 0 in the scripts because it gets the ped id during the task sequence. For instance: PED::IS_PED_IN_COMBAT(l_42E[4/*14*/], PLAYER::PLAYER_PED_ID()) // armenian2.ct4: 43794  
--- 
---@param ped number
---@param target number
---@return boolean
function IsPedInCombat(ped, target)
end

--- IS_PED_TRACKED
---
---@param ped number
---@return boolean
function IsPedTracked(ped)
end

--- SET_PED_SHOULD_PLAY_NORMAL_SCENARIO_EXIT
---
---@param ped number
---@return any
function SetPedShouldPlayNormalScenarioExit(ped)
end

--- IS_PED_BEING_STEALTH_KILLED
---
---@param ped number
---@return boolean
function IsPedBeingStealthKilled(ped)
end

--- IS_PED_IN_ANY_BOAT
---
---@param ped number
---@return boolean
function IsPedInAnyBoat(ped)
end

--- IS_PED_ON_SPECIFIC_VEHICLE
---
---@param ped number
---@param vehicle any
---@return boolean
function IsPedOnSpecificVehicle(ped, vehicle)
end

--- IS_PED_RUNNING_RAGDOLL_TASK
---
---@param ped number
---@return boolean
function IsPedRunningRagdollTask(ped)
end

--- IS_PED_USING_ANY_SCENARIO
---
---@param ped number
---@return boolean
function IsPedUsingAnyScenario(ped)
end

--- SET_PED_VEHICLE_FORCED_SEAT_USAGE
---
--- NativeDB Added Parameter 5: Any p4
--- 
---@param ped number
---@param vehicle any
---@param seatIndex any
---@param flags any
---@return any
function SetPedVehicleForcedSeatUsage(ped, vehicle, seatIndex, flags)
end

--- CLONE_PED
---Creates a copy of the passed ped, optionally setting it as local and/or shallow-copying the head blend data.
---@param ped number
---@param isNetwork boolean
---@param bScriptHostPed boolean
---@param copyHeadBlendFlag boolean
---@return number
function ClonePed(ped, isNetwork, bScriptHostPed, copyHeadBlendFlag)
end

--- RESET_PED_LAST_VEHICLE
---
--- Resets the value for the last vehicle driven by the Ped.  
--- 
---@param ped number
---@return any
function ResetPedLastVehicle(ped)
end

--- SET_FORCE_STEP_TYPE
---
---@param ped number
---@param p1 boolean
---@param type any
---@param p3 any
---@return any
function SetForceStepType(ped, p1, type, p3)
end

--- _SET_PED_HELMET_UNK
---
---@param ped number
---@param p1 boolean
---@param p2 any
---@param p3 any
---@return any
function SetPedHelmetUnk(ped, p1, p2, p3)
end

--- SPAWNPOINTS_IS_SEARCH_FAILED
---
---@return boolean
function SpawnpointsIsSearchFailed()
end

--- CLEAR_PED_DRIVE_BY_CLIPSET_OVERRIDE
---
---@param ped number
---@return any
function ClearPedDriveByClipsetOverride(ped)
end

--- GET_RANDOM_PED_AT_COORD
---
--- Gets a random ped in the x/y/zRadius near the x/y/z coordinates passed.   
--- Ped Types:  
--- Any = -1  
--- Player = 1  
--- Male = 4   
--- Female = 5   
--- Cop = 6  
--- Human = 26  
--- SWAT = 27   
--- Animal = 28  
--- Army = 29  
--- 
---@param x number
---@param y number
---@param z number
---@param xRadius number
---@param yRadius number
---@param zRadius number
---@param pedType any
---@return number
function GetRandomPedAtCoord(x, y, z, xRadius, yRadius, zRadius, pedType)
end

--- SET_PED_PREFERRED_COVER_SET
---
---@param ped number
---@param itemSet any
---@return any
function SetPedPreferredCoverSet(ped, itemSet)
end

--- GET_PED_EXTRACTED_DISPLACEMENT
---
--- Gets the offset the specified ped has moved since the previous tick.  
--- If worldSpace is false, the returned offset is relative to the ped. That is, if the ped has moved 1 meter right and 5 meters forward, it'll return 1,5,0.  
--- If worldSpace is true, the returned offset is relative to the world. That is, if the ped has moved 1 meter on the X axis and 5 meters on the Y axis, it'll return 1,5,0.  
--- 
---@param ped number
---@param worldSpace boolean
---@return { x: number, y: number, z: number }
function GetPedExtractedDisplacement(ped, worldSpace)
end

--- IS_PED_JUMPING
---
---@param ped number
---@return boolean
function IsPedJumping(ped)
end

--- SET_PED_COMBAT_RANGE
---
--- Only the values 0, 1 and 2 occur in the decompiled scripts. Most likely refers directly to the values also described as AttackRange in combatbehaviour.meta:  
--- 0: CR_Near  
--- 1: CR_Medium  
--- 2: CR_Far  
--- 
---@param ped number
---@param p1 any
---@return any
function SetPedCombatRange(ped, p1)
end

--- RESET_PED_MOVEMENT_CLIPSET
---
---@param ped number
---@param transitionSpeed number
---@return any
function ResetPedMovementClipset(ped, transitionSpeed)
end

--- REVIVE_INJURED_PED
---
--- It will revive/cure the injured ped. The condition is ped must not be dead.  
--- Upon setting and converting the health int, found, if health falls below 5, the ped will lay on the ground in pain(Maximum default health is 100).  
--- This function is well suited there.  
--- 
---@param ped number
---@return any
function ReviveInjuredPed(ped)
end

--- SET_PED_COMBAT_ABILITY
---
--- 100 would equal attack  
--- less then 50ish would mean run away  
--- Only the values 0, 1 and 2 occur in the decompiled scripts. Most likely refers directly to the values also described in combatbehaviour.meta:  
--- 0: CA_Poor  
--- 1: CA_Average  
--- 2: CA_Professional  
--- Tested this and got the same results as the first explanation here. Could not find any difference between 0, 1 and 2.  
--- 
---@param ped number
---@param p1 any
---@return any
function SetPedCombatAbility(ped, p1)
end

--- SET_PED_ENVEFF_SCALE
---
--- Values look to be between 0.0 and 1.0  
--- From decompiled scripts: 0.0, 0.6, 0.65, 0.8, 1.0  
--- You are correct, just looked in IDA it breaks from the function if it's less than 0.0f or greater than 1.0f.  
--- 
---@param ped number
---@param value number
---@return any
function SetPedEnveffScale(ped, value)
end

--- SET_PED_PLAYS_HEAD_ON_HORN_ANIM_WHEN_DIES_IN_VEHICLE
---**This native does absolutely nothing, just a nullsub**
--- 
--- 
--- Points to the same function as for example GET_RANDOM_VEHICLE_MODEL_IN_MEMORY and it does absolutely nothing.  
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetPedPlaysHeadOnHornAnimWhenDiesInVehicle(ped, toggle)
end

--- SET_PED_STEALTH_MOVEMENT
---
--- p1 is usually 0 in the scripts. action is either 0 or a pointer to "DEFAULT_ACTION".  
--- 
---@param ped number
---@param p1 boolean
---@param action any
---@return any
function SetPedStealthMovement(ped, p1, action)
end

--- CAN_PED_RAGDOLL
---
--- Prevents the ped from going limp.  
--- [Example: Can prevent peds from falling when standing on moving vehicles.]  
--- 
---@param ped number
---@return boolean
function CanPedRagdoll(ped)
end

--- GET_PED_PARACHUTE_STATE
---
--- Returns:  
--- -1: Normal  
--- 0: Wearing parachute on back  
--- 1: Parachute opening  
--- 2: Parachute open  
--- 3: Falling to doom (e.g. after exiting parachute)  
--- Normal means no parachute?  
--- 
---@param ped number
---@return any
function GetPedParachuteState(ped)
end

--- GET_SEAT_PED_IS_TRYING_TO_ENTER
---
---@param ped number
---@return any
function GetSeatPedIsTryingToEnter(ped)
end

--- _SET_PED_COVER_CLIPSET_OVERRIDE
---
--- Found in the b617d scripts:
--- PED::_9DBA107B4937F809(v_7, "trevor_heist_cover_2h");
--- SET_PED_MO*
--- 
---@param ped number
---@param p1 any
---@return any
function SetPedCoverClipsetOverride(ped, p1)
end

--- _SET_PED_EMISSIVE_INTENSITY
---This native sets the glow intensity of illuminated clothing items.
--- 
--- This native does **NOT** need to be executed every tick.
--- This native is **NOT** synced with other connected players, you will have to set the opacity on the ped on all clients individually.
--- 
--- Glow intensity is a value between 0.0 and 1.0.
--- 
--- In some older decompiled scripts this is known as _SET_PED_REFLECTION_INTENSITY.
--- Since there's no joaat hash for this, I find _SET_PED_ILLUMINATED_CLOTHING_GLOW_INTENSITY more descriptive than _SET_PED_REFLECTION_INTENSITY.
--- 
--- Use [GetPedIlluminatedClothingGlowIntensity](#\_0x1461B28A06717D68) to get the illuminated clothing glow intensity of a specific ped.
--- 
--- Intensity: 1.0:
--- ![](https://www.vespura.com/hi/i/2018-11-13\_17-03\_c2e23\_229.png)
--- 
--- Intensity: 0.0:
--- ![](https://www.vespura.com/hi/i/2018-11-13\_17-03\_35c33\_230.png)
--- 
--- **Examples code result**:
--- ![](https://www.vespura.com/hi/i/2018-11-13\_17-11\_10199\_232.gif)
--- 
--- (Direct link if embed doesn't work: [here](https://www.vespura.com/hi/i/2018-11-13\_17-11\_10199\_232.gif))
---@param ped number
---@param intensity number
---@return any
function SetPedEmissiveIntensity(ped, intensity)
end

--- SET_PED_WEAPON_MOVEMENT_CLIPSET
---
---@param ped number
---@param clipSet any
---@return any
function SetPedWeaponMovementClipset(ped, clipSet)
end

--- SPAWNPOINTS_START_SEARCH
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param interiorFlags any
---@param scale number
---@param duration any
---@return any
function SpawnpointsStartSearch(p0, p1, p2, p3, p4, interiorFlags, scale, duration)
end

--- DOES_GROUP_EXIST
---
---@param groupId any
---@return boolean
function DoesGroupExist(groupId)
end

--- GET_PED_HELMET_STORED_HAT_PROP_INDEX
---
---@param ped number
---@return any
function GetPedHelmetStoredHatPropIndex(ped)
end

--- IS_PED_IN_COVER_FACING_LEFT
---
---@param ped number
---@return boolean
function IsPedInCoverFacingLeft(ped)
end

--- SET_PED_COORDS_NO_GANG
---
---@param ped number
---@param posX number
---@param posY number
---@param posZ number
---@return any
function SetPedCoordsNoGang(ped, posX, posY, posZ)
end

--- SET_PED_DIES_IN_VEHICLE
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedDiesInVehicle(ped, toggle)
end

--- GET_PED_RELATIONSHIP_GROUP_HASH
---
---@param ped number
---@return any
function GetPedRelationshipGroupHash(ped)
end

--- IS_PED_FATALLY_INJURED
---
--- Gets a value indicating whether this ped's health is below its fatally injured threshold. The default threshold is 100.  
--- If the handle is invalid, the function returns true.  
--- 
---@param ped number
---@return boolean
function IsPedFatallyInjured(ped)
end

--- IS_PED_GROUP_MEMBER
---
---@param ped number
---@param groupId any
---@return boolean
function IsPedGroupMember(ped, groupId)
end

--- _IS_PED_OPENING_A_DOOR
---
--- IS_PED_*
--- 
--- Returns true if the ped is currently opening a door (CTaskOpenDoor).
--- 
---@param ped number
---@return boolean
function IsPedOpeningADoor(ped)
end

--- SET_PED_TO_INFORM_RESPECTED_FRIENDS
---
---@param ped number
---@param radius number
---@param maxFriends any
---@return any
function SetPedToInformRespectedFriends(ped, radius, maxFriends)
end

--- GET_PED_TEXTURE_VARIATION
---
--- List of component/props ID  
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
---@param ped number
---@param componentId any
---@return any
function GetPedTextureVariation(ped, componentId)
end

--- IS_ANY_HOSTILE_PED_NEAR_POINT
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param radius number
---@return boolean
function IsAnyHostilePedNearPoint(ped, x, y, z, radius)
end

--- SET_PED_HEAD_OVERLAY
---
--- OverlayID ranges from 0 to 12, index from 0 to _GET_NUM_OVERLAY_VALUES(overlayID)-1, and opacity from 0.0 to 1.0.   
--- overlayID       Part                  Index, to disable  
--- 0               Blemishes             0 - 23, 255  
--- 1               Facial Hair           0 - 28, 255  
--- 2               Eyebrows              0 - 33, 255  
--- 3               Ageing                0 - 14, 255  
--- 4               Makeup                0 - 74, 255  
--- 5               Blush                 0 - 6, 255  
--- 6               Complexion            0 - 11, 255  
--- 7               Sun Damage            0 - 10, 255  
--- 8               Lipstick              0 - 9, 255  
--- 9               Moles/Freckles        0 - 17, 255  
--- 10              Chest Hair            0 - 16, 255  
--- 11              Body Blemishes        0 - 11, 255  
--- 12              Add Body Blemishes    0 - 1, 255  
--- 
--- 
--- **Note:**
--- 
--- You may need to call [SetPedHeadBlendData](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
---@param ped number
---@param overlayID any
---@param index any
---@param opacity number
---@return any
function SetPedHeadOverlay(ped, overlayID, index, opacity)
end

--- UPDATE_PED_HEAD_BLEND_DATA
---See [SET_PED_HEAD_BLEND_DATA](#\_0x9414E18B9434C2FE)
---@param ped number
---@param shapeMix number
---@param skinMix number
---@param thirdMix number
---@return any
function UpdatePedHeadBlendData(ped, shapeMix, skinMix, thirdMix)
end

--- CLEAR_PED_ENV_DIRT
---
---@param ped number
---@return any
function ClearPedEnvDirt(ped)
end

--- GET_PED_HEAD_BLEND_FIRST_INDEX
---
--- Type equals 0 for male non-dlc, 1 for female non-dlc, 2 for male dlc, and 3 for female dlc.
--- Used when calling SET_PED_HEAD_BLEND_DATA.
--- 
---@param type any
---@return any
function GetPedHeadBlendFirstIndex(type)
end

--- SET_PED_HEARING_RANGE
---
---@param ped number
---@param value number
---@return any
function SetPedHearingRange(ped, value)
end

--- SET_PED_NAME_DEBUG
---
--- NOTE: Debugging functions are not present in the retail version of the game.  
--- *untested but char *name could also be a hash for a localized string  
--- 
---@param ped number
---@param name any
---@return any
function SetPedNameDebug(ped, name)
end

--- SET_PED_RESET_FLAG
---PED::SET_PED_RESET_FLAG(PLAYER::PLAYER_PED_ID(), 240, 1);
--- Known values:
---@param ped number
---@param flagId any
---@param doReset boolean
---@return any
function SetPedResetFlag(ped, flagId, doReset)
end

--- IS_PED_USING_ACTION_MODE
---
---@param ped number
---@return boolean
function IsPedUsingActionMode(ped)
end

--- SET_PED_STEERS_AROUND_VEHICLES
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedSteersAroundVehicles(ped, toggle)
end

--- SPAWNPOINTS_CANCEL_SEARCH
---
---@return any
function SpawnpointsCancelSearch()
end

--- GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS
---
--- List of component/props ID  
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
---@param ped number
---@param propId any
---@return any
function GetNumberOfPedPropDrawableVariations(ped, propId)
end

--- IS_PED_ON_FOOT
---
---@param ped number
---@return boolean
function IsPedOnFoot(ped)
end

--- KNOCK_OFF_PED_PROP
---
--- List of component/props ID  
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
---@param ped number
---@param p1 boolean
---@param p2 boolean
---@param p3 boolean
---@param p4 boolean
---@return any
function KnockOffPedProp(ped, p1, p2, p3, p4)
end

--- SET_MOVEMENT_MODE_OVERRIDE
---
--- name: "MP_FEMALE_ACTION" found multiple times in the b617d scripts.
--- 
---@param ped number
---@param name any
---@return any
function SetMovementModeOverride(ped, name)
end

--- SET_PED_AS_COP
---
--- Turns the desired ped into a cop. If you use this on the player ped, you will become almost invisible to cops dispatched for you. You will also report your own crimes, get a generic cop voice, get a cop-vision-cone on the radar, and you will be unable to shoot at other cops. SWAT and Army will still shoot at you. Toggling ped as "false" has no effect; you must change p0's ped model to disable the effect.  
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetPedAsCop(ped, toggle)
end

--- CAN_CREATE_RANDOM_COPS
---
---@return boolean
function CanCreateRandomCops()
end

--- CLEAR_PED_LAST_DAMAGE_BONE
---
---@param ped number
---@return any
function ClearPedLastDamageBone(ped)
end

--- IS_PED_IN_VEHICLE
---
--- Gets a value indicating whether the specified ped is in the specified vehicle.  
--- If 'atGetIn' is false, the function will not return true until the ped is sitting in the vehicle and is about to close the door. If it's true, the function returns true the moment the ped starts to get onto the seat (after opening the door). Eg. if false, and the ped is getting into a submersible, the function will not return true until the ped has descended down into the submersible and gotten into the seat, while if it's true, it'll return true the moment the hatch has been opened and the ped is about to descend into the submersible.  
--- 
---@param ped number
---@param vehicle any
---@param atGetIn boolean
---@return boolean
function IsPedInVehicle(ped, vehicle, atGetIn)
end

--- SET_PED_DEFENSIVE_AREA_ATTACHED_TO_PED
---
---@param ped number
---@param attachPed number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 number
---@param p7 number
---@param p8 number
---@param p9 boolean
---@param p10 boolean
---@return any
function SetPedDefensiveAreaAttachedToPed(ped, attachPed, p2, p3, p4, p5, p6, p7, p8, p9, p10)
end

--- SET_PED_VISUAL_FIELD_MAX_ANGLE
---
---@param ped number
---@param value number
---@return any
function SetPedVisualFieldMaxAngle(ped, value)
end

--- GET_MOUNT
---
--- Function just returns 0  
--- void __fastcall ped__get_mount(NativeContext *a1)  
--- {  
---   NativeContext *v1; // rbx@1  
---   v1 = a1;  
---   GetAddressOfPedFromScriptHandle(a1->Args->Arg1);  
---   v1->Returns->Item1= 0;  
--- }  
--- 
---@param ped number
---@return number
function GetMount(ped)
end

--- GET_PED_CAUSE_OF_DEATH
---
--- Returns the hash of the weapon/model/object that killed the ped.  
--- 
---@param ped number
---@return any
function GetPedCauseOfDeath(ped)
end

--- GET_PED_TYPE
---Ped types:
--- 
--- cpp
--- enum ePedType
--- {
--- 	PED_TYPE_PLAYER_0,
--- 	PED_TYPE_PLAYER_1,
--- 	PED_TYPE_NETWORK_PLAYER,
--- 	PED_TYPE_PLAYER_2,
--- 	PED_TYPE_CIVMALE,
--- 	PED_TYPE_CIVFEMALE,
--- 	PED_TYPE_COP,
--- 	PED_TYPE_GANG_ALBANIAN,
--- 	PED_TYPE_GANG_BIKER_1,
--- 	PED_TYPE_GANG_BIKER_2,
--- 	PED_TYPE_GANG_ITALIAN,
--- 	PED_TYPE_GANG_RUSSIAN,
--- 	PED_TYPE_GANG_RUSSIAN_2,
--- 	PED_TYPE_GANG_IRISH,
--- 	PED_TYPE_GANG_JAMAICAN,
--- 	PED_TYPE_GANG_AFRICAN_AMERICAN,
--- 	PED_TYPE_GANG_KOREAN,
--- 	PED_TYPE_GANG_CHINESE_JAPANESE,
--- 	PED_TYPE_GANG_PUERTO_RICAN,
--- 	PED_TYPE_DEALER,
--- 	PED_TYPE_MEDIC,
--- 	PED_TYPE_FIREMAN,
--- 	PED_TYPE_CRIMINAL,
--- 	PED_TYPE_BUM,
--- 	PED_TYPE_PROSTITUTE,
--- 	PED_TYPE_SPECIAL,
--- 	PED_TYPE_MISSION,
--- 	PED_TYPE_SWAT,
--- 	PED_TYPE_ANIMAL,
--- 	PED_TYPE_ARMY
--- };
--- 
---@param ped number
---@return any
function GetPedType(ped)
end

--- IS_ANY_PED_NEAR_POINT
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@return boolean
function IsAnyPedNearPoint(x, y, z, radius)
end

--- IS_PED_PRONE
---
---@param ped number
---@return boolean
function IsPedProne(ped)
end

--- SET_PED_WETNESS_HEIGHT
---
--- It adds the wetness level to the player clothing/outfit. As if player just got out from water surface.  
--- 
---@param ped number
---@param height number
---@return any
function SetPedWetnessHeight(ped, height)
end

--- CLEAR_PED_PROP
---
--- List of component/props ID  
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
---@param ped number
---@param propId any
---@return any
function ClearPedProp(ped, propId)
end

--- _FREEZE_PED_CAMERA_ROTATION
---
---@param ped number
---@return any
function FreezePedCameraRotation(ped)
end

--- GET_NUMBER_OF_PED_DRAWABLE_VARIATIONS
---
--- List of component/props ID  
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
---@param ped number
---@param componentId any
---@return any
function GetNumberOfPedDrawableVariations(ped, componentId)
end

--- HAS_PEDHEADSHOT_IMG_UPLOAD_FAILED
---
---@return boolean
function HasPedheadshotImgUploadFailed()
end

--- IS_PED_DOING_DRIVEBY
---
---@param ped number
---@return boolean
function IsPedDoingDriveby(ped)
end

--- IS_PED_FLEEING
---
---@param ped number
---@return boolean
function IsPedFleeing(ped)
end

--- SET_PED_PRELOAD_VARIATION_DATA
---
--- from extreme3.c4
--- PED::_39D55A620FCB6A3A(PLAYER::PLAYER_PED_ID(), 8, PED::GET_PED_DRAWABLE_VARIATION(PLAYER::PLAYER_PED_ID(), 8), PED::GET_PED_TEXTURE_VARIATION(PLAYER::PLAYER_PED_ID(), 8));
--- p1 is probably componentId
--- 
---@param ped number
---@param slot any
---@param drawableId any
---@param textureId any
---@return any
function SetPedPreloadVariationData(ped, slot, drawableId, textureId)
end

--- APPLY_PED_BLOOD_DAMAGE_BY_ZONE
---
---@param ped number
---@param p1 any
---@param p2 number
---@param p3 number
---@param p4 any
---@return any
function ApplyPedBloodDamageByZone(ped, p1, p2, p3, p4)
end

--- _GET_PED_EMISSIVE_INTENSITY
---Use [SetPedIlluminatedClothingGlowIntensity](#\_0x4E90D746056E273D) to set the illuminated clothing glow intensity for a specific ped.
---@param ped number
---@return number
function GetPedEmissiveIntensity(ped)
end

--- GIVE_PED_HELMET
---
--- PoliceMotorcycleHelmet   1024
--- RegularMotorcycleHelmet   4096
--- FiremanHelmet 16384
--- PilotHeadset  32768
--- PilotHelmet   65536
--- --
--- p2 is generally 4096 or 16384 in the scripts. p1 varies between 1 and 0.
--- 
---@param ped number
---@param cannotRemove boolean
---@param helmetFlag any
---@param textureIndex any
---@return any
function GivePedHelmet(ped, cannotRemove, helmetFlag, textureIndex)
end

--- SET_PED_HEATSCALE_OVERRIDE
---
---@param ped number
---@param heatScale number
---@return any
function SetPedHeatscaleOverride(ped, heatScale)
end

--- ADD_ARMOUR_TO_PED
---
--- Same as SET_PED_ARMOUR, but ADDS 'amount' to the armor the Ped already has.  
--- 
---@param ped number
---@param amount any
---@return any
function AddArmourToPed(ped, amount)
end

--- CLEAR_ALL_PED_PROPS
---
--- List of component/props ID  
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
---@param ped number
---@return any
function ClearAllPedProps(ped)
end

--- CREATE_RANDOM_PED
---
--- vb.net
--- Dim ped_handle As Integer
---                     With Game.Player.Character
---                         Dim pos As Vector3 = .Position + .ForwardVector * 3
---                         ped_handle = Native.Function.Call(Of Integer)(Hash.CREATE_RANDOM_PED, pos.X, pos.Y, pos.Z)
---                     End With
--- Creates a Ped at the specified location, returns the Ped Handle.
--- Ped will not act until SET_PED_AS_NO_LONGER_NEEDED is called.
--- 
---@param posX number
---@param posY number
---@param posZ number
---@return number
function CreateRandomPed(posX, posY, posZ)
end

--- GET_PED_NEARBY_VEHICLES
---
--- Returns size of array, passed into the second variable.  
--- See below for usage information.  
--- This function actually requires a struct, where the first value is the maximum number of elements to return.  Here is a sample of how I was able to get it to work correctly, without yet knowing the struct format.  
--- //Setup the array  
--- 	const int numElements = 10;  
--- 	const int arrSize = numElements * 2 + 2;  
--- 	Any veh[arrSize];  
--- 	//0 index is the size of the array  
--- 	veh[0] = numElements;  
--- 	int count = PED::GET_PED_NEARBY_VEHICLES(PLAYER::PLAYER_PED_ID(), veh);  
--- 	if (veh != NULL)  
--- 	{  
--- //Simple loop to go through results  
--- for (int i = 0; i < count; i++)  
--- {  
--- 	int offsettedID = i * 2 + 2;  
--- 	//Make sure it exists  
--- 	if (veh[offsettedID] != NULL && ENTITY::DOES_ENTITY_EXIST(veh[offsettedID]))  
--- 	{  
--- //Do something  
--- 	}  
--- }  
--- 	}    
--- Here's the right way to do it (console and pc):  
--- pastebin.com/SsFej963  
--- 
---@param ped number
---@param sizeAndVehs any
---@return any
function GetPedNearbyVehicles(ped, sizeAndVehs)
end

--- SET_PED_GET_OUT_UPSIDE_DOWN_VEHICLE
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedGetOutUpsideDownVehicle(ped, toggle)
end

--- WAS_PED_KILLED_BY_STEALTH
---
---@param ped number
---@return boolean
function WasPedKilledByStealth(ped)
end

--- IS_PED_VAULTING
---
---@param ped number
---@return boolean
function IsPedVaulting(ped)
end

--- REQUEST_PEDHEADSHOT_IMG_UPLOAD
---
---@param id any
---@return boolean
function RequestPedheadshotImgUpload(id)
end

--- SET_AI_MELEE_WEAPON_DAMAGE_MODIFIER
---
---@param modifier number
---@return any
function SetAiMeleeWeaponDamageModifier(modifier)
end

--- GET_PED_HEAD_BLEND_NUM_HEADS
---
--- Type equals 0 for male non-dlc, 1 for female non-dlc, 2 for male dlc, and 3 for female dlc.  
--- 
---@param type any
---@return any
function GetPedHeadBlendNumHeads(type)
end

--- SET_DRIVER_AGGRESSIVENESS
---
--- range 0.0f - 1.0f  
--- 
---@param driver number
---@param aggressiveness number
---@return any
function SetDriverAggressiveness(driver, aggressiveness)
end

--- REGISTER_PEDHEADSHOT_TRANSPARENT
---Similar to REGISTER_PEDHEADSHOT but creates a transparent background instead of black.
--- 
--- **Result of the example code:**
--- <https://i.imgur.com/iHz8ztn.png>
---@param ped number
---@return any
function RegisterPedheadshotTransparent(ped)
end

--- RESET_GROUP_FORMATION_DEFAULT_SPACING
---
---@param groupHandle any
---@return any
function ResetGroupFormationDefaultSpacing(groupHandle)
end

--- SET_PED_GENERATES_DEAD_BODY_EVENTS
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedGeneratesDeadBodyEvents(ped, toggle)
end

--- CREATE_SYNCHRONIZED_SCENE
---
--- p6 always 2 (but it doesnt seem to matter...)  
--- roll and pitch 0  
--- yaw to Ped.rotation  
--- 
---@param x number
---@param y number
---@param z number
---@param roll number
---@param pitch number
---@param yaw number
---@param p6 any
---@return any
function CreateSynchronizedScene(x, y, z, roll, pitch, yaw, p6)
end

--- GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS
---
--- Need to check behavior when drawableId = -1  
--- 
--- List of component/props ID  
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
---@param ped number
---@param propId any
---@param drawableId any
---@return any
function GetNumberOfPedPropTextureVariations(ped, propId, drawableId)
end

--- GET_PED_DECORATIONS_STATE
---
---@param ped number
---@return any
function GetPedDecorationsState(ped)
end

--- IS_PED_AIMING_FROM_COVER
---
---@param ped number
---@return boolean
function IsPedAimingFromCover(ped)
end

--- SET_PED_COMPONENT_VARIATION
---This native is used to set component variation on a ped. Components, drawables and textures IDs are related to the ped model.
--- 
--- ### MP Freemode list of components
--- 
--- **0**: Face\
--- **1**: Mask\
--- **2**: Hair\
--- **3**: Torso\
--- **4**: Leg\
--- **5**: Parachute / bag\
--- **6**: Shoes\
--- **7**: Accessory\
--- **8**: Undershirt\
--- **9**: Kevlar\
--- **10**: Badge\
--- **11**: Torso 2
--- 
--- ### Related and useful natives
--- 
--- [GET_NUMBER_OF_PED_DRAWABLE_VARIATIONS](#\_0x27561561732A7842)\
--- [GET_NUMBER_OF_PED_TEXTURE_VARIATIONS](#\_0x8F7156A3142A6BAD)
--- 
--- [List of component/props ID](gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
---@param ped number
---@param componentId any
---@param drawableId any
---@param textureId any
---@param paletteId any
---@return any
function SetPedComponentVariation(ped, componentId, drawableId, textureId, paletteId)
end

--- SET_PED_DEFENSIVE_SPHERE_ATTACHED_TO_VEHICLE
---
---@param ped number
---@param target any
---@param xOffset number
---@param yOffset number
---@param zOffset number
---@param radius number
---@param p6 boolean
---@return any
function SetPedDefensiveSphereAttachedToVehicle(ped, target, xOffset, yOffset, zOffset, radius, p6)
end

--- FORCE_PED_AI_AND_ANIMATION_UPDATE
---
---@param ped number
---@param p1 boolean
---@param p2 boolean
---@return any
function ForcePedAiAndAnimationUpdate(ped, p1, p2)
end

--- GET_PED_AS_GROUP_MEMBER
---
--- from fm_mission_controller.c4 (variable names changed for clarity):  
--- int groupID = PLAYER::GET_PLAYER_GROUP(PLAYER::PLAYER_ID());  
--- PED::GET_GROUP_SIZE(group, &unused, &groupSize);  
--- if (groupSize >= 1) {  
--- . . . . for (int memberNumber = 0; memberNumber < groupSize; memberNumber++) {  
--- . . . . . . . . Ped ped1 = PED::GET_PED_AS_GROUP_MEMBER(groupID, memberNumber);  
--- . . . . . . . . //and so on  
--- 
---@param groupID any
---@param memberNumber any
---@return number
function GetPedAsGroupMember(groupID, memberNumber)
end

--- GET_PED_GROUP_INDEX
---
--- Returns the group id of which the specified ped is a member of.  
--- 
---@param ped number
---@return any
function GetPedGroupIndex(ped)
end

--- IS_PED_ON_MOUNT
---
--- Same function call as PED::GET_MOUNT, aka just returns 0  
--- 
---@param ped number
---@return boolean
function IsPedOnMount(ped)
end

--- SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE
---
--- state: https://alloc8or.re/gta5/doc/enums/eKnockOffVehicle.txt
--- 
---@param ped number
---@param state any
---@return any
function SetPedCanBeKnockedOffVehicle(ped, state)
end

--- GET_PED_ACCURACY
---
---@param ped number
---@return any
function GetPedAccuracy(ped)
end

--- IS_PED_SHOOTING
---
--- Returns whether the specified ped is shooting.  
--- 
---@param ped number
---@return boolean
function IsPedShooting(ped)
end

--- SET_PED_CAN_BE_SHOT_IN_VEHICLE
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanBeShotInVehicle(ped, toggle)
end

--- SET_PED_NON_CREATION_AREA
---
--- The distance between these points, is the diagonal of a box (remember it's 3D).  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@return any
function SetPedNonCreationArea(x1, y1, z1, x2, y2, z2)
end

--- SET_PED_STEERS_AROUND_PEDS
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedSteersAroundPeds(ped, toggle)
end

--- IS_PED_USING_SCENARIO
---
---@param ped number
---@param scenario any
---@return boolean
function IsPedUsingScenario(ped, scenario)
end

--- SET_SCENARIO_PEDS_TO_BE_RETURNED_BY_NEXT_COMMAND
---
--- Sets a value indicating whether scenario peds should be returned by the next call to a command that returns peds. Eg. GET_CLOSEST_PED.  
--- 
---@param value boolean
---@return any
function SetScenarioPedsToBeReturnedByNextCommand(value)
end

--- APPLY_PED_DAMAGE_DECAL
---
--- enum eDamageZone
--- {
--- 	DZ_Torso = 0,
--- 	DZ_Head,
--- 	DZ_LeftArm,
--- 	DZ_RightArm,
--- 	DZ_LeftLeg,
--- 	DZ_RightLeg,
--- };
--- Decal Names:
--- scar
--- blushing
--- cs_flush_anger
--- cs_flush_anger_face
--- bruise
--- bruise_large
--- herpes
--- ArmorBullet
--- basic_dirt_cloth
--- basic_dirt_skin
--- cs_trev1_dirt
--- APPLY_PED_DAMAGE_DECAL(ped, 1, 0.5f, 0.513f, 0f, 1f, unk, 0, 0, "blushing");
--- 
---@param ped number
---@param damageZone any
---@param xOffset number
---@param yOffset number
---@param heading number
---@param scale number
---@param alpha number
---@param variation any
---@param fadeIn boolean
---@param decalName any
---@return any
function ApplyPedDamageDecal(ped, damageZone, xOffset, yOffset, heading, scale, alpha, variation, fadeIn, decalName)
end

--- IS_PED_IN_FLYING_VEHICLE
---
---@param ped number
---@return boolean
function IsPedInFlyingVehicle(ped)
end

--- IS_SCRIPTED_SCENARIO_PED_USING_CONDITIONAL_ANIM
---[Animations list](https://alexguirre.github.io/animations-list/)
---@param ped number
---@param animDict any
---@param anim any
---@return boolean
function IsScriptedScenarioPedUsingConditionalAnim(ped, animDict, anim)
end

--- SET_CREATE_RANDOM_COPS_NOT_ON_SCENARIOS
---
---@param toggle boolean
---@return any
function SetCreateRandomCopsNotOnScenarios(toggle)
end

--- SET_PED_CAN_ARM_IK
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanArmIk(ped, toggle)
end

--- SET_PED_CAN_RAGDOLL_FROM_PLAYER_IMPACT
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanRagdollFromPlayerImpact(ped, toggle)
end

--- SET_PED_MAX_TIME_IN_WATER
---
---@param ped number
---@param value number
---@return any
function SetPedMaxTimeInWater(ped, value)
end

--- SET_PED_TO_RAGDOLL_WITH_FALL
---
--- Return variable is never used in R*'s scripts.  
--- Not sure what p2 does. It seems like it would be a time judging by it's usage in R*'s scripts, but didn't seem to affect anything in my testings.  
--- x, y, and z are coordinates, most likely to where the ped will fall.  
--- p7 is probably the force of the fall, but untested, so I left the variable name the same.  
--- p8 to p13 are always 0f in R*'s scripts.  
--- (Simplified) Example of the usage of the function from R*'s scripts:  
--- ped::set_ped_to_ragdoll_with_fall(ped, 1500, 2000, 1, -entity::get_entity_forward_vector(ped), 1f, 0f, 0f, 0f, 0f, 0f, 0f);  
--- 
---@param ped number
---@param time any
---@param p2 any
---@param ragdollType any
---@param x number
---@param y number
---@param z number
---@param p7 number
---@param p8 number
---@param p9 number
---@param p10 number
---@param p11 number
---@param p12 number
---@param p13 number
---@return boolean
function SetPedToRagdollWithFall(ped, time, p2, ragdollType, x, y, z, p7, p8, p9, p10, p11, p12, p13)
end

--- CLEAR_PED_DAMAGE_DECAL_BY_ZONE
---
--- p1: from 0 to 5 in the b617d scripts.  
--- p2: "blushing" and "ALL" found in the b617d scripts.  
--- 
---@param ped number
---@param p1 any
---@param p2 any
---@return any
function ClearPedDamageDecalByZone(ped, p1, p2)
end

--- IS_PED_CLIMBING
---
---@param ped number
---@return boolean
function IsPedClimbing(ped)
end

--- IS_PED_RUNNING_MOBILE_PHONE_TASK
---
---@param ped number
---@return boolean
function IsPedRunningMobilePhoneTask(ped)
end

--- IS_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME
---
---@param sceneID any
---@return boolean
function IsSynchronizedSceneHoldLastFrame(sceneID)
end

--- SET_ENABLE_BOUND_ANKLES
---Used with [SET_ENABLE_HANDCUFFS](#\_0xDF1AF8B5D56542FA) in decompiled scripts. From my observations, I have noticed that while being ragdolled you are not able to get up but you can still run. Your legs can also bend.
---@param ped number
---@param toggle boolean
---@return any
function SetEnableBoundAnkles(ped, toggle)
end

--- REMOVE_SCENARIO_BLOCKING_AREA
---
---@param p0 any
---@param p1 boolean
---@return any
function RemoveScenarioBlockingArea(p0, p1)
end

--- RESET_PED_STRAFE_CLIPSET
---
---@param ped number
---@return any
function ResetPedStrafeClipset(ped)
end

--- SET_AMBIENT_PEDS_DROP_MONEY
---
---@param p0 boolean
---@return any
function SetAmbientPedsDropMoney(p0)
end

--- _SET_ENABLE_SCUBA_GEAR_LIGHT
---
--- NativeDB Introduced: v1493
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetEnableScubaGearLight(ped, toggle)
end

--- _CLONE_PED_TO_TARGET_EX
---
---@param ped number
---@param targetPed number
---@param p2 any
---@return any
function ClonePedToTargetEx(ped, targetPed, p2)
end

--- CREATE_NM_MESSAGE
---
--- Creates a new NaturalMotion message.  
--- startImmediately: If set to true, the character will perform the message the moment it receives it by GIVE_PED_NM_MESSAGE. If false, the Ped will get the message but won't perform it yet. While it's a boolean value, if negative, the message will not be initialized.  
--- messageId: The ID of the NaturalMotion message.  
--- If a message already exists, this function does nothing. A message exists until the point it has been successfully dispatched by GIVE_PED_NM_MESSAGE.  
--- 
---@param startImmediately boolean
---@param messageId any
---@return any
function CreateNmMessage(startImmediately, messageId)
end

--- HAS_ACTION_MODE_ASSET_LOADED
---
---@param asset any
---@return boolean
function HasActionModeAssetLoaded(asset)
end

--- _IS_SCUBA_GEAR_LIGHT_ENABLED
---
--- NativeDB Introduced: v1493
--- 
---@param ped number
---@return boolean
function IsScubaGearLightEnabled(ped)
end

--- RESET_PED_RAGDOLL_TIMER
---
---@param ped number
---@return any
function ResetPedRagdollTimer(ped)
end

--- SET_PED_ALERTNESS
---
--- value ranges from 0 to 3.  
--- 
---@param ped number
---@param value any
---@return any
function SetPedAlertness(ped, value)
end

--- SET_PED_CLOTH_PACKAGE_INDEX
---
---@param ped number
---@param p1 any
---@return any
function SetPedClothPackageIndex(ped, p1)
end

--- SET_PED_CLOTH_PRONE
---
---@param p0 any
---@param p1 any
---@return any
function SetPedClothProne(p0, p1)
end

--- GET_PED_RELATIONSHIP_GROUP_DEFAULT_HASH
---
---@param ped number
---@return any
function GetPedRelationshipGroupDefaultHash(ped)
end

--- HAS_PED_RECEIVED_EVENT
---
---@param ped number
---@param eventId any
---@return boolean
function HasPedReceivedEvent(ped, eventId)
end

--- IS_PED_HURT
---
--- Returns whether the specified ped is hurt.  
--- 
---@param ped number
---@return boolean
function IsPedHurt(ped)
end

--- SET_PED_MIN_GROUND_TIME_FOR_STUNGUN
---
--- Ped will stay on the ground after being stunned for at lest ms time. (in milliseconds)  
--- 
---@param ped number
---@param ms any
---@return any
function SetPedMinGroundTimeForStungun(ped, ms)
end

--- SPAWNPOINTS_GET_SEARCH_RESULT_FLAGS
---
---@param p0 any
---@param p1 any
---@return any
function SpawnpointsGetSearchResultFlags(p0, p1)
end

--- GET_PEDS_JACKER
---
---@param ped number
---@return number
function GetPedsJacker(ped)
end

--- SET_PED_CAN_EVASIVE_DIVE
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanEvasiveDive(ped, toggle)
end

--- SET_PED_CAN_TORSO_REACT_IK
---
---@param ped number
---@param p1 boolean
---@return any
function SetPedCanTorsoReactIk(ped, p1)
end

--- SET_PED_HEAD_BLEND_DATA
---For more info please refer to [this](https://gtaforums.com/topic/858970-all-gtao-face-ids-pedset-ped-head-blend-data-explained) topic.
--- 
--- **Other information:**
--- 
--- IDs start at zero and go Male Non-DLC, Female Non-DLC, Male DLC, and Female DLC.</br>
--- 
--- This native function is often called prior to calling natives such as:
--- 
--- *   [SetPedHairColor](#0xBB43F090)
--- *   [SetPedHeadOverlayColor](#0x78935A27)
--- *   [SetPedHeadOverlay](#0xD28DBA90)
--- *   [SetPedFaceFeature](#0x6C8D4458)
---@param ped number
---@param shapeFirstID any
---@param shapeSecondID any
---@param shapeThirdID any
---@param skinFirstID any
---@param skinSecondID any
---@param skinThirdID any
---@param shapeMix number
---@param skinMix number
---@param thirdMix number
---@param isParent boolean
---@return any
function SetPedHeadBlendData(ped, shapeFirstID, shapeSecondID, shapeThirdID, skinFirstID, skinSecondID, skinThirdID, shapeMix, skinMix, thirdMix, isParent)
end

--- SET_PED_STAY_IN_VEHICLE_WHEN_JACKED
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedStayInVehicleWhenJacked(ped, toggle)
end

--- FORCE_PED_TO_OPEN_PARACHUTE
---
---@param ped number
---@return any
function ForcePedToOpenParachute(ped)
end

--- IS_PED_GOING_INTO_COVER
---
---@param ped number
---@return boolean
function IsPedGoingIntoCover(ped)
end

--- RESET_PED_IN_VEHICLE_CONTEXT
---
---@param ped number
---@return any
function ResetPedInVehicleContext(ped)
end

--- SET_PED_CAN_LEG_IK
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanLegIk(ped, toggle)
end

--- SET_PED_CAN_PLAY_AMBIENT_BASE_ANIMS
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanPlayAmbientBaseAnims(ped, toggle)
end

--- GET_PED_TIME_OF_DEATH
---
---@param ped number
---@return any
function GetPedTimeOfDeath(ped)
end

--- IS_PED_IN_COVER
---
--- p1 is nearly always 0 in the scripts.  
--- 
---@param ped number
---@param exceptUseWeapon boolean
---@return boolean
function IsPedInCover(ped, exceptUseWeapon)
end

--- SET_PED_RAGDOLL_FORCE_FALL
---
---@param ped number
---@return any
function SetPedRagdollForceFall(ped)
end

--- GET_COMBAT_FLOAT
---
--- p0: Ped Handle  
--- p1: int i | 0 <= i <= 27  
--- p1 probably refers to the attributes configured in combatbehavior.meta. There are 13. Example:  
--- <BlindFireChance value="0.1"/>  
--- <WeaponShootRateModifier value="1.0"/>  
--- <TimeBetweenBurstsInCover value="1.25"/>  
--- <BurstDurationInCover value="2.0"/>  
--- <TimeBetweenPeeks value="10.0"/>  
--- <WeaponAccuracy value="0.18"/>  
--- <FightProficiency value="0.8"/>  
--- <StrafeWhenMovingChance value="1.0"/>  
--- <WalkWhenStrafingChance value="0.0"/>  
--- <AttackWindowDistanceForCover value="55.0"/>  
--- <TimeToInvalidateInjuredTarget value="9.0"/>  
--- <TriggerChargeTime_Near value="4.0"/>  
--- <TriggerChargeTime_Far value="10.0"/>  
--- -------------Confirmed by editing combatbehavior.meta:  
--- p1:  
--- 0=BlindFireChance  
--- 1=BurstDurationInCover  
--- 3=TimeBetweenBurstsInCover  
--- 4=TimeBetweenPeeks  
--- 5=StrafeWhenMovingChance  
--- 8=WalkWhenStrafingChance  
--- 11=AttackWindowDistanceForCover  
--- 12=TimeToInvalidateInjuredTarget  
--- 16=OptimalCoverDistance  
--- 
---@param ped number
---@param p1 any
---@return number
function GetCombatFloat(ped, p1)
end

--- IS_PED_PERFORMING_MELEE_ACTION
---
---@param ped number
---@return boolean
function IsPedPerformingMeleeAction(ped)
end

--- REQUEST_STEALTH_MODE_ASSET
---
---@param asset any
---@return any
function RequestStealthModeAsset(asset)
end

--- SET_PED_ALLOWED_TO_DUCK
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedAllowedToDuck(ped, toggle)
end

--- SET_PED_SEEING_RANGE
---
---@param ped number
---@param value number
---@return any
function SetPedSeeingRange(ped, value)
end

--- APPLY_PED_BLOOD
---
--- Found one occurence in re_crashrescue.c4  
--- PED::APPLY_PED_BLOOD(l_4B, 3, 0.0, 0.0, 0.0, "wound_sheet");  
--- 
---@param ped number
---@param boneIndex any
---@param xRot number
---@param yRot number
---@param zRot number
---@param woundType any
---@return any
function ApplyPedBlood(ped, boneIndex, xRot, yRot, zRot, woundType)
end

--- GET_PED_PARACHUTE_TINT_INDEX
---
---@param ped number
---@param outTintIndex any
---@return any
function GetPedParachuteTintIndex(ped, outTintIndex)
end

--- IS_PED_IN_GROUP
---
---@param ped number
---@return boolean
function IsPedInGroup(ped)
end

--- IS_PED_MODEL
---
---@param ped number
---@param modelHash any
---@return boolean
function IsPedModel(ped, modelHash)
end

--- REMOVE_PED_ELEGANTLY
---
--- Judging purely from a quick disassembly, if the ped is in a vehicle, the ped will be deleted immediately. If not, it'll be marked as no longer needed. 
--- 
---@param ped any
---@return any
function RemovePedElegantly(ped)
end

--- GET_PED_ALERTNESS
---
--- Returns the ped's alertness (0-3).  
--- Values :   
--- 0 : Neutral  
--- 1 : Heard something (gun shot, hit, etc)  
--- 2 : Knows (the origin of the event)  
--- 3 : Fully alerted (is facing the event?)  
--- If the Ped does not exist, returns -1.  
--- 
---@param ped number
---@return any
function GetPedAlertness(ped)
end

--- GET_RELATIONSHIP_BETWEEN_GROUPS
---
--- Gets the relationship between two groups. This should be called twice (once for each group).  
--- Relationship types:  
--- 0 = Companion  
--- 1 = Respect  
--- 2 = Like  
--- 3 = Neutral  
--- 4 = Dislike  
--- 5 = Hate  
--- 255 = Pedestrians  
--- Example:  
--- PED::GET_RELATIONSHIP_BETWEEN_GROUPS(l_1017, 0xA49E591C);  
--- PED::GET_RELATIONSHIP_BETWEEN_GROUPS(0xA49E591C, l_1017);  
--- 
---@param group1 any
---@param group2 any
---@return any
function GetRelationshipBetweenGroups(group1, group2)
end

--- IS_PED_STOPPED
---
--- Returns true if the ped doesn't do any movement. If the ped is being pushed forwards by using APPLY_FORCE_TO_ENTITY for example, the function returns false.  
--- 
---@param ped number
---@return boolean
function IsPedStopped(ped)
end

--- SET_PED_CAN_BE_TARGETTED
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanBeTargetted(ped, toggle)
end

--- _CREATE_SYNCHRONIZED_SCENE_2
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@param object any
---@return any
function CreateSynchronizedScene2(x, y, z, radius, object)
end

--- GET_PED_BONE_INDEX
---
--- enum ePedBoneId : uint16_t
--- {
---     SKEL_ROOT = 0x0,
---     SKEL_Pelvis = 0x2E28,
---     SKEL_L_Thigh = 0xE39F,
---     SKEL_L_Calf = 0xF9BB,
---     SKEL_L_Foot = 0x3779,
---     SKEL_L_Toe0 = 0x83C,
---     EO_L_Foot = 0x84C5,
---     EO_L_Toe = 0x68BD,
---     IK_L_Foot = 0xFEDD,
---     PH_L_Foot = 0xE175,
---     MH_L_Knee = 0xB3FE,
---     SKEL_R_Thigh = 0xCA72,
---     SKEL_R_Calf = 0x9000,
---     SKEL_R_Foot = 0xCC4D,
---     SKEL_R_Toe0 = 0x512D,
---     EO_R_Foot = 0x1096,
---     EO_R_Toe = 0x7163,
---     IK_R_Foot = 0x8AAE,
---     PH_R_Foot = 0x60E6,
---     MH_R_Knee = 0x3FCF,
---     RB_L_ThighRoll = 0x5C57,
---     RB_R_ThighRoll = 0x192A,
---     SKEL_Spine_Root = 0xE0FD,
---     SKEL_Spine0 = 0x5C01,
---     SKEL_Spine1 = 0x60F0,
---     SKEL_Spine2 = 0x60F1,
---     SKEL_Spine3 = 0x60F2,
---     SKEL_L_Clavicle = 0xFCD9,
---     SKEL_L_UpperArm = 0xB1C5,
---     SKEL_L_Forearm = 0xEEEB,
---     SKEL_L_Hand = 0x49D9,
---     SKEL_L_Finger00 = 0x67F2,
---     SKEL_L_Finger01 = 0xFF9,
---     SKEL_L_Finger02 = 0xFFA,
---     SKEL_L_Finger10 = 0x67F3,
---     SKEL_L_Finger11 = 0x1049,
---     SKEL_L_Finger12 = 0x104A,
---     SKEL_L_Finger20 = 0x67F4,
---     SKEL_L_Finger21 = 0x1059,
---     SKEL_L_Finger22 = 0x105A,
---     SKEL_L_Finger30 = 0x67F5,
---     SKEL_L_Finger31 = 0x1029,
---     SKEL_L_Finger32 = 0x102A,
---     SKEL_L_Finger40 = 0x67F6,
---     SKEL_L_Finger41 = 0x1039,
---     SKEL_L_Finger42 = 0x103A,
---     PH_L_Hand = 0xEB95,
---     IK_L_Hand = 0x8CBD,
---     RB_L_ForeArmRoll = 0xEE4F,
---     RB_L_ArmRoll = 0x1470,
---     MH_L_Elbow = 0x58B7,
---     SKEL_R_Clavicle = 0x29D2,
---     SKEL_R_UpperArm = 0x9D4D,
---     SKEL_R_Forearm = 0x6E5C,
---     SKEL_R_Hand = 0xDEAD,
---     SKEL_R_Finger00 = 0xE5F2,
---     SKEL_R_Finger01 = 0xFA10,
---     SKEL_R_Finger02 = 0xFA11,
---     SKEL_R_Finger10 = 0xE5F3,
---     SKEL_R_Finger11 = 0xFA60,
---     SKEL_R_Finger12 = 0xFA61,
---     SKEL_R_Finger20 = 0xE5F4,
---     SKEL_R_Finger21 = 0xFA70,
---     SKEL_R_Finger22 = 0xFA71,
---     SKEL_R_Finger30 = 0xE5F5,
---     SKEL_R_Finger31 = 0xFA40,
---     SKEL_R_Finger32 = 0xFA41,
---     SKEL_R_Finger40 = 0xE5F6,
---     SKEL_R_Finger41 = 0xFA50,
---     SKEL_R_Finger42 = 0xFA51,
---     PH_R_Hand = 0x6F06,
---     IK_R_Hand = 0x188E,
---     RB_R_ForeArmRoll = 0xAB22,
---     RB_R_ArmRoll = 0x90FF,
---     MH_R_Elbow = 0xBB0,
---     SKEL_Neck_1 = 0x9995,
---     SKEL_Head = 0x796E,
---     IK_Head = 0x322C,
---     FACIAL_facialRoot = 0xFE2C,
---     FB_L_Brow_Out_000 = 0xE3DB,
---     FB_L_Lid_Upper_000 = 0xB2B6,
---     FB_L_Eye_000 = 0x62AC,
---     FB_L_CheekBone_000 = 0x542E,
---     FB_L_Lip_Corner_000 = 0x74AC,
---     FB_R_Lid_Upper_000 = 0xAA10,
---     FB_R_Eye_000 = 0x6B52,
---     FB_R_CheekBone_000 = 0x4B88,
---     FB_R_Brow_Out_000 = 0x54C,
---     FB_R_Lip_Corner_000 = 0x2BA6,
---     FB_Brow_Centre_000 = 0x9149,
---     FB_UpperLipRoot_000 = 0x4ED2,
---     FB_UpperLip_000 = 0xF18F,
---     FB_L_Lip_Top_000 = 0x4F37,
---     FB_R_Lip_Top_000 = 0x4537,
---     FB_Jaw_000 = 0xB4A0,
---     FB_LowerLipRoot_000 = 0x4324,
---     FB_LowerLip_000 = 0x508F,
---     FB_L_Lip_Bot_000 = 0xB93B,
---     FB_R_Lip_Bot_000 = 0xC33B,
---     FB_Tongue_000 = 0xB987,
---     RB_Neck_1 = 0x8B93,
---     SPR_L_Breast = 0xFC8E,
---     SPR_R_Breast = 0x885F,
---     IK_Root = 0xDD1C,
---     SKEL_Neck_2 = 0x5FD4,
---     SKEL_Pelvis1 = 0xD003,
---     SKEL_PelvisRoot = 0x45FC,
---     SKEL_SADDLE = 0x9524,
---     MH_L_CalfBack = 0x1013,
---     MH_L_ThighBack = 0x600D,
---     SM_L_Skirt = 0xC419,
---     MH_R_CalfBack = 0xB013,
---     MH_R_ThighBack = 0x51A3,
---     SM_R_Skirt = 0x7712,
---     SM_M_BackSkirtRoll = 0xDBB,
---     SM_L_BackSkirtRoll = 0x40B2,
---     SM_R_BackSkirtRoll = 0xC141,
---     SM_M_FrontSkirtRoll = 0xCDBB,
---     SM_L_FrontSkirtRoll = 0x9B69,
---     SM_R_FrontSkirtRoll = 0x86F1,
---     SM_CockNBalls_ROOT = 0xC67D,
---     SM_CockNBalls = 0x9D34,
---     MH_L_Finger00 = 0x8C63,
---     MH_L_FingerBulge00 = 0x5FB8,
---     MH_L_Finger10 = 0x8C53,
---     MH_L_FingerTop00 = 0xA244,
---     MH_L_HandSide = 0xC78A,
---     MH_Watch = 0x2738,
---     MH_L_Sleeve = 0x933C,
---     MH_R_Finger00 = 0x2C63,
---     MH_R_FingerBulge00 = 0x69B8,
---     MH_R_Finger10 = 0x2C53,
---     MH_R_FingerTop00 = 0xEF4B,
---     MH_R_HandSide = 0x68FB,
---     MH_R_Sleeve = 0x92DC,
---     FACIAL_jaw = 0xB21,
---     FACIAL_underChin = 0x8A95,
---     FACIAL_L_underChin = 0x234E,
---     FACIAL_chin = 0xB578,
---     FACIAL_chinSkinBottom = 0x98BC,
---     FACIAL_L_chinSkinBottom = 0x3E8F,
---     FACIAL_R_chinSkinBottom = 0x9E8F,
---     FACIAL_tongueA = 0x4A7C,
---     FACIAL_tongueB = 0x4A7D,
---     FACIAL_tongueC = 0x4A7E,
---     FACIAL_tongueD = 0x4A7F,
---     FACIAL_tongueE = 0x4A80,
---     FACIAL_L_tongueE = 0x35F2,
---     FACIAL_R_tongueE = 0x2FF2,
---     FACIAL_L_tongueD = 0x35F1,
---     FACIAL_R_tongueD = 0x2FF1,
---     FACIAL_L_tongueC = 0x35F0,
---     FACIAL_R_tongueC = 0x2FF0,
---     FACIAL_L_tongueB = 0x35EF,
---     FACIAL_R_tongueB = 0x2FEF,
---     FACIAL_L_tongueA = 0x35EE,
---     FACIAL_R_tongueA = 0x2FEE,
---     FACIAL_chinSkinTop = 0x7226,
---     FACIAL_L_chinSkinTop = 0x3EB3,
---     FACIAL_chinSkinMid = 0x899A,
---     FACIAL_L_chinSkinMid = 0x4427,
---     FACIAL_L_chinSide = 0x4A5E,
---     FACIAL_R_chinSkinMid = 0xF5AF,
---     FACIAL_R_chinSkinTop = 0xF03B,
---     FACIAL_R_chinSide = 0xAA5E,
---     FACIAL_R_underChin = 0x2BF4,
---     FACIAL_L_lipLowerSDK = 0xB9E1,
---     FACIAL_L_lipLowerAnalog = 0x244A,
---     FACIAL_L_lipLowerThicknessV = 0xC749,
---     FACIAL_L_lipLowerThicknessH = 0xC67B,
---     FACIAL_lipLowerSDK = 0x7285,
---     FACIAL_lipLowerAnalog = 0xD97B,
---     FACIAL_lipLowerThicknessV = 0xC5BB,
---     FACIAL_lipLowerThicknessH = 0xC5ED,
---     FACIAL_R_lipLowerSDK = 0xA034,
---     FACIAL_R_lipLowerAnalog = 0xC2D9,
---     FACIAL_R_lipLowerThicknessV = 0xC6E9,
---     FACIAL_R_lipLowerThicknessH = 0xC6DB,
---     FACIAL_nose = 0x20F1,
---     FACIAL_L_nostril = 0x7322,
---     FACIAL_L_nostrilThickness = 0xC15F,
---     FACIAL_noseLower = 0xE05A,
---     FACIAL_L_noseLowerThickness = 0x79D5,
---     FACIAL_R_noseLowerThickness = 0x7975,
---     FACIAL_noseTip = 0x6A60,
---     FACIAL_R_nostril = 0x7922,
---     FACIAL_R_nostrilThickness = 0x36FF,
---     FACIAL_noseUpper = 0xA04F,
---     FACIAL_L_noseUpper = 0x1FB8,
---     FACIAL_noseBridge = 0x9BA3,
---     FACIAL_L_nasolabialFurrow = 0x5ACA,
---     FACIAL_L_nasolabialBulge = 0xCD78,
---     FACIAL_L_cheekLower = 0x6907,
---     FACIAL_L_cheekLowerBulge1 = 0xE3FB,
---     FACIAL_L_cheekLowerBulge2 = 0xE3FC,
---     FACIAL_L_cheekInner = 0xE7AB,
---     FACIAL_L_cheekOuter = 0x8161,
---     FACIAL_L_eyesackLower = 0x771B,
---     FACIAL_L_eyeball = 0x1744,
---     FACIAL_L_eyelidLower = 0x998C,
---     FACIAL_L_eyelidLowerOuterSDK = 0xFE4C,
---     FACIAL_L_eyelidLowerOuterAnalog = 0xB9AA,
---     FACIAL_L_eyelashLowerOuter = 0xD7F6,
---     FACIAL_L_eyelidLowerInnerSDK = 0xF151,
---     FACIAL_L_eyelidLowerInnerAnalog = 0x8242,
---     FACIAL_L_eyelashLowerInner = 0x4CCF,
---     FACIAL_L_eyelidUpper = 0x97C1,
---     FACIAL_L_eyelidUpperOuterSDK = 0xAF15,
---     FACIAL_L_eyelidUpperOuterAnalog = 0x67FA,
---     FACIAL_L_eyelashUpperOuter = 0x27B7,
---     FACIAL_L_eyelidUpperInnerSDK = 0xD341,
---     FACIAL_L_eyelidUpperInnerAnalog = 0xF092,
---     FACIAL_L_eyelashUpperInner = 0x9B1F,
---     FACIAL_L_eyesackUpperOuterBulge = 0xA559,
---     FACIAL_L_eyesackUpperInnerBulge = 0x2F2A,
---     FACIAL_L_eyesackUpperOuterFurrow = 0xC597,
---     FACIAL_L_eyesackUpperInnerFurrow = 0x52A7,
---     FACIAL_forehead = 0x9218,
---     FACIAL_L_foreheadInner = 0x843,
---     FACIAL_L_foreheadInnerBulge = 0x767C,
---     FACIAL_L_foreheadOuter = 0x8DCB,
---     FACIAL_skull = 0x4221,
---     FACIAL_foreheadUpper = 0xF7D6,
---     FACIAL_L_foreheadUpperInner = 0xCF13,
---     FACIAL_L_foreheadUpperOuter = 0x509B,
---     FACIAL_R_foreheadUpperInner = 0xCEF3,
---     FACIAL_R_foreheadUpperOuter = 0x507B,
---     FACIAL_L_temple = 0xAF79,
---     FACIAL_L_ear = 0x19DD,
---     FACIAL_L_earLower = 0x6031,
---     FACIAL_L_masseter = 0x2810,
---     FACIAL_L_jawRecess = 0x9C7A,
---     FACIAL_L_cheekOuterSkin = 0x14A5,
---     FACIAL_R_cheekLower = 0xF367,
---     FACIAL_R_cheekLowerBulge1 = 0x599B,
---     FACIAL_R_cheekLowerBulge2 = 0x599C,
---     FACIAL_R_masseter = 0x810,
---     FACIAL_R_jawRecess = 0x93D4,
---     FACIAL_R_ear = 0x1137,
---     FACIAL_R_earLower = 0x8031,
---     FACIAL_R_eyesackLower = 0x777B,
---     FACIAL_R_nasolabialBulge = 0xD61E,
---     FACIAL_R_cheekOuter = 0xD32,
---     FACIAL_R_cheekInner = 0x737C,
---     FACIAL_R_noseUpper = 0x1CD6,
---     FACIAL_R_foreheadInner = 0xE43,
---     FACIAL_R_foreheadInnerBulge = 0x769C,
---     FACIAL_R_foreheadOuter = 0x8FCB,
---     FACIAL_R_cheekOuterSkin = 0xB334,
---     FACIAL_R_eyesackUpperInnerFurrow = 0x9FAE,
---     FACIAL_R_eyesackUpperOuterFurrow = 0x140F,
---     FACIAL_R_eyesackUpperInnerBulge = 0xA359,
---     FACIAL_R_eyesackUpperOuterBulge = 0x1AF9,
---     FACIAL_R_nasolabialFurrow = 0x2CAA,
---     FACIAL_R_temple = 0xAF19,
---     FACIAL_R_eyeball = 0x1944,
---     FACIAL_R_eyelidUpper = 0x7E14,
---     FACIAL_R_eyelidUpperOuterSDK = 0xB115,
---     FACIAL_R_eyelidUpperOuterAnalog = 0xF25A,
---     FACIAL_R_eyelashUpperOuter = 0xE0A,
---     FACIAL_R_eyelidUpperInnerSDK = 0xD541,
---     FACIAL_R_eyelidUpperInnerAnalog = 0x7C63,
---     FACIAL_R_eyelashUpperInner = 0x8172,
---     FACIAL_R_eyelidLower = 0x7FDF,
---     FACIAL_R_eyelidLowerOuterSDK = 0x1BD,
---     FACIAL_R_eyelidLowerOuterAnalog = 0x457B,
---     FACIAL_R_eyelashLowerOuter = 0xBE49,
---     FACIAL_R_eyelidLowerInnerSDK = 0xF351,
---     FACIAL_R_eyelidLowerInnerAnalog = 0xE13,
---     FACIAL_R_eyelashLowerInner = 0x3322,
---     FACIAL_L_lipUpperSDK = 0x8F30,
---     FACIAL_L_lipUpperAnalog = 0xB1CF,
---     FACIAL_L_lipUpperThicknessH = 0x37CE,
---     FACIAL_L_lipUpperThicknessV = 0x38BC,
---     FACIAL_lipUpperSDK = 0x1774,
---     FACIAL_lipUpperAnalog = 0xE064,
---     FACIAL_lipUpperThicknessH = 0x7993,
---     FACIAL_lipUpperThicknessV = 0x7981,
---     FACIAL_L_lipCornerSDK = 0xB1C,
---     FACIAL_L_lipCornerAnalog = 0xE568,
---     FACIAL_L_lipCornerThicknessUpper = 0x7BC,
---     FACIAL_L_lipCornerThicknessLower = 0xDD42,
---     FACIAL_R_lipUpperSDK = 0x7583,
---     FACIAL_R_lipUpperAnalog = 0x51CF,
---     FACIAL_R_lipUpperThicknessH = 0x382E,
---     FACIAL_R_lipUpperThicknessV = 0x385C,
---     FACIAL_R_lipCornerSDK = 0xB3C,
---     FACIAL_R_lipCornerAnalog = 0xEE0E,
---     FACIAL_R_lipCornerThicknessUpper = 0x54C3,
---     FACIAL_R_lipCornerThicknessLower = 0x2BBA,
---     MH_MulletRoot = 0x3E73,
---     MH_MulletScaler = 0xA1C2,
---     MH_Hair_Scale = 0xC664,
---     MH_Hair_Crown = 0x1675,
---     SM_Torch = 0x8D6,
---     FX_Light = 0x8959,
---     FX_Light_Scale = 0x5038,
---     FX_Light_Switch = 0xE18E,
---     BagRoot = 0xAD09,
---     BagPivotROOT = 0xB836,
---     BagPivot = 0x4D11,
---     BagBody = 0xAB6D,
---     BagBone_R = 0x937,
---     BagBone_L = 0x991,
---     SM_LifeSaver_Front = 0x9420,
---     SM_R_Pouches_ROOT = 0x2962,
---     SM_R_Pouches = 0x4141,
---     SM_L_Pouches_ROOT = 0x2A02,
---     SM_L_Pouches = 0x4B41,
---     SM_Suit_Back_Flapper = 0xDA2D,
---     SPR_CopRadio = 0x8245,
---     SM_LifeSaver_Back = 0x2127,
---     MH_BlushSlider = 0xA0CE,
---     SKEL_Tail_01 = 0x347,
---     SKEL_Tail_02 = 0x348,
---     MH_L_Concertina_B = 0xC988,
---     MH_L_Concertina_A = 0xC987,
---     MH_R_Concertina_B = 0xC8E8,
---     MH_R_Concertina_A = 0xC8E7,
---     MH_L_ShoulderBladeRoot = 0x8711,
---     MH_L_ShoulderBlade = 0x4EAF,
---     MH_R_ShoulderBladeRoot = 0x3A0A,
---     MH_R_ShoulderBlade = 0x54AF,
---     FB_R_Ear_000 = 0x6CDF,
---     SPR_R_Ear = 0x63B6,
---     FB_L_Ear_000 = 0x6439,
---     SPR_L_Ear = 0x5B10,
---     FB_TongueA_000 = 0x4206,
---     FB_TongueB_000 = 0x4207,
---     FB_TongueC_000 = 0x4208,
---     SKEL_L_Toe1 = 0x1D6B,
---     SKEL_R_Toe1 = 0xB23F,
---     SKEL_Tail_03 = 0x349,
---     SKEL_Tail_04 = 0x34A,
---     SKEL_Tail_05 = 0x34B,
---     SPR_Gonads_ROOT = 0xBFDE,
---     SPR_Gonads = 0x1C00,
---     FB_L_Brow_Out_001 = 0xE3DB,
---     FB_L_Lid_Upper_001 = 0xB2B6,
---     FB_L_Eye_001 = 0x62AC,
---     FB_L_CheekBone_001 = 0x542E,
---     FB_L_Lip_Corner_001 = 0x74AC,
---     FB_R_Lid_Upper_001 = 0xAA10,
---     FB_R_Eye_001 = 0x6B52,
---     FB_R_CheekBone_001 = 0x4B88,
---     FB_R_Brow_Out_001 = 0x54C,
---     FB_R_Lip_Corner_001 = 0x2BA6,
---     FB_Brow_Centre_001 = 0x9149,
---     FB_UpperLipRoot_001 = 0x4ED2,
---     FB_UpperLip_001 = 0xF18F,
---     FB_L_Lip_Top_001 = 0x4F37,
---     FB_R_Lip_Top_001 = 0x4537,
---     FB_Jaw_001 = 0xB4A0,
---     FB_LowerLipRoot_001 = 0x4324,
---     FB_LowerLip_001 = 0x508F,
---     FB_L_Lip_Bot_001 = 0xB93B,
---     FB_R_Lip_Bot_001 = 0xC33B,
---     FB_Tongue_001 = 0xB987
--- }; 
--- 
---@param ped number
---@param boneId any
---@return any
function GetPedBoneIndex(ped, boneId)
end

--- IS_PED_HANGING_ON_TO_VEHICLE
---
---@param ped number
---@return boolean
function IsPedHangingOnToVehicle(ped)
end

--- IS_SYNCHRONIZED_SCENE_LOOPED
---
---@param sceneID any
---@return boolean
function IsSynchronizedSceneLooped(sceneID)
end

--- IS_PEDHEADSHOT_IMG_UPLOAD_AVAILABLE
---
---@return boolean
function IsPedheadshotImgUploadAvailable()
end

--- SET_AI_WEAPON_DAMAGE_MODIFIER
---
---@param value number
---@return any
function SetAiWeaponDamageModifier(value)
end

--- SET_PED_MONEY
---
--- Maximum possible amount of money on MP is 2000. ~JX  
--- -----------------------------------------------------------------------------  
--- Maximum amount that a ped can theoretically have is 65535 (0xFFFF) since the amount is stored as an unsigned short (uint16_t) value.  
--- 
---@param ped number
---@param amount any
---@return any
function SetPedMoney(ped, amount)
end

--- _GET_PED_TASK_COMBAT_TARGET
---
--- NativeDB Introduced: v2372
--- 
---@param ped number
---@param p1 any
---@return number
function GetPedTaskCombatTarget(ped, p1)
end

--- SET_PED_AO_BLOB_RENDERING
---
--- Enable/disable ped shadow (ambient occlusion). https://gfycat.com/thankfulesteemedgecko
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetPedAoBlobRendering(ped, toggle)
end

--- SET_PED_CAN_COWER_IN_COVER
---
--- It simply makes the said ped to cower behind cover object(wall, desk, car)  
--- Peds flee attributes must be set to not to flee, first. Else, most of the peds, will just flee from gunshot sounds or any other panic situations.  
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanCowerInCover(ped, toggle)
end

--- SET_PED_DEFENSIVE_AREA_DIRECTION
---
---@param ped number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 boolean
---@return any
function SetPedDefensiveAreaDirection(ped, p1, p2, p3, p4)
end

--- SET_PED_ID_RANGE
---
---@param ped number
---@param value number
---@return any
function SetPedIdRange(ped, value)
end

--- SET_PED_INTO_VEHICLE
---
---@param ped number
---@param vehicle any
---@param seatIndex any
---@return any
function SetPedIntoVehicle(ped, vehicle, seatIndex)
end

--- CLEAR_PED_DECORATIONS_LEAVE_SCARS
---
---@param ped number
---@return any
function ClearPedDecorationsLeaveScars(ped)
end

--- CLEAR_PED_NON_CREATION_AREA
---
---@return any
function ClearPedNonCreationArea()
end

--- DELETE_PED
---
--- Deletes the specified ped, then sets the handle pointed to by the pointer to NULL.  
--- 
---@param ped any
---@return any
function DeletePed(ped)
end

--- REMOVE_PED_PREFERRED_COVER_SET
---
---@param ped number
---@return any
function RemovePedPreferredCoverSet(ped)
end

--- SET_DRIVER_RACING_MODIFIER
---
--- Scripts use 0.2, 0.5 and 1.0. Value must be >= 0.0 && <= 1.0
--- 
---@param driver number
---@param modifier number
---@return any
function SetDriverRacingModifier(driver, modifier)
end

--- SET_PED_CAN_SMASH_GLASS
---
---@param ped number
---@param p1 boolean
---@param p2 boolean
---@return any
function SetPedCanSmashGlass(ped, p1, p2)
end

--- SET_PED_COMBAT_MOVEMENT
---
--- 0 - Stationary (Will just stand in place)  
--- 1 - Defensive (Will try to find cover and very likely to blind fire)  
--- 2 - Offensive (Will attempt to charge at enemy but take cover as well)  
--- 3 - Suicidal Offensive (Will try to flank enemy in a suicidal attack)  
--- 
---@param ped number
---@param combatMovement any
---@return any
function SetPedCombatMovement(ped, combatMovement)
end

--- SET_PED_HELMET_TEXTURE_INDEX
---
---@param ped number
---@param textureIndex any
---@return any
function SetPedHelmetTextureIndex(ped, textureIndex)
end

--- CREATE_RANDOM_PED_AS_DRIVER
---
---@param vehicle any
---@param returnHandle boolean
---@return number
function CreateRandomPedAsDriver(vehicle, returnHandle)
end

--- _DISPOSE_SYNCHRONIZED_SCENE
---
---@param scene any
---@return any
function DisposeSynchronizedScene(scene)
end

--- HAS_PEDHEADSHOT_IMG_UPLOAD_SUCCEEDED
---
---@return boolean
function HasPedheadshotImgUploadSucceeded()
end

--- GET_PEDHEADSHOT_TXD_STRING
---
--- gtaforums.com/topic/885580-ped-headshotmugshot-txd/  
--- 
---@param id any
---@return any
function GetPedheadshotTxdString(id)
end

--- IS_PED_SHOOTING_IN_AREA
---
---@param ped number
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param p7 boolean
---@param p8 boolean
---@return boolean
function IsPedShootingInArea(ped, x1, y1, z1, x2, y2, z2, p7, p8)
end

--- RELEASE_PED_PRELOAD_PROP_DATA
---
---@param ped number
---@return any
function ReleasePedPreloadPropData(ped)
end

--- _REGISTER_PEDHEADSHOT_3
---
---@param ped number
---@return any
function RegisterPedheadshot3(ped)
end

--- REMOVE_PED_FROM_GROUP
---
---@param ped number
---@return any
function RemovePedFromGroup(ped)
end

--- _SET_FACIAL_CLIPSET_OVERRIDE
---Clipsets:
--- "facials@gen_female@base"
--- "facials@gen_male@base"
--- "facials@p_m_zero@base"
--- 
--- Typically followed with [SET_FACIAL_IDLE_ANIM_OVERRIDE](#\_0xFFC24B988B938B38):
--- "mood_drunk\_1"
--- "mood_stressed\_1"
--- "mood_happy\_1"
--- "mood_talking\_1"
--- 
--- 
--- NativeDB Introduced: v1493
--- 
---@param ped number
---@param animDict any
---@return any
function SetFacialClipsetOverride(ped, animDict)
end

--- GET_PED_COMBAT_RANGE
---
---@param ped number
---@return any
function GetPedCombatRange(ped)
end

--- IS_PED_FALLING
---
---@param ped number
---@return boolean
function IsPedFalling(ped)
end

--- IS_PED_IN_ANY_SUB
---
---@param ped number
---@return boolean
function IsPedInAnySub(ped)
end

--- REMOVE_GROUP
---
---@param groupId any
---@return any
function RemoveGroup(groupId)
end

--- _SET_PED_CAN_PLAY_INJURED_ANIMS
---
---@param ped number
---@param p1 boolean
---@return any
function SetPedCanPlayInjuredAnims(ped, p1)
end

--- SET_SYNCHRONIZED_SCENE_RATE
---
---@param sceneID any
---@param rate number
---@return any
function SetSynchronizedSceneRate(sceneID, rate)
end

--- GET_PED_DEFENSIVE_AREA_POSITION
---
---@param ped number
---@param p1 boolean
---@return { x: number, y: number, z: number }
function GetPedDefensiveAreaPosition(ped, p1)
end

--- IS_PED_BEING_JACKED
---
---@param ped number
---@return boolean
function IsPedBeingJacked(ped)
end

--- IS_PED_COMPONENT_VARIATION_VALID
---
--- Checks if the component variation is valid, this works great for randomizing components using loops.  
--- List of component/props ID  
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
---@param ped number
---@param componentId any
---@param drawableId any
---@param textureId any
---@return boolean
function IsPedComponentVariationValid(ped, componentId, drawableId, textureId)
end

--- APPLY_PED_DAMAGE_PACK
---
--- Damage Packs:  
--- "SCR_TrevorTreeBang"  
--- "HOSPITAL_0"  
--- "HOSPITAL_1"  
--- "HOSPITAL_2"  
--- "HOSPITAL_3"  
--- "HOSPITAL_4"  
--- "HOSPITAL_5"  
--- "HOSPITAL_6"  
--- "HOSPITAL_7"  
--- "HOSPITAL_8"  
--- "HOSPITAL_9"  
--- "SCR_Dumpster"  
--- "BigHitByVehicle"  
--- "SCR_Finale_Michael_Face"  
--- "SCR_Franklin_finb"  
--- "SCR_Finale_Michael"  
--- "SCR_Franklin_finb2"  
--- "Explosion_Med"  
--- "SCR_Torture"  
--- "SCR_TracySplash"  
--- "Skin_Melee_0"  
--- Additional damage packs:  
--- gist.github.com/alexguirre/f3f47f75ddcf617f416f3c8a55ae2227  
--- 
---@param ped number
---@param damagePack any
---@param damage number
---@param mult number
---@return any
function ApplyPedDamagePack(ped, damagePack, damage, mult)
end

--- _CLEAR_PED_COVER_CLIPSET_OVERRIDE
---
--- CLEAR_PED_*
--- 
---@param ped number
---@return any
function ClearPedCoverClipsetOverride(ped)
end

--- CLEAR_PED_DECORATIONS
---
---@param ped number
---@return any
function ClearPedDecorations(ped)
end

--- IS_PED_MALE
---
--- Returns true/false if the ped is/isn't male.  
--- 
---@param ped number
---@return boolean
function IsPedMale(ped)
end

--- REQUEST_PED_VEHICLE_VISIBILITY_TRACKING
---
---@param ped number
---@param p1 boolean
---@return any
function RequestPedVehicleVisibilityTracking(ped, p1)
end

--- SET_CAN_ATTACK_FRIENDLY
---
--- Setting ped to true allows the ped to shoot "friendlies".  
--- p2 set to true when toggle is also true seams to make peds permanently unable to aim at, even if you set p2 back to false.  
--- p1 = false & p2 = false for unable to aim at.  
--- p1 = true & p2 = false for able to aim at.  
--- 
---@param ped number
---@param toggle boolean
---@param p2 boolean
---@return any
function SetCanAttackFriendly(ped, toggle, p2)
end

--- SET_PED_AS_GROUP_LEADER
---
---@param ped number
---@param groupId any
---@return any
function SetPedAsGroupLeader(ped, groupId)
end

--- SET_PED_CAN_LOSE_PROPS_ON_DAMAGE
---It makes the ped lose (or not lose) their props (like glasses or helmets/hat) when someone punches or pushes the ped.
--- This is probably what's being used in GTA:O to keep players from knocking other player's hats/glasses off when in combat.
---@param ped number
---@param loseProps boolean
---@param p2 any
---@return any
function SetPedCanLosePropsOnDamage(ped, loseProps, p2)
end

--- SET_PED_MOVE_RATE_OVERRIDE
---
--- Min: 0.00  
--- Max: 10.00  
--- Can be used in combo with fast run cheat.  
--- When value is set to 10.00:  
--- Sprinting without fast run cheat: 66 m/s  
--- Sprinting with fast run cheat: 77 m/s  
--- Needs to be looped!  
--- Note: According to IDA for the Xbox360 xex, when they check bgt they seem to have the min to 0.0f, but the max set to 1.15f not 10.0f.  
--- 
---@param ped number
---@param value number
---@return any
function SetPedMoveRateOverride(ped, value)
end

--- ADD_RELATIONSHIP_GROUP
---
--- Can't select void. This function returns nothing. The hash of the created relationship group is output in the second parameter.  
--- 
---@param name any
---@param groupHash any
---@return any
function AddRelationshipGroup(name, groupHash)
end

--- _CLONE_PED_EX
---Used one time in fmmc_launcher.c instead of CLONE_PED because ?
---@param ped number
---@param heading number
---@param isNetwork boolean
---@param bScriptHostPed boolean
---@param p4 any
---@return number
function ClonePedEx(ped, heading, isNetwork, bScriptHostPed, p4)
end

--- SET_PED_CAN_HEAD_IK
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanHeadIk(ped, toggle)
end

--- SET_PED_DESIRED_HEADING
---
---@param ped number
---@param heading number
---@return any
function SetPedDesiredHeading(ped, heading)
end

--- SET_PED_FLEE_ATTRIBUTES
---
--- bit 15 (0x8000) = force cower
--- 
---@param ped number
---@param attributeFlags any
---@param enable boolean
---@return any
function SetPedFleeAttributes(ped, attributeFlags, enable)
end

--- SET_PED_MAX_TIME_UNDERWATER
---Set the maximum time a ped can stay underwater. Maximum seems to be 50 seconds.
---@param ped number
---@param value number
---@return any
function SetPedMaxTimeUnderwater(ped, value)
end

--- GET_RELATIONSHIP_BETWEEN_PEDS
---
--- Gets the relationship between two peds. This should be called twice (once for each ped).  
--- Relationship types:  
--- 0 = Companion  
--- 1 = Respect  
--- 2 = Like  
--- 3 = Neutral  
--- 4 = Dislike  
--- 5 = Hate  
--- 255 = Pedestrians  
--- (Credits: Inco)  
--- Example:  
--- PED::GET_RELATIONSHIP_BETWEEN_PEDS(2, l_1017, 0xA49E591C);  
--- PED::GET_RELATIONSHIP_BETWEEN_PEDS(2, 0xA49E591C, l_1017);  
--- 
---@param ped1 number
---@param ped2 number
---@return any
function GetRelationshipBetweenPeds(ped1, ped2)
end

--- SET_PED_CAN_BE_TARGETED_WITHOUT_LOS
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanBeTargetedWithoutLos(ped, toggle)
end

--- SET_PED_DUCKING
---
--- This is the SET_CHAR_DUCKING from GTA IV, that makes Peds duck. This function does nothing in GTA V. It cannot set the ped as ducking in vehicles, and IS_PED_DUCKING will always return false.  
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetPedDucking(ped, toggle)
end

--- SET_PED_ENABLE_WEAPON_BLOCKING
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedEnableWeaponBlocking(ped, toggle)
end

--- FINALIZE_HEAD_BLEND
---
---@param ped number
---@return any
function FinalizeHeadBlend(ped)
end

--- _GET_PED_CURRENT_MOVEMENT_SPEED
---
---@param ped number
---@param speedX any
---@param speedY any
---@return boolean
function GetPedCurrentMovementSpeed(ped, speedX, speedY)
end

--- GIVE_PED_NM_MESSAGE
---
--- Sends the message that was created by a call to CREATE_NM_MESSAGE to the specified Ped.  
--- If a message hasn't been created already, this function does nothing.  
--- If the Ped is not ragdolled with Euphoria enabled, this function does nothing.  
--- The following call can be used to ragdoll the Ped with Euphoria enabled: SET_PED_TO_RAGDOLL(ped, 4000, 5000, 1, 1, 1, 0);  
--- Call order:  
--- SET_PED_TO_RAGDOLL  
--- CREATE_NM_MESSAGE  
--- GIVE_PED_NM_MESSAGE  
--- Multiple messages can be chained. Eg. to make the ped stagger and swing his arms around, the following calls can be made:  
--- SET_PED_TO_RAGDOLL(ped, 4000, 5000, 1, 1, 1, 0);  
--- CREATE_NM_MESSAGE(true, 0); // stopAllBehaviours - Stop all other behaviours, in case the Ped is already doing some Euphoria stuff.  
--- GIVE_PED_NM_MESSAGE(ped); // Dispatch message to Ped.  
--- CREATE_NM_MESSAGE(true, 1151); // staggerFall - Attempt to walk while falling.  
--- GIVE_PED_NM_MESSAGE(ped); // Dispatch message to Ped.  
--- CREATE_NM_MESSAGE(true, 372); // armsWindmill - Swing arms around.  
--- GIVE_PED_NM_MESSAGE(ped); // Dispatch message to Ped.  
--- 
---@param ped number
---@return any
function GivePedNmMessage(ped)
end

--- IS_PED_SWIMMING_UNDER_WATER
---
---@param ped number
---@return boolean
function IsPedSwimmingUnderWater(ped)
end

--- IS_PEDHEADSHOT_VALID
---
--- gtaforums.com/topic/885580-ped-headshotmugshot-txd/  
--- 
---@param id any
---@return boolean
function IsPedheadshotValid(id)
end

--- RESET_PED_WEAPON_MOVEMENT_CLIPSET
---
---@param ped number
---@return any
function ResetPedWeaponMovementClipset(ped)
end

--- _SET_PED_SCUBA_GEAR_VARIATION
---This native sets a scuba mask for freemode models and an oxygen bottle for player_\* models. It works on freemode and player_\* models.
---@param ped number
---@return any
function SetPedScubaGearVariation(ped)
end

--- SET_PED_SHOOT_RATE
---
--- shootRate 0-1000  
--- 
---@param ped number
---@param shootRate any
---@return any
function SetPedShootRate(ped, shootRate)
end

--- SET_PED_LOD_MULTIPLIER
---
---@param ped number
---@param multiplier number
---@return any
function SetPedLodMultiplier(ped, multiplier)
end

--- GET_PED_MONEY
---
---@param ped number
---@return any
function GetPedMoney(ped)
end

--- IS_PED_DEFENSIVE_AREA_ACTIVE
---
---@param ped number
---@param p1 boolean
---@return boolean
function IsPedDefensiveAreaActive(ped, p1)
end

--- IS_PED_IN_ANY_VEHICLE
---Returns whether the specified ped is in any vehicle. If atGetIn is set to true, also returns true if the ped is
--- currently in the process of entering a vehicle (a specific stage check for CTaskEnterVehicle).
---@param ped number
---@param atGetIn boolean
---@return boolean
function IsPedInAnyVehicle(ped, atGetIn)
end

--- SET_PED_PRIMARY_LOOKAT
---
--- This is only called once in the scripts.
--- sub_1CD9(&l_49, 0, getElem(3, &l_34, 4), "MICHAEL", 0, 1);
---                     sub_1CA8("WORLD_HUMAN_SMOKING", 2);
---                     PED::SET_PED_PRIMARY_LOOKAT(getElem(3, &l_34, 4), PLAYER::PLAYER_PED_ID());
--- 
---@param ped number
---@param lookAt number
---@return any
function SetPedPrimaryLookat(ped, lookAt)
end

--- SET_PED_RELATIONSHIP_GROUP_DEFAULT_HASH
---
---@param ped number
---@param hash any
---@return any
function SetPedRelationshipGroupDefaultHash(ped, hash)
end

--- SET_RAGDOLL_BLOCKING_FLAGS
---
--- Works for both player and peds, but some flags don't seem to work for the player (1, for example)  
--- 1 - Blocks ragdolling when shot.  
--- 2 - Blocks ragdolling when hit by a vehicle. The ped still might play a falling animation.  
--- 4 - Blocks ragdolling when set on fire.  
--- -----------------------------------------------------------------------  
--- There seem to be 26 flags  
--- 
---@param ped number
---@param flags any
---@return any
function SetRagdollBlockingFlags(ped, flags)
end

--- GET_VEHICLE_PED_IS_TRYING_TO_ENTER
---
---@param ped number
---@return any
function GetVehiclePedIsTryingToEnter(ped)
end

--- SET_PED_CAN_BE_DRAGGED_OUT
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanBeDraggedOut(ped, toggle)
end

--- SET_PED_VISUAL_FIELD_CENTER_ANGLE
---
---@param ped number
---@param angle number
---@return any
function SetPedVisualFieldCenterAngle(ped, angle)
end

--- CLEAR_PED_PARACHUTE_PACK_VARIATION
---
---@param ped number
---@return any
function ClearPedParachutePackVariation(ped)
end

--- GET_PED_RESET_FLAG
---
---@param ped number
---@param flagId any
---@return boolean
function GetPedResetFlag(ped, flagId)
end

--- GET_PED_STEALTH_MOVEMENT
---
--- Returns whether the entity is in stealth mode  
--- 
---@param ped number
---@return boolean
function GetPedStealthMovement(ped)
end

--- GET_VEHICLE_PED_IS_ENTERING
---
---@param ped number
---@return any
function GetVehiclePedIsEntering(ped)
end

--- IS_PED_IN_ANY_POLICE_VEHICLE
---
---@param ped number
---@return boolean
function IsPedInAnyPoliceVehicle(ped)
end

--- GET_PED_PROP_INDEX
---
--- List of component/props ID  
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
---@param ped number
---@param componentId any
---@return any
function GetPedPropIndex(ped, componentId)
end

--- _GET_PED_VISUAL_FIELD_CENTER_ANGLE
---
--- NativeDB Introduced: v1493
--- 
---@param ped number
---@return number
function GetPedVisualFieldCenterAngle(ped)
end

--- SET_HEAD_BLEND_PALETTE_COLOR
---Preview: https://gfycat.com/MaleRareAmazonparrot
---@param ped number
---@param r any
---@param g any
---@param b any
---@param id any
---@return any
function SetHeadBlendPaletteColor(ped, r, g, b, id)
end

--- CLEAR_PED_BLOOD_DAMAGE_BY_ZONE
---
--- Somehow related to changing ped's clothes.  
--- 
---@param ped number
---@param p1 any
---@return any
function ClearPedBloodDamageByZone(ped, p1)
end

--- EXPLODE_PED_HEAD
---Applies lethal damage (FLT_MAX) to the SKEL_Head bone of the specified ped using the weapon passed, leading to the
--- ped's untimely demise.
--- 
--- The naming of the native is a legacy leftover (formerly EXPLODE_CHAR_HEAD in GTA3) as in the early 3D GTA games, lethal
--- damage to a ped head would 'explode' it.
---@param ped number
---@param weaponHash any
---@return any
function ExplodePedHead(ped, weaponHash)
end

--- GET_PED_BONE_COORDS
---
--- Gets the position of the specified bone of the specified ped.  
--- ped: The ped to get the position of a bone from.  
--- boneId: The ID of the bone to get the position from. This is NOT the index.  
--- offsetX: The X-component of the offset to add to the position relative to the bone's rotation.  
--- offsetY: The Y-component of the offset to add to the position relative to the bone's rotation.  
--- offsetZ: The Z-component of the offset to add to the position relative to the bone's rotation.  
--- 
---@param ped number
---@param boneId any
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@return { x: number, y: number, z: number }
function GetPedBoneCoords(ped, boneId, offsetX, offsetY, offsetZ)
end

--- GET_VEHICLE_PED_IS_IN
---Gets the vehicle the specified Ped is in. Returns 0 if the ped is/was not in a vehicle.
--- If the Ped is not in a vehicle and includeLastVehicle is true, the vehicle they were last in is returned.
---@param ped number
---@param lastVehicle boolean
---@return any
function GetVehiclePedIsIn(ped, lastVehicle)
end

--- HAS_PED_PRELOAD_PROP_DATA_FINISHED
---
---@param ped number
---@return boolean
function HasPedPreloadPropDataFinished(ped)
end

--- SET_CREATE_RANDOM_COPS_ON_SCENARIOS
---
---@param toggle boolean
---@return any
function SetCreateRandomCopsOnScenarios(toggle)
end

--- SET_PED_KEEP_TASK
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedKeepTask(ped, toggle)
end

--- SET_RELATIONSHIP_BETWEEN_GROUPS
---
--- Sets the relationship between two groups. This should be called twice (once for each group).  
--- Relationship types:  
--- 0 = Companion  
--- 1 = Respect  
--- 2 = Like  
--- 3 = Neutral  
--- 4 = Dislike  
--- 5 = Hate  
--- 255 = Pedestrians  
--- Example:  
--- PED::SET_RELATIONSHIP_BETWEEN_GROUPS(2, l_1017, 0xA49E591C);  
--- PED::SET_RELATIONSHIP_BETWEEN_GROUPS(2, 0xA49E591C, l_1017);  
--- 
---@param relationship any
---@param group1 any
---@param group2 any
---@return any
function SetRelationshipBetweenGroups(relationship, group1, group2)
end

--- SPAWNPOINTS_GET_SEARCH_RESULT
---
---@param randomInt any
---@param x any
---@param y any
---@param z any
---@return any
function SpawnpointsGetSearchResult(randomInt, x, y, z)
end

--- FORCE_PED_MOTION_STATE
---
--- Some motionstate hashes are  
--- 0xec17e58 (standing idle), 0xbac0f10b (nothing?), 0x3f67c6af (aiming with pistol 2-h), 0x422d7a25 (stealth), 0xbd8817db, 0x916e828c  
--- and those for the strings  
--- "motionstate_idle", "motionstate_walk", "motionstate_run", "motionstate_actionmode_idle", and "motionstate_actionmode_walk".  
--- Regarding p2, p3 and p4: Most common is 0, 0, 0); followed by 0, 1, 0); and 1, 1, 0); in the scripts. p4 is very rarely something other than 0.  
---  [31/03/2017] ins1de :  
---         enum MotionState  
---         {  
---             StopRunning = -530524,  
---             StopWalking = -668482597,  
---             Idle = 247561816, // 1, 1, 0  
---             Idl2 = -1871534317,  
---             SkyDive =-1161760501, // 0, 1, 0  
---             Stealth = 1110276645,  
---             Sprint = -1115154469,  
---             Swim = -1855028596,  
---             Unknown1 = 1063765679,  
---             Unknown2 = -633298724,  
---         }  
--- 
---@param ped number
---@param motionStateHash any
---@param p2 boolean
---@param p3 any
---@param p4 boolean
---@return boolean
function ForcePedMotionState(ped, motionStateHash, p2, p3, p4)
end

--- IS_PED_IN_ANY_TRAIN
---
---@param ped number
---@return boolean
function IsPedInAnyTrain(ped)
end

--- SET_GROUP_FORMATION
---
--- 0: Freedom to move
--- 1: Circle Around Leader
--- 2: Alternative Circle Around Leader  
--- 3: Line, with Leader at center  
--- 4: Arrow Formation
--- 5: "V" Formation
--- 6: Line Follow Formation
--- 7: Single Formation
--- 8: Pairwise
--- 
---@param groupId any
---@param formationType any
---@return any
function SetGroupFormation(groupId, formationType)
end

--- _SET_PED_FACE_FEATURE
---Sets the various freemode face features, e.g. nose length, chin shape.
--- 
--- **Indexes (From 0 to 19):**
--- 
--- Parentheses indicate morph scale/direction as in (-1.0 to 1.0)
--- 
--- *   **0**: Nose Width (Thin/Wide)
--- *   **1**: Nose Peak (Up/Down)
--- *   **2**: Nose Length (Long/Short)
--- *   **3**: Nose Bone Curveness (Crooked/Curved)
--- *   **4**: Nose Tip (Up/Down)
--- *   **5**: Nose Bone Twist (Left/Right)
--- *   **6**: Eyebrow (Up/Down)
--- *   **7**: Eyebrow (In/Out)
--- *   **8**: Cheek Bones (Up/Down)
--- *   **9**: Cheek Sideways Bone Size (In/Out)
--- *   **10**: Cheek Bones Width (Puffed/Gaunt)
--- *   **11**: Eye Opening (Both) (Wide/Squinted)
--- *   **12**: Lip Thickness (Both) (Fat/Thin)
--- *   **13**: Jaw Bone Width (Narrow/Wide)
--- *   **14**: Jaw Bone Shape (Round/Square)
--- *   **15**: Chin Bone (Up/Down)
--- *   **16**: Chin Bone Length (In/Out or Backward/Forward)
--- *   **17**: Chin Bone Shape (Pointed/Square)
--- *   **18**: Chin Hole (Chin Bum)
--- *   **19**: Neck Thickness (Thin/Thick)
--- 
--- **Note:**
--- 
--- You may need to call [SetPedHeadBlendData](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
---@param ped number
---@param index any
---@param scale number
---@return any
function SetPedFaceFeature(ped, index, scale)
end

--- SET_PED_MAX_MOVE_BLEND_RATIO
---
---@param ped number
---@param value number
---@return any
function SetPedMaxMoveBlendRatio(ped, value)
end

--- CLEAR_PED_ALTERNATE_MOVEMENT_ANIM
---
---@param ped number
---@param stance any
---@param p2 number
---@return any
function ClearPedAlternateMovementAnim(ped, stance, p2)
end

--- GET_JACK_TARGET
---
---@param ped number
---@return number
function GetJackTarget(ped)
end

--- GET_PED_CONFIG_FLAG
---See [SET_PED_CONFIG_FLAG](#\_0x1913FE4CBF41C463).
---@param ped number
---@param flagId any
---@param p2 boolean
---@return boolean
function GetPedConfigFlag(ped, flagId, p2)
end

--- GET_PED_MAX_HEALTH
---
---@param ped number
---@return any
function GetPedMaxHealth(ped)
end

--- IS_PED_HEADTRACKING_ENTITY
---
---@param ped number
---@param entity number
---@return boolean
function IsPedHeadtrackingEntity(ped, entity)
end

--- WAS_PED_KNOCKED_OUT
---
---@param ped number
---@return boolean
function WasPedKnockedOut(ped)
end

--- CAN_CREATE_RANDOM_DRIVER
---
---@return boolean
function CanCreateRandomDriver()
end

--- DROP_AMBIENT_PROP
---
---@param ped number
---@return any
function DropAmbientProp(ped)
end

--- GET_SYNCHRONIZED_SCENE_PHASE
---
---@param sceneID any
---@return number
function GetSynchronizedScenePhase(sceneID)
end

--- GET_PLAYER_PED_IS_FOLLOWING
---
---@param ped number
---@return number
function GetPlayerPedIsFollowing(ped)
end

--- SET_PED_SWEAT
---
--- Sweat is set to 100.0 or 0.0 in the decompiled scripts.  
--- 
---@param ped number
---@param sweat number
---@return any
function SetPedSweat(ped, sweat)
end

--- GET_PED_PROP_TEXTURE_INDEX
---
--- List of component/props ID  
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
---@param ped number
---@param componentId any
---@return any
function GetPedPropTextureIndex(ped, componentId)
end

--- GET_VEHICLE_PED_IS_USING
---
--- Gets ID of vehicle player using. It means it can get ID at any interaction with vehicle. Enter\exit for example. And that means it is faster than GET_VEHICLE_PED_IS_IN but less safe.  
--- 
---@param ped number
---@return any
function GetVehiclePedIsUsing(ped)
end

--- IS_SYNCHRONIZED_SCENE_RUNNING
---
--- Returns true if a synchronized scene is running  
--- 
---@param sceneId any
---@return boolean
function IsSynchronizedSceneRunning(sceneId)
end

--- SET_PED_CONFIG_FLAG
---cpp
--- // Potential names and hash collisions included as comments
--- enum ePedConfigFlags {
--- 	_0x67D1A445 = 0,
--- 	_0xC63DE95E = 1,
--- 	CPED_CONFIG_FLAG_NoCriticalHits = 2,
--- 	CPED_CONFIG_FLAG_DrownsInWater = 3,
--- 	CPED_CONFIG_FLAG_DisableReticuleFixedLockon = 4,
--- 	_0x37D196F4 = 5,
--- 	_0xE2462399 = 6,
--- 	CPED_CONFIG_FLAG_UpperBodyDamageAnimsOnly = 7,
--- 	_0xEDDEB838 = 8,
--- 	_0xB398B6FD = 9,
--- 	_0xF6664E68 = 10,
--- 	_0xA05E7CA3 = 11,
--- 	_0xCE394045 = 12,
--- 	CPED_CONFIG_FLAG_NeverLeavesGroup = 13,
--- 	_0xCD8D1411 = 14,
--- 	_0xB031F1A9 = 15,
--- 	_0xFE65BEE3 = 16,
--- 	CPED_CONFIG_FLAG_BlockNonTemporaryEvents = 17,
--- 	_0x380165BD = 18,
--- 	_0x07C045C7 = 19,
--- 	_0x583B5E2D = 20,
--- 	_0x475EDA58 = 21,
--- 	_0x8629D05B = 22,
--- 	_0x1522968B = 23,
--- 	CPED_CONFIG_FLAG_IgnoreSeenMelee = 24,
--- 	_0x4CC09C4B = 25,
--- 	_0x034F3053 = 26,
--- 	_0xD91BA7CC = 27,
--- 	_0x5C8DC66E = 28,
--- 	_0x8902EAA0 = 29,
--- 	_0x6580B9D2 = 30,
--- 	_0x0EF7A297 = 31,
--- 	_0x6BF86E5B = 32,
--- 	CPED_CONFIG_FLAG_DieWhenRagdoll = 33,
--- 	CPED_CONFIG_FLAG_HasHelmet = 34,
--- 	CPED_CONFIG_FLAG_UseHelmet = 35,
--- 	_0xEEB3D630 = 36,
--- 	_0xB130D17B = 37,
--- 	_0x5F071200 = 38,
--- 	CPED_CONFIG_FLAG_DisableEvasiveDives = 39,
--- 	_0xC287AAFF = 40,
--- 	_0x203328CC = 41,
--- 	CPED_CONFIG_FLAG_DontInfluenceWantedLevel = 42,
--- 	CPED_CONFIG_FLAG_DisablePlayerLockon = 43,
--- 	CPED_CONFIG_FLAG_DisableLockonToRandomPeds = 44,
--- 	_0xEC4A8ACF = 45,
--- 	_0xDB115BFA = 46,
--- 	CPED_CONFIG_FLAG_PedBeingDeleted = 47,
--- 	CPED_CONFIG_FLAG_BlockWeaponSwitching = 48,
--- 	_0xF8E99565 = 49,
--- 	_0xDD17FEE6 = 50,
--- 	_0x7ED9B2C9 = 51,
--- 	_0x655E8618 = 52,
--- 	_0x5A6C1F6E = 53,
--- 	_0xD749FC41 = 54,
--- 	_0x357F63F3 = 55,
--- 	_0xC5E60961 = 56,
--- 	_0x29275C3E = 57,
--- 	CPED_CONFIG_FLAG_IsFiring = 58,
--- 	CPED_CONFIG_FLAG_WasFiring = 59,
--- 	CPED_CONFIG_FLAG_IsStanding = 60,
--- 	CPED_CONFIG_FLAG_WasStanding = 61,
--- 	CPED_CONFIG_FLAG_InVehicle = 62,
--- 	CPED_CONFIG_FLAG_OnMount = 63,
--- 	CPED_CONFIG_FLAG_AttachedToVehicle = 64,
--- 	CPED_CONFIG_FLAG_IsSwimming = 65,
--- 	CPED_CONFIG_FLAG_WasSwimming = 66,
--- 	CPED_CONFIG_FLAG_IsSkiing = 67,
--- 	CPED_CONFIG_FLAG_IsSitting = 68,
--- 	CPED_CONFIG_FLAG_KilledByStealth = 69,
--- 	CPED_CONFIG_FLAG_KilledByTakedown = 70,
--- 	CPED_CONFIG_FLAG_Knockedout = 71,
--- 	_0x3E3C4560 = 72,
--- 	_0x2994C7B7 = 73,
--- 	_0x6D59D275 = 74,
--- 	CPED_CONFIG_FLAG_UsingCoverPoint = 75,
--- 	CPED_CONFIG_FLAG_IsInTheAir = 76,
--- 	_0x2D493FB7 = 77,
--- 	CPED_CONFIG_FLAG_IsAimingGun = 78,
--- 	_0x14D69875 = 79,
--- 	_0x40B05311 = 80,
--- 	_0x8B230BC5 = 81,
--- 	_0xC74E5842 = 82,
--- 	_0x9EA86147 = 83,
--- 	_0x674C746C = 84,
--- 	_0x3E56A8C2 = 85,
--- 	_0xC144A1EF = 86,
--- 	_0x0548512D = 87,
--- 	_0x31C93909 = 88,
--- 	_0xA0269315 = 89,
--- 	_0xD4D59D4D = 90,
--- 	_0x411D4420 = 91,
--- 	_0xDF4AEF0D = 92,
--- 	CPED_CONFIG_FLAG_ForcePedLoadCover = 93,
--- 	_0x300E4CD3 = 94,
--- 	_0xF1C5BF04 = 95,
--- 	_0x89C2EF13 = 96,
--- 	CPED_CONFIG_FLAG_VaultFromCover = 97,
--- 	_0x02A852C8 = 98,
--- 	_0x3D9407F1 = 99,
--- 	_0x319B4558 = 100,
--- 	CPED_CONFIG_FLAG_ForcedAim = 101,
--- 	_0xB942D71A = 102,
--- 	_0xD26C55A8 = 103,
--- 	_0xB89E703B = 104,
--- 	CPED_CONFIG_FLAG_ForceReload = 105,
--- 	_0xD9E73DA2 = 106,
--- 	_0xFF71DC2C = 107,
--- 	_0x1E27E8D8 = 108,
--- 	_0xF2C53966 = 109,
--- 	_0xC4DBE247 = 110,
--- 	_0x83C0A4BF = 111,
--- 	_0x0E0FAF8C = 112,
--- 	_0x26616660 = 113,
--- 	_0x43B80B79 = 114,
--- 	_0x0D2A9309 = 115,
--- 	_0x12C1C983 = 116,
--- 	CPED_CONFIG_FLAG_BumpedByPlayer = 117,
--- 	_0xE586D504 = 118,
--- 	_0x52374204 = 119,
--- 	CPED_CONFIG_FLAG_IsHandCuffed = 120,
--- 	CPED_CONFIG_FLAG_IsAnkleCuffed = 121,
--- 	CPED_CONFIG_FLAG_DisableMelee = 122,
--- 	_0xFE714397 = 123,
--- 	_0xB3E660BD = 124,
--- 	_0x5FED6BFD = 125,
--- 	_0xC9D6F66F = 126,
--- 	_0x519BC986 = 127,
--- 	CPED_CONFIG_FLAG_CanBeAgitated = 128,
--- 	_0x9A4B617C = 129, // CPED_CONFIG_FLAG_FaceDirInsult
--- 	_0xDAB70E9F = 130,
--- 	_0xE569438A = 131,
--- 	_0xBBC77D6D = 132,
--- 	_0xCB59EF0F = 133,
--- 	_0x8C5EA971 = 134,
--- 	CPED_CONFIG_FLAG_IsScuba = 135,
--- 	CPED_CONFIG_FLAG_WillArrestRatherThanJack = 136,
--- 	_0xDCE59B58 = 137,
--- 	CPED_CONFIG_FLAG_RidingTrain = 138,
--- 	CPED_CONFIG_FLAG_ArrestResult = 139,
--- 	CPED_CONFIG_FLAG_CanAttackFriendly = 140,
--- 	_0x98A4BE43 = 141,
--- 	_0x6901E731 = 142,
--- 	_0x9EC9BF6C = 143,
--- 	_0x42841A8F = 144,
--- 	CPED_CONFIG_FLAG_ShootingAnimFlag = 145,
--- 	CPED_CONFIG_FLAG_DisableLadderClimbing = 146,
--- 	CPED_CONFIG_FLAG_StairsDetected = 147,
--- 	CPED_CONFIG_FLAG_SlopeDetected = 148,
--- 	_0x1A15670B = 149,
--- 	_0x61786EE5 = 150,
--- 	_0xCB9186BD = 151,
--- 	_0xF0710152 = 152,
--- 	_0x43DFE310 = 153,
--- 	_0xC43C624E = 154,
--- 	CPED_CONFIG_FLAG_CanPerformArrest = 155,
--- 	CPED_CONFIG_FLAG_CanPerformUncuff = 156,
--- 	CPED_CONFIG_FLAG_CanBeArrested = 157,
--- 	_0xF7960FF5 = 158,
--- 	_0x59564113 = 159,
--- 	_0x0C6C3099 = 160,
--- 	_0x645F927A = 161,
--- 	_0xA86549B9 = 162,
--- 	_0x8AAF337A = 163,
--- 	_0x13BAA6E7 = 164,
--- 	_0x5FB9D1F5 = 165,
--- 	CPED_CONFIG_FLAG_IsInjured = 166,
--- 	_0x6398A20B = 167,
--- 	_0xD8072639 = 168,
--- 	_0xA05B1845 = 169,
--- 	_0x83F6D220 = 170,
--- 	_0xD8430331 = 171,
--- 	_0x4B547520 = 172,
--- 	_0xE66E1406 = 173,
--- 	_0x1C4BFE0C = 174,
--- 	_0x90008BFA = 175,
--- 	_0x07C7A910 = 176,
--- 	_0xF15F8191 = 177,
--- 	_0xCE4E8BE2 = 178,
--- 	_0x1D46E4F2 = 179,
--- 	CPED_CONFIG_FLAG_IsInCustody = 180,
--- 	_0xE4FD9B3A = 181,
--- 	_0x67AE0812 = 182,
--- 	CPED_CONFIG_FLAG_IsAgitated = 183,
--- 	CPED_CONFIG_FLAG_PreventAutoShuffleToDriversSeat = 184,
--- 	_0x7B2D325E = 185,
--- 	CPED_CONFIG_FLAG_EnableWeaponBlocking = 186,
--- 	CPED_CONFIG_FLAG_HasHurtStarted = 187,
--- 	CPED_CONFIG_FLAG_DisableHurt = 188,
--- 	CPED_CONFIG_FLAG_PlayerIsWeird = 189,
--- 	_0x32FC208B = 190,
--- 	_0x0C296E5A = 191,
--- 	_0xE63B73EC = 192,
--- 	_0x04E9CC80 = 193,
--- 	CPED_CONFIG_FLAG_UsingScenario = 194,
--- 	CPED_CONFIG_FLAG_VisibleOnScreen = 195,
--- 	_0xD88C58A1 = 196,
--- 	_0x5A3DCF43 = 197, // CPED_CONFIG_FLAG_AvoidUnderSide
--- 	_0xEA02B420 = 198,
--- 	_0x3F559CFF = 199,
--- 	_0x8C55D029 = 200,
--- 	_0x5E6466F6 = 201,
--- 	_0xEB5AD706 = 202,
--- 	_0x0EDDDDE7 = 203,
--- 	_0xA64F7B1D = 204,
--- 	_0x48532CBA = 205,
--- 	_0xAA25A9E7 = 206,
--- 	_0x415B26B9 = 207,
--- 	CPED_CONFIG_FLAG_DisableExplosionReactions = 208,
--- 	CPED_CONFIG_FLAG_DodgedPlayer = 209,
--- 	_0x67405504 = 210,
--- 	_0x75DDD68C = 211,
--- 	_0x2AD879B4 = 212,
--- 	_0x51486F91 = 213,
--- 	_0x32F79E21 = 214,
--- 	_0xBF099213 = 215,
--- 	_0x054AC8E2 = 216,
--- 	_0x14E495CC = 217,
--- 	_0x3C7DF9DF = 218,
--- 	_0x848FFEF2 = 219,
--- 	CPED_CONFIG_FLAG_DontEnterLeadersVehicle = 220,
--- 	_0x2618E1CF = 221,
--- 	_0x84F722FA = 222,
--- 	_0xD1B87B1F = 223,
--- 	_0x728AA918 = 224,
--- 	CPED_CONFIG_FLAG_DisablePotentialToBeWalkedIntoResponse = 225,
--- 	CPED_CONFIG_FLAG_DisablePedAvoidance = 226,
--- 	_0x59E91185 = 227,
--- 	_0x1EA7225F = 228,
--- 	CPED_CONFIG_FLAG_DisablePanicInVehicle = 229,
--- 	_0x6DCA7D88 = 230,
--- 	_0xFC3E572D = 231,
--- 	_0x08E9F9CF = 232,
--- 	_0x2D3BA52D = 233,
--- 	_0xFD2F53EA = 234,
--- 	_0x31A1B03B = 235,
--- 	CPED_CONFIG_FLAG_IsHoldingProp = 236,
--- 	_0x82ED0A66 = 237, // CPED_CONFIG_FLAG_BlocksPathingWhenDead
--- 	_0xCE57C9A3 = 238,
--- 	_0x26149198 = 239,
--- 	_0x1B33B598 = 240,
--- 	_0x719B6E87 = 241,
--- 	_0x13E8E8E8 = 242,
--- 	_0xF29739AE = 243,
--- 	_0xABEA8A74 = 244,
--- 	_0xB60EA2BA = 245,
--- 	_0x536B0950 = 246,
--- 	_0x0C754ACA = 247,
--- 	CPED_CONFIG_FLAG_DisableVehicleSeatRandomAnimations = 248,
--- 	_0x12659168 = 249,
--- 	_0x1BDF2F04 = 250,
--- 	_0x7728FAA3 = 251,
--- 	_0x6A807ED8 = 252,
--- 	CPED_CONFIG_FLAG_OnStairs = 253,
--- 	_0xE1A2F73F = 254,
--- 	_0x5B3697C8 = 255,
--- 	_0xF1EB20A9 = 256,
--- 	_0x8B7DF407 = 257,
--- 	_0x329DCF1A = 258,
--- 	_0x8D90DD1B = 259,
--- 	_0xB8A292B7 = 260,
--- 	_0x8374B087 = 261,
--- 	_0x2AF558F0 = 262,
--- 	_0x82251455 = 263,
--- 	_0x30CF498B = 264,
--- 	_0xE1CD50AF = 265,
--- 	_0x72E4AE48 = 266,
--- 	_0xC2657EA1 = 267,
--- 	_0x29FF6030 = 268,
--- 	_0x8248A5EC = 269,
--- 	CPED_CONFIG_FLAG_OnStairSlope = 270,
--- 	_0xA0897933 = 271,
--- 	CPED_CONFIG_FLAG_DontBlipCop = 272,
--- 	CPED_CONFIG_FLAG_ClimbedShiftedFence = 273,
--- 	_0xF7823618 = 274,
--- 	_0xDC305CCE = 275, // CPED_CONFIG_FLAG_KillWhenTrapped
--- 	CPED_CONFIG_FLAG_EdgeDetected = 276,
--- 	_0x92B67896 = 277,
--- 	_0xCAD677C9 = 278,
--- 	CPED_CONFIG_FLAG_AvoidTearGas = 279,
--- 	_0x5276AC7B = 280,
--- 	_0x1032692A = 281,
--- 	_0xDA23E7F1 = 282,
--- 	_0x9139724D = 283,
--- 	_0xA1457461 = 284,
--- 	_0x4186E095 = 285,
--- 	_0xAC68E2EB = 286,
--- 	CPED_CONFIG_FLAG_RagdollingOnBoat = 287,
--- 	CPED_CONFIG_FLAG_HasBrandishedWeapon = 288,
--- 	_0x1B9EE8A1 = 289,
--- 	_0xF3F5758C = 290,
--- 	_0x2A9307F1 = 291,
--- 	_0x7403D216 = 292,
--- 	_0xA06A3C6C = 293,
--- 	CPED_CONFIG_FLAG_DisableShockingEvents = 294,
--- 	_0xF8DA25A5 = 295,
--- 	_0x7EF55802 = 296,
--- 	_0xB31F1187 = 297,
--- 	_0x84315402 = 298,
--- 	_0x0FD69867 = 299,
--- 	_0xC7829B67 = 300,
--- 	CPED_CONFIG_FLAG_DisablePedConstraints = 301,
--- 	_0x6D23CF25 = 302,
--- 	_0x2ADA871B = 303,
--- 	_0x47BC8A58 = 304,
--- 	_0xEB692FA5 = 305,
--- 	_0x4A133C50 = 306,
--- 	_0xC58099C3 = 307,
--- 	_0xF3D76D41 = 308,
--- 	_0xB0EEE9F2 = 309,
--- 	CPED_CONFIG_FLAG_IsInCluster = 310,
--- 	_0x0FA153EF = 311,
--- 	_0xD73F5CD3 = 312,
--- 	_0xD4136C22 = 313,
--- 	_0xE404CA6B = 314,
--- 	_0xB9597446 = 315,
--- 	_0xD5C98277 = 316,
--- 	_0xD5060A9C = 317,
--- 	_0x3E5F1CBB = 318,
--- 	_0xD8BE1D54 = 319,
--- 	_0x0B1F191F = 320,
--- 	_0xC995167A = 321,
--- 	CPED_CONFIG_FLAG_HasHighHeels = 322,
--- 	_0x86B01E54 = 323,
--- 	_0x3A56FE15 = 324,
--- 	_0xC03B736C = 325, // CPED_CONFIG_FLAG_SpawnedAtScenario
--- 	_0xBBF47729 = 326,
--- 	_0x22B668A8 = 327,
--- 	_0x2624D4D4 = 328,
--- 	CPED_CONFIG_FLAG_DisableTalkTo = 329,
--- 	CPED_CONFIG_FLAG_DontBlip = 330,
--- 	CPED_CONFIG_FLAG_IsSwitchingWeapon = 331,
--- 	_0x630F55F3 = 332,
--- 	_0x150468FD = 333,
--- 	_0x914EBD6B = 334,
--- 	_0x79AF3B6D = 335,
--- 	_0x75C7A632 = 336,
--- 	_0x52D530E2 = 337,
--- 	_0xDB2A90E0 = 338,
--- 	_0x5922763D = 339,
--- 	_0x12ADB567 = 340,
--- 	_0x105C8518 = 341,
--- 	_0x106F703D = 342,
--- 	_0xED152C3E = 343,
--- 	_0xA0EFE6A8 = 344,
--- 	_0xBF348C82 = 345,
--- 	_0xCDDFE830 = 346,
--- 	_0x7B59BD9B = 347,
--- 	_0x0124C788 = 348,
--- 	CPED_CONFIG_FLAG_EquipJetpack = 349,
--- 	_0x08D361A5 = 350,
--- 	_0xE13D1F7C = 351,
--- 	_0x40E25FB9 = 352,
--- 	_0x930629D9 = 353,
--- 	_0xECCF0C7F = 354,
--- 	_0xB6E9613B = 355,
--- 	_0x490C0478 = 356,
--- 	_0xE8865BEA = 357,
--- 	_0xF3C34A29 = 358,
--- 	CPED_CONFIG_FLAG_IsDuckingInVehicle = 359,
--- 	_0xF660E115 = 360,
--- 	_0xAB0E6DED = 361,
--- 	CPED_CONFIG_FLAG_HasReserveParachute = 362,
--- 	CPED_CONFIG_FLAG_UseReserveParachute = 363,
--- 	_0x5C5D9CD3 = 364,
--- 	_0x8F7701F3 = 365,
--- 	_0xBC4436AD = 366,
--- 	_0xD7E07D37 = 367,
--- 	_0x03C4FD24 = 368,
--- 	_0x7675789A = 369,
--- 	_0xB7288A88 = 370,
--- 	_0xC06B6291 = 371,
--- 	_0x95A4A805 = 372,
--- 	_0xA8E9A042 = 373,
--- 	CPED_CONFIG_FLAG_NeverLeaveTrain = 374,
--- 	_0xBAC674B3 = 375,
--- 	_0x147F1FFB = 376,
--- 	_0x4376DD79 = 377,
--- 	_0xCD3DB518 = 378,
--- 	_0xFE4BA4B6 = 379,
--- 	_0x5DF03A55 = 380,
--- 	_0xBCD816CD = 381,
--- 	_0xCF02DD69 = 382,
--- 	_0xF73AFA2E = 383,
--- 	_0x80B9A9D0 = 384,
--- 	_0xF601F7EE = 385,
--- 	_0xA91350FC = 386,
--- 	_0x3AB23B96 = 387,
--- 	CPED_CONFIG_FLAG_IsClimbingLadder = 388,
--- 	CPED_CONFIG_FLAG_HasBareFeet = 389,
--- 	_0xB4B1CD4C = 390,
--- 	_0x5459AFB8 = 391,
--- 	_0x54F27667 = 392,
--- 	_0xC11D3E8F = 393,
--- 	_0x5419EB3E = 394,
--- 	_0x82D8DBB4 = 395,
--- 	_0x33B02D2F = 396,
--- 	_0xAE66176D = 397,
--- 	_0xA2692593 = 398,
--- 	_0x714C7E31 = 399,
--- 	_0xEC488AC7 = 400,
--- 	_0xAE398504 = 401,
--- 	_0xABC58D72 = 402,
--- 	_0x5E5B9591 = 403,
--- 	_0x6BA1091E = 404,
--- 	_0x77840177 = 405,
--- 	_0x1C7ACAC4 = 406,
--- 	_0x124420E9 = 407,
--- 	_0x75A65587 = 408,
--- 	_0xDFD2D55B = 409,
--- 	_0xBDD39919 = 410,
--- 	_0x43DEC267 = 411,
--- 	_0xE42B7797 = 412,
--- 	CPED_CONFIG_FLAG_IsHolsteringWeapon = 413,
--- 	_0x4F8149F5 = 414,
--- 	_0xDD9ECA7A = 415,
--- 	_0x9E7EF9D2 = 416,
--- 	_0x2C6ED942 = 417,
--- 	CPED_CONFIG_FLAG_IsSwitchingHelmetVisor = 418,
--- 	_0xA488727D = 419,
--- 	_0xCFF5F6DE = 420,
--- 	_0x6D614599 = 421,
--- 	CPED_CONFIG_FLAG_DisableVehicleCombat = 422,
--- 	_0xFE401D26 = 423,
--- 	CPED_CONFIG_FLAG_FallsLikeAircraft = 424,
--- 	_0x2B42AE82 = 425,
--- 	_0x7A95734F = 426,
--- 	_0xDF4D8617 = 427,
--- 	_0x578F1F14 = 428,
--- 	CPED_CONFIG_FLAG_DisableStartEngine = 429,
--- 	CPED_CONFIG_FLAG_IgnoreBeingOnFire = 430,
--- 	_0x153C9500 = 431,
--- 	_0xCB7A632E = 432,
--- 	_0xDE727981 = 433,
--- 	CPED_CONFIG_FLAG_DisableHomingMissileLockon = 434,
--- 	_0x12BBB935 = 435,
--- 	_0xAD0A1277 = 436,
--- 	_0xEA6AA46A = 437,
--- 	CPED_CONFIG_FLAG_DisableHelmetArmor = 438,
--- 	_0xCB7F3A1E = 439,
--- 	_0x50178878 = 440,
--- 	_0x051B4F0D = 441,
--- 	_0x2FC3DECC = 442,
--- 	_0xC0030B0B = 443,
--- 	_0xBBDAF1E9 = 444,
--- 	_0x944FE59C = 445,
--- 	_0x506FBA39 = 446,
--- 	_0xDD45FE84 = 447,
--- 	_0xE698AE75 = 448,
--- 	_0x199633F8 = 449,
--- 	CPED_CONFIG_FLAG_PedIsArresting = 450,
--- 	CPED_CONFIG_FLAG_IsDecoyPed = 451,
--- 	_0x3A251D83 = 452,
--- 	_0xA56F6986 = 453,
--- 	_0x1D19C622 = 454,
--- 	_0xB68D3EAB = 455,
--- 	CPED_CONFIG_FLAG_CanBeIncapacitated = 456,
--- 	_0x4BD5EBAD = 457,
--- }
--- 
---@param ped number
---@param flagId any
---@param value boolean
---@return any
function SetPedConfigFlag(ped, flagId, value)
end

--- SPAWNPOINTS_START_SEARCH_IN_ANGLED_AREA
---
---@param x number
---@param y number
---@param z number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 number
---@param interiorFlags any
---@param scale number
---@param duration any
---@return any
function SpawnpointsStartSearchInAngledArea(x, y, z, p3, p4, p5, p6, interiorFlags, scale, duration)
end

--- GET_PED_DRAWABLE_VARIATION
---
--- Ids
--- 0 - Head
--- 1 - Beard
--- 2 - Hair
--- 3 - Torso
--- 4 - Legs
--- 5 - Hands
--- 6 - Foot
--- 7 - ------
--- 8 - Accessories 1
--- 9 - Accessories 2
--- 10- Decals
--- 11 - Auxiliary parts for torso
--- 
---@param ped number
---@param componentId any
---@return any
function GetPedDrawableVariation(ped, componentId)
end

--- _GET_PED_HAIR_RGB_COLOR
---Input: Haircolor index, value between 0 and 63 (inclusive).
--- Output: RGB values for the haircolor specified in the input.
--- 
--- This is used with the hair color swatches scaleform.
--- 
--- Use [_0x013E5CFC38CD5387](#\_0x013E5CFC38CD5387) to get the makeup colors.
---@param hairColorIndex any
---@param outR any
---@param outG any
---@param outB any
---@return any
function GetPedHairRgbColor(hairColorIndex, outR, outG, outB)
end

--- IS_PED_GETTING_INTO_A_VEHICLE
---
---@param ped number
---@return boolean
function IsPedGettingIntoAVehicle(ped)
end

--- IS_PED_IN_ANY_PLANE
---
---@param ped number
---@return boolean
function IsPedInAnyPlane(ped)
end

--- SET_PED_ACCURACY
---
--- accuracy = 0-100, 100 being perfectly accurate
--- 
---@param ped number
---@param accuracy any
---@return any
function SetPedAccuracy(ped, accuracy)
end

--- SET_SCENARIO_PEDS_SPAWN_IN_SPHERE_AREA
---
---@param x number
---@param y number
---@param z number
---@param range number
---@param p4 any
---@return any
function SetScenarioPedsSpawnInSphereArea(x, y, z, range, p4)
end

--- SET_SYNCHRONIZED_SCENE_LOOPED
---
---@param sceneID any
---@param toggle boolean
---@return any
function SetSynchronizedSceneLooped(sceneID, toggle)
end

--- ADD_PED_DECORATION_FROM_HASHES_IN_CORONA
---
---@param ped number
---@param collection any
---@param overlay any
---@return any
function AddPedDecorationFromHashesInCorona(ped, collection, overlay)
end

--- GET_DEAD_PED_PICKUP_COORDS
---
---@param ped number
---@param p1 number
---@param p2 number
---@return { x: number, y: number, z: number }
function GetDeadPedPickupCoords(ped, p1, p2)
end

--- IS_PED_DEAD_OR_DYING
---Seems to consistently return true if the ped is dead, however, it does not detect the dying phase.
---@param ped number
---@param p1 boolean
---@return boolean
function IsPedDeadOrDying(ped, p1)
end

--- IS_PED_SITTING_IN_ANY_VEHICLE
---
--- Detect if ped is in any vehicle  
--- [True/False]  
--- 
---@param ped number
---@return boolean
function IsPedSittingInAnyVehicle(ped)
end

--- SET_PED_DIES_IN_WATER
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedDiesInWater(ped, toggle)
end

--- CREATE_PED_INSIDE_VEHICLE
---
---@param vehicle any
---@param pedType any
---@param modelHash any
---@param seat any
---@param isNetwork boolean
---@param bScriptHostPed boolean
---@return number
function CreatePedInsideVehicle(vehicle, pedType, modelHash, seat, isNetwork, bScriptHostPed)
end

--- IS_PED_A_PLAYER
---
--- Returns true if the given ped has a valid pointer to CPlayerInfo in its CPed class. That's all.
--- 
---@param ped number
---@return boolean
function IsPedAPlayer(ped)
end

--- _IS_PED_LIPSTICK_COLOR_VALID_2
---
---@param colorId any
---@return boolean
function IsPedLipstickColorValid2(colorId)
end

--- SET_PED_RANDOM_COMPONENT_VARIATION
---
--- p1 is always 0 in R* scripts; and a quick disassembly seems to indicate that p1 is unused.  
--- 
--- List of component/props ID:
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
---@param ped number
---@param p1 any
---@return any
function SetPedRandomComponentVariation(ped, p1)
end

--- IS_PED_RELOADING
---
--- Returns whether the specified ped is reloading.  
--- 
---@param ped number
---@return boolean
function IsPedReloading(ped)
end

--- _SET_PED_HEAD_OVERLAY_COLOR
---
--- Used for freemode (online) characters. 
--- Called after SET_PED_HEAD_OVERLAY().  
--- 
--- 
--- **Note:**
--- 
--- You may need to call [SetPedHeadBlendData](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
---@param ped number
---@param overlayID any
---@param colorType any
---@param colorID any
---@param secondColorID any
---@return any
function SetPedHeadOverlayColor(ped, overlayID, colorType, colorID, secondColorID)
end

--- DETACH_SYNCHRONIZED_SCENE
---
---@param sceneID any
---@return any
function DetachSynchronizedScene(sceneID)
end

--- GET_PED_HELMET_STORED_HAT_TEX_INDEX
---
---@param ped number
---@return any
function GetPedHelmetStoredHatTexIndex(ped)
end

--- IS_COP_PED_IN_AREA_3D
---
--- xyz - relative to the world origin.  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@return boolean
function IsCopPedInArea3D(x1, y1, z1, x2, y2, z2)
end

--- _IS_PED_HAIR_COLOR_VALID
---
---@param colorID any
---@return boolean
function IsPedHairColorValid(colorID)
end

--- _SET_RELATIONSHIP_GROUP_DONT_AFFECT_WANTED_LEVEL
---
---@param group any
---@param p1 boolean
---@return any
function SetRelationshipGroupDontAffectWantedLevel(group, p1)
end

--- _CLEAR_FACIAL_CLIPSET_OVERRIDE
---
--- NativeDB Introduced: v1493
--- 
---@param ped number
---@return any
function ClearFacialClipsetOverride(ped)
end

--- CREATE_PED
---Creates a ped (biped character, pedestrian, actor) with the specified model at the specified position and heading.
--- This ped will initially be owned by the creating script as a mission entity, and the model should be loaded already
--- (e.g. using REQUEST_MODEL).
---@param pedType any
---@param modelHash any
---@param x number
---@param y number
---@param z number
---@param heading number
---@param isNetwork boolean
---@param bScriptHostPed boolean
---@return number
function CreatePed(pedType, modelHash, x, y, z, heading, isNetwork, bScriptHostPed)
end

--- IS_PED_ON_ANY_BIKE
---
---@param ped number
---@return boolean
function IsPedOnAnyBike(ped)
end

--- KNOCK_PED_OFF_VEHICLE
---
---@param ped number
---@return any
function KnockPedOffVehicle(ped)
end

--- SET_PED_CAN_PLAY_VISEME_ANIMS
---
--- p2 usually 0  
--- 
---@param ped number
---@param toggle boolean
---@param p2 boolean
---@return any
function SetPedCanPlayVisemeAnims(ped, toggle, p2)
end

--- SET_PED_SHOOTS_AT_COORD
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param toggle boolean
---@return any
function SetPedShootsAtCoord(ped, x, y, z, toggle)
end

--- GET_CLOSEST_PED
---
--- Gets the closest ped in a radius.  
--- Ped Types:  
--- Any ped = -1  
--- Player = 1  
--- Male = 4   
--- Female = 5   
--- Cop = 6  
--- Human = 26  
--- SWAT = 27   
--- Animal = 28  
--- Army = 29  
--- ------------------  
--- P4 P5 P7 P8  
--- 1  0  x  x  = return nearest walking Ped  
--- 1  x  0  x  = return nearest walking Ped  
--- x  1  1  x  = return Ped you are using  
--- 0  0  x  x  = no effect  
--- 0  x  0  x  = no effect  
--- x = can be 1 or 0. Does not have any obvious changes.  
--- This function does not return ped who is:  
--- 1. Standing still  
--- 2. Driving  
--- 3. Fleeing  
--- 4. Attacking  
--- This function only work if the ped is:  
--- 1. walking normally.  
--- 2. waiting to cross a road.  
--- Note: PED::GET_PED_NEARBY_PEDS works for more peds.  
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param p4 boolean
---@param p5 boolean
---@param outPed any
---@param p7 boolean
---@param p8 boolean
---@param pedType any
---@return boolean
function GetClosestPed(x, y, z, radius, p4, p5, outPed, p7, p8, pedType)
end

--- GET_PED_DECORATION_ZONE_FROM_HASHES
---
--- Returns the zoneID for the overlay if it is a member of collection.
--- enum ePedDecorationZone
--- {
--- 	ZONE_TORSO = 0,
--- 	ZONE_HEAD = 1,
--- 	ZONE_LEFT_ARM = 2,
--- 	ZONE_RIGHT_ARM = 3,
--- 	ZONE_LEFT_LEG = 4,
--- 	ZONE_RIGHT_LEG = 5,
--- 	ZONE_UNKNOWN = 6,
--- 	ZONE_NONE = 7
--- };
--- 
---@param collection any
---@param overlay any
---@return any
function GetPedDecorationZoneFromHashes(collection, overlay)
end

--- IS_PED_HUMAN
---
--- Returns true/false if the ped is/isn't humanoid.  
--- 
---@param ped number
---@return boolean
function IsPedHuman(ped)
end

--- IS_PED_PLANTING_BOMB
---
---@param ped number
---@return boolean
function IsPedPlantingBomb(ped)
end

--- SET_PED_BOUNDS_ORIENTATION
---
---@param ped number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@return any
function SetPedBoundsOrientation(ped, p1, p2, p3, p4, p5)
end

--- SET_PED_DIES_WHEN_INJURED
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedDiesWhenInjured(ped, toggle)
end

--- GET_ANIM_INITIAL_OFFSET_POSITION
---[Animations list](https://alexguirre.github.io/animations-list/)
---@param animDict any
---@param animName any
---@param x number
---@param y number
---@param z number
---@param xRot number
---@param yRot number
---@param zRot number
---@param p8 number
---@param p9 any
---@return { x: number, y: number, z: number }
function GetAnimInitialOffsetPosition(animDict, animName, x, y, z, xRot, yRot, zRot, p8, p9)
end

--- GET_PED_COMBAT_MOVEMENT
---
---@param ped number
---@return any
function GetPedCombatMovement(ped)
end

--- SET_ENABLE_SCUBA
---
--- Enables diving motion when underwater.  
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetEnableScuba(ped, toggle)
end

--- IS_PED_IN_HIGH_COVER
---
---@param ped number
---@return boolean
function IsPedInHighCover(ped)
end

--- IS_PED_SITTING_IN_VEHICLE
---
--- Detect if ped is sitting in the specified vehicle  
--- [True/False]  
--- 
---@param ped number
---@param vehicle any
---@return boolean
function IsPedSittingInVehicle(ped, vehicle)
end

--- SET_PED_ARMOUR
---
--- Sets the armor of the specified ped.  
--- ped: The Ped to set the armor of.  
--- amount: A value between 0 and 100 indicating the value to set the Ped's armor to.  
--- 
---@param ped number
---@param amount any
---@return any
function SetPedArmour(ped, amount)
end

--- APPLY_PED_BLOOD_BY_ZONE
---
---@param ped number
---@param p1 any
---@param p2 number
---@param p3 number
---@param p4 any
---@return any
function ApplyPedBloodByZone(ped, p1, p2, p3, p4)
end

--- IS_PED_IN_MODEL
---
---@param ped number
---@param modelHash any
---@return boolean
function IsPedInModel(ped, modelHash)
end

--- SET_PED_DEFENSIVE_SPHERE_ATTACHED_TO_PED
---
---@param ped number
---@param target number
---@param xOffset number
---@param yOffset number
---@param zOffset number
---@param radius number
---@param p6 boolean
---@return any
function SetPedDefensiveSphereAttachedToPed(ped, target, xOffset, yOffset, zOffset, radius, p6)
end

--- SET_PED_MAX_HEALTH
---
--- sets the maximum health of a ped  
--- I think it's never been used in any script  
--- 
---@param ped number
---@param value any
---@return any
function SetPedMaxHealth(ped, value)
end

--- _IS_PED_BODY_BLEMISH_VALID
---
--- NativeDB Introduced: v1290
--- 
---@param colorID any
---@return boolean
function IsPedBodyBlemishValid(colorID)
end

--- SET_PED_CAN_PLAY_AMBIENT_ANIMS
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanPlayAmbientAnims(ped, toggle)
end

--- _IS_PED_BLUSH_COLOR_VALID_2
---
---@param colorId any
---@return boolean
function IsPedBlushColorValid2(colorId)
end

--- SET_GROUP_SEPARATION_RANGE
---
--- Sets the range at which members will automatically leave the group.  
--- 
---@param groupHandle any
---@param separationRange number
---@return any
function SetGroupSeparationRange(groupHandle, separationRange)
end

--- SET_PED_WETNESS_ENABLED_THIS_FRAME
---
--- combined with PED::SET_PED_WETNESS_HEIGHT(), this native makes the ped drenched in water up to the height specified in the other function  
--- 
---@param ped number
---@return any
function SetPedWetnessEnabledThisFrame(ped)
end

--- IS_PED_IN_ANY_TAXI
---
---@param ped number
---@return boolean
function IsPedInAnyTaxi(ped)
end

--- SET_PED_RELATIONSHIP_GROUP_HASH
---
---@param ped number
---@param hash any
---@return any
function SetPedRelationshipGroupHash(ped, hash)
end

--- SET_POP_CONTROL_SPHERE_THIS_FRAME
---
--- Min and max are usually 100.0 and 200.0
--- 
---@param x number
---@param y number
---@param z number
---@param min number
---@param max number
---@return any
function SetPopControlSphereThisFrame(x, y, z, min, max)
end

--- ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY
---
---@param sceneID any
---@param entity number
---@param boneIndex any
---@return any
function AttachSynchronizedSceneToEntity(sceneID, entity, boneIndex)
end

--- SET_PED_DIES_INSTANTLY_IN_WATER
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedDiesInstantlyInWater(ped, toggle)
end

--- IS_PED_IN_MELEE_COMBAT
---
--- Notes: The function only returns true while the ped is:   
--- A.) Swinging a random melee attack (including pistol-whipping)  
--- B.) Reacting to being hit by a melee attack (including pistol-whipping)  
--- C.) Is locked-on to an enemy (arms up, strafing/skipping in the default fighting-stance, ready to dodge+counter).   
--- You don't have to be holding the melee-targetting button to be in this stance; you stay in it by default for a few seconds after swinging at someone. If you do a sprinting punch, it returns true for the duration of the punch animation and then returns false again, even if you've punched and made-angry many peds  
--- 
---@param ped number
---@return boolean
function IsPedInMeleeCombat(ped)
end

--- IS_PED_SWIMMING
---
---@param ped number
---@return boolean
function IsPedSwimming(ped)
end

--- SET_ENABLE_HANDCUFFS
---
--- ped can not pull out a weapon when true  
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetEnableHandcuffs(ped, toggle)
end

--- SET_PED_COWER_HASH
---
--- p1: Only "CODE_HUMAN_STAND_COWER" found in the b617d scripts.  
--- 
---@param ped number
---@param p1 any
---@return any
function SetPedCowerHash(ped, p1)
end

--- SET_PED_DIES_IN_SINKING_VEHICLE
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedDiesInSinkingVehicle(ped, toggle)
end

--- SET_PED_ENVEFF_COLOR_MODULATOR
---
--- Something related to the environmental effects natives.
--- In the "agency_heist3b" script, p1 - p3 are always under 100 - usually they are {87, 81, 68}. If SET_PED_ENVEFF_SCALE is set to 0.65 (instead of the usual 1.0), they use {74, 69, 60}
--- 
---@param ped number
---@param r any
---@param g any
---@param b any
---@return any
function SetPedEnveffColorModulator(ped, r, g, b)
end

--- SET_PED_HELMET_FLAG
---
---@param ped number
---@param helmetFlag any
---@return any
function SetPedHelmetFlag(ped, helmetFlag)
end

--- SET_PED_HIGHLY_PERCEPTIVE
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedHighlyPerceptive(ped, toggle)
end

--- SPAWNPOINTS_IS_SEARCH_ACTIVE
---
---@return boolean
function SpawnpointsIsSearchActive()
end

--- _BLOCK_PED_DEAD_BODY_SHOCKING_EVENTS
---
---@param ped number
---@param toggle boolean
---@return any
function BlockPedDeadBodyShockingEvents(ped, toggle)
end

--- SET_PED_ANGLED_DEFENSIVE_AREA
---
---@param ped number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 number
---@param p7 number
---@param p8 boolean
---@param p9 boolean
---@return any
function SetPedAngledDefensiveArea(ped, p1, p2, p3, p4, p5, p6, p7, p8, p9)
end

--- SET_PED_CAN_RAGDOLL
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanRagdoll(ped, toggle)
end

--- _GET_TIME_OF_LAST_PED_WEAPON_DAMAGE
---
--- GET_TIME_*
--- 
---@param ped number
---@param weaponHash any
---@return any
function GetTimeOfLastPedWeaponDamage(ped, weaponHash)
end

--- SET_PED_CAN_BE_TARGETED_WHEN_INJURED
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanBeTargetedWhenInjured(ped, toggle)
end

--- SET_PED_MOVEMENT_CLIPSET
---
--- List of movement clipsets:
--- Thanks to elsewhat for list.
---  "ANIM_GROUP_MOVE_BALLISTIC"
---  "ANIM_GROUP_MOVE_LEMAR_ALLEY"
---  "clipset@move@trash_fast_turn"
---  "FEMALE_FAST_RUNNER"
---  "missfbi4prepp1_garbageman"
---  "move_characters@franklin@fire"
---  "move_characters@Jimmy@slow@"
---  "move_characters@michael@fire"
---  "move_f@flee@a"
---  "move_f@scared"
---  "move_f@sexy@a"
---  "move_heist_lester"
---  "move_injured_generic"
---  "move_lester_CaneUp"
---  "move_m@bag"
---  "MOVE_M@BAIL_BOND_NOT_TAZERED"
---  "MOVE_M@BAIL_BOND_TAZERED"
---  "move_m@brave"
---  "move_m@casual@d"
---  "move_m@drunk@moderatedrunk"
---  "MOVE_M@DRUNK@MODERATEDRUNK"
---  "MOVE_M@DRUNK@MODERATEDRUNK_HEAD_UP"
---  "MOVE_M@DRUNK@SLIGHTLYDRUNK"
---  "MOVE_M@DRUNK@VERYDRUNK"
---  "move_m@fire"
---  "move_m@gangster@var_e"
---  "move_m@gangster@var_f"
---  "move_m@gangster@var_i"
---  "move_m@JOG@"
---  "MOVE_M@PRISON_GAURD"
---  "MOVE_P_M_ONE"
---  "MOVE_P_M_ONE_BRIEFCASE"
---  "move_p_m_zero_janitor"
---  "move_p_m_zero_slow"
---  "move_ped_bucket"
---  "move_ped_crouched"
---  "move_ped_mop"
---  "MOVE_M@FEMME@"
---  "MOVE_F@FEMME@"
---  "MOVE_M@GANGSTER@NG"
---  "MOVE_F@GANGSTER@NG"
---  "MOVE_M@POSH@"
---  "MOVE_F@POSH@"
---  "MOVE_M@TOUGH_GUY@"
---  "MOVE_F@TOUGH_GUY@"
--- ~ NotCrunchyTaco
--- 
---@param ped number
---@param clipSet any
---@param transitionSpeed number
---@return any
function SetPedMovementClipset(ped, clipSet, transitionSpeed)
end

--- INSTANTLY_FILL_PED_POPULATION
---
---@return any
function InstantlyFillPedPopulation()
end

--- IS_PED_BEING_STUNNED
---
--- p1 is always 0  
--- 
---@param ped number
---@param p1 any
---@return boolean
function IsPedBeingStunned(ped, p1)
end

--- SET_PED_BLOCKS_PATHING_WHEN_DEAD
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedBlocksPathingWhenDead(ped, toggle)
end

--- SET_PED_CAN_TORSO_VEHICLE_IK
---
---@param ped number
---@param p1 boolean
---@return any
function SetPedCanTorsoVehicleIk(ped, p1)
end

--- SET_SCRIPTED_ANIM_SEAT_OFFSET
---
---@param ped number
---@param p1 number
---@return any
function SetScriptedAnimSeatOffset(ped, p1)
end

--- HIDE_PED_BLOOD_DAMAGE_BY_ZONE
---
---@param ped number
---@param p1 any
---@param p2 boolean
---@return any
function HidePedBloodDamageByZone(ped, p1, p2)
end

--- SET_PED_IN_VEHICLE_CONTEXT
---
--- PED::SET_PED_IN_VEHICLE_CONTEXT(l_128, MISC::GET_HASH_KEY("MINI_PROSTITUTE_LOW_PASSENGER"));
--- PED::SET_PED_IN_VEHICLE_CONTEXT(l_128, MISC::GET_HASH_KEY("MINI_PROSTITUTE_LOW_RESTRICTED_PASSENGER"));
--- PED::SET_PED_IN_VEHICLE_CONTEXT(l_3212, MISC::GET_HASH_KEY("MISS_FAMILY1_JIMMY_SIT"));
--- PED::SET_PED_IN_VEHICLE_CONTEXT(l_3212, MISC::GET_HASH_KEY("MISS_FAMILY1_JIMMY_SIT_REAR"));
--- PED::SET_PED_IN_VEHICLE_CONTEXT(l_95, MISC::GET_HASH_KEY("MISS_FAMILY2_JIMMY_BICYCLE"));
--- PED::SET_PED_IN_VEHICLE_CONTEXT(num3, MISC::GET_HASH_KEY("MISSFBI2_MICHAEL_DRIVEBY"));
--- PED::SET_PED_IN_VEHICLE_CONTEXT(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("MISS_ARMENIAN3_FRANKLIN_TENSE"));
--- PED::SET_PED_IN_VEHICLE_CONTEXT(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("MISSFBI5_TREVOR_DRIVING"));
--- 
---@param ped number
---@param context any
---@return any
function SetPedInVehicleContext(ped, context)
end

--- SET_PED_SHOULD_PLAY_FLEE_SCENARIO_EXIT
---
---@param ped number
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function SetPedShouldPlayFleeScenarioExit(ped, p1, p2, p3)
end

--- SET_PED_VISUAL_FIELD_MAX_ELEVATION_ANGLE
---
--- This native refers to the field of vision the ped has above them, starting at 0 degrees. 90f would let the ped see enemies directly above of them.  
--- 
---@param ped number
---@param angle number
---@return any
function SetPedVisualFieldMaxElevationAngle(ped, angle)
end

--- IS_PED_FACING_PED
---
--- angle is ped's view cone  
--- 
---@param ped number
---@param otherPed number
---@param angle number
---@return boolean
function IsPedFacingPed(ped, otherPed, angle)
end

--- REGISTER_TARGET
---
--- PED::REGISTER_TARGET(l_216, PLAYER::PLAYER_PED_ID()); from re_prisonbreak.txt.  
--- l_216 = RECSBRobber1  
--- 
---@param ped number
---@param target number
---@return any
function RegisterTarget(ped, target)
end

--- RESURRECT_PED
---
--- This function will simply bring the dead person back to life.
--- Try not to use it alone, since using this function alone, will make peds fall through ground in hell(well for the most of the times).
--- Instead, before calling this function, you may want to declare the position, where your Resurrected ped to be spawn at.(For instance, Around 2 floats of Player's current position.)
--- Also, disabling any assigned task immediately helped in the number of scenarios, where If you want peds to perform certain decided tasks.
--- 
---@param ped number
---@return any
function ResurrectPed(ped)
end

--- CLEAR_RAGDOLL_BLOCKING_FLAGS
---
--- There seem to be 26 flags  
--- 
---@param ped number
---@param flags any
---@return any
function ClearRagdollBlockingFlags(ped, flags)
end

--- _GET_PED_EVENT_DATA
---
--- NativeDB Introduced: v2189
--- 
---@param ped number
---@param eventType any
---@param outData any
---@return boolean
function GetPedEventData(ped, eventType, outData)
end

--- GET_PED_PARACHUTE_LANDING_TYPE
---
--- -1: no landing  
--- 0: landing on both feet  
--- 1: stumbling  
--- 2: rolling  
--- 3: ragdoll  
--- 
---@param ped number
---@return any
function GetPedParachuteLandingType(ped)
end

--- SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME
---
---@param sceneID any
---@param toggle boolean
---@return any
function SetSynchronizedSceneHoldLastFrame(sceneID, toggle)
end

--- UNREGISTER_PEDHEADSHOT
---
--- gtaforums.com/topic/885580-ped-headshotmugshot-txd/  
--- 
---@param id any
---@return any
function UnregisterPedheadshot(id)
end

--- APPLY_DAMAGE_TO_PED
---
--- damages a ped with the given amount  
--- ----  
--- armorFirst means it will damage/lower the armor first before damaging the player.  
--- setting damageAmount to a negative amount will cause the player or the armor (depending on armorFirst) to be healed by damageAmount instead.  
--- 
--- 
--- 
--- NativeDB Added Parameter 4: Any p3
--- 
---@param ped number
---@param damageAmount any
---@param armorFirst boolean
---@return any
function ApplyDamageToPed(ped, damageAmount, armorFirst)
end

--- CAN_CREATE_RANDOM_BIKE_RIDER
---
---@return boolean
function CanCreateRandomBikeRider()
end

--- IS_PED_EVASIVE_DIVING
---
--- Presumably returns the Entity that the Ped is currently diving out of the way of.
--- var num3;
---     if (PED::IS_PED_EVASIVE_DIVING(A_0, &num3) != 0)
---         if (ENTITY::IS_ENTITY_A_VEHICLE(num3) != 0)
--- 
---@param ped number
---@param evadingEntity any
---@return boolean
function IsPedEvasiveDiving(ped, evadingEntity)
end

--- IS_PED_JUMPING_OUT_OF_VEHICLE
---
---@param ped number
---@return boolean
function IsPedJumpingOutOfVehicle(ped)
end

--- SET_PED_CAN_BE_TARGETTED_BY_PLAYER
---
---@param ped number
---@param player number
---@param toggle boolean
---@return any
function SetPedCanBeTargettedByPlayer(ped, player, toggle)
end

--- SET_PED_FIRING_PATTERN
---
--- FIRING_PATTERN_BURST_FIRE = 0xD6FF6D61 ( 1073727030 )  
--- FIRING_PATTERN_BURST_FIRE_IN_COVER = 0x026321F1 ( 40051185 )  
--- FIRING_PATTERN_BURST_FIRE_DRIVEBY = 0xD31265F2 ( -753768974 )  
--- FIRING_PATTERN_FROM_GROUND = 0x2264E5D6 ( 577037782 )  
--- FIRING_PATTERN_DELAY_FIRE_BY_ONE_SEC = 0x7A845691 ( 2055493265 )  
--- FIRING_PATTERN_FULL_AUTO = 0xC6EE6B4C ( -957453492 )  
--- FIRING_PATTERN_SINGLE_SHOT = 0x5D60E4E0 ( 1566631136 )  
--- FIRING_PATTERN_BURST_FIRE_PISTOL = 0xA018DB8A ( -1608983670 )  
--- FIRING_PATTERN_BURST_FIRE_SMG = 0xD10DADEE ( 1863348768 )  
--- FIRING_PATTERN_BURST_FIRE_RIFLE = 0x9C74B406 ( -1670073338 )  
--- FIRING_PATTERN_BURST_FIRE_MG = 0xB573C5B4 ( -1250703948 )  
--- FIRING_PATTERN_BURST_FIRE_PUMPSHOTGUN = 0x00BAC39B ( 12239771 )  
--- FIRING_PATTERN_BURST_FIRE_HELI = 0x914E786F ( -1857128337 )  
--- FIRING_PATTERN_BURST_FIRE_MICRO = 0x42EF03FD ( 1122960381 )  
--- FIRING_PATTERN_SHORT_BURSTS = 0x1A92D7DF ( 445831135 )  
--- FIRING_PATTERN_SLOW_FIRE_TANK = 0xE2CA3A71 ( -490063247 )  
--- if anyone is interested firing pattern info: pastebin.com/Px036isB  
--- 
---@param ped number
---@param patternHash any
---@return any
function SetPedFiringPattern(ped, patternHash)
end

--- GET_PED_HEAD_BLEND_DATA
---
--- The pointer is to a padded struct that matches the arguments to SET_PED_HEAD_BLEND_DATA(...). There are 4 bytes of padding after each field.  
--- pass this struct in the second parameter   
--- typedef struct  
--- {  
---         int shapeFirst, shapeSecond, shapeThird;   
---         int skinFirst, skinSecond, skinThird;   
--- 	float shapeMix, skinMix, thirdMix;  
--- } headBlendData;  
--- 
---@param ped number
---@param headBlendData any
---@return boolean
function GetPedHeadBlendData(ped, headBlendData)
end

--- SET_PED_VISUAL_FIELD_MIN_ANGLE
---
---@param ped number
---@param value number
---@return any
function SetPedVisualFieldMinAngle(ped, value)
end

--- SET_PED_VISUAL_FIELD_PERIPHERAL_RANGE
---
---@param ped number
---@param range number
---@return any
function SetPedVisualFieldPeripheralRange(ped, range)
end

--- SET_SCENARIO_PED_DENSITY_MULTIPLIER_THIS_FRAME
---
---@param p0 number
---@param p1 number
---@return any
function SetScenarioPedDensityMultiplierThisFrame(p0, p1)
end

--- SET_SYNCHRONIZED_SCENE_ORIGIN
---
---@param sceneID any
---@param x number
---@param y number
---@param z number
---@param roll number
---@param pitch number
---@param yaw number
---@param p7 boolean
---@return any
function SetSynchronizedSceneOrigin(sceneID, x, y, z, roll, pitch, yaw, p7)
end

--- CAN_PED_IN_COMBAT_SEE_TARGET
---
---@param ped number
---@param target number
---@return boolean
function CanPedInCombatSeeTarget(ped, target)
end

--- IS_ANY_PED_SHOOTING_IN_AREA
---
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param p6 boolean
---@param p7 boolean
---@return boolean
function IsAnyPedShootingInArea(x1, y1, z1, x2, y2, z2, p6, p7)
end

--- IS_PED_ON_VEHICLE
---
--- Gets a value indicating whether the specified ped is on top of any vehicle.  
--- Return 1 when ped is on vehicle.  
--- Return 0 when ped is not on a vehicle.  
--- 
---@param ped number
---@return boolean
function IsPedOnVehicle(ped)
end

--- SET_CREATE_RANDOM_COPS
---
---@param toggle boolean
---@return any
function SetCreateRandomCops(toggle)
end

--- SET_PED_GROUP_MEMBER_PASSENGER_INDEX
---
---@param ped number
---@param index any
---@return any
function SetPedGroupMemberPassengerIndex(ped, index)
end

--- SET_PED_HELMET_PROP_INDEX
---
--- List of component/props ID  
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
--- 
--- 
--- NativeDB Added Parameter 3: BOOL p2
--- 
---@param ped number
---@param propIndex any
---@return any
function SetPedHelmetPropIndex(ped, propIndex)
end

--- WAS_PED_SKELETON_UPDATED
---
--- Despite this function's name, it simply returns whether the specified handle is a Ped.  
--- 
---@param ped number
---@return boolean
function WasPedSkeletonUpdated(ped)
end

--- CREATE_PARACHUTE_BAG_OBJECT
---
---@param ped number
---@param p1 boolean
---@param p2 boolean
---@return any
function CreateParachuteBagObject(ped, p1, p2)
end

--- GET_PED_ENVEFF_SCALE
---
---@param ped number
---@return number
function GetPedEnveffScale(ped)
end

--- HAS_PED_HEAD_BLEND_FINISHED
---
---@param ped number
---@return boolean
function HasPedHeadBlendFinished(ped)
end

--- _IS_PED_SHADER_EFFECT_VALID
---
---@param ped number
---@return boolean
function IsPedShaderEffectValid(ped)
end

--- REMOVE_STEALTH_MODE_ASSET
---
---@param asset any
---@return any
function RemoveStealthModeAsset(asset)
end

--- SET_PED_CAN_BE_TARGETTED_BY_TEAM
---
---@param ped number
---@param team any
---@param toggle boolean
---@return any
function SetPedCanBeTargettedByTeam(ped, team, toggle)
end

--- SET_PED_MIN_MOVE_BLEND_RATIO
---
---@param ped number
---@param value number
---@return any
function SetPedMinMoveBlendRatio(ped, value)
end

--- GET_PED_NEARBY_PEDS
---Console/PC structure definitions and example: pastebin.com/SsFej963
--- 
--- For FiveM/Cfx.Re use-cases refer to: [GET_GAME_POOL](#\_0x2B9D4F50).
---@param ped number
---@param sizeAndPeds any
---@param ignore any
---@return any
function GetPedNearbyPeds(ped, sizeAndPeds, ignore)
end

--- IS_PED_DIVING
---
---@param ped number
---@return boolean
function IsPedDiving(ped)
end

--- IS_PED_DUCKING
---
---@param ped number
---@return boolean
function IsPedDucking(ped)
end

--- SET_ENABLE_PED_ENVEFF_SCALE
---
---@param ped number
---@param toggle boolean
---@return any
function SetEnablePedEnveffScale(ped, toggle)
end

--- SET_PED_CAPSULE
---
--- Overrides the ped's collision capsule radius for the current tick.  
--- Must be called every tick to be effective.  
--- Setting this to 0.001 will allow warping through some objects.  
--- 
---@param ped number
---@param value number
---@return any
function SetPedCapsule(ped, value)
end

--- DISABLE_PED_HEATSCALE_OVERRIDE
---
---@param ped number
---@return any
function DisablePedHeatscaleOverride(ped)
end

--- GET_ANIM_INITIAL_OFFSET_ROTATION
---[Animations list](https://alexguirre.github.io/animations-list/)
---@param animDict any
---@param animName any
---@param x number
---@param y number
---@param z number
---@param xRot number
---@param yRot number
---@param zRot number
---@param p8 number
---@param p9 any
---@return { x: number, y: number, z: number }
function GetAnimInitialOffsetRotation(animDict, animName, x, y, z, xRot, yRot, zRot, p8, p9)
end

--- SET_PED_ALTERNATE_MOVEMENT_ANIM
---
--- stance:  
--- 0 = idle  
--- 1 = walk  
--- 2 = running  
--- p5 = usually set to true  
--- 
--- 
--- [Animations list](https://alexguirre.github.io/animations-list/)
---@param ped number
---@param stance any
---@param animDictionary any
---@param animationName any
---@param p4 number
---@param p5 boolean
---@return any
function SetPedAlternateMovementAnim(ped, stance, animDictionary, animationName, p4, p5)
end

--- IS_PED_HEADING_TOWARDS_POSITION
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param p4 number
---@return boolean
function IsPedHeadingTowardsPosition(ped, x, y, z, p4)
end

--- RELEASE_PEDHEADSHOT_IMG_UPLOAD
---
---@param id any
---@return any
function ReleasePedheadshotImgUpload(id)
end

--- _SET_PED_EYE_COLOR
---Used for freemode (online) characters.
--- 
--- Indices:
--- 
--- 1.  black
--- 2.  very light blue/green
--- 3.  dark blue
--- 4.  brown
--- 5.  darker brown
--- 6.  light brown
--- 7.  blue
--- 8.  light blue
--- 9.  pink
--- 10. yellow
--- 11. purple
--- 12. black
--- 13. dark green
--- 14. light brown
--- 15. yellow/black pattern
--- 16. light colored spiral pattern
--- 17. shiny red
--- 18. shiny half blue/half red
--- 19. half black/half light blue
--- 20. white/red perimter
--- 21. green snake
--- 22. red snake
--- 23. dark blue snake
--- 24. dark yellow
--- 25. bright yellow
--- 26. all black
--- 27. red small pupil
--- 28. devil blue/black
--- 29. white small pupil
--- 30. glossed over
---@param ped number
---@param index any
---@return any
function SetPedEyeColor(ped, index)
end

--- SET_PED_RANDOM_PROPS
---
--- List of component/props ID  
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
---@param ped number
---@return any
function SetPedRandomProps(ped)
end

--- _SET_PED_SHOULD_PLAY_DIRECTED_SCENARIO_EXIT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function SetPedShouldPlayDirectedScenarioExit(p0, p1, p2, p3)
end

--- _GET_PED_DIES_IN_WATER
---
--- NativeDB Introduced: v2699
--- 
---@param ped number
---@return boolean
function GetPedDiesInWater(ped)
end

--- IS_PED_IN_PARACHUTE_FREE_FALL
---
---@param ped number
---@return boolean
function IsPedInParachuteFreeFall(ped)
end

--- REGISTER_HATED_TARGETS_AROUND_PED
---
--- Based on TASK_COMBAT_HATED_TARGETS_AROUND_PED, the parameters are likely similar (PedHandle, and area to attack in).  
--- 
---@param ped number
---@param radius number
---@return any
function RegisterHatedTargetsAroundPed(ped, radius)
end

--- SET_PED_PINNED_DOWN
---
--- i could be time. Only example in the decompiled scripts uses it as -1.
--- 
---@param ped number
---@param pinned boolean
---@param i any
---@return any
function SetPedPinnedDown(ped, pinned, i)
end

--- SET_PED_TO_LOAD_COVER
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedToLoadCover(ped, toggle)
end

--- CAN_CREATE_RANDOM_PED
---
---@param unk boolean
---@return boolean
function CanCreateRandomPed(unk)
end

--- _IS_PED_LIPSTICK_COLOR_VALID
---
---@param colorID any
---@return boolean
function IsPedLipstickColorValid(colorID)
end

--- RESET_PED_VISIBLE_DAMAGE
---
---@param ped number
---@return any
function ResetPedVisibleDamage(ped)
end

--- SET_PED_AS_ENEMY
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedAsEnemy(ped, toggle)
end

--- CLEAR_PED_SCUBA_GEAR_VARIATION
---Removes the scubagear (for mp male: component id: 8, drawableId: 123, textureId: any) from peds. Does not play the 'remove scuba gear' animation, but instantly removes it.
---@param ped number
---@return any
function ClearPedScubaGearVariation(ped)
end

--- _IS_PED_HAIR_COLOR_VALID_2
---
---@param colorId any
---@return boolean
function IsPedHairColorValid2(colorId)
end

--- REMOVE_ACTION_MODE_ASSET
---
---@param asset any
---@return any
function RemoveActionModeAsset(asset)
end

--- REMOVE_PED_DEFENSIVE_AREA
---
--- Ped will no longer get angry when you stay near him.  
--- 
---@param ped number
---@param toggle boolean
---@return any
function RemovePedDefensiveArea(ped, toggle)
end

--- REQUEST_PED_VISIBILITY_TRACKING
---
---@param ped number
---@return any
function RequestPedVisibilityTracking(ped)
end

--- SET_DRIVER_ABILITY
---
--- The function specifically verifies the value is equal to, or less than 1.0f. If it is greater than 1.0f, the function does nothing at all.  
--- 
---@param driver number
---@param ability number
---@return any
function SetDriverAbility(driver, ability)
end

--- _GET_NUM_MAKEUP_COLORS
---
---@return any
function GetNumMakeupColors()
end

--- SET_PED_INCREASED_AVOIDANCE_RADIUS
---
---@param ped number
---@return any
function SetPedIncreasedAvoidanceRadius(ped)
end

--- SPAWNPOINTS_GET_NUM_SEARCH_RESULTS
---
---@return any
function SpawnpointsGetNumSearchResults()
end

--- _GET_PED_EYE_COLOR
---A getter for [_SET_PED_EYE_COLOR](#\_0x50B56988B170AFDF).
---@param ped number
---@return any
function GetPedEyeColor(ped)
end

--- IS_PED_RUNNING_MELEE_TASK
---
---@param ped number
---@return boolean
function IsPedRunningMeleeTask(ped)
end

--- IS_PEDHEADSHOT_READY
---
--- gtaforums.com/topic/885580-ped-headshotmugshot-txd/  
--- 
---@param id any
---@return boolean
function IsPedheadshotReady(id)
end

--- SET_FACIAL_IDLE_ANIM_OVERRIDE
---
---@param ped number
---@param animName any
---@param animDict any
---@return any
function SetFacialIdleAnimOverride(ped, animName, animDict)
end

--- SET_PED_HELMET
---
---@param ped number
---@param canWearHelmet boolean
---@return any
function SetPedHelmet(ped, canWearHelmet)
end

--- CLEAR_PED_ALTERNATE_WALK_ANIM
---
---@param ped number
---@param p1 number
---@return any
function ClearPedAlternateWalkAnim(ped, p1)
end

--- SET_PED_MOVE_ANIMS_BLEND_OUT
---
---@param ped number
---@return any
function SetPedMoveAnimsBlendOut(ped)
end

--- SET_FORCE_FOOTSTEP_UPDATE
---
---@param ped number
---@param toggle boolean
---@return any
function SetForceFootstepUpdate(ped, toggle)
end

--- SET_PED_CAN_USE_AUTO_CONVERSATION_LOOKAT
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanUseAutoConversationLookat(ped, toggle)
end

--- _DOES_RELATIONSHIP_GROUP_EXIST
---
---@param groupHash any
---@return boolean
function DoesRelationshipGroupExist(groupHash)
end

--- REMOVE_RELATIONSHIP_GROUP
---
---@param groupHash any
---@return any
function RemoveRelationshipGroup(groupHash)
end

--- CAN_PED_SEE_HATED_PED
---
---@param ped1 number
---@param ped2 number
---@return boolean
function CanPedSeeHatedPed(ped1, ped2)
end

--- GET_GROUP_SIZE
---
--- p1 may be a BOOL representing whether or not the group even exists  
--- 
---@param groupID any
---@param unknown any
---@param sizeInMembers any
---@return any
function GetGroupSize(groupID, unknown, sizeInMembers)
end

--- HAS_PED_PRELOAD_VARIATION_DATA_FINISHED
---
---@param ped number
---@return boolean
function HasPedPreloadVariationDataFinished(ped)
end

--- GET_MELEE_TARGET_FOR_PED
---
---@param ped number
---@return number
function GetMeleeTargetForPed(ped)
end

--- IS_PED_TRYING_TO_ENTER_A_LOCKED_VEHICLE
---
---@param ped number
---@return boolean
function IsPedTryingToEnterALockedVehicle(ped)
end

--- REMOVE_SCENARIO_BLOCKING_AREAS
---
---@return any
function RemoveScenarioBlockingAreas()
end

--- SET_PED_PARACHUTE_TINT_INDEX
---
---@param ped number
---@param tintIndex any
---@return any
function SetPedParachuteTintIndex(ped, tintIndex)
end

--- SET_PED_RESERVE_PARACHUTE_TINT_INDEX
---
---@param ped number
---@param p1 any
---@return any
function SetPedReserveParachuteTintIndex(ped, p1)
end

--- SET_PED_SPHERE_DEFENSIVE_AREA
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param radius number
---@param p5 boolean
---@param p6 boolean
---@return any
function SetPedSphereDefensiveArea(ped, x, y, z, radius, p5, p6)
end

--- SET_SYNCHRONIZED_SCENE_PHASE
---
---@param sceneID any
---@param phase number
---@return any
function SetSynchronizedScenePhase(sceneID, phase)
end

--- HAS_STEALTH_MODE_ASSET_LOADED
---
---@param asset any
---@return boolean
function HasStealthModeAssetLoaded(asset)
end

--- IS_PED_PERFORMING_DEPENDENT_COMBO_LIMIT
---
---@param ped number
---@return boolean
function IsPedPerformingDependentComboLimit(ped)
end

--- REMOVE_PED_HELMET
---
---@param ped number
---@param instantly boolean
---@return any
function RemovePedHelmet(ped, instantly)
end

--- CLONE_PED_TO_TARGET
---
--- Copies ped's components and props to targetPed.
--- 
---@param ped number
---@param targetPed number
---@return any
function ClonePedToTarget(ped, targetPed)
end

--- SET_PED_COMBAT_ATTRIBUTES
---These combat attributes seem to be the same as the BehaviourFlags from combatbehaviour.meta.
--- So far, these are the equivalents found:
--- 
--- 
--- enum CombatAttributes  
--- {
--- 	BF_CanUseCover = 0,
--- 	BF_CanUseVehicles = 1,
--- 	BF_CanDoDrivebys = 2,
--- 	BF_CanLeaveVehicle = 3,
--- 	BF_CanFightArmedPedsWhenNotArmed = 5,
--- 	BF_CanTauntInVehicle = 20,
--- 	BF_AlwaysFight = 46,
--- 	BF_IgnoreTrafficWhenDriving = 52,
--- 	BF_FleesFromInvincibleOpponents = 63,
---         BF_FreezeMovement = 292,  
---         BF_PlayerCanUseFiringWeapons = 1424  
--- };
--- 
--- 
--- 8 = ?\
--- 9 = ?\
--- 13 = ?\
--- 14 ?\
--- Research thread: gtaforums.com/topic/833391-researchguide-combat-behaviour-flags/
---@param ped number
---@param attributeIndex any
---@param enabled boolean
---@return any
function SetPedCombatAttributes(ped, attributeIndex, enabled)
end

--- ADD_SCENARIO_BLOCKING_AREA
---
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param p6 boolean
---@param p7 boolean
---@param p8 boolean
---@param p9 boolean
---@return any
function AddScenarioBlockingArea(x1, y1, z1, x2, y2, z2, p6, p7, p8, p9)
end

--- SET_PED_PROP_INDEX
---This native is used to set prop variation on a ped. Components, drawables and textures IDs are related to the ped model.
--- 
--- ### MP Freemode list of props
--- 
--- **0**: Hat\
--- **1**: Glass\
--- **2**: Ear\
--- **6**: Watch\
--- **7**: Bracelet
--- 
--- ### Related and useful natives
--- 
--- [GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS](#\_0x5FAF9754E789FB47)\
--- [GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS](#\_0xA6E7F1CEB523E171)
--- 
--- [List of component/props ID](https://gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
---@param ped number
---@param componentId any
---@param drawableId any
---@param textureId any
---@param attach boolean
---@return any
function SetPedPropIndex(ped, componentId, drawableId, textureId, attach)
end

--- WAS_PED_KILLED_BY_TAKEDOWN
---
---@param ped number
---@return boolean
function WasPedKilledByTakedown(ped)
end

--- GET_PED_AS_GROUP_LEADER
---
---@param groupID any
---@return number
function GetPedAsGroupLeader(groupID)
end

--- IS_PED_PERFORMING_STEALTH_KILL
---
---@param ped number
---@return boolean
function IsPedPerformingStealthKill(ped)
end

--- SET_PED_CAN_SWITCH_WEAPON
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanSwitchWeapon(ped, toggle)
end

--- SET_PED_GRAVITY
---
--- enable or disable the gravity of a ped  
--- Examples:  
--- PED::SET_PED_GRAVITY(PLAYER::PLAYER_PED_ID(), 0x00000001);  
--- PED::SET_PED_GRAVITY(Local_289[iVar0 /*20*/], 0x00000001);  
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetPedGravity(ped, toggle)
end

--- SET_PED_MOTION_BLUR
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedMotionBlur(ped, toggle)
end

--- SET_PED_SHOULD_PLAY_IMMEDIATE_SCENARIO_EXIT
---
---@param ped number
---@return any
function SetPedShouldPlayImmediateScenarioExit(ped)
end

--- SET_PED_VISUAL_FIELD_MIN_ELEVATION_ANGLE
---
--- This native refers to the field of vision the ped has below them, starting at 0 degrees. The angle value should be negative.  
--- 
---@param ped number
---@param angle number
---@return any
function SetPedVisualFieldMinElevationAngle(ped, angle)
end

--- SET_SCRIPTED_CONVERSION_COORD_THIS_FRAME
---
---@param x number
---@param y number
---@param z number
---@return any
function SetScriptedConversionCoordThisFrame(x, y, z)
end

--- SET_PED_DRIVE_BY_CLIPSET_OVERRIDE
---
---@param ped number
---@param clipset any
---@return any
function SetPedDriveByClipsetOverride(ped, clipset)
end

--- SET_PED_MODEL_IS_SUPPRESSED
---
---@param model any
---@param toggle boolean
---@return any
function SetPedModelIsSuppressed(model, toggle)
end

--- IS_PED_TAKING_OFF_HELMET
---
---@param ped number
---@return boolean
function IsPedTakingOffHelmet(ped)
end

--- SET_PED_ALTERNATE_WALK_ANIM
---[Animations list](https://alexguirre.github.io/animations-list/)
---@param ped number
---@param animDict any
---@param animName any
---@param p3 number
---@param p4 boolean
---@return any
function SetPedAlternateWalkAnim(ped, animDict, animName, p3, p4)
end

--- SET_PED_AS_GROUP_MEMBER
---
---@param ped number
---@param groupId any
---@return any
function SetPedAsGroupMember(ped, groupId)
end

--- APPLY_PED_BLOOD_SPECIFIC
---
---@param ped number
---@param p1 any
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 any
---@param p7 number
---@param p8 any
---@return any
function ApplyPedBloodSpecific(ped, p1, p2, p3, p4, p5, p6, p7, p8)
end

--- _IS_PED_BLUSH_COLOR_VALID
---
---@param colorID any
---@return boolean
function IsPedBlushColorValid(colorID)
end

--- IS_PED_INJURED
---
--- Gets a value indicating whether this ped's health is below its injured threshold.  
--- The default threshold is 100.  
--- 
---@param ped number
---@return boolean
function IsPedInjured(ped)
end

--- CAN_KNOCK_PED_OFF_VEHICLE
---
---@param ped number
---@return boolean
function CanKnockPedOffVehicle(ped)
end

--- SET_PED_NEVER_LEAVES_GROUP
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedNeverLeavesGroup(ped, toggle)
end

--- SET_PED_STRAFE_CLIPSET
---
---@param ped number
---@param clipSet any
---@return any
function SetPedStrafeClipset(ped, clipSet)
end

--- GET_PED_LAST_DAMAGE_BONE
---
---@param ped number
---@param outBone any
---@return boolean
function GetPedLastDamageBone(ped, outBone)
end

--- REGISTER_PEDHEADSHOT
---
--- gtaforums.com/topic/885580-ped-headshotmugshot-txd/  
--- 
---@param ped number
---@return any
function RegisterPedheadshot(ped)
end

--- SET_GROUP_FORMATION_SPACING
---
---@param groupId any
---@param p1 number
---@param p2 number
---@param p3 number
---@return any
function SetGroupFormationSpacing(groupId, p1, p2, p3)
end

--- _SET_PED_HAIR_COLOR
---
--- Used for freemode (online) characters.  
--- 
---@param ped number
---@param colorID any
---@param highlightColorID any
---@return any
function SetPedHairColor(ped, colorID, highlightColorID)
end

--- CLEAR_ALL_PED_VEHICLE_FORCED_SEAT_USAGE
---
---@param ped number
---@return any
function ClearAllPedVehicleForcedSeatUsage(ped)
end

--- IS_PED_IN_ANY_HELI
---
---@param ped number
---@return boolean
function IsPedInAnyHeli(ped)
end

--- ADD_PED_DECORATION_FROM_HASHES
---
--- Applies an Item from a PedDecorationCollection to a ped. These include tattoos and shirt decals.
--- collection - PedDecorationCollection filename hash
--- overlay - Item name hash
--- Example:
--- Entry inside "mpbeach_overlays.xml" -
--- <Item>
---   <uvPos x="0.500000" y="0.500000" />
---   <scale x="0.600000" y="0.500000" />
---   <rotation value="0.000000" />
---   <nameHash>FM_Hair_Fuzz</nameHash>
---   <txdHash>mp_hair_fuzz</txdHash>
---   <txtHash>mp_hair_fuzz</txtHash>
---   <zone>ZONE_HEAD</zone>
---   <type>TYPE_TATTOO</type>
---   <faction>FM</faction>
---   <garment>All</garment>
---   <gender>GENDER_DONTCARE</gender>
---   <award />
---   <awardLevel />
--- </Item>
--- Code:
--- PED::_0x5F5D1665E352A839(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("mpbeach_overlays"), MISC::GET_HASH_KEY("fm_hair_fuzz"))
--- 
---@param ped number
---@param collection any
---@param overlay any
---@return any
function AddPedDecorationFromHashes(ped, collection, overlay)
end

--- GET_PED_SOURCE_OF_DEATH
---
--- Returns the Entity (Ped, Vehicle, or ?Object?) that killed the 'ped'  
--- Is best to check if the Ped is dead before asking for its killer.  
--- 
---@param ped number
---@return number
function GetPedSourceOfDeath(ped)
end

--- IS_PED_RAGDOLL
---
--- If the ped handle passed through the parenthesis is in a ragdoll state this will return true.  
--- 
---@param ped number
---@return boolean
function IsPedRagdoll(ped)
end

--- REQUEST_ACTION_MODE_ASSET
---
---@param asset any
---@return any
function RequestActionModeAsset(asset)
end

--- CLEAR_RELATIONSHIP_BETWEEN_GROUPS
---
--- Clears the relationship between two groups. This should be called twice (once for each group).  
--- Relationship types:  
--- 0 = Companion  
--- 1 = Respect  
--- 2 = Like  
--- 3 = Neutral  
--- 4 = Dislike  
--- 5 = Hate  
--- 255 = Pedestrians  
--- (Credits: Inco)  
--- Example:  
--- PED::CLEAR_RELATIONSHIP_BETWEEN_GROUPS(2, l_1017, 0xA49E591C);  
--- PED::CLEAR_RELATIONSHIP_BETWEEN_GROUPS(2, 0xA49E591C, l_1017);  
--- 
---@param relationship any
---@param group1 any
---@param group2 any
---@return any
function ClearRelationshipBetweenGroups(relationship, group1, group2)
end

--- DISABLE_HEAD_BLEND_PALETTE_COLOR
---
---@param ped number
---@return any
function DisableHeadBlendPaletteColor(ped)
end

--- _DOES_SCENARIO_BLOCKING_AREA_EXIST
---
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@return boolean
function DoesScenarioBlockingAreaExist(x1, y1, z1, x2, y2, z2)
end

--- STOP_ANY_PED_MODEL_BEING_SUPPRESSED
---
---@return any
function StopAnyPedModelBeingSuppressed()
end

--- CLEAR_FACIAL_IDLE_ANIM_OVERRIDE
---
---@param ped number
---@return any
function ClearFacialIdleAnimOverride(ped)
end

--- _GET_NUM_HAIR_COLORS
---
--- Used for freemode (online) characters.  
--- 
---@return any
function GetNumHairColors()
end

--- GET_SYNCHRONIZED_SCENE_RATE
---
---@param sceneID any
---@return number
function GetSynchronizedSceneRate(sceneID)
end

--- _IS_PED_DOING_BEAST_JUMP
---
---@param ped number
---@return boolean
function IsPedDoingBeastJump(ped)
end

--- IS_PED_HEADTRACKING_PED
---
---@param ped1 number
---@param ped2 number
---@return boolean
function IsPedHeadtrackingPed(ped1, ped2)
end

--- IS_PED_RESPONDING_TO_EVENT
---
---@param ped number
---@param event any
---@return boolean
function IsPedRespondingToEvent(ped, event)
end

--- _IS_PED_SWAPPING_WEAPON
---
---@param Ped number
---@return boolean
function IsPedSwappingWeapon(Ped)
end

--- STOP_PED_WEAPON_FIRING_WHEN_DROPPED
---
---@param ped number
---@return any
function StopPedWeaponFiringWhenDropped(ped)
end

--- GET_PED_ARMOUR
---
---@param ped number
---@return any
function GetPedArmour(ped)
end

--- SET_PED_LEG_IK_MODE
---
--- "IK" stands for "Inverse kinematics." I assume this has something to do with how the ped uses his legs to balance. In the scripts, the second parameter is always an int with a value of 2, 0, or sometimes 1  
--- 
---@param ped number
---@param mode any
---@return any
function SetPedLegIkMode(ped, mode)
end

--- SET_PED_RAGDOLL_ON_COLLISION
---
--- Causes Ped to ragdoll on collision with any object (e.g Running into trashcan). If applied to player you will sometimes trip on the sidewalk.  
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetPedRagdollOnCollision(ped, toggle)
end

--- CLEAR_PED_STORED_HAT_PROP
---
---@param ped number
---@return any
function ClearPedStoredHatProp(ped)
end

--- _GET_PED_HEAD_OVERLAY_VALUE
---
--- Likely a char, if that overlay is not set, e.i. "None" option, returns 255;
--- This might be the once removed native GET_PED_HEAD_OVERLAY.
--- 
---@param ped number
---@param overlayID any
---@return any
function GetPedHeadOverlayValue(ped, overlayID)
end

--- SET_COMBAT_FLOAT
---
---@param ped number
---@param combatType any
---@param p2 number
---@return any
function SetCombatFloat(ped, combatType, p2)
end

--- SET_PED_CAN_PEEK_IN_COVER
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanPeekInCover(ped, toggle)
end

--- SET_PED_STEERS_AROUND_OBJECTS
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedSteersAroundObjects(ped, toggle)
end

--- GET_PED_PALETTE_VARIATION
---
--- List of component/props ID  
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
---@param ped number
---@param componentId any
---@return any
function GetPedPaletteVariation(ped, componentId)
end

--- HAVE_ALL_STREAMING_REQUESTS_COMPLETED
---
---@param ped number
---@return boolean
function HaveAllStreamingRequestsCompleted(ped)
end

--- SET_PED_COORDS_KEEP_VEHICLE
---
--- teleports ped to coords along with the vehicle ped is in  
--- 
---@param ped number
---@param posX number
---@param posY number
---@param posZ number
---@return any
function SetPedCoordsKeepVehicle(ped, posX, posY, posZ)
end

--- GET_NUMBER_OF_PED_TEXTURE_VARIATIONS
---
--- List of component/props ID  
--- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html  
--- 
---@param ped number
---@param componentId any
---@param drawableId any
---@return any
function GetNumberOfPedTextureVariations(ped, componentId, drawableId)
end

--- GET_PED_HEAD_OVERLAY_NUM
---
--- Used with freemode (online) characters.
--- 
---@param overlayID any
---@return any
function GetPedHeadOverlayNum(overlayID)
end

--- GET_PED_RAGDOLL_BONE_INDEX
---
---@param ped number
---@param bone any
---@return any
function GetPedRagdollBoneIndex(ped, bone)
end

--- PLAY_FACIAL_ANIM
---
---@param ped number
---@param animName any
---@param animDict any
---@return any
function PlayFacialAnim(ped, animName, animDict)
end

--- RESET_AI_WEAPON_DAMAGE_MODIFIER
---
---@return any
function ResetAiWeaponDamageModifier()
end

--- SET_PED_TO_RAGDOLL
---p4/p5: Unusued in TU27
--- 
--- ### Ragdoll Types
--- 
--- **0**: CTaskNMRelax
--- **1**: CTaskNMScriptControl: Hardcoded not to work in networked environments.
--- **Else**: CTaskNMBalance
---@param ped number
---@param time1 any
---@param time2 any
---@param ragdollType any
---@param p4 boolean
---@param p5 boolean
---@param p6 boolean
---@return boolean
function SetPedToRagdoll(ped, time1, time2, ragdollType, p4, p5, p6)
end

--- _IS_PED_HELMET_UNK
---
---@param ped number
---@return boolean
function IsPedHelmetUnk(ped)
end

--- SET_PED_DENSITY_MULTIPLIER_THIS_FRAME
---
---@param multiplier number
---@return any
function SetPedDensityMultiplierThisFrame(multiplier)
end

--- SET_PED_USING_ACTION_MODE
---
--- p2 is usually -1 in the scripts. action is either 0 or "DEFAULT_ACTION".  
--- 
---@param ped number
---@param p1 boolean
---@param p2 any
---@param action any
---@return any
function SetPedUsingActionMode(ped, p1, p2, action)
end

--- CLEAR_PED_BLOOD_DAMAGE
---Clears the blood on a ped.
---@param ped number
---@return any
function ClearPedBloodDamage(ped)
end

--- SET_IK_TARGET
---
---@param ped number
---@param ikIndex any
---@param entityLookAt number
---@param boneLookAt any
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@param p7 any
---@param blendInDuration any
---@param blendOutDuration any
---@return any
function SetIkTarget(ped, ikIndex, entityLookAt, boneLookAt, offsetX, offsetY, offsetZ, p7, blendInDuration, blendOutDuration)
end

--- SET_PED_CAN_PLAY_GESTURE_ANIMS
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanPlayGestureAnims(ped, toggle)
end

--- SET_PED_CAN_TORSO_IK
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedCanTorsoIk(ped, toggle)
end

--- SET_PED_PANIC_EXIT_SCENARIO
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@return any
function SetPedPanicExitScenario(ped, x, y, z)
end

--- _GET_PED_MAKEUP_RGB_COLOR
---Input: Makeup color index, value between 0 and 63 (inclusive).
--- Output: RGB values for the makeup color specified in the input.
--- 
--- This is used with the makeup color swatches scaleform.
--- 
--- Use [_0x4852FC386E2E1BB5](#\_0x4852FC386E2E1BB5) to get the hair colors.
---@param makeupColorIndex any
---@param outR any
---@param outG any
---@param outB any
---@return any
function GetPedMakeupRgbColor(makeupColorIndex, outR, outG, outB)
end

--- IS_PED_WEARING_HELMET
---
--- Returns true if the ped passed through the parenthesis is wearing a helmet.  
--- 
---@param ped number
---@return boolean
function IsPedWearingHelmet(ped)
end

--- SET_PED_TARGET_LOSS_RESPONSE
---
--- Only 1 and 2 appear in the scripts. combatbehaviour.meta seems to only have TLR_SearchForTarget for all peds, but we don't know if that's 1 or 2.  
--- 
---@param ped number
---@param responseType any
---@return any
function SetPedTargetLossResponse(ped, responseType)
end

--- CLEAR_PED_WETNESS
---
--- It clears the wetness of the selected Ped/Player. Clothes have to be wet to notice the difference.  
--- 
---@param ped number
---@return any
function ClearPedWetness(ped)
end

--- CREATE_GROUP
---
--- Creates a new ped group.  
--- Groups can contain up to 8 peds.  
--- The parameter is unused.  
--- Returns a handle to the created group, or 0 if a group couldn't be created.  
--- 
---@param unused any
---@return any
function CreateGroup(unused)
end

--- IS_PED_JACKING
---
---@param ped number
---@return boolean
function IsPedJacking(ped)
end

--- RESET_AI_MELEE_WEAPON_DAMAGE_MODIFIER
---
---@return any
function ResetAiMeleeWeaponDamageModifier()
end

--- SET_PED_ALLOW_VEHICLES_OVERRIDE
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedAllowVehiclesOverride(ped, toggle)
end

--- SET_PED_BLEND_FROM_PARENTS
---
---@param ped number
---@param father number
---@param mother number
---@param fathersSide number
---@param mothersSide number
---@return any
function SetPedBlendFromParents(ped, father, mother, fathersSide, mothersSide)
end

--- GET_THIS_SCRIPT_NAME
---
---@return any
function GetThisScriptName()
end

--- SCRIPT_THREAD_ITERATOR_RESET
---Starts a new iteration of the current threads.
--- Call this first, then SCRIPT_THREAD_ITERATOR_GET_NEXT_THREAD_ID (0x30B4FA1C82DD4B9F)
---@return any
function ScriptThreadIteratorReset()
end

--- GET_HASH_OF_THIS_SCRIPT_NAME
---
---@return any
function GetHashOfThisScriptName()
end

--- _LOCK_LOADING_SCREEN_BUTTONS
---Updates the display of the MP/SP loading buttons, and locks the state so that other options are not displayed or changed. This can only be done once.
---@return any
function LockLoadingScreenButtons()
end

--- SCRIPT_THREAD_ITERATOR_GET_NEXT_THREAD_ID
---
--- If the function returns 0, the end of the iteration has been reached.
--- 
---@return any
function ScriptThreadIteratorGetNextThreadId()
end

--- TERMINATE_THREAD
---
---@param threadId any
---@return any
function TerminateThread(threadId)
end

--- DOES_SCRIPT_EXIST
---
---@param scriptName any
---@return boolean
function DoesScriptExist(scriptName)
end

--- DOES_SCRIPT_WITH_NAME_HASH_EXIST
---
---@param scriptHash any
---@return boolean
function DoesScriptWithNameHashExist(scriptHash)
end

--- TRIGGER_SCRIPT_EVENT
---
--- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork)
--- Note: eventDataSize is NOT the size in bytes, it is the size determined by the SIZE_OF operator (RAGE Script operator, not C/C++ sizeof). That is, the size in bytes divided by 8 (script variables are always 8-byte aligned!).
--- playerBits (also known as playersToBroadcastTo) is a bitset that indicates which players this event should be sent to. In order to send the event to specific players only, use (1 << playerIndex). Set all bits if it should be broadcast to all players.
--- 
---@param eventGroup any
---@param eventData any
---@param eventDataSize any
---@param playerBits any
---@return any
function TriggerScriptEvent(eventGroup, eventData, eventDataSize, playerBits)
end

--- _GET_NAME_OF_THREAD
---
---@param threadId any
---@return any
function GetNameOfThread(threadId)
end

--- _GET_NUMBER_OF_REFERENCES_OF_SCRIPT_WITH_NAME_HASH
---
--- Gets the number of instances of the specified script is currently running.
--- Actually returns numRefs - 1.
--- if (program)
--- 	v3 = rage::scrProgram::GetNumRefs(program) - 1;
--- return v3;
--- 
---@param scriptHash any
---@return any
function GetNumberOfReferencesOfScriptWithNameHash(scriptHash)
end

--- BG_START_CONTEXT_HASH
---
--- Hashed version of 0x9D5A25BADB742ACD.
--- 
--- NativeDB Introduced: v323
--- 
---@param contextHash any
---@return any
function BgStartContextHash(contextHash)
end

--- GET_EVENT_EXISTS
---
--- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork)
--- 
---@param eventGroup any
---@param eventIndex any
---@return boolean
function GetEventExists(eventGroup, eventIndex)
end

--- REQUEST_SCRIPT
---
---@param scriptName any
---@return any
function RequestScript(scriptName)
end

--- SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED
---
---@param scriptHash any
---@return any
function SetScriptWithNameHashAsNoLongerNeeded(scriptHash)
end

--- TERMINATE_THIS_THREAD
---
---@return any
function TerminateThisThread()
end

--- BG_END_CONTEXT_HASH
---
--- Hashed version of 0xDC2BACD920D0A0DD.
--- 
--- NativeDB Introduced: v323
--- 
---@param contextHash any
---@return any
function BgEndContextHash(contextHash)
end

--- BG_START_CONTEXT
---
--- Inserts the given context into the background scripts context map.
--- 
--- NativeDB Introduced: v323
--- 
---@param contextName any
---@return any
function BgStartContext(contextName)
end

--- GET_NO_LOADING_SCREEN
---
---@return boolean
function GetNoLoadingScreen()
end

--- HAS_SCRIPT_LOADED
---Returns if a script has been loaded into the game. Used to see if a script was loaded after requesting.
---@param scriptName any
---@return boolean
function HasScriptLoaded(scriptName)
end

--- HAS_SCRIPT_WITH_NAME_HASH_LOADED
---
---@param scriptHash any
---@return boolean
function HasScriptWithNameHashLoaded(scriptHash)
end

--- _TRIGGER_SCRIPT_EVENT_2
---
--- See TRIGGER_SCRIPT_EVENT
--- 
---@param eventGroup any
---@param eventData any
---@param eventDataSize any
---@param playerBits any
---@return any
function TriggerScriptEvent2(eventGroup, eventData, eventDataSize, playerBits)
end

--- GET_EVENT_DATA
---
--- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork)
--- Note: eventDataSize is NOT the size in bytes, it is the size determined by the SIZE_OF operator (RAGE Script operator, not C/C++ sizeof). That is, the size in bytes divided by 8 (script variables are always 8-byte aligned!).
--- 
---@param eventGroup any
---@param eventIndex any
---@param eventData any
---@param eventDataSize any
---@return boolean
function GetEventData(eventGroup, eventIndex, eventData, eventDataSize)
end

--- GET_NUMBER_OF_EVENTS
---
--- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork)
--- 
---@param eventGroup any
---@return any
function GetNumberOfEvents(eventGroup)
end

--- SHUTDOWN_LOADING_SCREEN
---
---@return any
function ShutdownLoadingScreen()
end

--- SET_SCRIPT_AS_NO_LONGER_NEEDED
---
---@param scriptName any
---@return any
function SetScriptAsNoLongerNeeded(scriptName)
end

--- BG_END_CONTEXT
---
--- Deletes the given context from the background scripts context map.
--- 
--- NativeDB Introduced: v323
--- 
---@param contextName any
---@return any
function BgEndContext(contextName)
end

--- GET_EVENT_AT_INDEX
---
--- eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork)
--- 
---@param eventGroup any
---@param eventIndex any
---@return any
function GetEventAtIndex(eventGroup, eventIndex)
end

--- REQUEST_SCRIPT_WITH_NAME_HASH
---
--- formerly _REQUEST_STREAMED_SCRIPT  
--- 
---@param scriptHash any
---@return any
function RequestScriptWithNameHash(scriptHash)
end

--- SET_NO_LOADING_SCREEN
---
---@param toggle boolean
---@return any
function SetNoLoadingScreen(toggle)
end

--- GET_ID_OF_THIS_THREAD
---
---@return any
function GetIdOfThisThread()
end

--- IS_THREAD_ACTIVE
---
---@param threadId any
---@return boolean
function IsThreadActive(threadId)
end

--- ADD_MODEL_TO_CREATOR_BUDGET
---
---@param modelHash any
---@return boolean
function AddModelToCreatorBudget(modelHash)
end

--- GET_PLAYER_SWITCH_INTERP_OUT_CURRENT_TIME
---
---@return any
function GetPlayerSwitchInterpOutCurrentTime()
end

--- SET_PLAYER_SHORT_SWITCH_STYLE
---
---@param style any
---@return any
function SetPlayerShortSwitchStyle(style)
end

--- REQUEST_COLLISION_FOR_MODEL
---
---@param model any
---@return any
function RequestCollisionForModel(model)
end

--- GET_LODSCALE
---
---@return number
function GetLodscale()
end

--- HAS_MODEL_LOADED
---Returns whether the specified model (archetype) is currently loaded.
--- 
--- Note that this will return 'true' even if the model has been requested and loaded by something other than the current script, if you're intending to actually use the model in a later frame, you should call REQUEST_MODEL anyway.
---@param model any
---@return boolean
function HasModelLoaded(model)
end

--- _LOAD_GLOBAL_WATER_TYPE
---0 - default
--- 1 - HeistIsland
--- 
--- 
--- NativeDB Introduced: v2189
--- 
---@param waterType any
---@return any
function LoadGlobalWaterType(waterType)
end

--- REQUEST_ADDITIONAL_COLLISION_AT_COORD
---
---@param x number
---@param y number
---@param z number
---@return any
function RequestAdditionalCollisionAtCoord(x, y, z)
end

--- REMOVE_NAMED_PTFX_ASSET
---
---@param fxName any
---@return any
function RemoveNamedPtfxAsset(fxName)
end

--- SET_PLAYER_SWITCH_ESTABLISHING_SHOT
---
--- All names can be found in playerswitchestablishingshots.meta
--- 
---@param name any
---@return any
function SetPlayerSwitchEstablishingShot(name)
end

--- SET_PLAYER_SWITCH_OUTRO
---
---@param cameraCoordX number
---@param cameraCoordY number
---@param cameraCoordZ number
---@param camRotationX number
---@param camRotationY number
---@param camRotationZ number
---@param camFov number
---@param camFarClip number
---@param rotationOrder any
---@return any
function SetPlayerSwitchOutro(cameraCoordX, cameraCoordY, cameraCoordZ, camRotationX, camRotationY, camRotationZ, camFov, camFarClip, rotationOrder)
end

--- HAS_NAMED_PTFX_ASSET_LOADED
---
---@param fxName any
---@return boolean
function HasNamedPtfxAssetLoaded(fxName)
end

--- INIT_CREATOR_BUDGET
---
---@return any
function InitCreatorBudget()
end

--- IS_MODEL_A_VEHICLE
---
--- Returns whether the specified model represents a vehicle.  
--- 
---@param model any
---@return boolean
function IsModelAVehicle(model)
end

--- REMOVE_IPL
---
--- IPL list: pastebin.com/iNGLY32D  
--- 
---@param iplName any
---@return any
function RemoveIpl(iplName)
end

--- HAS_PTFX_ASSET_LOADED
---
---@return boolean
function HasPtfxAssetLoaded()
end

--- END_SRL
---Clear the current srl and stop rendering the area selected by PREFETCH_SRL and started with BEGIN_SRL.
---@return any
function EndSrl()
end

--- NETWORK_STOP_LOAD_SCENE
---
---@return any
function NetworkStopLoadScene()
end

--- NEW_LOAD_SCENE_STOP
---
---@return any
function NewLoadSceneStop()
end

--- REQUEST_MODELS_IN_ROOM
---
--- STREAMING::REQUEST_MODELS_IN_ROOM(l_13BC, "V_FIB01_cur_elev");
--- STREAMING::REQUEST_MODELS_IN_ROOM(l_13BC, "limbo");
--- STREAMING::REQUEST_MODELS_IN_ROOM(l_13BB, "V_Office_gnd_lifts");
--- STREAMING::REQUEST_MODELS_IN_ROOM(l_13BB, "limbo");
--- STREAMING::REQUEST_MODELS_IN_ROOM(l_13BC, "v_fib01_jan_elev");
--- STREAMING::REQUEST_MODELS_IN_ROOM(l_13BC, "limbo");
--- 
---@param interior any
---@param roomName any
---@return any
function RequestModelsInRoom(interior, roomName)
end

--- SET_RENDER_HD_ONLY
---
---@param toggle boolean
---@return any
function SetRenderHdOnly(toggle)
end

--- GET_PLAYER_SWITCH_TYPE
---
---@return any
function GetPlayerSwitchType()
end

--- HAS_CLIP_SET_LOADED
---
--- Alias for HAS_ANIM_SET_LOADED.  
--- 
---@param clipSet any
---@return boolean
function HasClipSetLoaded(clipSet)
end

--- REQUEST_ANIM_SET
---Starts loading the specified animation set. An animation set provides movement animations for a ped. See [SET_PED_MOVEMENT_CLIPSET](#\_0xAF8A94EDE7712BEF).
---@param animSet any
---@return any
function RequestAnimSet(animSet)
end

--- SET_REDUCE_VEHICLE_MODEL_BUDGET
---
---@param toggle boolean
---@return any
function SetReduceVehicleModelBudget(toggle)
end

--- ALLOW_PLAYER_SWITCH_ASCENT
---
---@return any
function AllowPlayerSwitchAscent()
end

--- REQUEST_CLIP_SET
---
---@param clipSet any
---@return any
function RequestClipSet(clipSet)
end

--- REQUEST_MENU_PED_MODEL
---
---@param model any
---@return any
function RequestMenuPedModel(model)
end

--- GET_IDEAL_PLAYER_SWITCH_TYPE
---
--- x1, y1, z1 -- Coords of your ped model  
--- x2, y2, z2 -- Coords of the ped you want to switch to  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@return any
function GetIdealPlayerSwitchType(x1, y1, z1, x2, y2, z2)
end

--- IS_SWITCH_READY_FOR_DESCENT
---
---@return boolean
function IsSwitchReadyForDescent()
end

--- OVERRIDE_LODSCALE_THIS_FRAME
---
--- This allows you to override "extended distance scaling" setting. Needs to be called each frame.
--- Max scaling seems to be 200.0, normal is 1.0
--- See https://gfycat.com/DetailedHauntingIncatern
--- 
---@param scaling number
---@return any
function OverrideLodscaleThisFrame(scaling)
end

--- GET_PLAYER_SWITCH_INTERP_OUT_DURATION
---
---@return any
function GetPlayerSwitchInterpOutDuration()
end

--- IS_PLAYER_SWITCH_IN_PROGRESS
---
--- Returns true if the player is currently switching, false otherwise.  
--- (When the camera is in the sky moving from Trevor to Franklin for example)  
--- 
---@return boolean
function IsPlayerSwitchInProgress()
end

--- _SWITCH_IN_PLAYER
---Use after using \_SWITCH_OUT_PLAYER to swoop the camera back down to the player's ped.
---@param ped number
---@return any
function SwitchInPlayer(ped)
end

--- REMOVE_CLIP_SET
---
--- Alias for REMOVE_ANIM_SET.  
--- 
---@param clipSet any
---@return any
function RemoveClipSet(clipSet)
end

--- NEW_LOAD_SCENE_START
---
--- radius value is usually between 3f and 7000f in original 1868 scripts.
--- p7 is 0, 1, 2, 3 or 4 used in decompiled scripts, 0 is by far the most common.
--- Returns True if success, used only 7 times in decompiled scripts of 1868
--- 
---@param posX number
---@param posY number
---@param posZ number
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@param radius number
---@param p7 any
---@return boolean
function NewLoadSceneStart(posX, posY, posZ, offsetX, offsetY, offsetZ, radius, p7)
end

--- SET_HD_AREA
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@return any
function SetHdArea(x, y, z, radius)
end

--- GET_PLAYER_SWITCH_STATE
---
---@return any
function GetPlayerSwitchState()
end

--- _IS_MODEL_A_PED
---
---@param model any
---@return boolean
function IsModelAPed(model)
end

--- IS_STREAMVOL_ACTIVE
---
---@return boolean
function IsStreamvolActive()
end

--- LOAD_SCENE
---
---@param x number
---@param y number
---@param z number
---@return any
function LoadScene(x, y, z)
end

--- SET_STREAMING
---
---@param toggle boolean
---@return any
function SetStreaming(toggle)
end

--- IS_NEW_LOAD_SCENE_LOADED
---
---@return boolean
function IsNewLoadSceneLoaded()
end

--- LOAD_ALL_OBJECTS_NOW
---
---@return any
function LoadAllObjectsNow()
end

--- SET_MAPDATACULLBOX_ENABLED
---
--- Possible p0 values:  
--- "prologue"  
--- "Prologue_Main"  
--- 
---@param name any
---@param toggle boolean
---@return any
function SetMapdatacullboxEnabled(name, toggle)
end

--- SET_FOCUS_POS_AND_VEL
---
--- Override the area where the camera will render the terrain.
--- p3, p4 and p5 are usually set to 0.0
--- 
---@param x number
---@param y number
---@param z number
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@return any
function SetFocusPosAndVel(x, y, z, offsetX, offsetY, offsetZ)
end

--- SET_VEHICLE_POPULATION_BUDGET
---
---@param p0 any
---@return any
function SetVehiclePopulationBudget(p0)
end

--- SET_REDUCE_PED_MODEL_BUDGET
---
---@param toggle boolean
---@return any
function SetReducePedModelBudget(toggle)
end

--- STREAMVOL_CREATE_LINE
---
--- Always returns zero.
--- 
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 any
---@return any
function StreamvolCreateLine(p0, p1, p2, p3, p4, p5, p6)
end

--- START_PLAYER_SWITCH
---
--- // this enum comes directly from R* so don't edit this  
--- enum ePlayerSwitchType  
--- {  
--- 	SWITCH_TYPE_AUTO,  
--- 	SWITCH_TYPE_LONG,  
--- 	SWITCH_TYPE_MEDIUM,  
--- 	SWITCH_TYPE_SHORT  
--- };  
--- Use GET_IDEAL_PLAYER_SWITCH_TYPE for the best switch type. Or just auto, because it calls the same function in executable.  
--- ----------------------------------------------------  
--- Examples from the decompiled scripts:  
--- STREAMING::START_PLAYER_SWITCH(l_832._f3, PLAYER::PLAYER_PED_ID(), 0, 3);  
--- STREAMING::START_PLAYER_SWITCH(l_832._f3, PLAYER::PLAYER_PED_ID(), 2050, 3);  
--- STREAMING::START_PLAYER_SWITCH(PLAYER::PLAYER_PED_ID(), l_832._f3, 1024, 3);  
--- STREAMING::START_PLAYER_SWITCH(g_141F27, PLAYER::PLAYER_PED_ID(), 513, v_14);  
--- Note: DO NOT, use SWITCH_TYPE_LONG with flag 513. It leaves you stuck in the clouds. You'll have to call STOP_PLAYER_SWITCH() to return to your ped.  
--- Flag 8 w/ SWITCH_TYPE_LONG will zoom out 3 steps, then zoom in 2/3 steps and stop on the 3rd and just hang there.  
--- Flag 8 w/ SWITCH_TYPE_MEDIUM will zoom out 1 step, and just hang there.  
--- 
---@param from number
---@param to number
---@param flags any
---@param switchType any
---@return any
function StartPlayerSwitch(from, to, flags, switchType)
end

--- STOP_PLAYER_SWITCH
---
---@return any
function StopPlayerSwitch()
end

--- ENABLE_SWITCH_PAUSE_BEFORE_DESCENT
---
---@return any
function EnableSwitchPauseBeforeDescent()
end

--- CLEAR_FOCUS
---
---@return any
function ClearFocus()
end

--- REQUEST_COLLISION_AT_COORD
---
---@param x number
---@param y number
---@param z number
---@return any
function RequestCollisionAtCoord(x, y, z)
end

--- REQUEST_PTFX_ASSET
---
--- maps script name (thread + 0xD0) by lookup via scriptfx.dat - does nothing when script name is empty
--- 
---@return any
function RequestPtfxAsset()
end

--- SHUTDOWN_CREATOR_BUDGET
---
---@return any
function ShutdownCreatorBudget()
end

--- STREAMVOL_IS_VALID
---
---@param unused any
---@return boolean
function StreamvolIsValid(unused)
end

--- _GET_USED_CREATOR_MODEL_MEMORY_PERCENTAGE
---
--- 0.0 = no memory used
--- 1.0 = all memory used
--- 
--- Maximum model memory (as defined in common\data\missioncreatordata.meta) is 100 MiB
--- 
--- GET_*
--- 
---@return number
function GetUsedCreatorModelMemoryPercentage()
end

--- SET_INTERIOR_ACTIVE
---
---@param interiorID any
---@param toggle boolean
---@return any
function SetInteriorActive(interiorID, toggle)
end

--- ALLOW_PLAYER_SWITCH_DESCENT
---
---@return any
function AllowPlayerSwitchDescent()
end

--- _SET_ISLAND_HOPPER_ENABLED
---Enables the specified island. For more information, see islandhopper.meta
--- 
--- 
--- NativeDB Introduced: v2189
--- 
---@param name any
---@param toggle boolean
---@return any
function SetIslandHopperEnabled(name, toggle)
end

--- SET_PED_POPULATION_BUDGET
---Control how many new (ambient?) peds will spawn in the game world.
--- Range for p0 seems to be 0-3, where 0 is none and 3 is the normal level.
---@param p0 any
---@return any
function SetPedPopulationBudget(p0)
end

--- STREAMVOL_DELETE
---
---@param unused any
---@return any
function StreamvolDelete(unused)
end

--- ALLOW_PLAYER_SWITCH_OUTRO
---
---@return any
function AllowPlayerSwitchOutro()
end

--- REQUEST_ANIM_DICT
---
---@param animDict any
---@return any
function RequestAnimDict(animDict)
end

--- CLEAR_HD_AREA
---
---@return any
function ClearHdArea()
end

--- HAS_ANIM_DICT_LOADED
---
---@param animDict any
---@return boolean
function HasAnimDictLoaded(animDict)
end

--- NEW_LOAD_SCENE_START_SPHERE
---
--- if (!sub_8f12("START LOAD SCENE SAFE")) {
---     if (CUTSCENE::GET_CUTSCENE_TIME() > 4178) {
---         STREAMING::_ACCFB4ACF53551B0(1973.845458984375, 3818.447265625, 32.43629837036133, 15.0, 2);
---         sub_8e9e("START LOAD SCENE SAFE", 1);
---     }
--- }
--- (Previously known as STREAMING::_NEW_LOAD_SCENE_START_SAFE)
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param p4 any
---@return boolean
function NewLoadSceneStartSphere(x, y, z, radius, p4)
end

--- SET_DITCH_POLICE_MODELS
---
--- This is a NOP function. It does nothing at all.  
--- 
---@param toggle boolean
---@return any
function SetDitchPoliceModels(toggle)
end

--- SET_FOCUS_ENTITY
---
--- It seems to make the entity's coords mark the point from which LOD-distances are measured. In my testing, setting a vehicle as the focus entity and moving that vehicle more than 300 distance units away from the player will make the level of detail around the player go down drastically (shadows disappear, textures go extremely low res, etc). The player seems to be the default focus entity.  
--- 
---@param entity number
---@return any
function SetFocusEntity(entity)
end

--- NETWORK_UPDATE_LOAD_SCENE
---
---@return boolean
function NetworkUpdateLoadScene()
end

--- STREAMVOL_CREATE_SPHERE
---
--- Always returns zero.
--- 
---@param x number
---@param y number
---@param z number
---@param rad number
---@param p4 any
---@param p5 any
---@return any
function StreamvolCreateSphere(x, y, z, rad, p4, p5)
end

--- _GET_GLOBAL_WATER_TYPE
---
--- NativeDB Introduced: v2189
--- 
---@return any
function GetGlobalWaterType()
end

--- DOES_ANIM_DICT_EXIST
---
---@param animDict any
---@return boolean
function DoesAnimDictExist(animDict)
end

--- IS_MODEL_VALID
---
--- Returns whether the specified model exists in the game.  
--- 
---@param model any
---@return boolean
function IsModelValid(model)
end

--- GET_PLAYER_SHORT_SWITCH_STATE
---
---@return any
function GetPlayerShortSwitchState()
end

--- GET_PLAYER_SWITCH_JUMP_CUT_INDEX
---
---@return any
function GetPlayerSwitchJumpCutIndex()
end

--- IS_ENTITY_FOCUS
---
---@param entity number
---@return boolean
function IsEntityFocus(entity)
end

--- STREAMVOL_CREATE_FRUSTUM
---
--- Always returns zero.
--- 
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 number
---@param p7 any
---@param p8 any
---@return any
function StreamvolCreateFrustum(p0, p1, p2, p3, p4, p5, p6, p7, p8)
end

--- REMOVE_ANIM_SET
---Unloads the specified animation set. An animation set provides movement animations for a ped.
--- 
--- Animation set and clip set are synonymous. See [SET_PED_MOVEMENT_CLIPSET](#\_0xAF8A94EDE7712BEF).
---@param animSet any
---@return any
function RemoveAnimSet(animSet)
end

--- _SWITCH_OUT_PLAYER
---
--- doesn't act normally when used on mount chilliad
--- 
--- flags:
--- 
--- 0: normal
--- 1: no transition
--- 255: switch IN
--- 
--- switchType: 0 - 3
--- 
--- 0: 1 step towards ped
--- 1: 3 steps out from ped
--- 2: 1 step out from ped
--- 3: 1 step towards ped
--- 
---@param ped number
---@param flags any
---@param switchType any
---@return any
function SwitchOutPlayer(ped, flags, switchType)
end

--- STREAMVOL_HAS_LOADED
---
---@param unused any
---@return boolean
function StreamvolHasLoaded(unused)
end

--- GET_NUMBER_OF_STREAMING_REQUESTS
---
---@return any
function GetNumberOfStreamingRequests()
end

--- IS_MODEL_IN_CDIMAGE
---
--- Check if model is in cdimage(rpf)  
--- 
---@param model any
---@return boolean
function IsModelInCdimage(model)
end

--- REQUEST_NAMED_PTFX_ASSET
---
---  From the b678d decompiled scripts:
---  STREAMING::REQUEST_NAMED_PTFX_ASSET("core_snow");
---  STREAMING::REQUEST_NAMED_PTFX_ASSET("fm_mission_controler");
---  STREAMING::REQUEST_NAMED_PTFX_ASSET("proj_xmas_firework");
---  STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_apartment_mp");
---  STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_biolab_heist");
---  STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_indep_fireworks");
---  STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_indep_parachute");
---  STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_indep_wheelsmoke");
---  STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_mp_cig_plane");
---  STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_mp_creator");
---  STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_mp_tankbattle");
---  STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_ornate_heist");
---  STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_prison_break_heist_station");
--- 
---@param fxName any
---@return any
function RequestNamedPtfxAsset(fxName)
end

--- IS_IPL_ACTIVE
---
---@param iplName any
---@return boolean
function IsIplActive(iplName)
end

--- REMOVE_MODEL_FROM_CREATOR_BUDGET
---
---@param modelHash any
---@return any
function RemoveModelFromCreatorBudget(modelHash)
end

--- REQUEST_MODEL
---Request a model (archetype) to be loaded for use by the current script. Use SET_MODEL_AS_NO_LONGER_NEEDED when done using the model in script.
---@param model any
---@return any
function RequestModel(model)
end

--- REMOVE_ANIM_DICT
---
---@param animDict any
---@return any
function RemoveAnimDict(animDict)
end

--- PREFETCH_SRL
---This native is used to attribute the SRL that BeginSrl is going to load. This is usually used for 'in-game' cinematics (not cutscenes but camera stuff) instead of SetFocusArea because it loads a specific area of the map which is pretty useful when the camera moves from distant areas.
--- For instance, GTA:O opening cutscene.
--- 
--- https://pastebin.com/2EeKVeLA : a list of SRL found in srllist.meta
--- https://pastebin.com/zd9XYUWY : here is the content of a SRL file opened with codewalker.
---@param srl any
---@return any
function PrefetchSrl(srl)
end

--- SET_SRL_TIME
---
---@param p0 number
---@return any
function SetSrlTime(p0)
end

--- HAS_ANIM_SET_LOADED
---Gets whether the specified animation set has finished loading. An animation set provides movement animations for a ped.
--- 
--- Animation set and clip set are synonymous. See [SET_PED_MOVEMENT_CLIPSET](#\_0xAF8A94EDE7712BEF).
---@param animSet any
---@return boolean
function HasAnimSetLoaded(animSet)
end

--- IS_NETWORK_LOADING_SCENE
---
---@return boolean
function IsNetworkLoadingScene()
end

--- IS_SWITCH_SKIPPING_DESCENT
---
---@return boolean
function IsSwitchSkippingDescent()
end

--- ALLOW_PLAYER_SWITCH_PAN
---
---@return any
function AllowPlayerSwitchPan()
end

--- SET_MODEL_AS_NO_LONGER_NEEDED
---Releases the script ownership assigned by REQUEST_MODEL. This command should be used when done using a specific model hash in script.
---@param model any
---@return any
function SetModelAsNoLongerNeeded(model)
end

--- IS_NEW_LOAD_SCENE_ACTIVE
---
---@return boolean
function IsNewLoadSceneActive()
end

--- SET_GAME_PAUSES_FOR_STREAMING
---
---@param toggle boolean
---@return any
function SetGamePausesForStreaming(toggle)
end

--- HAS_COLLISION_FOR_MODEL_LOADED
---
---@param model any
---@return boolean
function HasCollisionForModelLoaded(model)
end

--- IS_SRL_LOADED
---Returns true when the srl from BEGIN_SRL is loaded.
---@return boolean
function IsSrlLoaded()
end

--- REMOVE_PTFX_ASSET
---
---@return any
function RemovePtfxAsset()
end

--- REQUEST_IPL
---
--- Exemple: REQUEST_IPL("TrevorsTrailerTrash");
--- 
---@param iplName any
---@return any
function RequestIpl(iplName)
end

--- DISABLE_SWITCH_OUTRO_FX
---
---@return any
function DisableSwitchOutroFx()
end

--- BEGIN_SRL
---
---@return any
function BeginSrl()
end

--- UNCUFF_PED
---
---@param ped number
---@return any
function UncuffPed(ped)
end

--- ASSISTED_MOVEMENT_SET_ROUTE_PROPERTIES
---
---@param route any
---@param props any
---@return any
function AssistedMovementSetRouteProperties(route, props)
end

--- IS_PED_RUNNING_ARREST_TASK
---
---@param ped number
---@return boolean
function IsPedRunningArrestTask(ped)
end

--- IS_PLAYING_PHONE_GESTURE_ANIM
---
---@param ped number
---@return boolean
function IsPlayingPhoneGestureAnim(ped)
end

--- TASK_SMART_FLEE_COORD
---
--- Makes the specified ped flee the specified distance from the specified position.  
--- 
---@param ped number
---@param x number
---@param y number
---@param z number
---@param distance number
---@param time any
---@param p6 boolean
---@param p7 boolean
---@return any
function TaskSmartFleeCoord(ped, x, y, z, distance, time, p6, p7)
end

--- TASK_HANDS_UP
---
--- In the scripts, p3 was always -1.  
--- p3 seems to be duration or timeout of turn animation.  
--- Also facingPed can be 0 or -1 so ped will just raise hands up.  
--- 
---@param ped number
---@param duration any
---@param facingPed number
---@param p3 any
---@param p4 boolean
---@return any
function TaskHandsUp(ped, duration, facingPed, p3, p4)
end

--- TASK_RAPPEL_FROM_HELI
---
--- Only appears twice in the scripts.
--- TASK::TASK_RAPPEL_FROM_HELI(PLAYER::PLAYER_PED_ID(), 0x41200000);
--- TASK::TASK_RAPPEL_FROM_HELI(a_0, 0x41200000);
--- 
---@param ped number
---@param unused number
---@return any
function TaskRappelFromHeli(ped, unused)
end

--- WAYPOINT_PLAYBACK_GET_IS_PAUSED
---
---@param p0 any
---@return boolean
function WaypointPlaybackGetIsPaused(p0)
end

--- DELETE_PATROL_ROUTE
---
--- From the b617d scripts:
--- TASK::DELETE_PATROL_ROUTE("miss_merc0");
--- TASK::DELETE_PATROL_ROUTE("miss_merc1");
--- TASK::DELETE_PATROL_ROUTE("miss_merc2");
--- TASK::DELETE_PATROL_ROUTE("miss_dock");
--- 
---@param patrolRoute any
---@return any
function DeletePatrolRoute(patrolRoute)
end

--- TASK_FLUSH_ROUTE
---Clears the current point route. Call this before [TASK_EXTEND_ROUTE](#\_0x1E7889778264843A) and [TASK_FOLLOW_POINT_ROUTE](#\_0x595583281858626E).
---@return any
function TaskFlushRoute()
end

--- TASK_FORCE_MOTION_STATE
---See [FORCE_PED_MOTION_STATE](#\_0xF28965D04F570DCA)
---@param ped number
---@param state any
---@param p2 boolean
---@return any
function TaskForceMotionState(ped, state, p2)
end

--- TASK_GO_TO_COORD_AND_AIM_AT_HATED_ENTITIES_NEAR_COORD
---
--- The ped will walk or run towards goToLocation, aiming towards goToLocation or focusLocation (depending on the aimingFlag) and shooting if shootAtEnemies = true to any enemy in his path.
--- If the ped is closer than noRoadsDistance, the ped will ignore pathing/navmesh and go towards goToLocation directly. This could cause the ped to get stuck behind tall walls if the goToLocation is on the other side. To avoid this, use 0.0f and the ped will always use pathing/navmesh to reach his destination.
--- If the speed is set to 0.0f, the ped will just stand there while aiming, if set to 1.0f he will walk while aiming, 2.0f will run while aiming.
--- The ped will stop aiming when he is closer than distanceToStopAt to goToLocation.
--- I still can't figure out what unkTrue is used for. I don't notice any difference if I set it to false but in the decompiled scripts is always true.
--- I think that unkFlag, like the driving styles, could be a flag that "work as a list of 32 bits converted to a decimal integer. Each bit acts as a flag, and enables or disables a function". What leads me to this conclusion is the fact that in the decompiled scripts, unkFlag takes values like: 0, 1, 5 (101 in binary) and 4097 (4096 + 1 or 1000000000001 in binary). For now, I don't know what behavior enable or disable this possible flag so I leave it at 0.
--- Note: After some testing, using unkFlag = 16 (0x10) enables the use of sidewalks while moving towards goToLocation.
--- The aimingFlag takes 2 values: 0 to aim at the focusLocation, 1 to aim at where the ped is heading (goToLocation).
--- Example:
--- enum AimFlag
--- {
---    AimAtFocusLocation,
---    AimAtGoToLocation
--- };
--- Vector3 goToLocation1 = { 996.2867f, 0, -2143.044f, 0, 28.4763f, 0 }; // remember the padding.
--- Vector3 goToLocation2 = { 990.2867f, 0, -2140.044f, 0, 28.4763f, 0 }; // remember the padding.
--- Vector3 focusLocation = { 994.3478f, 0, -2136.118f, 0, 29.2463f, 0 }; // the coord z should be a little higher, around +1.0f to avoid aiming at the ground
--- // 1st example
--- TASK::TASK_GO_TO_COORD_AND_AIM_AT_HATED_ENTITIES_NEAR_COORD(pedHandle, goToLocation1.x, goToLocation1.y, goToLocation1.z, focusLocation.x, focusLocation.y, focusLocation.z, 2.0f /*run*/, true /*shoot*/, 3.0f /*stop at*/, 0.0f /*noRoadsDistance*/, true /*always true*/, 0 /*possible flag*/, AimFlag::AimAtGoToLocation, -957453492 /*FullAuto pattern*/);
--- // 2nd example
--- TASK::TASK_GO_TO_COORD_AND_AIM_AT_HATED_ENTITIES_NEAR_COORD(pedHandle, goToLocation2.x, goToLocation2.y, goToLocation2.z, focusLocation.x, focusLocation.y, focusLocation.z, 1.0f /*walk*/, false /*don't shoot*/, 3.0f /*stop at*/, 0.0f /*noRoadsDistance*/, true /*always true*/, 0 /*possible flag*/, AimFlag::AimAtFocusLocation, -957453492 /*FullAuto pattern*/);
--- 1st example: The ped (pedhandle) will run towards goToLocation1. While running and aiming towards goToLocation1, the ped will shoot on sight to any enemy in his path, using "FullAuto" firing pattern. The ped will stop once he is closer than distanceToStopAt to goToLocation1.
--- 2nd example: The ped will walk towards goToLocation2. This time, while walking towards goToLocation2 and aiming at focusLocation, the ped will point his weapon on sight to any enemy in his path without shooting. The ped will stop once he is closer than distanceToStopAt to goToLocation2.
--- 
---@param pedHandle number
---@param goToLocationX number
---@param goToLocationY number
---@param goToLocationZ number
---@param focusLocationX number
---@param focusLocationY number
---@param focusLocationZ number
---@param speed number
---@param shootAtEnemies boolean
---@param distanceToStopAt number
---@param noRoadsDistance number
---@param unkTrue boolean
---@param unkFlag any
---@param aimingFlag any
---@param firingPattern any
---@return any
function TaskGoToCoordAndAimAtHatedEntitiesNearCoord(pedHandle, goToLocationX, goToLocationY, goToLocationZ, focusLocationX, focusLocationY, focusLocationZ, speed, shootAtEnemies, distanceToStopAt, noRoadsDistance, unkTrue, unkFlag, aimingFlag, firingPattern)
end

--- TASK_AIM_GUN_SCRIPTED_WITH_TARGET
---
---@param p0 any
---@param p1 any
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 any
---@param p6 boolean
---@param p7 boolean
---@return any
function TaskAimGunScriptedWithTarget(p0, p1, p2, p3, p4, p5, p6, p7)
end

--- TASK_GOTO_ENTITY_AIMING
---
--- eg
---  TASK::TASK_GOTO_ENTITY_AIMING(v_2, PLAYER::PLAYER_PED_ID(), 5.0, 25.0);
--- ped = Ped you want to perform this task.
--- target = the Entity they should aim at.
--- distanceToStopAt = distance from the target, where the ped should stop to aim.
--- StartAimingDist = distance where the ped should start to aim.
--- 
---@param ped number
---@param target number
---@param distanceToStopAt number
---@param StartAimingDist number
---@return any
function TaskGotoEntityAiming(ped, target, distanceToStopAt, StartAimingDist)
end

--- WAYPOINT_PLAYBACK_RESUME
---
---@param p0 any
---@param p1 boolean
---@param p2 any
---@param p3 any
---@return any
function WaypointPlaybackResume(p0, p1, p2, p3)
end

--- GET_PED_DESIRED_MOVE_BLEND_RATIO
---
---@param ped number
---@return number
function GetPedDesiredMoveBlendRatio(ped)
end

--- IS_MOUNTED_WEAPON_TASK_UNDERNEATH_DRIVING_TASK
---
---@param ped number
---@return boolean
function IsMountedWeaponTaskUnderneathDrivingTask(ped)
end

--- IS_PED_SPRINTING
---
---@param ped number
---@return boolean
function IsPedSprinting(ped)
end

--- RESET_SCENARIO_TYPES_ENABLED
---
---@return any
function ResetScenarioTypesEnabled()
end

--- IS_PED_PLAYING_BASE_CLIP_IN_SCENARIO
---
---@param ped number
---@return boolean
function IsPedPlayingBaseClipInScenario(ped)
end

--- SET_SCENARIO_GROUP_ENABLED
---
--- Occurrences in the b617d scripts: pastebin.com/Tvg2PRHU  
--- 
---@param scenarioGroup any
---@param p1 boolean
---@return any
function SetScenarioGroupEnabled(scenarioGroup, p1)
end

--- TASK_LEAVE_ANY_VEHICLE
---Flags are the same flags used in [TASK_LEAVE_VEHICLE](#\_0xD3DBCE61A490BE02)
---@param ped number
---@param p1 any
---@param flags any
---@return any
function TaskLeaveAnyVehicle(ped, p1, flags)
end

--- _TASK_PERFORM_SEQUENCE_LOCALLY
---
---@param ped number
---@param taskSequenceId any
---@return any
function TaskPerformSequenceLocally(ped, taskSequenceId)
end

--- ADD_COVER_POINT
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 any
---@param p5 any
---@param p6 any
---@param p7 boolean
---@return any
function AddCoverPoint(p0, p1, p2, p3, p4, p5, p6, p7)
end

--- DOES_SCRIPTED_COVER_POINT_EXIST_AT_COORDS
---
--- Checks if there is a cover point at position  
--- 
---@param x number
---@param y number
---@param z number
---@return boolean
function DoesScriptedCoverPointExistAtCoords(x, y, z)
end

--- GET_IS_TASK_ACTIVE
---
--- Task index enum: https://alloc8or.re/gta5/doc/enums/eTaskTypeIndex.txt
--- 
---@param ped number
---@param taskIndex any
---@return boolean
function GetIsTaskActive(ped, taskIndex)
end

--- IS_PED_GETTING_UP
---
---@param ped number
---@return boolean
function IsPedGettingUp(ped)
end

--- TASK_SWEEP_AIM_ENTITY
---
--- This function is called on peds in vehicles.  
--- anim: animation name  
--- p2, p3, p4: "sweep_low", "sweep_med" or "sweep_high"  
--- p5: no idea what it does but is usually -1  
--- 
---@param ped number
---@param anim any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param vehicle any
---@param p7 number
---@param p8 number
---@return any
function TaskSweepAimEntity(ped, anim, p2, p3, p4, p5, vehicle, p7, p8)
end

--- TASK_USE_MOBILE_PHONE
---
--- Actually has 3 params, not 2.  
--- p0: Ped  
--- p1: int (or bool?)  
--- p2: int  
--- 
--- 
--- 
--- NativeDB Added Parameter 3: Any p2
--- 
---@param ped number
---@param p1 any
---@return any
function TaskUseMobilePhone(ped, p1)
end

--- GET_SEQUENCE_PROGRESS
---
--- returned values:
--- 0 to 7 = task that's currently in progress, 0 meaning the first one.
--- -1 no task sequence in progress.
--- 
---@param ped number
---@return any
function GetSequenceProgress(ped)
end

--- SET_TASK_MOVE_NETWORK_SIGNAL_BOOL
---
---@param ped number
---@param signalName any
---@param value boolean
---@return any
function SetTaskMoveNetworkSignalBool(ped, signalName, value)
end

--- REMOVE_WAYPOINT_RECORDING
---
---@param name any
---@return any
function RemoveWaypointRecording(name)
end

--- PLAY_ENTITY_SCRIPTED_ANIM
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 number
---@param p5 number
---@return any
function PlayEntityScriptedAnim(p0, p1, p2, p3, p4, p5)
end

--- SET_PED_PATH_AVOID_FIRE
---
---@param ped number
---@param avoidFire boolean
---@return any
function SetPedPathAvoidFire(ped, avoidFire)
end

--- TASK_RELOAD_WEAPON
---
--- The 2nd param (unused) is not implemented.
--- -----------------------------------------------------------------------
--- The only occurrence I found in a R* script ("assassin_construction.ysc.c4"):
---             if (((v_3 < v_4) && (TASK::GET_SCRIPT_TASK_STATUS(PLAYER::PLAYER_PED_ID(), 0x6a67a5cc) != 1)) && (v_5 > v_3)) {
---                 TASK::TASK_RELOAD_WEAPON(PLAYER::PLAYER_PED_ID(), 1);
---             }
--- 
---@param ped number
---@param unused boolean
---@return any
function TaskReloadWeapon(ped, unused)
end

--- GET_PHONE_GESTURE_ANIM_CURRENT_TIME
---
---@param ped number
---@return number
function GetPhoneGestureAnimCurrentTime(ped)
end

--- SET_PED_PATH_MAY_ENTER_WATER
---
---@param ped number
---@param mayEnterWater boolean
---@return any
function SetPedPathMayEnterWater(ped, mayEnterWater)
end

--- TASK_EVERYONE_LEAVE_VEHICLE
---
---@param vehicle any
---@return any
function TaskEveryoneLeaveVehicle(vehicle)
end

--- TASK_VEHICLE_DRIVE_TO_COORD
---
--- info about driving modes: HTTP://gtaforums.com/topic/822314-guide-driving-styles/  
--- ---------------------------------------------------------------  
--- Passing P6 value as floating value didn't throw any errors, though unsure what is it exactly, looks like radius or something.  
--- P10 though, it is mentioned as float, however, I used bool and set it to true, that too worked.  
--- Here the e.g. code I used  
--- Function.Call(Hash.TASK_VEHICLE_DRIVE_TO_COORD, Ped, Vehicle, Cor X, Cor Y, Cor Z, 30f, 1f, Vehicle.GetHashCode(), 16777216, 1f, true);  
--- 
---@param ped number
---@param vehicle any
---@param x number
---@param y number
---@param z number
---@param speed number
---@param p6 any
---@param vehicleModel any
---@param drivingMode any
---@param stopRange number
---@param p10 number
---@return any
function TaskVehicleDriveToCoord(ped, vehicle, x, y, z, speed, p6, vehicleModel, drivingMode, stopRange, p10)
end

--- TASK_PUT_PED_DIRECTLY_INTO_COVER
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param timeout any
---@param p5 boolean
---@param p6 number
---@param p7 boolean
---@param p8 boolean
---@param p9 any
---@param p10 boolean
---@return any
function TaskPutPedDirectlyIntoCover(ped, x, y, z, timeout, p5, p6, p7, p8, p9, p10)
end

--- TASK_THROW_PROJECTILE
---
--- In every case of this native, I've only seen the first parameter passed as 0, although I believe it's a Ped after seeing tasks around it using 0. That's because it's used in a Sequence Task.  
--- The last 3 parameters are definitely coordinates after seeing them passed in other scripts, and even being used straight from the player's coordinates.  
--- ---  
--- It seems that - in the decompiled scripts - this native was used on a ped who was in a vehicle to throw a projectile out the window at the player. This is something any ped will naturally do if they have a throwable and they are doing driveby-combat (although not very accurately).  
--- It is possible, however, that this is how SWAT throws smoke grenades at the player when in cover.  
--- ----------------------------------------------------  
--- The first comment is right it definately is the ped as if you look in script finale_heist2b.c line 59628 in Xbox Scripts atleast you will see task_throw_projectile and the first param is Local_559[2 <14>] if you look above it a little bit line 59622 give_weapon_to_ped uses the same exact param Local_559[2 <14>] and we all know the first param of that native is ped. So it guaranteed has to be ped. 0 just may mean to use your ped by default for some reason.  
--- 
--- 
--- 
--- NativeDB Added Parameter 5: Any p4
--- NativeDB Added Parameter 6: Any p5
--- 
---@param ped number
---@param x number
---@param y number
---@param z number
---@return any
function TaskThrowProjectile(ped, x, y, z)
end

--- IS_MOVE_BLEND_RATIO_RUNNING
---
---@param ped number
---@return boolean
function IsMoveBlendRatioRunning(ped)
end

--- REMOVE_COVER_POINT
---
---@param coverpoint any
---@return any
function RemoveCoverPoint(coverpoint)
end

--- SET_DRIVE_TASK_MAX_CRUISE_SPEED
---
---@param p0 any
---@param p1 number
---@return any
function SetDriveTaskMaxCruiseSpeed(p0, p1)
end

--- SET_NEXT_DESIRED_MOVE_STATE
---**This native does absolutely nothing, just a nullsub**
---@param p0 number
---@return any
function SetNextDesiredMoveState(p0)
end

--- TASK_TOGGLE_DUCK
---
--- used in sequence task  
--- both parameters seems to be always 0  
--- 
---@param p0 boolean
---@param p1 boolean
---@return any
function TaskToggleDuck(p0, p1)
end

--- GET_CLIP_SET_FOR_SCRIPTED_GUN_TASK
---
---@param p0 any
---@return any
function GetClipSetForScriptedGunTask(p0)
end

--- TASK_ACHIEVE_HEADING
---
--- Makes the specified ped achieve the specified heading.  
--- pedHandle: The handle of the ped to assign the task to.  
--- heading: The desired heading.  
--- timeout: The time, in milliseconds, to allow the task to complete. If the task times out, it is cancelled, and the ped will stay at the heading it managed to reach in the time.  
--- 
---@param ped number
---@param heading number
---@param timeout any
---@return any
function TaskAchieveHeading(ped, heading, timeout)
end

--- TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY
---
--- shootatEntity:  
--- If true, peds will shoot at Entity till it is dead.  
--- If false, peds will just walk till they reach the entity and will cease shooting.  
--- 
---@param ped number
---@param entityToWalkTo number
---@param entityToAimAt number
---@param speed number
---@param shootatEntity boolean
---@param p5 number
---@param p6 number
---@param p7 boolean
---@param p8 boolean
---@param firingPattern any
---@return any
function TaskGoToEntityWhileAimingAtEntity(ped, entityToWalkTo, entityToAimAt, speed, shootatEntity, p5, p6, p7, p8, firingPattern)
end

--- TASK_START_SCENARIO_AT_POSITION
---
--- Also a few more listed at TASK::TASK_START_SCENARIO_IN_PLACE just above.
--- ---------------
--- The first parameter in every scenario has always been a Ped of some sort. The second like TASK_START_SCENARIO_IN_PLACE is the name of the scenario.
--- The next 4 parameters were harder to decipher. After viewing "hairdo_shop_mp.ysc.c4", and being confused from seeing the case in other scripts, they passed the first three of the arguments as one array from a function, and it looked like it was obviously x, y, and z.
--- I haven't seen the sixth parameter go to or over 360, making me believe that it is rotation, but I really can't confirm anything.
--- I have no idea what the last 3 parameters are, but I'll try to find out.
--- -going on the last 3 parameters, they appear to always be "0, 0, 1"
--- p6 -1 also used in scrips
--- p7 used for sitting scenarios
--- p8 teleports ped to position
--- 
---@param ped number
---@param scenarioName any
---@param x number
---@param y number
---@param z number
---@param heading number
---@param duration any
---@param sittingScenario boolean
---@param teleport boolean
---@return any
function TaskStartScenarioAtPosition(ped, scenarioName, x, y, z, heading, duration, sittingScenario, teleport)
end

--- IS_TASK_MOVE_NETWORK_READY_FOR_TRANSITION
---
---@param ped number
---@return boolean
function IsTaskMoveNetworkReadyForTransition(ped)
end

--- CLOSE_PATROL_ROUTE
---
---@return any
function ClosePatrolRoute()
end

--- REMOVE_ALL_COVER_BLOCKING_AREAS
---
---@return any
function RemoveAllCoverBlockingAreas()
end

--- TASK_PATROL
---
--- After looking at some scripts the second parameter seems to be an id of some kind. Here are some I found from some R* scripts:
--- "miss_Tower_01" (this went from 01 - 10)
--- "miss_Ass0" (0, 4, 6, 3)
--- "MISS_PATROL_8"
--- I think they're patrol routes, but I'm not sure. And I believe the 3rd parameter is a BOOL, but I can't confirm other than only seeing 0 and 1 being passed.
--- As far as I can see the patrol routes names such as "miss_Ass0" have been defined earlier in the scripts. This leads me to believe we can defined our own new patrol routes by following the same approach.
--- From the scripts
---     TASK::OPEN_PATROL_ROUTE("miss_Ass0");
---     TASK::ADD_PATROL_ROUTE_NODE(0, "WORLD_HUMAN_GUARD_STAND", l_738[0/*3*/], -139.4076690673828, -993.4732055664062, 26.2754, MISC::GET_RANDOM_INT_IN_RANGE(5000, 10000));
---     TASK::ADD_PATROL_ROUTE_NODE(1, "WORLD_HUMAN_GUARD_STAND", l_738[1/*3*/], -116.1391830444336, -987.4984130859375, 26.38541030883789, MISC::GET_RANDOM_INT_IN_RANGE(5000, 10000));
---     TASK::ADD_PATROL_ROUTE_NODE(2, "WORLD_HUMAN_GUARD_STAND", l_738[2/*3*/], -128.46847534179688, -979.0340576171875, 26.2754, MISC::GET_RANDOM_INT_IN_RANGE(5000, 10000));
---     TASK::ADD_PATROL_ROUTE_LINK(0, 1);
---     TASK::ADD_PATROL_ROUTE_LINK(1, 2);
---     TASK::ADD_PATROL_ROUTE_LINK(2, 0);
---     TASK::CLOSE_PATROL_ROUTE();
---     TASK::CREATE_PATROL_ROUTE();
--- 
---@param ped number
---@param p1 any
---@param p2 any
---@param p3 boolean
---@param p4 boolean
---@return any
function TaskPatrol(ped, p1, p2, p3, p4)
end

--- TASK_PERFORM_SEQUENCE
---
---@param ped number
---@param taskSequenceId any
---@return any
function TaskPerformSequence(ped, taskSequenceId)
end

--- TASK_PERFORM_SEQUENCE_FROM_PROGRESS
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function TaskPerformSequenceFromProgress(p0, p1, p2, p3)
end

--- TASK_PLANE_LAND
---
---@param pilot number
---@param plane any
---@param runwayStartX number
---@param runwayStartY number
---@param runwayStartZ number
---@param runwayEndX number
---@param runwayEndY number
---@param runwayEndZ number
---@return any
function TaskPlaneLand(pilot, plane, runwayStartX, runwayStartY, runwayStartZ, runwayEndX, runwayEndY, runwayEndZ)
end

--- RESET_SCENARIO_GROUPS_ENABLED
---
---@return any
function ResetScenarioGroupsEnabled()
end

--- SET_PED_PATH_PREFER_TO_AVOID_WATER
---
---@param ped number
---@param avoidWater boolean
---@return any
function SetPedPathPreferToAvoidWater(ped, avoidWater)
end

--- TASK_CHAT_TO_PED
---
--- p2 tend to be 16, 17 or 1  
--- p3 to p7 tend to be 0.0  
--- 
---@param ped number
---@param target number
---@param p2 any
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 number
---@param p7 number
---@return any
function TaskChatToPed(ped, target, p2, p3, p4, p5, p6, p7)
end

--- _TASK_HELI_ESCORT_HELI
---
--- NativeDB Introduced: v1290
--- 
---@param pilot number
---@param heli1 any
---@param heli2 any
---@param p3 number
---@param p4 number
---@param p5 number
---@return any
function TaskHeliEscortHeli(pilot, heli1, heli2, p3, p4, p5)
end

--- USE_WAYPOINT_RECORDING_AS_ASSISTED_MOVEMENT_ROUTE
---
---@param name any
---@param p1 boolean
---@param p2 number
---@param p3 number
---@return any
function UseWaypointRecordingAsAssistedMovementRoute(name, p1, p2, p3)
end

--- VEHICLE_WAYPOINT_PLAYBACK_OVERRIDE_SPEED
---
---@param vehicle any
---@param speed number
---@return any
function VehicleWaypointPlaybackOverrideSpeed(vehicle, speed)
end

--- WAYPOINT_RECORDING_GET_CLOSEST_WAYPOINT
---
--- For a full list of the points, see here: goo.gl/wIH0vn
--- 
---@param name any
---@param x number
---@param y number
---@param z number
---@param point any
---@return boolean
function WaypointRecordingGetClosestWaypoint(name, x, y, z, point)
end

--- ADD_COVER_BLOCKING_AREA
---
---@param playerX number
---@param playerY number
---@param playerZ number
---@param radiusX number
---@param radiusY number
---@param radiusZ number
---@param p6 boolean
---@param p7 boolean
---@param p8 boolean
---@param p9 boolean
---@return any
function AddCoverBlockingArea(playerX, playerY, playerZ, radiusX, radiusY, radiusZ, p6, p7, p8, p9)
end

--- ASSISTED_MOVEMENT_REQUEST_ROUTE
---
--- Routes: "1_FIBStairs", "2_FIBStairs", "3_FIBStairs", "4_FIBStairs", "5_FIBStairs", "5_TowardsFire", "6a_FIBStairs", "7_FIBStairs", "8_FIBStairs", "Aprtmnt_1", "AssAfterLift", "ATM_1", "coroner2", "coroner_stairs", "f5_jimmy1", "fame1", "family5b", "family5c", "Family5d", "family5d", "FIB_Glass1", "FIB_Glass2", "FIB_Glass3", "finaBroute1A", "finalb1st", "finalB1sta", "finalbround", "finalbroute2", "Hairdresser1", "jan_foyet_ft_door", "Jo_3", "Lemar1", "Lemar2", "mansion_1", "Mansion_1", "pols_1", "pols_2", "pols_3", "pols_4", "pols_5", "pols_6", "pols_7", "pols_8", "Pro_S1", "Pro_S1a", "Pro_S2", "Towards_case", "trev_steps", "tunrs1", "tunrs2", "tunrs3", "Wave01457s"  
--- 
---@param route any
---@return any
function AssistedMovementRequestRoute(route)
end

--- GET_SCRIPT_TASK_STATUS
---
--- Gets the status of a script-assigned task.
--- taskHash: https://alloc8or.re/gta5/doc/enums/eScriptTaskHash.txt
--- 
---@param ped number
---@param taskHash any
---@return any
function GetScriptTaskStatus(ped, taskHash)
end

--- _TASK_PLANE_TAXI
---
---@param pilot number
---@param aircraft any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@return any
function TaskPlaneTaxi(pilot, aircraft, p2, p3, p4, p5, p6)
end

--- TASK_SHOCKING_EVENT_REACT
---
---@param ped number
---@param eventHandle any
---@return any
function TaskShockingEventReact(ped, eventHandle)
end

--- TASK_VEHICLE_DRIVE_TO_COORD_LONGRANGE
---You can let your character drive to the destination at the speed and driving style you set. You can use map marks to set the destination.
---@param ped number
---@param vehicle any
---@param x number
---@param y number
---@param z number
---@param speed number
---@param driveMode any
---@param stopRange number
---@return any
function TaskVehicleDriveToCoordLongrange(ped, vehicle, x, y, z, speed, driveMode, stopRange)
end

--- WAYPOINT_RECORDING_GET_COORD
---
--- For a full list of the points, see here: goo.gl/wIH0vn
--- 
---@param name any
---@param point any
---@param coord any
---@return boolean
function WaypointRecordingGetCoord(name, point, coord)
end

--- SET_PARACHUTE_TASK_THRUST
---
---@param ped number
---@param thrust number
---@return any
function SetParachuteTaskThrust(ped, thrust)
end

--- SET_SCENARIO_TYPE_ENABLED
---
--- seems to enable/disable specific scenario-types from happening in the game world.
--- Here are some scenario types from the scripts:
--- "WORLD_MOUNTAIN_LION_REST"
--- "WORLD_MOUNTAIN_LION_WANDER"
--- "DRIVE"
--- "WORLD_VEHICLE_POLICE_BIKE"
--- "WORLD_VEHICLE_POLICE_CAR"
--- "WORLD_VEHICLE_POLICE_NEXT_TO_CAR"
--- "WORLD_VEHICLE_DRIVE_SOLO"
--- "WORLD_VEHICLE_BIKER"
--- "WORLD_VEHICLE_DRIVE_PASSENGERS"
--- "WORLD_VEHICLE_SALTON_DIRT_BIKE"
--- "WORLD_VEHICLE_BICYCLE_MOUNTAIN"
--- "PROP_HUMAN_SEAT_CHAIR"
--- "WORLD_VEHICLE_ATTRACTOR"
--- "WORLD_HUMAN_LEANING"
--- "WORLD_HUMAN_HANG_OUT_STREET"
--- "WORLD_HUMAN_DRINKING"
--- "WORLD_HUMAN_SMOKING"
--- "WORLD_HUMAN_GUARD_STAND"
--- "WORLD_HUMAN_CLIPBOARD"
--- "WORLD_HUMAN_HIKER"
--- "WORLD_VEHICLE_EMPTY"
--- "WORLD_VEHICLE_BIKE_OFF_ROAD_RACE"
--- "WORLD_HUMAN_PAPARAZZI"
--- "WORLD_VEHICLE_PARK_PERPENDICULAR_NOSE_IN"
--- "WORLD_VEHICLE_PARK_PARALLEL"
--- "WORLD_VEHICLE_CONSTRUCTION_SOLO"
--- "WORLD_VEHICLE_CONSTRUCTION_PASSENGERS"
--- "WORLD_VEHICLE_TRUCK_LOGS"
--- scenarioType could be the same as scenarioName, used in for example TASK::TASK_START_SCENARIO_AT_POSITION.
--- 
---@param scenarioType any
---@param toggle boolean
---@return any
function SetScenarioTypeEnabled(scenarioType, toggle)
end

--- TASK_COWER
---The ped will act like NPC's involved in a gunfight. The ped will squat down with their heads held in place and look around.
---@param ped number
---@param duration any
---@return any
function TaskCower(ped, duration)
end

--- TASK_PED_SLIDE_TO_COORD_HDG_RATE
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param heading number
---@param p5 number
---@param p6 number
---@return any
function TaskPedSlideToCoordHdgRate(ped, x, y, z, heading, p5, p6)
end

--- TASK_VEHICLE_CHASE
---
--- chases targetEnt fast and aggressively  
--- --  
--- Makes ped (needs to be in vehicle) chase targetEnt.  
--- 
---@param driver number
---@param targetEnt number
---@return any
function TaskVehicleChase(driver, targetEnt)
end

--- TASK_VEHICLE_PARK
---
--- Modes:  
--- 0 - ignore heading  
--- 1 - park forward  
--- 2 - park backwards  
--- Depending on the angle of approach, the vehicle can park at the specified heading or at its exact opposite (-180) angle.  
--- Radius seems to define how close the vehicle has to be -after parking- to the position for this task considered completed. If the value is too small, the vehicle will try to park again until it's exactly where it should be. 20.0 Works well but lower values don't, like the radius is measured in centimeters or something.  
--- 
---@param ped number
---@param vehicle any
---@param x number
---@param y number
---@param z number
---@param heading number
---@param mode any
---@param radius number
---@param keepEngineOn boolean
---@return any
function TaskVehiclePark(ped, vehicle, x, y, z, heading, mode, radius, keepEngineOn)
end

--- WAYPOINT_PLAYBACK_START_SHOOTING_AT_PED
---
---@param p0 any
---@param p1 any
---@param p2 boolean
---@param p3 any
---@return any
function WaypointPlaybackStartShootingAtPed(p0, p1, p2, p3)
end

--- SET_ANIM_LOOPED
---
---@param p0 any
---@param p1 boolean
---@param p2 any
---@param p3 boolean
---@return any
function SetAnimLooped(p0, p1, p2, p3)
end

--- SET_TASK_VEHICLE_CHASE_IDEAL_PURSUIT_DISTANCE
---
---@param ped number
---@param distance number
---@return any
function SetTaskVehicleChaseIdealPursuitDistance(ped, distance)
end

--- TASK_SET_SPHERE_DEFENSIVE_AREA
---
---@param p0 any
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@return any
function TaskSetSphereDefensiveArea(p0, p1, p2, p3, p4)
end

--- TASK_SKY_DIVE
---
--- NativeDB Added Parameter 2: BOOL p1
--- 
---@param ped number
---@return any
function TaskSkyDive(ped)
end

--- TASK_SEEK_COVER_TO_COVER_POINT
---
---@param p0 any
---@param p1 any
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 any
---@param p6 boolean
---@return any
function TaskSeekCoverToCoverPoint(p0, p1, p2, p3, p4, p5, p6)
end

--- WAYPOINT_PLAYBACK_PAUSE
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function WaypointPlaybackPause(p0, p1, p2)
end

--- _CLEAR_VEHICLE_TASKS
---
--- CLEAR_*
--- 
--- NativeDB Introduced: v1290
--- 
---@param vehicle any
---@return any
function ClearVehicleTasks(vehicle)
end

--- CLOSE_SEQUENCE_TASK
---
---@param taskSequenceId any
---@return any
function CloseSequenceTask(taskSequenceId)
end

--- SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT
---
--- p0 - PLAYER::PLAYER_PED_ID();
--- p1 - "Phase", "Wobble", "x_axis","y_axis","introphase","speed".
--- p2 - From what i can see it goes up to 1f (maybe).
--- -LcGamingHD
--- Example: TASK::_D5BB4025AE449A4E(PLAYER::PLAYER_PED_ID(), "Phase", 0.5);
--- 
---@param ped number
---@param signalName any
---@param value number
---@return any
function SetTaskMoveNetworkSignalFloat(ped, signalName, value)
end

--- TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY
---
---@param p0 any
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 any
---@param p5 number
---@param p6 boolean
---@param p7 number
---@param p8 number
---@param p9 boolean
---@param p10 any
---@param p11 boolean
---@param p12 any
---@param p13 any
---@return any
function TaskGoToCoordWhileAimingAtEntity(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13)
end

--- TASK_LOOK_AT_ENTITY
---
--- param3: duration in ms, use -1 to look forever  
--- param4: using 2048 is fine  
--- param5: using 3 is fine  
--- 
---@param ped number
---@param lookAt number
---@param duration any
---@param unknown1 any
---@param unknown2 any
---@return any
function TaskLookAtEntity(ped, lookAt, duration, unknown1, unknown2)
end

--- TASK_SET_DECISION_MAKER
---
--- p1 is always GET_HASH_KEY("empty") in scripts, for the rare times this is used  
--- 
---@param ped number
---@param p1 any
---@return any
function TaskSetDecisionMaker(ped, p1)
end

--- TASK_START_SCENARIO_IN_PLACE
---
--- Plays a scenario on a Ped at their current location.  
--- unkDelay - Usually 0 or -1, doesn't seem to have any effect. Might be a delay between sequences.  
--- playEnterAnim - Plays the "Enter" anim if true, otherwise plays the "Exit" anim. Scenarios that don't have any "Enter" anims won't play if this is set to true.  
--- 
--- List of scenarioNames: pastebin.com/6mrYTdQv  
--- 
--- Also these:  
--- WORLD_FISH_FLEE  
--- DRIVE  
--- WORLD_HUMAN_HIKER  
--- WORLD_VEHICLE_ATTRACTOR  
--- WORLD_VEHICLE_BICYCLE_MOUNTAIN  
--- WORLD_VEHICLE_BIKE_OFF_ROAD_RACE  
--- WORLD_VEHICLE_BIKER  
--- WORLD_VEHICLE_CONSTRUCTION_PASSENGERS  
--- WORLD_VEHICLE_CONSTRUCTION_SOLO  
--- WORLD_VEHICLE_DRIVE_PASSENGERS  
--- WORLD_VEHICLE_DRIVE_SOLO  
--- WORLD_VEHICLE_EMPTY  
--- WORLD_VEHICLE_PARK_PARALLEL  
--- WORLD_VEHICLE_PARK_PERPENDICULAR_NOSE_IN  
--- WORLD_VEHICLE_POLICE_BIKE  
--- WORLD_VEHICLE_POLICE_CAR  
--- WORLD_VEHICLE_POLICE_NEXT_TO_CAR  
--- WORLD_VEHICLE_SALTON_DIRT_BIKE  
--- WORLD_VEHICLE_TRUCK_LOGS  
--- 
---@param ped number
---@param scenarioName any
---@param unkDelay any
---@param playEnterAnim boolean
---@return any
function TaskStartScenarioInPlace(ped, scenarioName, unkDelay, playEnterAnim)
end

--- _TASK_WANDER_SPECIFIC
---
--- NativeDB Introduced: v1868
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function TaskWanderSpecific(p0, p1, p2, p3)
end

--- TASK_COMBAT_PED_TIMED
---
---@param p0 any
---@param ped number
---@param p2 any
---@param p3 any
---@return any
function TaskCombatPedTimed(p0, ped, p2, p3)
end

--- TASK_EXIT_COVER
---
---@param p0 any
---@param p1 any
---@param p2 number
---@param p3 number
---@param p4 number
---@return any
function TaskExitCover(p0, p1, p2, p3, p4)
end

--- TASK_GO_TO_COORD_ANY_MEANS
---
--- example from fm_mission_controller
--- TASK::TASK_GO_TO_COORD_ANY_MEANS(l_649, sub_f7e86(-1, 0), 1.0, 0, 0, 786603, 0xbf800000);
--- 
---@param ped number
---@param x number
---@param y number
---@param z number
---@param speed number
---@param p5 any
---@param p6 boolean
---@param walkingStyle any
---@param p8 number
---@return any
function TaskGoToCoordAnyMeans(ped, x, y, z, speed, p5, p6, walkingStyle, p8)
end

--- TASK_MOVE_NETWORK_BY_NAME
---
--- Example:
--- TASK::TASK_MOVE_NETWORK_BY_NAME(PLAYER::PLAYER_PED_ID(), "arm_wrestling_sweep_paired_a_rev3", 0.0f, true, "mini@arm_wrestling", 0);
--- 
---@param ped number
---@param task any
---@param multiplier number
---@param p3 boolean
---@param animDict any
---@param flags any
---@return any
function TaskMoveNetworkByName(ped, task, multiplier, p3, animDict, flags)
end

--- SET_ANIM_RATE
---
---@param p0 any
---@param p1 number
---@param p2 any
---@param p3 boolean
---@return any
function SetAnimRate(p0, p1, p2, p3)
end

--- SET_PED_PATH_CAN_DROP_FROM_HEIGHT
---
---@param ped number
---@param Toggle boolean
---@return any
function SetPedPathCanDropFromHeight(ped, Toggle)
end

--- TASK_CLEAR_DEFENSIVE_AREA
---
---@param p0 any
---@return any
function TaskClearDefensiveArea(p0)
end

--- TASK_GET_OFF_BOAT
---
---@param ped number
---@param boat any
---@return any
function TaskGetOffBoat(ped, boat)
end

--- ADD_VEHICLE_SUBTASK_ATTACK_PED
---
---@param ped number
---@param ped2 number
---@return any
function AddVehicleSubtaskAttackPed(ped, ped2)
end

--- TASK_PLANE_CHASE
---
---@param pilot number
---@param entityToFollow number
---@param x number
---@param y number
---@param z number
---@return any
function TaskPlaneChase(pilot, entityToFollow, x, y, z)
end

--- TASK_VEHICLE_ESCORT
---
--- Makes a ped follow the targetVehicle with <minDistance> in between.  
--- note: minDistance is ignored if drivingstyle is avoiding traffic, but Rushed is fine.  
--- Mode: The mode defines the relative position to the targetVehicle. The ped will try to position its vehicle there.  
--- -1 = behind  
--- 0 = ahead  
--- 1 = left  
--- 2 = right  
--- 3 = back left  
--- 4 = back right  
--- if the target is closer than noRoadsDistance, the driver will ignore pathing/roads and follow you directly.  
--- Driving Styles guide: gtaforums.com/topic/822314-guide-driving-styles/  
--- 
---@param ped number
---@param vehicle any
---@param targetVehicle any
---@param mode any
---@param speed number
---@param drivingStyle any
---@param minDistance number
---@param p7 any
---@param noRoadsDistance number
---@return any
function TaskVehicleEscort(ped, vehicle, targetVehicle, mode, speed, drivingStyle, minDistance, p7, noRoadsDistance)
end

--- CREATE_PATROL_ROUTE
---
---@return any
function CreatePatrolRoute()
end

--- TASK_PLAY_ANIM
---[Animations list](https://alexguirre.github.io/animations-list/)
--- 
--- 
--- float blendInSpeed > normal speed is 8.0f
--- ----------------------  
--- float blendOutSpeed > normal speed is 8.0f
--- ----------------------  
--- int duration: time in millisecond  
--- ----------------------  
--- -1 _ _ _ _ _ _ _> Default (see flag)  
--- 0 _ _ _ _ _ _ _ > Not play at all  
--- Small value _ _ > Slow down animation speed  
--- Other _ _ _ _ _ > freeze player control until specific time (ms) has   
--- _ _ _ _ _ _ _ _ _ passed. (No effect if flag is set to be   
--- _ _ _ _ _ _ _ _ _ controllable.)  
--- int flag:  
--- ----------------------  
--- enum eAnimationFlags  
--- {  
---  ANIM_FLAG_NORMAL = 0,  
---    ANIM_FLAG_REPEAT = 1,  
---    ANIM_FLAG_STOP_LAST_FRAME = 2,  
---    ANIM_FLAG_UPPERBODY = 16,  
---    ANIM_FLAG_ENABLE_PLAYER_CONTROL = 32,  
---    ANIM_FLAG_CANCELABLE = 120,  
--- };  
--- Odd number : loop infinitely  
--- Even number : Freeze at last frame  
--- Multiple of 4: Freeze at last frame but controllable  
--- 01 to 15 > Full body  
--- 10 to 31 > Upper body  
--- 32 to 47 > Full body > Controllable  
--- 48 to 63 > Upper body > Controllable  
--- ...  
--- 001 to 255 > Normal  
--- 256 to 511 > Garbled  
--- ...  
--- playbackRate:  
--- values are between 0.0 and 1.0  
--- lockX:    
--- 0 in most cases 1 for rcmepsilonism8 and rcmpaparazzo_3  
--- > 1 for mini@sprunk  
--- lockY:  
--- 0 in most cases   
--- 1 for missfam5_yoga, missfra1mcs_2_crew_react  
--- lockZ:   
---     0 for single player   
---     Can be 1 but only for MP  
--- 
---@param ped number
---@param animDictionary any
---@param animationName any
---@param blendInSpeed number
---@param blendOutSpeed number
---@param duration any
---@param flag any
---@param playbackRate number
---@param lockX boolean
---@param lockY boolean
---@param lockZ boolean
---@return any
function TaskPlayAnim(ped, animDictionary, animationName, blendInSpeed, blendOutSpeed, duration, flag, playbackRate, lockX, lockY, lockZ)
end

--- TASK_STOP_PHONE_GESTURE_ANIMATION
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param ped number
---@return any
function TaskStopPhoneGestureAnimation(ped)
end

--- IS_MOVE_BLEND_RATIO_SPRINTING
---
---@param ped number
---@return boolean
function IsMoveBlendRatioSprinting(ped)
end

--- IS_PED_IN_WRITHE
---This native checks if a ped is on the ground, in pain from a (gunshot) wound.
---@param ped number
---@return boolean
function IsPedInWrithe(ped)
end

--- IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_PED
---
---@param p0 any
---@return boolean
function IsWaypointPlaybackGoingOnForPed(p0)
end

--- TASK_VEHICLE_MISSION_PED_TARGET
---See [TASK_VEHICLE_MISSION](#\_0x659427E0EF36BCDE).
---@param ped number
---@param vehicle any
---@param pedTarget number
---@param missionType any
---@param maxSpeed number
---@param drivingStyle any
---@param minDistance number
---@param p7 number
---@param DriveAgainstTraffic boolean
---@return any
function TaskVehicleMissionPedTarget(ped, vehicle, pedTarget, missionType, maxSpeed, drivingStyle, minDistance, p7, DriveAgainstTraffic)
end

--- SET_DRIVE_TASK_CRUISE_SPEED
---
---@param driver number
---@param cruiseSpeed number
---@return any
function SetDriveTaskCruiseSpeed(driver, cruiseSpeed)
end

--- TASK_HELI_MISSION
---
--- Needs more research.
--- Default value of p13 is -1.0 or 0xBF800000.
--- Default value of p14 is 0.
--- Modified examples from "fm_mission_controller.ysc", line ~203551:
--- TASK::TASK_HELI_MISSION(ped, vehicle, 0, 0, posX, posY, posZ, 4, 1.0, -1.0, -1.0, 10, 10, 5.0, 0);
--- TASK::TASK_HELI_MISSION(ped, vehicle, 0, 0, posX, posY, posZ, 4, 1.0, -1.0, -1.0, 0, ?, 5.0, 4096);
--- int mode seams to set mission type 4 = coords target, 23 = ped target.
--- int 14 set to 32 = ped will land at destination.
--- My findings:
--- mode 4 or 7 forces heli to snap to the heading set
--- 8 makes the heli flee from the ped.
--- 9 circles around ped with angle set
--- 10, 11 normal + imitate ped heading
--- 20 makes the heli land when he's near the ped. It won't resume chasing.
--- 21 emulates an helicopter crash
--- 23 makes the heli circle erratically around ped
--- I change p2 to 'vehicleToFollow' as it seems to work like the task natives to set targets. In the heli_taxi script where as the merryweather heli takes you to your waypoint it has no need to follow a vehicle or a ped, so of course both have 0 set.
--- 
---@param pilot number
---@param aircraft any
---@param targetVehicle any
---@param targetPed number
---@param destinationX number
---@param destinationY number
---@param destinationZ number
---@param missionFlag any
---@param maxSpeed number
---@param landingRadius number
---@param targetHeading number
---@param unk1 any
---@param unk2 any
---@param unk3 number
---@param landingFlags any
---@return any
function TaskHeliMission(pilot, aircraft, targetVehicle, targetPed, destinationX, destinationY, destinationZ, missionFlag, maxSpeed, landingRadius, targetHeading, unk1, unk2, unk3, landingFlags)
end

--- TASK_SMART_FLEE_PED
---
--- Makes a ped run away from another ped (fleeTarget).  
--- distance = ped will flee this distance.  
--- fleeTime = ped will flee for this amount of time, set to "-1" to flee forever  
--- 
---@param ped number
---@param fleeTarget number
---@param distance number
---@param fleeTime any
---@param p4 boolean
---@param p5 boolean
---@return any
function TaskSmartFleePed(ped, fleeTarget, distance, fleeTime, p4, p5)
end

--- TASK_STEALTH_KILL
---
--- Stealth kill action name hashes:  
--- stealth kills can be found here: Grand Theft Auto V\common.rpf\data\action\stealth_kills.meta  
--- ...  
--- {  
---     "ACT_stealth_kill_a",  
---     "ACT_stealth_kill_weapon",  
---     "ACT_stealth_kill_b",  
---     "ACT_stealth_kill_c",  
---     "ACT_stealth_kill_d",  
---     "ACT_stealth_kill_a_gardener"  
--- }  
--- Only known script using this native: fbi4_prep2  
--- EXAMPLE:  
--- ai::task_stealth_kill(iParam1, Local_252, gameplay::get_hash_key("AR_stealth_kill_a"), 1f, 0);ai::task_stealth_kill(iParam1, Local_252, gameplay::get_hash_key("AR_stealth_kill_knife"), 1f, 0);  
--- Also it may be important to note, that each time this task is called, it's followed by AI::CLEAR_PED_TASKS on the target  
--- 
---@param killer number
---@param target number
---@param actionType any
---@param p3 number
---@param p4 any
---@return any
function TaskStealthKill(killer, target, actionType, p3, p4)
end

--- TASK_GOTO_ENTITY_OFFSET_XY
---
---@param ped number
---@param entity number
---@param duration any
---@param xOffset number
---@param yOffset number
---@param zOffset number
---@param moveBlendRatio number
---@param useNavmesh boolean
---@return any
function TaskGotoEntityOffsetXy(ped, entity, duration, xOffset, yOffset, zOffset, moveBlendRatio, useNavmesh)
end

--- TASK_REACT_AND_FLEE_PED
---
---@param ped number
---@param fleeTarget number
---@return any
function TaskReactAndFleePed(ped, fleeTarget)
end

--- CLEAR_DRIVEBY_TASK_UNDERNEATH_DRIVING_TASK
---
---@param ped number
---@return any
function ClearDrivebyTaskUnderneathDrivingTask(ped)
end

--- IS_DRIVEBY_TASK_UNDERNEATH_DRIVING_TASK
---
---@param ped number
---@return boolean
function IsDrivebyTaskUnderneathDrivingTask(ped)
end

--- SET_SEQUENCE_TO_REPEAT
---
---@param taskSequenceId any
---@param repeatSequence boolean
---@return any
function SetSequenceToRepeat(taskSequenceId, repeatSequence)
end

--- TASK_GOTO_ENTITY_OFFSET
---
---@param ped number
---@param p1 any
---@param p2 any
---@param x number
---@param y number
---@param z number
---@param duration any
---@return any
function TaskGotoEntityOffset(ped, p1, p2, x, y, z, duration)
end

--- UPDATE_TASK_SWEEP_AIM_ENTITY
---
---@param ped number
---@param entity number
---@return any
function UpdateTaskSweepAimEntity(ped, entity)
end

--- CLEAR_PED_TASKS_IMMEDIATELY
---Immediately stops the pedestrian from whatever it's doing. The difference between this and [CLEAR_PED_TASKS](#\_0xE1EF3C1216AFF2CD) is that this one teleports the ped but does not change the position of the ped.
---@param ped number
---@return any
function ClearPedTasksImmediately(ped)
end

--- STOP_ANIM_TASK
---[Animations list](https://alexguirre.github.io/animations-list/)
---@param ped number
---@param animDictionary any
---@param animationName any
---@param p3 number
---@return any
function StopAnimTask(ped, animDictionary, animationName, p3)
end

--- TASK_CLEAR_LOOK_AT
---
--- Not clear what it actually does, but here's how script uses it -
--- if (OBJECT::HAS_PICKUP_BEEN_COLLECTED(...)
--- {
---  if(ENTITY::DOES_ENTITY_EXIST(PLAYER::PLAYER_PED_ID()))
---     {
---      TASK::TASK_CLEAR_LOOK_AT(PLAYER::PLAYER_PED_ID());
---   }
---  ...
--- }
--- Another one where it doesn't "look" at current player -
--- TASK::TASK_PLAY_ANIM(l_3ED, "missheist_agency2aig_2", "look_at_phone_a", 1000.0, -2.0, -1, 48, v_2, 0, 0, 0);
--- PED::_2208438012482A1A(l_3ED, 0, 0);
--- TASK::TASK_CLEAR_LOOK_AT(l_3ED);
--- 
---@param ped number
---@return any
function TaskClearLookAt(ped)
end

--- TASK_GO_TO_ENTITY_WHILE_AIMING_AT_COORD
---
---@param p0 any
---@param p1 any
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 boolean
---@param p7 number
---@param p8 number
---@param p9 boolean
---@param p10 boolean
---@param p11 any
---@return any
function TaskGoToEntityWhileAimingAtCoord(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11)
end

--- TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING
---
--- task_vehicle_follow_waypoint_recording(Ped p0, Vehicle p1, string p2, int p3, int p4, int p5, int p6, float.x p7, float.Y p8, float.Z p9, bool p10, int p11)
--- p2 = Waypoint recording string (found in update\update.rpf\x64\levels\gta5\waypointrec.rpf
--- p3 = 786468
--- p4 = 0
--- p5 = 16
--- p6 = -1 (angle?)
--- p7/8/9 = usually v3.zero
--- p10 = bool (repeat?)
--- p11 = 1073741824
--- -khorio
--- 
---@param ped number
---@param vehicle any
---@param WPRecording any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@param p7 number
---@param p8 boolean
---@param p9 number
---@return any
function TaskVehicleFollowWaypointRecording(ped, vehicle, WPRecording, p3, p4, p5, p6, p7, p8, p9)
end

--- TASK_VEHICLE_GOTO_NAVMESH
---
--- Differs from TASK_VEHICLE_DRIVE_TO_COORDS in that it will pick the shortest possible road route without taking one-way streets and other "road laws" into consideration.  
--- WARNING:  
--- A behaviorFlag value of 0 will result in a clunky, stupid driver!  
--- Recommended settings:  
--- speed = 30.0f,  
--- behaviorFlag = 156,   
--- stoppingRange = 5.0f;  
--- If you simply want to have your driver move to a fixed location, call it only once, or, when necessary in the event of interruption.   
--- If using this to continually follow a Ped who is on foot:  You will need to run this in a tick loop.  Call it in with the Ped's updated coordinates every 20 ticks or so and you will have one hell of a smart, fast-reacting NPC driver -- provided he doesn't get stuck.  If your update frequency is too fast, the Ped may not have enough time to figure his way out of being stuck, and thus, remain stuck.  One way around this would be to implement an "anti-stuck" mechanism, which allows the driver to realize he's stuck, temporarily pause the tick, unstuck, then resume the tick.  
--- EDIT:  This is being discussed in more detail at http://gtaforums.com/topic/818504-any-idea-on-how-to-make-peds-clever-and-insanely-fast-c/  
--- 
---@param ped number
---@param vehicle any
---@param x number
---@param y number
---@param z number
---@param speed number
---@param behaviorFlag any
---@param stoppingRange number
---@return any
function TaskVehicleGotoNavmesh(ped, vehicle, x, y, z, speed, behaviorFlag, stoppingRange)
end

--- VEHICLE_WAYPOINT_PLAYBACK_USE_DEFAULT_SPEED
---
---@param vehicle any
---@return any
function VehicleWaypointPlaybackUseDefaultSpeed(vehicle)
end

--- CLEAR_PED_TASKS
---Clear a ped's tasks. Stop animations and other tasks created by scripts.
---@param ped number
---@return any
function ClearPedTasks(ped)
end

--- IS_SCENARIO_GROUP_ENABLED
---
---  Occurrences in the b617d scripts:
---  "ARMY_GUARD",
---  "ARMY_HELI",
---  "BLIMP",
---  "Cinema_Downtown",
---  "Cinema_Morningwood",
---  "Cinema_Textile",
---  "City_Banks",
---  "Countryside_Banks",
---  "DEALERSHIP",
---  "KORTZ_SECURITY",
---  "LSA_Planes",
---  "MP_POLICE",
---  "Observatory_Bikers",
---  "POLICE_POUND1",
---  "POLICE_POUND2",
---  "POLICE_POUND3",
---  "POLICE_POUND4",
---  "POLICE_POUND5",
---  "Rampage1",
---  "SANDY_PLANES",
---  "SCRAP_SECURITY",
---  "SEW_MACHINE",
---  "SOLOMON_GATE"
--- Sometimes used with DOES_SCENARIO_GROUP_EXIST:
--- if (TASK::DOES_SCENARIO_GROUP_EXIST("Observatory_Bikers") &&   (!TASK::IS_SCENARIO_GROUP_ENABLED("Observatory_Bikers"))) {
--- else if (TASK::IS_SCENARIO_GROUP_ENABLED("BLIMP")) {
--- 
---@param scenarioGroup any
---@return boolean
function IsScenarioGroupEnabled(scenarioGroup)
end

--- TASK_COMBAT_HATED_TARGETS_AROUND_PED
---
--- Despite its name, it only attacks ONE hated target. The one closest hated target.  
--- p2 seems to be always 0  
--- 
---@param ped number
---@param radius number
---@param p2 any
---@return any
function TaskCombatHatedTargetsAroundPed(ped, radius, p2)
end

--- TASK_SCRIPTED_ANIMATION
---
--- From fm_mission_controller.c:  
--- reserve_network_mission_objects(get_num_reserved_mission_objects(0) + 1);  
--- 	vVar28 = {0.094f, 0.02f, -0.005f};  
--- 	vVar29 = {-92.24f, 63.64f, 150.24f};  
--- 	func_253(&uVar30, joaat("prop_ld_case_01"), Global_1592429.imm_34757[iParam1 <268>], 1, 1, 0, 1);  
--- 	set_entity_lod_dist(net_to_ent(uVar30), 500);  
--- 	attach_entity_to_entity(net_to_ent(uVar30), iParam0, get_ped_bone_index(iParam0, 28422), vVar28, vVar29, 1, 0, 0, 0, 2, 1);  
--- 	Var31.imm_4 = 1065353216;  
--- 	Var31.imm_5 = 1065353216;  
--- 	Var31.imm_9 = 1065353216;  
--- 	Var31.imm_10 = 1065353216;  
--- 	Var31.imm_14 = 1065353216;  
--- 	Var31.imm_15 = 1065353216;  
--- 	Var31.imm_17 = 1040187392;  
--- 	Var31.imm_18 = 1040187392;  
--- 	Var31.imm_19 = -1;  
--- 	Var32.imm_4 = 1065353216;  
--- 	Var32.imm_5 = 1065353216;  
--- 	Var32.imm_9 = 1065353216;  
--- 	Var32.imm_10 = 1065353216;  
--- 	Var32.imm_14 = 1065353216;  
--- 	Var32.imm_15 = 1065353216;  
--- 	Var32.imm_17 = 1040187392;  
--- 	Var32.imm_18 = 1040187392;  
--- 	Var32.imm_19 = -1;  
--- 	Var31 = 1;  
--- 	Var31.imm_1 = "weapons@misc@jerrycan@mp_male";  
--- 	Var31.imm_2 = "idle";  
--- 	Var31.imm_20 = 1048633;  
--- 	Var31.imm_4 = 0.5f;  
--- 	Var31.imm_16 = get_hash_key("BONEMASK_ARMONLY_R");  
--- 	task_scripted_animation(iParam0, &Var31, &Var32, &Var32, 0f, 0.25f);  
--- 	set_model_as_no_longer_needed(joaat("prop_ld_case_01"));  
--- 	remove_anim_dict("anim@heists@biolab@");  
--- 
---@param ped number
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 number
---@param p5 number
---@return any
function TaskScriptedAnimation(ped, p1, p2, p3, p4, p5)
end

--- TASK_WANDER_STANDARD
---
--- Makes ped walk around the area.  
--- set p1 to 10.0f and p2 to 10 if you want the ped to walk anywhere without a duration.  
--- 
---@param ped number
---@param p1 number
---@param p2 any
---@return any
function TaskWanderStandard(ped, p1, p2)
end

--- WAYPOINT_PLAYBACK_STOP_AIMING_OR_SHOOTING
---
---@param p0 any
---@return any
function WaypointPlaybackStopAimingOrShooting(p0)
end

--- TASK_VEHICLE_MISSION
---
--- missionType: https://alloc8or.re/gta5/doc/enums/eVehicleMissionType.txt
--- 
---@param driver number
---@param vehicle any
---@param vehicleTarget any
---@param missionType any
---@param p4 number
---@param p5 any
---@param p6 number
---@param p7 number
---@param DriveAgainstTraffic boolean
---@return any
function TaskVehicleMission(driver, vehicle, vehicleTarget, missionType, p4, p5, p6, p7, DriveAgainstTraffic)
end

--- TASK_VEHICLE_MISSION_COORS_TARGET
---See [TASK_VEHICLE_MISSION](#\_0x659427E0EF36BCDE).
---@param ped number
---@param vehicle any
---@param x number
---@param y number
---@param z number
---@param p5 any
---@param p6 any
---@param p7 any
---@param p8 number
---@param p9 number
---@param DriveAgainstTraffic boolean
---@return any
function TaskVehicleMissionCoorsTarget(ped, vehicle, x, y, z, p5, p6, p7, p8, p9, DriveAgainstTraffic)
end

--- TASK_VEHICLE_PLAY_ANIM
---
--- Most probably plays a specific animation on vehicle. For example getting chop out of van etc...
--- Here's how its used -
--- TASK::TASK_VEHICLE_PLAY_ANIM(l_325, "rcmnigel1b", "idle_speedo");
--- TASK::TASK_VEHICLE_PLAY_ANIM(l_556[0/*1*/], "missfra0_chop_drhome", "InCar_GetOutofBack_Speedo");
--- FYI : Speedo is the name of van in which chop was put in the mission.
--- 
---@param vehicle any
---@param animationSet any
---@param animationName any
---@return any
function TaskVehiclePlayAnim(vehicle, animationSet, animationName)
end

--- TASK_GO_TO_COORD_ANY_MEANS_EXTRA_PARAMS
---
--- NativeDB Added Parameter 13: Any p12
--- 
---@param ped number
---@param x number
---@param y number
---@param z number
---@param speed number
---@param p5 any
---@param p6 boolean
---@param walkingStyle any
---@param p8 number
---@param p9 any
---@param p10 any
---@param p11 any
---@return any
function TaskGoToCoordAnyMeansExtraParams(ped, x, y, z, speed, p5, p6, walkingStyle, p8, p9, p10, p11)
end

--- _TASK_MOVE_NETWORK_BY_NAME_WITH_INIT_PARAMS
---
--- Used only once in the scripts (am_mp_nightclub)
--- 
--- 
--- 
--- Used only once in the scripts (am_mp_nightclub)
--- 
--- NativeDB Introduced: v1493
--- 
---@param ped number
---@param p1 any
---@param data any
---@param p3 number
---@param p4 boolean
---@param animDict any
---@param flags any
---@return any
function TaskMoveNetworkByNameWithInitParams(ped, p1, data, p3, p4, animDict, flags)
end

--- DOES_SCENARIO_EXIST_IN_AREA
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@param b boolean
---@return boolean
function DoesScenarioExistInArea(x, y, z, radius, b)
end

--- GET_NAVMESH_ROUTE_DISTANCE_REMAINING
---
--- Looks like the last parameter returns true if the path has been calculated, while the first returns the remaining distance to the end of the path.
--- Return value of native is the same as GET_NAVMESH_ROUTE_RESULT
--- Looks like the native returns an int for the path's state:
--- 1 - ???
--- 2 - ???
--- 3 - Finished Generating
--- 
---@param ped number
---@param distanceRemaining any
---@param isPathReady any
---@return any
function GetNavmeshRouteDistanceRemaining(ped, distanceRemaining, isPathReady)
end

--- IS_MOVE_BLEND_RATIO_WALKING
---
---@param ped number
---@return boolean
function IsMoveBlendRatioWalking(ped)
end

--- OPEN_SEQUENCE_TASK
---
---@param taskSequenceId any
---@return any
function OpenSequenceTask(taskSequenceId)
end

--- ADD_PATROL_ROUTE_NODE
---
--- Example:
--- TASK::ADD_PATROL_ROUTE_NODE(2, "WORLD_HUMAN_GUARD_STAND", -193.4915, -2378.864990234375, 10.9719, -193.4915, -2378.864990234375, 10.9719, 3000);
--- p0 is between 0 and 4 in the scripts.
--- p1 is "WORLD_HUMAN_GUARD_STAND" or "StandGuard".
--- p2, p3 and p4 is only one parameter sometimes in the scripts. Most likely a Vector3 hence p2, p3 and p4 are coordinates.
--- Examples:
--- TASK::ADD_PATROL_ROUTE_NODE(1, "WORLD_HUMAN_GUARD_STAND", l_739[7/*3*/], 0.0, 0.0, 0.0, 0);
--- TASK::ADD_PATROL_ROUTE_NODE(1, "WORLD_HUMAN_GUARD_STAND", l_B0[17/*44*/]._f3, l_B0[17/*44*/]._f3, 2000);
--- p5, p6 and p7 are for example set to: 1599.0406494140625, 2713.392578125, 44.4309.
--- p8 is an int, often random set to for example: MISC::GET_RANDOM_INT_IN_RANGE(5000, 10000).
--- 
---@param p0 any
---@param p1 any
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param p8 any
---@return any
function AddPatrolRouteNode(p0, p1, x1, y1, z1, x2, y2, z2, p8)
end

--- TASK_SHUFFLE_TO_NEXT_VEHICLE_SEAT
---
--- Makes the specified ped shuffle to the next vehicle seat.  
--- The ped MUST be in a vehicle and the vehicle parameter MUST be the ped's current vehicle.  
--- 
--- 
--- 
--- NativeDB Added Parameter 3: Any p2
--- 
---@param ped number
---@param vehicle any
---@return any
function TaskShuffleToNextVehicleSeat(ped, vehicle)
end

--- TASK_VEHICLE_SHOOT_AT_COORD
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param p4 number
---@return any
function TaskVehicleShootAtCoord(ped, x, y, z, p4)
end

--- TASK_GUARD_ASSIGNED_DEFENSIVE_AREA
---
---@param p0 any
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 any
---@return any
function TaskGuardAssignedDefensiveArea(p0, p1, p2, p3, p4, p5, p6)
end

--- TASK_PARACHUTE_TO_TARGET
---
--- makes ped parachute to coords x y z. Works well with PATHFIND::GET_SAFE_COORD_FOR_PED  
--- 
---@param ped number
---@param x number
---@param y number
---@param z number
---@return any
function TaskParachuteToTarget(ped, x, y, z)
end

--- UPDATE_TASK_SWEEP_AIM_POSITION
---
---@param p0 any
---@param p1 number
---@param p2 number
---@param p3 number
---@return any
function UpdateTaskSweepAimPosition(p0, p1, p2, p3)
end

--- TASK_VEHICLE_FOLLOW
---
--- Makes a ped in a vehicle follow an entity (ped, vehicle, etc.)
--- drivingStyle: http://gtaforums.com/topic/822314-guide-driving-styles/
--- 
---@param driver number
---@param vehicle any
---@param targetEntity number
---@param speed number
---@param drivingStyle any
---@param minDistance any
---@return any
function TaskVehicleFollow(driver, vehicle, targetEntity, speed, drivingStyle, minDistance)
end

--- OPEN_PATROL_ROUTE
---
--- The patrol route name must starts with "miss_" to be properly created. 
--- 
---  patrolRoutes found in the b617d scripts:
---  "miss_Ass0",
---  "miss_Ass1",
---  "miss_Ass2",
---  "miss_Ass3",
---  "miss_Ass4",
---  "miss_Ass5",
---  "miss_Ass6",
---  "MISS_PATROL_6",
---  "MISS_PATROL_7",
---  "MISS_PATROL_8",
---  "MISS_PATROL_9",
---  "miss_Tower_01",
---  "miss_Tower_02",
---  "miss_Tower_03",
---  "miss_Tower_04",
---  "miss_Tower_05",
---  "miss_Tower_06",
---  "miss_Tower_07",
---  "miss_Tower_08",
---  "miss_Tower_10"
--- 
---@param patrolRoute any
---@return any
function OpenPatrolRoute(patrolRoute)
end

--- SET_PED_DESIRED_MOVE_BLEND_RATIO
---
---@param ped number
---@param p1 number
---@return any
function SetPedDesiredMoveBlendRatio(ped, p1)
end

--- TASK_CLIMB
---
--- Climbs or vaults the nearest thing.  
--- 
---@param ped number
---@param unused boolean
---@return any
function TaskClimb(ped, unused)
end

--- TASK_MOVE_NETWORK_ADVANCED_BY_NAME
---
--- Example:
--- TASK::TASK_MOVE_NETWORK_ADVANCED_BY_NAME(PLAYER::PLAYER_PED_ID(), "minigame_tattoo_michael_parts", 324.13f, 181.29f, 102.6f, 0.0f, 0.0f, 22.32f, 2, 0, false, 0, 0);
--- 
---@param ped number
---@param p1 any
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 number
---@param p7 number
---@param p8 any
---@param p9 number
---@param p10 boolean
---@param animDict any
---@param flags any
---@return any
function TaskMoveNetworkAdvancedByName(ped, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, animDict, flags)
end

--- TASK_SEEK_COVER_FROM_POS
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param duration any
---@param p5 boolean
---@return any
function TaskSeekCoverFromPos(ped, x, y, z, duration, p5)
end

--- TASK_SET_BLOCKING_OF_NON_TEMPORARY_EVENTS
---
--- I cant believe I have to define this, this is one of the best natives.  
--- It makes the ped ignore basically all shocking events around it. Occasionally the ped may comment or gesture, but other than that they just continue their daily activities. This includes shooting and wounding the ped. And - most importantly - they do not flee.  
--- Since it is a task, every time the native is called the ped will stop for a moment.  
--- 
---@param ped number
---@param toggle boolean
---@return any
function TaskSetBlockingOfNonTemporaryEvents(ped, toggle)
end

--- _GET_TASK_MOVE_NETWORK_SIGNAL_FLOAT
---
--- NativeDB Introduced: v1493
--- 
---@param ped number
---@param signalName any
---@return number
function GetTaskMoveNetworkSignalFloat(ped, signalName)
end

--- SET_ANIM_PHASE
---
--- NativeDB Introduced: v2372
--- 
---@param entity number
---@param p1 number
---@param p2 any
---@param p3 boolean
---@return any
function SetAnimPhase(entity, p1, p2, p3)
end

--- TASK_COMBAT_PED
---
--- Makes the specified ped attack the target ped.  
--- p2 should be 0  
--- p3 should be 16  
--- 
---@param ped number
---@param targetPed number
---@param p2 any
---@param p3 any
---@return any
function TaskCombatPed(ped, targetPed, p2, p3)
end

--- TASK_PED_SLIDE_TO_COORD
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param heading number
---@param duration number
---@return any
function TaskPedSlideToCoord(ped, x, y, z, heading, duration)
end

--- TASK_TURN_PED_TO_FACE_ENTITY
---
--- duration: the amount of time in milliseconds to do the task. -1 will keep the task going until either another task is applied, or CLEAR_ALL_TASKS() is called with the ped  
--- 
---@param ped number
---@param entity number
---@param duration any
---@return any
function TaskTurnPedToFaceEntity(ped, entity, duration)
end

--- TASK_USE_NEAREST_SCENARIO_TO_COORD_WARP
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param radius number
---@param p5 any
---@return any
function TaskUseNearestScenarioToCoordWarp(ped, x, y, z, radius, p5)
end

--- TASK_VEHICLE_AIM_AT_COORD
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@return any
function TaskVehicleAimAtCoord(ped, x, y, z)
end

--- IS_MOVE_BLEND_RATIO_STILL
---
---@param ped number
---@return boolean
function IsMoveBlendRatioStill(ped)
end

--- SET_PED_WAYPOINT_ROUTE_OFFSET
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function SetPedWaypointRouteOffset(p0, p1, p2, p3)
end

--- _SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT_2
---
--- NativeDB Introduced: v1493
--- 
---@param ped number
---@param signalName any
---@param value number
---@return any
function SetTaskMoveNetworkSignalFloat2(ped, signalName, value)
end

--- TASK_DRIVE_BY
---
--- Example:
--- TASK::TASK_DRIVE_BY(l_467[1/*22*/], PLAYER::PLAYER_PED_ID(), 0, 0.0, 0.0, 2.0, 300.0, 100, 0, ${firing_pattern_burst_fire_driveby});
--- Needs working example. Doesn't seem to do anything.
--- I marked p2 as targetVehicle as all these shooting related tasks seem to have that in common.
--- I marked p6 as distanceToShoot as if you think of GTA's Logic with the native SET_VEHICLE_SHOOT natives, it won't shoot till it gets within a certain distance of the target.
--- I marked p7 as pedAccuracy as it seems it's mostly 100 (Completely Accurate), 75, 90, etc. Although this could be the ammo count within the gun, but I highly doubt it. I will change this comment once I find out if it's ammo count or not.
--- 
---@param driverPed number
---@param targetPed number
---@param targetVehicle any
---@param targetX number
---@param targetY number
---@param targetZ number
---@param distanceToShoot number
---@param pedAccuracy any
---@param p8 boolean
---@param firingPattern any
---@return any
function TaskDriveBy(driverPed, targetPed, targetVehicle, targetX, targetY, targetZ, distanceToShoot, pedAccuracy, p8, firingPattern)
end

--- TASK_SWAP_WEAPON
---
---@param ped number
---@param p1 boolean
---@return any
function TaskSwapWeapon(ped, p1)
end

--- TASK_VEHICLE_SHOOT_AT_PED
---
---@param ped number
---@param target number
---@param p2 number
---@return any
function TaskVehicleShootAtPed(ped, target, p2)
end

--- GET_TASK_MOVE_NETWORK_STATE
---
---@param ped number
---@return any
function GetTaskMoveNetworkState(ped)
end

--- REQUEST_TASK_MOVE_NETWORK_STATE_TRANSITION
---
---@param ped number
---@param name any
---@return boolean
function RequestTaskMoveNetworkStateTransition(ped, name)
end

--- SET_DRIVEBY_TASK_TARGET
---
--- For p1 & p2 (Ped, Vehicle). I could be wrong, as the only time this native is called in scripts is once and both are 0, but I assume this native will work like SET_MOUNTED_WEAPON_TARGET in which has the same exact amount of parameters and the 1st and last 3 parameters are right and the same for both natives.  
--- 
---@param shootingPed number
---@param targetPed number
---@param targetVehicle any
---@param x number
---@param y number
---@param z number
---@return any
function SetDrivebyTaskTarget(shootingPed, targetPed, targetVehicle, x, y, z)
end

--- SET_PED_PATH_CAN_USE_LADDERS
---
---@param ped number
---@param Toggle boolean
---@return any
function SetPedPathCanUseLadders(ped, Toggle)
end

--- TASK_JUMP
---
--- Definition is wrong. This has 4 parameters (Not sure when they were added. v350 has 2, v678 has 4).  
--- v350: Ped ped, bool unused  
--- v678: Ped ped, bool unused, bool flag1, bool flag2  
--- flag1 = super jump, flag2 = do nothing if flag1 is false and doubles super jump height if flag1 is true.  
--- 
--- 
--- 
--- NativeDB Added Parameter 3: Any p2
--- NativeDB Added Parameter 4: Any p3
--- 
---@param ped number
---@param unused boolean
---@return any
function TaskJump(ped, unused)
end

--- TASK_PUT_PED_DIRECTLY_INTO_MELEE
---
--- from armenian3.c4
--- TASK::TASK_PUT_PED_DIRECTLY_INTO_MELEE(PlayerPed, armenianPed, 0.0, -1.0, 0.0, 0);
--- 
---@param ped number
---@param meleeTarget number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 boolean
---@return any
function TaskPutPedDirectlyIntoMelee(ped, meleeTarget, p2, p3, p4, p5)
end

--- TASK_TURN_PED_TO_FACE_COORD
---
--- duration in milliseconds  
--- 
---@param ped number
---@param x number
---@param y number
---@param z number
---@param duration any
---@return any
function TaskTurnPedToFaceCoord(ped, x, y, z, duration)
end

--- TASK_USE_NEAREST_SCENARIO_TO_COORD
---
--- Updated variables
--- An alternative to TASK::TASK_USE_NEAREST_SCENARIO_TO_COORD_WARP. Makes the ped walk to the scenario instead.
--- 
---@param ped number
---@param x number
---@param y number
---@param z number
---@param distance number
---@param duration any
---@return any
function TaskUseNearestScenarioToCoord(ped, x, y, z, distance, duration)
end

--- IS_PED_CUFFED
---
---@param ped number
---@return boolean
function IsPedCuffed(ped)
end

--- TASK_ENTER_VEHICLE
---
--- speed 1.0 = walk, 2.0 = run  
--- p5 1 = normal, 3 = teleport to vehicle, 8 = normal/carjack ped from seat, 16 = teleport directly into vehicle  
--- p6 is always 0  
--- 
---@param ped number
---@param vehicle any
---@param timeout any
---@param seatIndex any
---@param speed number
---@param flag any
---@param p6 any
---@return any
function TaskEnterVehicle(ped, vehicle, timeout, seatIndex, speed, flag, p6)
end

--- ADD_PATROL_ROUTE_LINK
---
---@param p0 any
---@param p1 any
---@return any
function AddPatrolRouteLink(p0, p1)
end

--- TASK_PARACHUTE
---
--- This function has a third parameter as well (bool).  
--- Second parameter is unused.  
--- seconds parameter was for jetpack in the early stages of gta and the hard coded code is now removed  
--- 
--- 
--- 
--- NativeDB Added Parameter 3: BOOL p2
--- 
---@param ped number
---@param p1 boolean
---@return any
function TaskParachute(ped, p1)
end

--- TASK_SYNCHRONIZED_SCENE
---
---  TASK::TASK_SYNCHRONIZED_SCENE(ped, scene, "creatures@rottweiler@in_vehicle@std_car", "get_in", 1000.0, -8.0, 4, 0, 0x447a0000, 0);
--- 
---@param ped number
---@param scene any
---@param animDictionary any
---@param animationName any
---@param speed number
---@param speedMultiplier number
---@param duration any
---@param flag any
---@param playbackRate number
---@param p9 any
---@return any
function TaskSynchronizedScene(ped, scene, animDictionary, animationName, speed, speedMultiplier, duration, flag, playbackRate, p9)
end

--- STOP_ANIM_PLAYBACK
---
--- Looks like p1 may be a flag, still need to do some research, though.
--- 
---@param ped number
---@param p1 any
---@param p2 boolean
---@return any
function StopAnimPlayback(ped, p1, p2)
end

--- _TASK_AGITATED_ACTION
---
---@param ped number
---@param ped2 number
---@return any
function TaskAgitatedAction(ped, ped2)
end

--- TASK_GUARD_SPHERE_DEFENSIVE_AREA
---
--- p0 - Guessing PedID  
--- p1, p2, p3 - XYZ?  
--- p4 - ???  
--- p5 - Maybe the size of sphere from XYZ?  
--- p6 - ???  
--- p7, p8, p9 - XYZ again?  
--- p10 - Maybe the size of sphere from second XYZ?  
--- 
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 any
---@param p7 number
---@param p8 number
---@param p9 number
---@param p10 number
---@return any
function TaskGuardSphereDefensiveArea(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10)
end

--- ADD_VEHICLE_SUBTASK_ATTACK_COORD
---
--- x, y, z: offset in world coords from some entity.  
--- 
---@param ped number
---@param x number
---@param y number
---@param z number
---@return any
function AddVehicleSubtaskAttackCoord(ped, x, y, z)
end

--- TASK_STAND_GUARD
---
--- scenarioName example: "WORLD_HUMAN_GUARD_STAND"  
--- 
---@param ped number
---@param x number
---@param y number
---@param z number
---@param heading number
---@param scenarioName any
---@return any
function TaskStandGuard(ped, x, y, z, heading, scenarioName)
end

--- TASK_USE_NEAREST_SCENARIO_CHAIN_TO_COORD_WARP
---
---@param p0 any
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 any
---@return any
function TaskUseNearestScenarioChainToCoordWarp(p0, p1, p2, p3, p4, p5)
end

--- DOES_SCENARIO_OF_TYPE_EXIST_IN_AREA
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 any
---@param p4 number
---@param p5 boolean
---@return boolean
function DoesScenarioOfTypeExistInArea(p0, p1, p2, p3, p4, p5)
end

--- SET_DRIVE_TASK_DRIVING_STYLE
---
--- This native is used to set the driving style for specific ped.  
--- Driving styles id seems to be:  
--- 786468  
--- 262144  
--- 786469  
--- http://gtaforums.com/topic/822314-guide-driving-styles/  
--- 
---@param ped number
---@param drivingStyle any
---@return any
function SetDriveTaskDrivingStyle(ped, drivingStyle)
end

--- TASK_SWEEP_AIM_POSITION
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 number
---@param p7 number
---@param p8 number
---@param p9 number
---@param p10 number
---@return any
function TaskSweepAimPosition(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10)
end

--- TASK_PLAY_ANIM_ADVANCED
---It's similar to the one above, except the first 6 floats let you specify the initial position and rotation of the task. (Ped gets teleported to the position).
--- 
--- [Animations list](https://alexguirre.github.io/animations-list/)
---@param ped number
---@param animDict any
---@param animName any
---@param posX number
---@param posY number
---@param posZ number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param animEnterSpeed number
---@param animExitSpeed number
---@param duration any
---@param flag any
---@param animTime number
---@param p14 any
---@param p15 any
---@return any
function TaskPlayAnimAdvanced(ped, animDict, animName, posX, posY, posZ, rotX, rotY, rotZ, animEnterSpeed, animExitSpeed, duration, flag, animTime, p14, p15)
end

--- GET_PHONE_GESTURE_ANIM_TOTAL_TIME
---
---@param ped number
---@return number
function GetPhoneGestureAnimTotalTime(ped)
end

--- TASK_BOAT_MISSION
---
--- You need to call PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS after TASK_BOAT_MISSION in order for the task to execute.
--- Working example
--- float vehicleMaxSpeed = VEHICLE::_GET_VEHICLE_MAX_SPEED(ENTITY::GET_ENTITY_MODEL(pedVehicle));
--- TASK::TASK_BOAT_MISSION(pedDriver, pedVehicle, 0, 0, waypointCoord.x, waypointCoord.y, waypointCoord.z, 4, vehicleMaxSpeed, 786469, -1.0, 7);
--- PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedDriver, 1);
--- P8 appears to be driving style flag - see gtaforums.com/topic/822314-guide-driving-styles/ for documentation
--- 
---@param pedDriver number
---@param boat any
---@param p2 any
---@param p3 any
---@param x number
---@param y number
---@param z number
---@param p7 any
---@param maxSpeed number
---@param drivingStyle any
---@param p10 number
---@param p11 any
---@return any
function TaskBoatMission(pedDriver, boat, p2, p3, x, y, z, p7, maxSpeed, drivingStyle, p10, p11)
end

--- TASK_HELI_CHASE
---
--- Ped pilot should be in a heli.  
--- EntityToFollow can be a vehicle or Ped.  
--- x,y,z appear to be how close to the EntityToFollow the heli should be. Scripts use 0.0, 0.0, 80.0. Then the heli tries to position itself 80 units above the EntityToFollow. If you reduce it to -5.0, it tries to go below (if the EntityToFollow is a heli or plane)  
--- NOTE: If the pilot finds enemies, it will engage them, then remain there idle, not continuing to chase the Entity given.  
--- 
---@param pilot number
---@param entityToFollow number
---@param x number
---@param y number
---@param z number
---@return any
function TaskHeliChase(pilot, entityToFollow, x, y, z)
end

--- IS_SCENARIO_TYPE_ENABLED
---
--- Occurrences in the b617d scripts:
--- "PROP_HUMAN_SEAT_CHAIR",
--- "WORLD_HUMAN_DRINKING",
--- "WORLD_HUMAN_HANG_OUT_STREET",
--- "WORLD_HUMAN_SMOKING",
--- "WORLD_MOUNTAIN_LION_WANDER",
--- "WORLD_HUMAN_DRINKING"
--- Sometimes used together with MISC::IS_STRING_NULL_OR_EMPTY in the scripts.
--- scenarioType could be the same as scenarioName, used in for example TASK::TASK_START_SCENARIO_AT_POSITION.
--- 
---@param scenarioType any
---@return boolean
function IsScenarioTypeEnabled(scenarioType)
end

--- TASK_COMBAT_HATED_TARGETS_IN_AREA
---
--- Despite its name, it only attacks ONE hated target. The one closest to the specified position.  
--- 
---@param ped number
---@param x number
---@param y number
---@param z number
---@param radius number
---@param p5 any
---@return any
function TaskCombatHatedTargetsInArea(ped, x, y, z, radius, p5)
end

--- TASK_FOLLOW_WAYPOINT_RECORDING
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function TaskFollowWaypointRecording(p0, p1, p2, p3, p4)
end

--- WAYPOINT_PLAYBACK_USE_DEFAULT_SPEED
---
---@param p0 any
---@return any
function WaypointPlaybackUseDefaultSpeed(p0)
end

--- _TASK_RAPPEL_DOWN_WALL
---Attaches a ped to a rope and allows player control to rappel down a wall.
--- Disables all collisions while on the rope.
--- 
--- NativeDB Introduced: v1868
---@param ped number
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param minZ number
---@param ropeId any
---@param clipset any
---@param p10 any
---@return any
function TaskRappelDownWall(ped, x1, y1, z1, x2, y2, z2, minZ, ropeId, clipset, p10)
end

--- TASK_VEHICLE_HELI_PROTECT
---
--- pilot, vehicle and altitude are rather self-explanatory.  
--- p4: is unused variable in the function.  
--- entityToFollow: you can provide a Vehicle entity or a Ped entity, the heli will protect them.  
--- 'targetSpeed':  The pilot will dip the nose AS MUCH AS POSSIBLE so as to reach this value AS FAST AS POSSIBLE.  As such, you'll want to modulate it as opposed to calling it via a hard-wired, constant #.  
--- 'radius' isn't just "stop within radius of X of target" like with ground vehicles.  In this case, the pilot will fly an entire circle around 'radius' and continue to do so.  
--- NOT CONFIRMED:  p7 appears to be a FlyingStyle enum.  Still investigating it as of this writing, but playing around with values here appears to result in different -behavior- as opposed to offsetting coordinates, altitude, target speed, etc.  
--- NOTE: If the pilot finds enemies, it will engage them until it kills them, but will return to protect the ped/vehicle given shortly thereafter.  
--- 
---@param pilot number
---@param vehicle any
---@param entityToFollow number
---@param targetSpeed number
---@param p4 any
---@param radius number
---@param altitude any
---@param p7 any
---@return any
function TaskVehicleHeliProtect(pilot, vehicle, entityToFollow, targetSpeed, p4, radius, altitude, p7)
end

--- DOES_SCENARIO_GROUP_EXIST
---
--- Occurrences in the b617d scripts:
--- "ARMY_GUARD",
--- "ARMY_HELI",
--- "Cinema_Downtown",
--- "Cinema_Morningwood",
--- "Cinema_Textile",
--- "City_Banks",
--- "Countryside_Banks",
--- "DEALERSHIP",
--- "GRAPESEED_PLANES",
--- "KORTZ_SECURITY",
--- "LOST_BIKERS",
--- "LSA_Planes",
--- "LSA_Planes",
--- "MP_POLICE",
--- "Observatory_Bikers",
--- "POLICE_POUND1",
--- "POLICE_POUND2",
--- "POLICE_POUND3",
--- "POLICE_POUND4",
--- "POLICE_POUND5"
--- "QUARRY",
--- "SANDY_PLANES",
--- "SCRAP_SECURITY",
--- "SEW_MACHINE",
--- "SOLOMON_GATE",
--- "Triathlon_1_Start",
--- "Triathlon_2_Start",
--- "Triathlon_3_Start"
--- Sometimes used with IS_SCENARIO_GROUP_ENABLED:
--- if (TASK::DOES_SCENARIO_GROUP_EXIST("Observatory_Bikers") && (!TASK::IS_SCENARIO_GROUP_ENABLED("Observatory_Bikers"))) {
--- else if (TASK::IS_SCENARIO_GROUP_ENABLED("BLIMP")) {
--- 
---@param scenarioGroup any
---@return boolean
function DoesScenarioGroupExist(scenarioGroup)
end

--- TASK_AIM_GUN_AT_ENTITY
---
--- duration: the amount of time in milliseconds to do the task.  -1 will keep the task going until either another task is applied, or CLEAR_ALL_TASKS() is called with the ped  
--- 
---@param ped number
---@param entity number
---@param duration any
---@param p3 boolean
---@return any
function TaskAimGunAtEntity(ped, entity, duration, p3)
end

--- TASK_EXTEND_ROUTE
---Adds a new point to the current point route; a maximum of 8 points can be added.
--- 
--- Call [TASK_FLUSH_ROUTE](#\_0x841142A1376E9006) before the first call to this. Call [TASK_FOLLOW_POINT_ROUTE](#\_0x595583281858626E) to make the Ped go the route.
---@param x number
---@param y number
---@param z number
---@return any
function TaskExtendRoute(x, y, z)
end

--- TASK_LOOK_AT_COORD
---
---@param entity number
---@param x number
---@param y number
---@param z number
---@param duration any
---@param p5 any
---@param p6 any
---@return any
function TaskLookAtCoord(entity, x, y, z, duration, p5, p6)
end

--- WAYPOINT_RECORDING_GET_SPEED_AT_POINT
---
---@param name any
---@param point any
---@return number
function WaypointRecordingGetSpeedAtPoint(name, point)
end

--- CONTROL_MOUNTED_WEAPON
---
--- Forces the ped to use the mounted weapon.  
--- Returns false if task is not possible.  
--- 
---@param ped number
---@return boolean
function ControlMountedWeapon(ped)
end

--- GET_TASK_MOVE_NETWORK_EVENT
---
---@param ped number
---@param eventName any
---@return boolean
function GetTaskMoveNetworkEvent(ped, eventName)
end

--- IS_PED_STRAFING
---
--- What's strafing?  
--- 
---@param ped number
---@return boolean
function IsPedStrafing(ped)
end

--- RESET_EXCLUSIVE_SCENARIO_GROUP
---
---@return any
function ResetExclusiveScenarioGroup()
end

--- IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_VEHICLE
---
---@param vehicle any
---@return boolean
function IsWaypointPlaybackGoingOnForVehicle(vehicle)
end

--- _TASK_PLANE_GOTO_PRECISE_VTOL
---
--- NativeDB Introduced: v1290
--- 
---@param ped number
---@param vehicle any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@param p7 any
---@param p8 any
---@param p9 any
---@return any
function TaskPlaneGotoPreciseVtol(ped, vehicle, p2, p3, p4, p5, p6, p7, p8, p9)
end

--- TASK_SHOOT_AT_ENTITY
---
--- //this part of the code is to determine at which entity the player is aiming, for example if you want to create a mod where you give orders to peds
--- Entity aimedentity;
--- Player player = PLAYER::PLAYER_ID();
--- PLAYER::_GET_AIMED_ENTITY(player, &aimedentity);
--- //bg is an array of peds
--- TASK::TASK_SHOOT_AT_ENTITY(bg[i], aimedentity, 5000, MISC::GET_HASH_KEY("FIRING_PATTERN_FULL_AUTO"));
--- in practical usage, getting the entity the player is aiming at and then task the peds to shoot at the entity, at a button press event would be better.
--- Firing Pattern Hash Information: https://pastebin.com/Px036isB
--- 
---@param entity number
---@param target number
---@param duration any
---@param firingPattern any
---@return any
function TaskShootAtEntity(entity, target, duration, firingPattern)
end

--- UPDATE_TASK_HANDS_UP_DURATION
---
---@param ped number
---@param duration any
---@return any
function UpdateTaskHandsUpDuration(ped, duration)
end

--- TASK_GO_TO_COORD_ANY_MEANS_EXTRA_PARAMS_WITH_CRUISE_SPEED
---
--- NativeDB Added Parameter 14: Any p13
--- 
---@param ped number
---@param x number
---@param y number
---@param z number
---@param speed number
---@param p5 any
---@param p6 boolean
---@param walkingStyle any
---@param p8 number
---@param p9 any
---@param p10 any
---@param p11 any
---@param p12 any
---@return any
function TaskGoToCoordAnyMeansExtraParamsWithCruiseSpeed(ped, x, y, z, speed, p5, p6, walkingStyle, p8, p9, p10, p11, p12)
end

--- TASK_GO_TO_ENTITY
---
--- The entity will move towards the target until time is over (duration) or get in target's range (distance). p5 and p6 are unknown, but you could leave p5 = 1073741824 or 100 or even 0 (didn't see any difference but on the decompiled scripts, they use 1073741824 mostly) and p6 = 0
--- Note: I've only tested it on entity -> ped and target -> vehicle. It could work differently on other entities, didn't try it yet.
--- Example: TASK::TASK_GO_TO_ENTITY(pedHandle, vehicleHandle, 5000, 4.0, 100, 1073741824, 0)
--- Ped will run towards the vehicle for 5 seconds and stop when time is over or when he gets 4 meters(?) around the vehicle (with duration = -1, the task duration will be ignored).
--- 
---@param entity number
---@param target number
---@param duration any
---@param distance number
---@param speed number
---@param p5 number
---@param p6 any
---@return any
function TaskGoToEntity(entity, target, duration, distance, speed, p5, p6)
end

--- TASK_STAY_IN_COVER
---
--- Makes the ped run to take cover  
--- 
---@param ped number
---@return any
function TaskStayInCover(ped)
end

--- TASK_WARP_PED_INTO_VEHICLE
---
---@param ped number
---@param vehicle any
---@param seatIndex any
---@return any
function TaskWarpPedIntoVehicle(ped, vehicle, seatIndex)
end

--- ASSISTED_MOVEMENT_IS_ROUTE_LOADED
---
---@param route any
---@return boolean
function AssistedMovementIsRouteLoaded(route)
end

--- GET_PED_WAYPOINT_PROGRESS
---
---@param ped number
---@return any
function GetPedWaypointProgress(ped)
end

--- TASK_FOLLOW_NAV_MESH_TO_COORD
---
--- If no timeout, set timeout to -1.  
--- 
---@param ped number
---@param x number
---@param y number
---@param z number
---@param speed number
---@param timeout any
---@param stoppingRange number
---@param persistFollowing boolean
---@param unk number
---@return any
function TaskFollowNavMeshToCoord(ped, x, y, z, speed, timeout, stoppingRange, persistFollowing, unk)
end

--- TASK_FOLLOW_NAV_MESH_TO_COORD_ADVANCED
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param speed number
---@param timeout any
---@param unkFloat number
---@param unkInt any
---@param unkX number
---@param unkY number
---@param unkZ number
---@param unk_40000f number
---@return any
function TaskFollowNavMeshToCoordAdvanced(ped, x, y, z, speed, timeout, unkFloat, unkInt, unkX, unkY, unkZ, unk_40000f)
end

--- TASK_VEHICLE_TEMP_ACTION
---
--- '1 - brake
--- '3 - brake + reverse
--- '4 - turn left 90 + braking
--- '5 - turn right 90 + braking
--- '6 - brake strong (handbrake?) until time ends
--- '7 - turn left + accelerate
--- '7 - turn right + accelerate
--- '9 - weak acceleration
--- '10 - turn left + restore wheel pos to center in the end
--- '11 - turn right + restore wheel pos to center in the end
--- '13 - turn left + go reverse
--- '14 - turn left + go reverse
--- '16 - crash the game after like 2 seconds :)
--- '17 - keep actual state, game crashed after few tries
--- '18 - game crash
--- '19 - strong brake + turn left/right
--- '20 - weak brake + turn left then turn right
--- '21 - weak brake + turn right then turn left
--- '22 - brake + reverse
--- '23 - accelerate fast
--- '24 - brake
--- '25 - brake turning left then when almost stopping it turns left more
--- '26 - brake turning right then when almost stopping it turns right more
--- '27 - brake until car stop or until time ends
--- '28 - brake + strong reverse acceleration
--- '30 - performs a burnout (brake until stop + brake and accelerate)
--- '31 - accelerate + handbrake
--- '32 - accelerate very strong
--- Seems to be this:
--- Works on NPCs, but overrides their current task. If inside a task sequence (and not being the last task), "time" will work, otherwise the task will be performed forever until tasked with something else
--- 
---@param driver number
---@param vehicle any
---@param action any
---@param time any
---@return any
function TaskVehicleTempAction(driver, vehicle, action, time)
end

--- SET_PED_CAN_PLAY_AMBIENT_IDLES
---
--- Appears only in fm_mission_controller and used only 3 times.  
--- ped was always PLAYER_PED_ID()  
--- p1 was always true  
--- p2 was always true  
--- 
---@param ped number
---@param p1 boolean
---@param p2 boolean
---@return any
function SetPedCanPlayAmbientIdles(ped, p1, p2)
end

--- TASK_GO_STRAIGHT_TO_COORD_RELATIVE_TO_ENTITY
---
---@param entity1 number
---@param entity2 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 any
---@return any
function TaskGoStraightToCoordRelativeToEntity(entity1, entity2, p2, p3, p4, p5, p6)
end

--- REQUEST_WAYPOINT_RECORDING
---
--- For a full list of the points, see here: goo.gl/wIH0vn
--- Max number of loaded recordings is 32.
--- 
---@param name any
---@return any
function RequestWaypointRecording(name)
end

--- SET_EXCLUSIVE_SCENARIO_GROUP
---
--- Groups found in the scripts used with this native:  
--- "AMMUNATION",  
--- "QUARRY",  
--- "Triathlon_1",  
--- "Triathlon_2",  
--- "Triathlon_3"  
--- 
---@param scenarioGroup any
---@return any
function SetExclusiveScenarioGroup(scenarioGroup)
end

--- TASK_CLIMB_LADDER
---
---@param ped number
---@param p1 any
---@return any
function TaskClimbLadder(ped, p1)
end

--- VEHICLE_WAYPOINT_PLAYBACK_RESUME
---
---@param vehicle any
---@return any
function VehicleWaypointPlaybackResume(vehicle)
end

--- TASK_WRITHE
---
--- NativeDB Added Parameter 5: Any p4
--- NativeDB Added Parameter 6: Any p5
--- 
---@param ped number
---@param target number
---@param time any
---@param p3 any
---@return any
function TaskWrithe(ped, target, time, p3)
end

--- SET_GLOBAL_MIN_BIRD_FLIGHT_HEIGHT
---
--- Birds will try to reach the given height.  
--- 
---@param height number
---@return any
function SetGlobalMinBirdFlightHeight(height)
end

--- TASK_USE_NEAREST_SCENARIO_CHAIN_TO_COORD
---
---@param p0 any
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 any
---@return any
function TaskUseNearestScenarioChainToCoord(p0, p1, p2, p3, p4, p5)
end

--- WAYPOINT_PLAYBACK_START_AIMING_AT_PED
---
---@param p0 any
---@param p1 any
---@param p2 boolean
---@return any
function WaypointPlaybackStartAimingAtPed(p0, p1, p2)
end

--- WAYPOINT_PLAYBACK_START_SHOOTING_AT_COORD
---
---@param p0 any
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 boolean
---@param p5 any
---@return any
function WaypointPlaybackStartShootingAtCoord(p0, p1, p2, p3, p4, p5)
end

--- IS_PED_ACTIVE_IN_SCENARIO
---When passing a ped parameter, the function returns true if the ped is currently in any scenario.
---@param ped number
---@return boolean
function IsPedActiveInScenario(ped)
end

--- IS_PED_RUNNING
---
---@param ped number
---@return boolean
function IsPedRunning(ped)
end

--- SET_PED_PATH_CAN_USE_CLIMBOVERS
---
---@param ped number
---@param Toggle boolean
---@return any
function SetPedPathCanUseClimbovers(ped, Toggle)
end

--- TASK_ARREST_PED
---
--- Example from "me_amanda1.ysc.c4":
--- TASK::TASK_ARREST_PED(l_19F /* This is a Ped */ , PLAYER::PLAYER_PED_ID());
--- Example from "armenian1.ysc.c4":
--- if (!PED::IS_PED_INJURED(l_B18[0/*1*/])) {
---     TASK::TASK_ARREST_PED(l_B18[0/*1*/], PLAYER::PLAYER_PED_ID());
--- }
--- I would love to have time to experiment to see if a player Ped can arrest another Ped. Might make for a good cop mod.
--- Looks like only the player can be arrested this way. Peds react and try to arrest you if you task them, but the player charater doesn't do anything if tasked to arrest another ped.
--- 
---@param ped number
---@param target number
---@return any
function TaskArrestPed(ped, target)
end

--- TASK_USE_MOBILE_PHONE_TIMED
---
---@param ped number
---@param duration any
---@return any
function TaskUseMobilePhoneTimed(ped, duration)
end

--- TASK_VEHICLE_DRIVE_WANDER
---Drive randomly with no destination set.
---@param ped number
---@param vehicle any
---@param speed number
---@param drivingStyle any
---@return any
function TaskVehicleDriveWander(ped, vehicle, speed, drivingStyle)
end

--- GET_SCRIPTED_COVER_POINT_COORDS
---
---@param coverpoint any
---@return { x: number, y: number, z: number }
function GetScriptedCoverPointCoords(coverpoint)
end

--- TASK_FOLLOW_TO_OFFSET_OF_ENTITY
---
--- p6 always -1  
--- p7 always 10.0  
--- p8 always 1  
--- 
---@param ped number
---@param entity number
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@param movementSpeed number
---@param timeout any
---@param stoppingRange number
---@param persistFollowing boolean
---@return any
function TaskFollowToOffsetOfEntity(ped, entity, offsetX, offsetY, offsetZ, movementSpeed, timeout, stoppingRange, persistFollowing)
end

--- TASK_GO_STRAIGHT_TO_COORD
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param speed number
---@param timeout any
---@param targetHeading number
---@param distanceToSlide number
---@return any
function TaskGoStraightToCoord(ped, x, y, z, speed, timeout, targetHeading, distanceToSlide)
end

--- TASK_OPEN_VEHICLE_DOOR
---The given ped will try to open the nearest door to 'seat'.
--- 
--- Example: telling the ped to open the door for the driver seat does not necessarily mean it will open the driver door, it may choose to open the passenger door instead if that one is closer.
---@param ped number
---@param vehicle any
---@param timeOut any
---@param seat any
---@param speed number
---@return any
function TaskOpenVehicleDoor(ped, vehicle, timeOut, seat, speed)
end

--- WAYPOINT_PLAYBACK_OVERRIDE_SPEED
---
---@param p0 any
---@param p1 number
---@param p2 boolean
---@return any
function WaypointPlaybackOverrideSpeed(p0, p1, p2)
end

--- GET_TASK_MOVE_NETWORK_SIGNAL_BOOL
---
---@param ped number
---@param signalName any
---@return boolean
function GetTaskMoveNetworkSignalBool(ped, signalName)
end

--- GET_VEHICLE_WAYPOINT_TARGET_POINT
---
---@param vehicle any
---@return any
function GetVehicleWaypointTargetPoint(vehicle)
end

--- IS_SCENARIO_OCCUPIED
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 boolean
---@return boolean
function IsScenarioOccupied(p0, p1, p2, p3, p4)
end

--- TASK_PLANT_BOMB
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param heading number
---@return any
function TaskPlantBomb(ped, x, y, z, heading)
end

--- TASK_WANDER_IN_AREA
---Makes a ped wander/patrol around the specified area.
--- 
--- The ped will continue to wander after getting distracted, but only if this additional task is temporary, ie. killing a target, after killing the target it will continue to wander around.
--- 
--- Use GetIsTaskActive(ped, 222) to check if the ped is still wandering the area.
---@param ped number
---@param x number
---@param y number
---@param z number
---@param radius number
---@param minimalLength any
---@param timeBetweenWalks number
---@return any
function TaskWanderInArea(ped, x, y, z, radius, minimalLength, timeBetweenWalks)
end

--- SET_TASK_VEHICLE_CHASE_BEHAVIOR_FLAG
---
--- * Flag 1: Aggressive ramming of suspect
--- * Flag 2: Ram attempts
--- * Flag 8: Medium-aggressive boxing tactic with a bit of PIT
--- * Flag 16: Ramming, seems to be slightly less aggressive than 1-2.
--- * Flag 32: Stay back from suspect, no tactical contact. Convoy-like.
--- 
---@param ped number
---@param flag any
---@param set boolean
---@return any
function SetTaskVehicleChaseBehaviorFlag(ped, flag, set)
end

--- TASK_AIM_GUN_SCRIPTED
---
---@param ped number
---@param scriptTask any
---@param p2 boolean
---@param p3 boolean
---@return any
function TaskAimGunScripted(ped, scriptTask, p2, p3)
end

--- TASK_COMBAT_HATED_TARGETS_AROUND_PED_TIMED
---
---@param p0 any
---@param p1 number
---@param p2 any
---@param p3 any
---@return any
function TaskCombatHatedTargetsAroundPedTimed(p0, p1, p2, p3)
end

--- WAYPOINT_RECORDING_GET_NUM_POINTS
---
--- For a full list of the points, see here: goo.gl/wIH0vn
--- 
---@param name any
---@param points any
---@return boolean
function WaypointRecordingGetNumPoints(name, points)
end

--- GET_PED_WAYPOINT_DISTANCE
---
---@param p0 any
---@return number
function GetPedWaypointDistance(p0)
end

--- SET_ANIM_WEIGHT
---
---@param p0 any
---@param p1 number
---@param p2 any
---@param p3 any
---@param p4 boolean
---@return any
function SetAnimWeight(p0, p1, p2, p3, p4)
end

--- TASK_PLANE_MISSION
---
--- EDITED (7/13/2017)  
--- NOTE: If you want air combat, AI::TASK_COMBAT_PED (while your pilot is in an aircraft) also does the same thing as this native.  
--- DESCRIPTION:  
--- Ever wish your buddy could shoot down one of your enemies for you? Ever wanted an auto-pilot? Well look no further! This is the native for you! (Ped intelligence may vary)  
--- USAGE:  
--- -- REQUIRED --  
--- • pilot = The ped flying the aircraft.  
--- • aircraft = The aircraft the pilot is flying  
--- -- OPTIONAL -- [atleast 1 must be assigned]  
--- • targetVehicle = The vehicle the pilot will target.  
--- • targetPed = The ped the pilot will target.  
--- • destinationX, destinationY, destinationZ = The location the pilot will target.  
--- -- LOGIC --  
--- • missionFlag = The type of mission. pastebin.com/R8x73dbv  
--- • angularDrag = The higher the value, the slower the plane will rotate. Value ranges from 0 - Infinity.  
--- • unk = Set to 0, and you'll be fine.  
--- • targetHeading = The target angle (from world space north) that the pilot will try to acheive before executing an attack/landing.  
--- • maxZ = Maximum Z coordinate height for flying.  
--- • minZ = Minimum Z coordinate height for flying.  
--- Z: 2,700 is the default max height a pilot will be able to fly. Anything greater and he will fly downward until reaching 2,700 again.  
--- Mission Types (incase you don't like links..):  
--- 0 = None  
--- 1 = Unk  
--- 2 = CTaskVehicleRam  
--- 3 = CTaskVehicleBlock  
--- 4 = CTaskVehicleGoToPlane  
--- 5 = CTaskVehicleStop  
--- 6 = CTaskVehicleAttack  
--- 7 = CTaskVehicleFollow  
--- 8 = CTaskVehicleFleeAirborne  
--- 9 = CTaskVehicleCircle  
--- 10 = CTaskVehicleEscort  
--- 15 = CTaskVehicleFollowRecording  
--- 16 = CTaskVehiclePoliceBehaviour  
--- 17 = CTaskVehicleCrash  
--- Example C#:  
--- Function.Call(Hash.TASK_PLANE_MISSION, pilot, vehicle, 0, Game.Player.Character, 0, 0, 0, 6, 0f, 0f, 0f, 2500.0f, -1500f);  
--- Example C++  
--- AI::TASK_PLANE_MISSION(pilot, vehicle, 0, PLAYER::GET_PLAYER_PED(PLAYER::GET_PLAYER_INDEX()), 0, 0, 0, 6, 0.0, 0.0, 0.0, 2500.0, -1500.0);  
--- [DEPRECATED] EXAMPLE USAGE:  
--- pastebin.com/gx7Finsk  
--- 
--- 
--- 
--- NativeDB Added Parameter 14: Any p13
--- 
---@param pilot number
---@param aircraft any
---@param targetVehicle any
---@param targetPed number
---@param destinationX number
---@param destinationY number
---@param destinationZ number
---@param missionFlag any
---@param angularDrag number
---@param unk number
---@param targetHeading number
---@param maxZ number
---@param minZ number
---@return any
function TaskPlaneMission(pilot, aircraft, targetVehicle, targetPed, destinationX, destinationY, destinationZ, missionFlag, angularDrag, unk, targetHeading, maxZ, minZ)
end

--- TASK_SEEK_COVER_TO_COORDS
---
--- from michael2:
--- TASK::TASK_SEEK_COVER_TO_COORDS(ped, 967.5164794921875, -2121.603515625, 30.479299545288086, 978.94677734375, -2125.84130859375, 29.4752, -1, 1);
--- appears to be shorter variation
--- from michael3:
--- TASK::TASK_SEEK_COVER_TO_COORDS(ped, -2231.011474609375, 263.6326599121094, 173.60195922851562, -1, 0);
--- 
---@param ped number
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param p7 any
---@param p8 boolean
---@return any
function TaskSeekCoverToCoords(ped, x1, y1, z1, x2, y2, z2, p7, p8)
end

--- UPDATE_TASK_AIM_GUN_SCRIPTED_TARGET
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 boolean
---@return any
function UpdateTaskAimGunScriptedTarget(p0, p1, p2, p3, p4, p5)
end

--- CLEAR_SEQUENCE_TASK
---
---@param taskSequenceId any
---@return any
function ClearSequenceTask(taskSequenceId)
end

--- SET_PED_PATH_CLIMB_COST_MODIFIER
---
--- Default modifier is 1.0, minimum is 0.0 and maximum is 10.0.
--- 
---@param ped number
---@param modifier number
---@return any
function SetPedPathClimbCostModifier(ped, modifier)
end

--- TASK_LEAVE_VEHICLE
---
--- Flags from decompiled scripts:  
--- 0 = normal exit and closes door.  
--- 1 = normal exit and closes door.  
--- 16 = teleports outside, door kept closed.  (This flag does not seem to work for the front seats in buses, NPCs continue to exit normally)
--- 64 = normal exit and closes door, maybe a bit slower animation than 0.  
--- 256 = normal exit but does not close the door.  
--- 4160 = ped is throwing himself out, even when the vehicle is still.  
--- 262144 = ped moves to passenger seat first, then exits normally  
--- Others to be tried out: 320, 512, 131072.  
--- 
---@param ped number
---@param vehicle any
---@param flags any
---@return any
function TaskLeaveVehicle(ped, vehicle, flags)
end

--- TASK_VEHICLE_AIM_AT_PED
---
---@param ped number
---@param target number
---@return any
function TaskVehicleAimAtPed(ped, target)
end

--- IS_TASK_MOVE_NETWORK_ACTIVE
---
---@param ped number
---@return boolean
function IsTaskMoveNetworkActive(ped)
end

--- PED_HAS_USE_SCENARIO_TASK
---
---@param ped number
---@return boolean
function PedHasUseScenarioTask(ped)
end

--- SET_PARACHUTE_TASK_TARGET
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@return any
function SetParachuteTaskTarget(ped, x, y, z)
end

--- TASK_GUARD_CURRENT_POSITION
---
--- From re_prisonvanbreak:
--- TASK::TASK_GUARD_CURRENT_POSITION(l_DD, 35.0, 35.0, 1);
--- 
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 boolean
---@return any
function TaskGuardCurrentPosition(p0, p1, p2, p3)
end

--- GET_NAVMESH_ROUTE_RESULT
---See [GET_NAVMESH_ROUTE_DISTANCE_REMAINING](#\_0xC6F5C0BCDC74D62D) for more details.
---@param ped number
---@return any
function GetNavmeshRouteResult(ped)
end

--- GET_VEHICLE_WAYPOINT_PROGRESS
---
---@param vehicle any
---@return any
function GetVehicleWaypointProgress(vehicle)
end

--- GET_WAYPOINT_DISTANCE_ALONG_ROUTE
---
---@param p0 any
---@param p1 any
---@return number
function GetWaypointDistanceAlongRoute(p0, p1)
end

--- IS_PED_BEING_ARRESTED
---
--- This function is hard-coded to always return 0.  
--- 
---@param ped number
---@return boolean
function IsPedBeingArrested(ped)
end

--- CLEAR_PED_SECONDARY_TASK
---
---@param ped number
---@return any
function ClearPedSecondaryTask(ped)
end

--- TASK_GO_TO_COORD_WHILE_AIMING_AT_COORD
---Will make the ped move to a coordinate while aiming (and optionally shooting) at given coordinates.
---@param ped number
---@param x number
---@param y number
---@param z number
---@param aimAtX number
---@param aimAtY number
---@param aimAtZ number
---@param moveSpeed number
---@param shoot boolean
---@param p9 number
---@param p10 number
---@param p11 boolean
---@param flags any
---@param p13 boolean
---@param firingPattern any
---@return any
function TaskGoToCoordWhileAimingAtCoord(ped, x, y, z, aimAtX, aimAtY, aimAtZ, moveSpeed, shoot, p9, p10, p11, flags, p13, firingPattern)
end

--- TASK_PAUSE
---This tasks the ped to do nothing for the specified amount of miliseconds.
--- This is useful if you want to add a delay between tasks when using a sequence task.
---@param ped number
---@param ms any
---@return any
function TaskPause(ped, ms)
end

--- _TASK_SUBMARINE_GOTO_AND_STOP
---Used in am_vehicle_spawn.ysc and am_mp_submarine.ysc.
--- p0 is always 0, p5 is always 1
--- p1 is the vehicle handle of the submarine. Submarine must have a driver, but the ped handle is not passed to the native.
--- Speed can be set by calling SET_DRIVE_TASK_CRUISE_SPEED after
--- 
--- 
--- NativeDB Introduced: v2189
--- 
---@param p0 any
---@param submarine any
---@param x number
---@param y number
---@param z number
---@param p5 any
---@return any
function TaskSubmarineGotoAndStop(p0, submarine, x, y, z, p5)
end

--- TASK_PLAY_PHONE_GESTURE_ANIMATION
---
--- Example from the scripts:
--- TASK::TASK_PLAY_PHONE_GESTURE_ANIMATION(PLAYER::PLAYER_PED_ID(), v_3, v_2, v_4, 0.25, 0.25, 0, 0);
--- =========================================================
--- ^^ No offense, but Idk how that would really help anyone.
--- As for the animDict & animation, they're both store in a global in all 5 scripts. So if anyone would be so kind as to read that global and comment what strings they use. Thanks.
--- Known boneMaskTypes'
--- "BONEMASK_HEADONLY"
--- "BONEMASK_HEAD_NECK_AND_ARMS"
--- "BONEMASK_HEAD_NECK_AND_L_ARM"
--- "BONEMASK_HEAD_NECK_AND_R_ARM"
--- p4 known args - 0.0f, 0.5f, 0.25f
--- p5 known args - 0.0f, 0.25f
--- p6 known args - 1 if a global if check is passed.
--- p7 known args - 1 if a global if check is passed.
--- The values found above, I found within the 5 scripts this is ever called in. (fmmc_launcher, fm_deathmatch_controller, fm_impromptu_dm_controller, fm_mission_controller, and freemode).
--- =========================================================
--- 
---@param ped number
---@param animDict any
---@param animation any
---@param boneMaskType any
---@param p4 number
---@param p5 number
---@param p6 boolean
---@param p7 boolean
---@return any
function TaskPlayPhoneGestureAnimation(ped, animDict, animation, boneMaskType, p4, p5, p6, p7)
end

--- TASK_SEEK_COVER_FROM_PED
---
---@param ped number
---@param target number
---@param duration any
---@param p3 boolean
---@return any
function TaskSeekCoverFromPed(ped, target, duration, p3)
end

--- TASK_SHOOT_AT_COORD
---
--- Firing Pattern Hash Information: https://pastebin.com/Px036isB
--- 
---@param ped number
---@param x number
---@param y number
---@param z number
---@param duration any
---@param firingPattern any
---@return any
function TaskShootAtCoord(ped, x, y, z, duration, firingPattern)
end

--- ASSISTED_MOVEMENT_REMOVE_ROUTE
---
---@param route any
---@return any
function AssistedMovementRemoveRoute(route)
end

--- ASSISTED_MOVEMENT_OVERRIDE_LOAD_DISTANCE_THIS_FRAME
---
---@param dist number
---@return any
function AssistedMovementOverrideLoadDistanceThisFrame(dist)
end

--- IS_PED_WALKING
---
---@param ped number
---@return boolean
function IsPedWalking(ped)
end

--- SET_HIGH_FALL_TASK
---
---@param ped number
---@param duration any
---@param p2 any
---@param p3 any
---@return any
function SetHighFallTask(ped, duration, p2, p3)
end

--- TASK_STAND_STILL
---
--- Makes the specified ped stand still for (time) milliseconds.  
--- 
---@param ped number
---@param time any
---@return any
function TaskStandStill(ped, time)
end

--- VEHICLE_WAYPOINT_PLAYBACK_PAUSE
---
---@param vehicle any
---@return any
function VehicleWaypointPlaybackPause(vehicle)
end

--- GET_ACTIVE_VEHICLE_MISSION_TYPE
---
--- https://alloc8or.re/gta5/doc/enums/eVehicleMissionType.txt
--- 
---@param vehicle any
---@return any
function GetActiveVehicleMissionType(vehicle)
end

--- PLAY_ANIM_ON_RUNNING_SCENARIO
---[Animations list](https://alexguirre.github.io/animations-list/)
---@param ped number
---@param animDict any
---@param animName any
---@return any
function PlayAnimOnRunningScenario(ped, animDict, animName)
end

--- SET_MOUNTED_WEAPON_TARGET
---
--- Note: Look in decompiled scripts and the times that p1 and p2 aren't 0. They are filled with vars. If you look through out that script what other natives those vars are used in, you can tell p1 is a ped and p2 is a vehicle. Which most likely means if you want the mounted weapon to target a ped set targetVehicle to 0 or vice-versa.  
--- 
--- 
--- 
--- NativeDB Added Parameter 7: Any p6
--- NativeDB Added Parameter 8: Any p7
--- 
---@param shootingPed number
---@param targetPed number
---@param targetVehicle any
---@param x number
---@param y number
---@param z number
---@return any
function SetMountedWeaponTarget(shootingPed, targetPed, targetVehicle, x, y, z)
end

--- TASK_FOLLOW_POINT_ROUTE
---
--- MulleKD19: Makes the ped go on the created point route.
--- ped: The ped to give the task to.
--- speed: The speed to move at in m/s.
--- int: Unknown. Can be 0, 1, 2 or 3.
--- Example:
--- TASK_FLUSH_ROUTE();
--- TASK_EXTEND_ROUTE(0f, 0f, 70f);
--- TASK_EXTEND_ROUTE(10f, 0f, 70f);
--- TASK_EXTEND_ROUTE(10f, 10f, 70f);
--- TASK_FOLLOW_POINT_ROUTE(GET_PLAYER_PED(), 1f, 0);
--- 
---@param ped number
---@param speed number
---@param unknown any
---@return any
function TaskFollowPointRoute(ped, speed, unknown)
end

--- GET_IS_WAYPOINT_RECORDING_LOADED
---
---@param name any
---@return boolean
function GetIsWaypointRecordingLoaded(name)
end

--- IS_PED_STILL
---
---@param ped number
---@return boolean
function IsPedStill(ped)
end

--- TASK_AIM_GUN_AT_COORD
---
---@param ped number
---@param x number
---@param y number
---@param z number
---@param time any
---@param p5 boolean
---@param p6 boolean
---@return any
function TaskAimGunAtCoord(ped, x, y, z, time, p5, p6)
end

--- WAYPOINT_PLAYBACK_START_AIMING_AT_COORD
---
---@param p0 any
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 boolean
---@return any
function WaypointPlaybackStartAimingAtCoord(p0, p1, p2, p3, p4)
end

--- TEST_VERTICAL_PROBE_AGAINST_ALL_WATER
---
---@param x number
---@param y number
---@param z number
---@param flag any
---@param height any
---@return boolean
function TestVerticalProbeAgainstAllWater(x, y, z, flag, height)
end

--- ADD_EXTRA_CALMING_QUAD
---Only 8 current rises can exist. If rises need to be changed, use REMOVE_EXTRA_CALMING_QUAD and then ADD_EXTRA_CALMING_QUAD again.
--- After removing a rise, you will be able to add a rise again.
---@param xLow number
---@param yLow number
---@param xHigh number
---@param yHigh number
---@param height number
---@return any
function AddExtraCalmingQuad(xLow, yLow, xHigh, yHigh, height)
end

--- GET_DEEP_OCEAN_SCALER
---
--- Gets the aggressiveness factor of the ocean waves.  
--- 
---@return number
function GetDeepOceanScaler()
end

--- GET_WATER_HEIGHT
---
--- This function set height to the value of z-axis of the water surface.  
--- This function works with sea and lake. However it does not work with shallow rivers (e.g. raton canyon will return -100000.0f)  
--- note: seems to return true when you are in water  
--- 
---@param x number
---@param y number
---@param z number
---@param height any
---@return boolean
function GetWaterHeight(x, y, z, height)
end

--- RESET_DEEP_OCEAN_SCALER
---
--- Sets the waves intensity back to original (1.0 in most cases). 
--- 
---@return any
function ResetDeepOceanScaler()
end

--- GET_WATER_HEIGHT_NO_WAVES
---
---@param x number
---@param y number
---@param z number
---@param height any
---@return boolean
function GetWaterHeightNoWaves(x, y, z, height)
end

--- MODIFY_WATER
---
--- Sets the water height for a given position and radius.  
--- 
---@param x number
---@param y number
---@param height number
---@param radius number
---@return any
function ModifyWater(x, y, height, radius)
end

--- SET_DEEP_OCEAN_SCALER
---
--- Sets a value that determines how aggressive the ocean waves will be. Values of 2.0 or more make for very aggressive waves like you see during a thunderstorm.  
--- Works only ~200 meters around the player.  
--- 
---@param intensity number
---@return any
function SetDeepOceanScaler(intensity)
end

--- TEST_PROBE_AGAINST_ALL_WATER
---Flags are identical to START_SHAPE_TEST\*, however, 128 is automatically set.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param flag any
---@param result any
---@return boolean
function TestProbeAgainstAllWater(x1, y1, z1, x2, y2, z2, flag, result)
end

--- _REMOVE_CURRENT_RISE
---
--- p0 is the handle returned from _0xFDBF4CDBC07E1706  
--- 
---@param p0 any
---@return any
function RemoveCurrentRise(p0)
end

--- TEST_PROBE_AGAINST_WATER
---
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param result any
---@return boolean
function TestProbeAgainstWater(x1, y1, z1, x2, y2, z2, result)
end

--- UNPIN_INTERIOR
---
--- Does something similar to INTERIOR::DISABLE_INTERIOR.  
--- You don't fall through the floor but everything is invisible inside and looks the same as when INTERIOR::DISABLE_INTERIOR is used. Peds behaves normally inside.  
--- 
---@param interior any
---@return any
function UnpinInterior(interior)
end

--- IS_COLLISION_MARKED_OUTSIDE
---Returns true if the collision at the specified coords is marked as being outside (false if there's an interior)
---@param x number
---@param y number
---@param z number
---@return boolean
function IsCollisionMarkedOutside(x, y, z)
end

--- IS_VALID_INTERIOR
---
---@param interior any
---@return boolean
function IsValidInterior(interior)
end

--- ADD_PICKUP_TO_INTERIOR_ROOM_BY_NAME
---
---@param pickup any
---@param roomName any
---@return any
function AddPickupToInteriorRoomByName(pickup, roomName)
end

--- FORCE_ROOM_FOR_GAME_VIEWPORT
---
---@param interiorID any
---@param roomHashKey any
---@return any
function ForceRoomForGameViewport(interiorID, roomHashKey)
end

--- GET_INTERIOR_AT_COORDS_WITH_TYPEHASH
---
--- Hashed version of GET_INTERIOR_AT_COORDS_WITH_TYPE
--- 
---@param x number
---@param y number
---@param z number
---@param typeHash any
---@return any
function GetInteriorAtCoordsWithTypehash(x, y, z, typeHash)
end

--- _CLEAR_INTERIOR_FOR_ENTITY
---Immediately removes entity from an interior. Like sets entity to limbo room.
--- 
--- 
--- NativeDB Introduced: v2189
--- 
---@param entity number
---@return any
function ClearInteriorForEntity(entity)
end

--- GET_INTERIOR_GROUP_ID
---
--- Returns the group ID of the specified interior. For example, regular interiors have group 0, subway interiors have group 1. There are a few other groups too.  
--- 
---@param interior any
---@return any
function GetInteriorGroupId(interior)
end

--- GET_ROOM_KEY_FROM_ENTITY
---
--- Gets the room hash key from the room that the specified entity is in. Each room in every interior has a unique key. Returns 0 if the entity is outside.  
--- 
---@param entity number
---@return any
function GetRoomKeyFromEntity(entity)
end

--- GET_INTERIOR_FROM_PRIMARY_VIEW
---
--- NativeDB Introduced: v1604
--- 
---@return any
function GetInteriorFromPrimaryView()
end

--- GET_INTERIOR_FROM_ENTITY
---
--- Returns the handle of the interior that the entity is in. Returns 0 if outside.  
--- 
---@param entity number
---@return any
function GetInteriorFromEntity(entity)
end

--- IS_INTERIOR_ENTITY_SET_ACTIVE
---
---@param interior any
---@param entitySetName any
---@return boolean
function IsInteriorEntitySetActive(interior, entitySetName)
end

--- CLEAR_ROOM_FOR_GAME_VIEWPORT
---
---@return any
function ClearRoomForGameViewport()
end

--- GET_INTERIOR_AT_COORDS_WITH_TYPE
---
--- Returns the interior ID representing the requested interior at that location (if found?). The supplied interior string is not the same as the one used to load the interior.  
--- Use: INTERIOR::UNPIN_INTERIOR(INTERIOR::GET_INTERIOR_AT_COORDS_WITH_TYPE(x, y, z, interior))  
--- Interior types include: "V_Michael", "V_Franklins", "V_Franklinshouse", etc.. you can find them in the scripts.  
--- Not a very useful native as you could just use GET_INTERIOR_AT_COORDS instead and get the same result, without even having to specify the interior type.  
--- 
---@param x number
---@param y number
---@param z number
---@param interiorType any
---@return any
function GetInteriorAtCoordsWithType(x, y, z, interiorType)
end

--- GET_INTERIOR_FROM_COLLISION
---
---@param x number
---@param y number
---@param z number
---@return any
function GetInteriorFromCollision(x, y, z)
end

--- IS_INTERIOR_CAPPED
---
---@param interiorID any
---@return boolean
function IsInteriorCapped(interiorID)
end

--- CAP_INTERIOR
---
--- Does something similar to INTERIOR::DISABLE_INTERIOR  
--- 
---@param interiorID any
---@param toggle boolean
---@return any
function CapInterior(interiorID, toggle)
end

--- _GET_INTERIOR_HEADING
---
--- GET_INTERIOR_*
--- 
--- NativeDB Introduced: v1493
--- 
---@param interior any
---@return number
function GetInteriorHeading(interior)
end

--- IS_INTERIOR_DISABLED
---
---@param interior any
---@return boolean
function IsInteriorDisabled(interior)
end

--- _ENABLE_SCRIPT_CULL_MODEL_THIS_FRAME
---
---@param mapObjectHash any
---@return any
function EnableScriptCullModelThisFrame(mapObjectHash)
end

--- FORCE_ROOM_FOR_ENTITY
---
--- Forces the particular room in an interior to load incase not teleporting into the portal.
--- 
---@param entity number
---@param interior any
---@param roomHashKey any
---@return any
function ForceRoomForEntity(entity, interior, roomHashKey)
end

--- ACTIVATE_INTERIOR_ENTITY_SET
---
--- More info: http://gtaforums.com/topic/836367-adding-props-to-interiors/  
--- 
---@param interior any
---@param entitySetName any
---@return any
function ActivateInteriorEntitySet(interior, entitySetName)
end

--- DISABLE_INTERIOR
---
--- Example:   
--- This removes the interior from the strip club and when trying to walk inside the player just falls:  
--- INTERIOR::DISABLE_INTERIOR(118018, true);  
--- 
---@param interiorID any
---@param toggle boolean
---@return any
function DisableInterior(interiorID, toggle)
end

--- DEACTIVATE_INTERIOR_ENTITY_SET
---
---@param interior any
---@param entitySetName any
---@return any
function DeactivateInteriorEntitySet(interior, entitySetName)
end

--- GET_KEY_FOR_ENTITY_IN_ROOM
---
--- Seems to do the exact same as INTERIOR::GET_ROOM_KEY_FROM_ENTITY  
--- 
---@param entity number
---@return any
function GetKeyForEntityInRoom(entity)
end

--- IS_INTERIOR_READY
---
---@param interiorID any
---@return boolean
function IsInteriorReady(interiorID)
end

--- IS_INTERIOR_SCENE
---
---@return boolean
function IsInteriorScene()
end

--- PIN_INTERIOR_IN_MEMORY
---
---@param interior any
---@return any
function PinInteriorInMemory(interior)
end

--- _SET_INTERIOR_ENTITY_SET_COLOR
---
---@param interior any
---@param entitySetName any
---@param color any
---@return any
function SetInteriorEntitySetColor(interior, entitySetName, color)
end

--- CLEAR_ROOM_FOR_ENTITY
---
---@param entity number
---@return any
function ClearRoomForEntity(entity)
end

--- GET_INTERIOR_AT_COORDS
---
--- Returns interior ID from specified coordinates. If coordinates are outside, then it returns 0.  
--- Example for VB.NET  
--- Dim interiorID As Integer = Native.Function.Call(Of Integer)(Hash.GET_INTERIOR_AT_COORDS, X, Y, Z)  
--- 
---@param x number
---@param y number
---@param z number
---@return any
function GetInteriorAtCoords(x, y, z)
end

--- GET_INTERIOR_LOCATION_AND_NAMEHASH
---
--- NativeDB Introduced: v1290
--- 
---@param interior any
---@param position any
---@param nameHash any
---@return any
function GetInteriorLocationAndNamehash(interior, position, nameHash)
end

--- REFRESH_INTERIOR
---
---@param interiorID any
---@return any
function RefreshInterior(interiorID)
end

--- ENABLE_EXTERIOR_CULL_MODEL_THIS_FRAME
---
--- This is the native that is used to hide the exterior of GTA Online apartment buildings when you are inside an apartment.
--- 
---@param mapObjectHash any
---@return any
function EnableExteriorCullModelThisFrame(mapObjectHash)
end

--- GET_ROOM_KEY_FOR_GAME_VIEWPORT
---
---@return any
function GetRoomKeyForGameViewport()
end

--- GET_OFFSET_FROM_INTERIOR_IN_WORLD_COORDS
---
---@param interior any
---@param x number
---@param y number
---@param z number
---@return { x: number, y: number, z: number }
function GetOffsetFromInteriorInWorldCoords(interior, x, y, z)
end

--- REMOVE_ALL_SHOCKING_EVENTS
---
---@param p0 boolean
---@return any
function RemoveAllShockingEvents(p0)
end

--- REMOVE_SHOCKING_EVENT
---
---@param event any
---@return boolean
function RemoveShockingEvent(event)
end

--- REMOVE_SHOCKING_EVENT_SPAWN_BLOCKING_AREAS
---
---@return any
function RemoveShockingEventSpawnBlockingAreas()
end

--- SUPPRESS_AGITATION_EVENTS_NEXT_FRAME
---
---@return any
function SuppressAgitationEventsNextFrame()
end

--- SUPPRESS_SHOCKING_EVENT_TYPE_NEXT_FRAME
---
--- eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt
--- 
---@param eventType any
---@return any
function SuppressShockingEventTypeNextFrame(eventType)
end

--- SUPPRESS_SHOCKING_EVENTS_NEXT_FRAME
---
---@return any
function SuppressShockingEventsNextFrame()
end

--- UNBLOCK_DECISION_MAKER_EVENT
---
--- eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt
--- 
---@param name any
---@param eventType any
---@return any
function UnblockDecisionMakerEvent(name, eventType)
end

--- ADD_SHOCKING_EVENT_AT_POSITION
---
--- eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt
--- 
---@param eventType any
---@param x number
---@param y number
---@param z number
---@param duration number
---@return any
function AddShockingEventAtPosition(eventType, x, y, z, duration)
end

--- ADD_SHOCKING_EVENT_FOR_ENTITY
---
--- eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt
--- 
---@param eventType any
---@param entity number
---@param duration number
---@return any
function AddShockingEventForEntity(eventType, entity, duration)
end

--- BLOCK_DECISION_MAKER_EVENT
---
--- eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt
--- This is limited to 4 blocked events at a time.
--- 
---@param name any
---@param eventType any
---@return any
function BlockDecisionMakerEvent(name, eventType)
end

--- CLEAR_DECISION_MAKER_EVENT_RESPONSE
---
--- eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt
--- 
---@param name any
---@param eventType any
---@return any
function ClearDecisionMakerEventResponse(name, eventType)
end

--- IS_SHOCKING_EVENT_IN_SPHERE
---
--- eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt
--- 
---@param eventType any
---@param x number
---@param y number
---@param z number
---@param radius number
---@return boolean
function IsShockingEventInSphere(eventType, x, y, z, radius)
end

--- SET_DECISION_MAKER
---
---@param ped number
---@param name any
---@return any
function SetDecisionMaker(ped, name)
end

--- CLOUD_DID_REQUEST_SUCCEED
---
---@param handle any
---@return boolean
function CloudDidRequestSucceed(handle)
end

--- NETWORK_FIND_GAMERS_IN_CREW
---
---@param p0 any
---@return boolean
function NetworkFindGamersInCrew(p0)
end

--- TEXTURE_DOWNLOAD_RELEASE
---
---@param p0 any
---@return any
function TextureDownloadRelease(p0)
end

--- TITLE_TEXTURE_DOWNLOAD_REQUEST
---
---@param FilePath any
---@param Name any
---@param p2 boolean
---@return any
function TitleTextureDownloadRequest(FilePath, Name, p2)
end

--- NETWORK_APPLY_PED_SCAR_DATA
---
---@param ped number
---@param p1 any
---@return any
function NetworkApplyPedScarData(ped, p1)
end

--- _NETWORK_GET_DISPLAYNAMES_FROM_HANDLES
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkGetDisplaynamesFromHandles(p0, p1, p2)
end

--- NETWORK_GET_PRIMARY_CLAN_DATA_PENDING
---
---@return any
function NetworkGetPrimaryClanDataPending()
end

--- NETWORK_GET_PRIMARY_CLAN_DATA_START
---
---@param p0 any
---@param p1 any
---@return boolean
function NetworkGetPrimaryClanDataStart(p0, p1)
end

--- UGC_POLICIES_MAKE_PRIVATE
---
---@param p0 any
---@return boolean
function UgcPoliciesMakePrivate(p0)
end

--- NETWORK_SET_VOICE_ACTIVE
---
---@param toggle boolean
---@return any
function NetworkSetVoiceActive(toggle)
end

--- NETWORK_CLAN_JOIN
---
---@param clanDesc any
---@return boolean
function NetworkClanJoin(clanDesc)
end

--- NETWORK_GET_DESTROYER_OF_NETWORK_ID
---
---@param netId any
---@param weaponHash any
---@return any
function NetworkGetDestroyerOfNetworkId(netId, weaponHash)
end

--- NETWORK_GET_PLATFORM_PARTY_MEMBERS
---
---@param data any
---@param dataSize any
---@return any
function NetworkGetPlatformPartyMembers(data, dataSize)
end

--- _NETWORK_HAS_VIEW_GAMER_USER_CONTENT_RESULT
---
---@param networkHandle any
---@return boolean
function NetworkHasViewGamerUserContentResult(networkHandle)
end

--- NETWORK_IS_SESSION_BUSY
---
---@return boolean
function NetworkIsSessionBusy()
end

--- IS_SPHERE_VISIBLE_TO_PLAYER
---
---@param p0 any
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@return boolean
function IsSphereVisibleToPlayer(p0, p1, p2, p3, p4)
end

--- NETWORK_INVITE_GAMERS
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return boolean
function NetworkInviteGamers(p0, p1, p2, p3)
end

--- NETWORK_IS_ACTIVITY_SESSION
---
---@return boolean
function NetworkIsActivitySession()
end

--- NETWORK_START_SOLO_TUTORIAL_SESSION
---
---@return any
function NetworkStartSoloTutorialSession()
end

--- RESERVE_NETWORK_MISSION_PEDS
---
---@param amount any
---@return any
function ReserveNetworkMissionPeds(amount)
end

--- _GET_CLOUD_TIME_AS_STRING
---
--- Same as GET_CLOUD_TIME_AS_INT but returns the value as a hex string (%I64X).
--- 
---@return any
function GetCloudTimeAsString()
end

--- GET_COMMERCE_ITEM_NUM_CATS
---
---@param index any
---@return any
function GetCommerceItemNumCats(index)
end

--- NETWORK_GET_PRIMARY_CLAN_DATA_CLEAR
---
---@return any
function NetworkGetPrimaryClanDataClear()
end

--- UGC_GET_MY_CONTENT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return boolean
function UgcGetMyContent(p0, p1, p2, p3)
end

--- UGC_SET_QUERY_DATA_FROM_OFFLINE
---
---@param p0 boolean
---@return any
function UgcSetQueryDataFromOffline(p0)
end

--- GET_TIME_OFFSET
---
--- Adds the first argument to the second.  
--- 
---@param timeA any
---@param timeB any
---@return any
function GetTimeOffset(timeA, timeB)
end

--- NETWORK_CLAN_GET_EMBLEM_TXD_NAME
---
---@param netHandle any
---@param txdName any
---@return boolean
function NetworkClanGetEmblemTxdName(netHandle, txdName)
end

--- NETWORK_END_TUTORIAL_SESSION
---
---@return any
function NetworkEndTutorialSession()
end

--- NETWORK_GAMERTAG_FROM_HANDLE_PENDING
---
---@return boolean
function NetworkGamertagFromHandlePending()
end

--- NETWORK_GET_NUM_PRESENCE_INVITES
---
---@return any
function NetworkGetNumPresenceInvites()
end

--- NETWORK_SESSION_GET_KICK_VOTE
---
---@param player number
---@return boolean
function NetworkSessionGetKickVote(player)
end

--- CLOUD_HAS_REQUEST_COMPLETED
---
---@param handle any
---@return boolean
function CloudHasRequestCompleted(handle)
end

--- NETWORK_FORCE_LOCAL_USE_OF_SYNCED_SCENE_CAMERA
---
---@param sceneId any
---@return any
function NetworkForceLocalUseOfSyncedSceneCamera(sceneId)
end

--- NETWORK_SESSION_ACTIVITY_QUICKMATCH
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return boolean
function NetworkSessionActivityQuickmatch(p0, p1, p2, p3)
end

--- NETWORK_HAS_ROS_PRIVILEGE_END_DATE
---
---@param privilege any
---@param banType any
---@param timeData any
---@return boolean
function NetworkHasRosPrivilegeEndDate(privilege, banType, timeData)
end

--- NETWORK_PLAYER_GET_NAME
---
--- Returns the name of a given player. Returns "**Invalid**" if CPlayerInfo of the given player cannot be retrieved or the player doesn't exist.
--- 
---@param player number
---@return any
function NetworkPlayerGetName(player)
end

--- NETWORK_SESSION_CHANGE_SLOTS
---
---@param p0 any
---@param p1 boolean
---@return any
function NetworkSessionChangeSlots(p0, p1)
end

--- _NETWORK_UPDATE_PLAYER_SCARS
---
---@return any
function NetworkUpdatePlayerScars()
end

--- UGC_GET_CONTENT_CATEGORY
---
---@param p0 any
---@return any
function UgcGetContentCategory(p0)
end

--- NETWORK_CLEAR_FOLLOW_INVITE
---
---@return any
function NetworkClearFollowInvite()
end

--- NETWORK_IS_FRIEND_INDEX_ONLINE
---
---@param friendIndex any
---@return boolean
function NetworkIsFriendIndexOnline(friendIndex)
end

--- NETWORK_GET_PRESENCE_INVITE_CONTENT_ID
---
---@param p0 any
---@return any
function NetworkGetPresenceInviteContentId(p0)
end

--- NETWORK_GET_PRESENCE_INVITE_PLAYLIST_CURRENT
---
---@param p0 any
---@return any
function NetworkGetPresenceInvitePlaylistCurrent(p0)
end

--- NETWORK_HANDLE_FROM_USER_ID
---
--- Returns a NetworkHandle* from the specified user ID and stores it in a given buffer.  
--- * Currently unknown struct  
--- 
---@param userId any
---@param networkHandle any
---@param bufferSize any
---@return any
function NetworkHandleFromUserId(userId, networkHandle, bufferSize)
end

--- NETWORK_IS_ADDING_FRIEND
---
---@return any
function NetworkIsAddingFriend()
end

--- NETWORK_SET_IN_MP_CUTSCENE
---
---@param p0 boolean
---@param p1 boolean
---@return any
function NetworkSetInMpCutscene(p0, p1)
end

--- UGC_REQUEST_CONTENT_DATA_FROM_INDEX
---
---@param p0 any
---@param p1 any
---@return any
function UgcRequestContentDataFromIndex(p0, p1)
end

--- NETWORK_DO_TRANSITION_TO_GAME
---
---@param p0 boolean
---@param maxPlayers any
---@return boolean
function NetworkDoTransitionToGame(p0, maxPlayers)
end

--- NETWORK_HAS_ENTITY_BEEN_REGISTERED_WITH_THIS_THREAD
---
---@param entity number
---@return boolean
function NetworkHasEntityBeenRegisteredWithThisThread(entity)
end

--- NETWORK_HAVE_ONLINE_PRIVILEGES
---
---@return boolean
function NetworkHaveOnlinePrivileges()
end

--- _NETWORK_SET_OBJECT_FORCE_STATIC_BLEND
---Sets whether or not an object (created using CREATE_OBJECT, or similar) should have its position/rotation synchronized,
--- even if it is a 'static' object (for example, having flag 32 - Static - set in its archetype definition).
--- 
--- This has to be called during the same frame the object is created/registered for network, as otherwise it may already
--- have a remote clone created.
--- 
--- Once a remote clone is created, changing this value will not have any effect on said clone.
---@param object any
---@param enabled boolean
---@return any
function NetworkSetObjectForceStaticBlend(object, enabled)
end

--- UGC_GET_CONTENT_IS_PUBLISHED
---
---@param p0 any
---@return boolean
function UgcGetContentIsPublished(p0)
end

--- _NETWORK_START_USER_CONTENT_PERMISSIONS_CHECK
---
--- Always returns -1. Seems to be XB1 specific.
--- 
---@param netHandle any
---@return any
function NetworkStartUserContentPermissionsCheck(netHandle)
end

--- GET_NETWORK_TIME
---
---@return any
function GetNetworkTime()
end

--- _NETWORK_GET_ENTITY_NET_SCRIPT_ID
---
---@param entity number
---@return any
function NetworkGetEntityNetScriptId(entity)
end

--- NETWORK_HAS_VALID_ROS_CREDENTIALS
---
--- Returns whether the signed-in user has valid Rockstar Online Services (ROS) credentials.
--- 
---@return boolean
function NetworkHasValidRosCredentials()
end

--- NETWORK_OVERRIDE_SEND_RESTRICTIONS
---
--- This is used alongside the native,
--- 'NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS'. Read its description for more info.
--- 
---@param player number
---@param toggle boolean
---@return any
function NetworkOverrideSendRestrictions(player, toggle)
end

--- NETWORK_SET_TRANSITION_ACTIVITY_ID
---
---@param p0 any
---@return any
function NetworkSetTransitionActivityId(p0)
end

--- SET_PLAYER_INVISIBLE_LOCALLY
---
---@param player number
---@param toggle boolean
---@return any
function SetPlayerInvisibleLocally(player, toggle)
end

--- CAN_REGISTER_MISSION_ENTITIES
---
---@param ped_amt any
---@param vehicle_amt any
---@param object_amt any
---@param pickup_amt any
---@return boolean
function CanRegisterMissionEntities(ped_amt, vehicle_amt, object_amt, pickup_amt)
end

--- NETWORK_CLAN_REMOTE_MEMBERSHIPS_ARE_IN_CACHE
---
---@param p0 any
---@return boolean
function NetworkClanRemoteMembershipsAreInCache(p0)
end

--- NETWORK_IS_HANDLE_VALID
---
---@param networkHandle any
---@param bufferSize any
---@return boolean
function NetworkIsHandleValid(networkHandle, bufferSize)
end

--- NETWORK_IS_TRANSITION_MATCHMAKING
---
---@return boolean
function NetworkIsTransitionMatchmaking()
end

--- _NETWORK_REPORT_MYSELF
---
---@return any
function NetworkReportMyself()
end

--- NETWORK_REQUEST_CONTROL_OF_DOOR
---
---@param doorID any
---@return boolean
function NetworkRequestControlOfDoor(doorID)
end

--- SET_NETWORK_VEHICLE_AS_GHOST
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetNetworkVehicleAsGhost(vehicle, toggle)
end

--- SET_ENTITY_VISIBLE_IN_CUTSCENE
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function SetEntityVisibleInCutscene(p0, p1, p2)
end

--- NETWORK_GET_TRANSITION_MEMBERS
---
--- Returns count.
--- 
---@param data any
---@param dataCount any
---@return any
function NetworkGetTransitionMembers(data, dataCount)
end

--- NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA
---
---@return boolean
function NetworkHasReceivedHostBroadcastData()
end

--- NETWORK_IS_INACTIVE_PROFILE
---Checks if the networkHandle is the same as any other user that is signed in on the local machine.
--- For example, if your console has two or more users signed in (on different controllers), the profile that is not controlling the game would be "inactive".
---@param networkHandle any
---@return boolean
function NetworkIsInactiveProfile(networkHandle)
end

--- NETWORK_IS_PLAYER_FADING
---
---@param player number
---@return boolean
function NetworkIsPlayerFading(player)
end

--- NETWORK_SET_TRANSITION_CREATOR_HANDLE
---
---@param p0 any
---@return any
function NetworkSetTransitionCreatorHandle(p0)
end

--- _RESERVE_NETWORK_LOCAL_VEHICLES
---
---@param amount any
---@return any
function ReserveNetworkLocalVehicles(amount)
end

--- UGC_GET_CONTENT_FILE_VERSION
---
---@param p0 any
---@param p1 any
---@return any
function UgcGetContentFileVersion(p0, p1)
end

--- GET_MAX_NUM_NETWORK_OBJECTS
---
---@return any
function GetMaxNumNetworkObjects()
end

--- NETWORK_CLAN_GET_UI_FORMATTED_TAG
---
--- bufferSize is 35 in the scripts.
--- 
---@param clanDesc any
---@param bufferSize any
---@param formattedTag any
---@return any
function NetworkClanGetUiFormattedTag(clanDesc, bufferSize, formattedTag)
end

--- NETWORK_GET_ACTIVITY_PLAYER_NUM
---
---@param p0 boolean
---@return any
function NetworkGetActivityPlayerNum(p0)
end

--- NETWORK_SET_LOCAL_PLAYER_SYNC_LOOK_AT
---
---@param toggle boolean
---@return any
function NetworkSetLocalPlayerSyncLookAt(toggle)
end

--- UGC_GET_CONTENT_HAS_PLAYER_RECORD
---
---@param p0 any
---@return boolean
function UgcGetContentHasPlayerRecord(p0)
end

--- _NETWORK_BLOCK_KICKED_PLAYERS
---
---@param p0 boolean
---@return any
function NetworkBlockKickedPlayers(p0)
end

--- NETWORK_GET_NUM_SCRIPT_PARTICIPANTS
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkGetNumScriptParticipants(p0, p1, p2)
end

--- _NETWORK_IS_ENTITY_CONCEALED
---Note: This only works for vehicles, which appears to be a bug (since the setter *does* work for every entity type and the name is 99% correct).
---@param entity number
---@return boolean
function NetworkIsEntityConcealed(entity)
end

--- NETWORK_IS_PARTICIPANT_ACTIVE
---
---@param p0 any
---@return boolean
function NetworkIsParticipantActive(p0)
end

--- NETWORK_IS_TUNABLE_CLOUD_REQUEST_PENDING
---
---@return boolean
function NetworkIsTunableCloudRequestPending()
end

--- NETWORK_SESSION_VOICE_RESPOND_TO_REQUEST
---
---@param p0 boolean
---@param p1 any
---@return any
function NetworkSessionVoiceRespondToRequest(p0, p1)
end

--- _ACTIVATE_DAMAGE_TRACKER_ON_PLAYER
---
---@param player number
---@param toggle boolean
---@return any
function ActivateDamageTrackerOnPlayer(player, toggle)
end

--- NETWORK_IS_PENDING_FRIEND
---
--- This function is hard-coded to always return 0.
--- 
---@param p0 any
---@return any
function NetworkIsPendingFriend(p0)
end

--- NETWORK_IS_TRANSITION_BUSY
---
---@return boolean
function NetworkIsTransitionBusy()
end

--- UGC_GET_CONTENT_HAS_PLAYER_BOOKMARKED
---
---@param p0 any
---@return boolean
function UgcGetContentHasPlayerBookmarked(p0)
end

--- UGC_SET_DELETED
---
---@param p0 any
---@param p1 boolean
---@param p2 any
---@return boolean
function UgcSetDeleted(p0, p1, p2)
end

--- NETWORK_CREATE_SYNCHRONISED_SCENE
---
---@param x number
---@param y number
---@param z number
---@param xRot number
---@param yRot number
---@param zRot number
---@param rotationOrder any
---@param holdLastFrame boolean
---@param looped boolean
---@param p9 number
---@param animTime number
---@param animSpeed number
---@return any
function NetworkCreateSynchronisedScene(x, y, z, xRot, yRot, zRot, rotationOrder, holdLastFrame, looped, p9, animTime, animSpeed)
end

--- _NETWORK_GET_AVERAGE_PACKET_LOSS_FOR_PLAYER
---
--- NETWORK_GET_*
--- 
--- NativeDB Introduced: v323
--- 
---@param player number
---@return number
function NetworkGetAveragePacketLossForPlayer(player)
end

--- NETWORK_IS_PLAYER_MUTED_BY_ME
---
---@param player number
---@return boolean
function NetworkIsPlayerMutedByMe(player)
end

--- NETWORK_JOIN_GROUP_ACTIVITY
---
---@return any
function NetworkJoinGroupActivity()
end

--- BAD_SPORT_PLAYER_LEFT_DETECTED
---
---@param networkHandle any
---@param event any
---@param amountReceived any
---@return boolean
function BadSportPlayerLeftDetected(networkHandle, event, amountReceived)
end

--- _NETWORK_CAN_VIEW_GAMER_USER_CONTENT
---
---@param networkHandle any
---@return boolean
function NetworkCanViewGamerUserContent(networkHandle)
end

--- NETWORK_CLAN_DOWNLOAD_MEMBERSHIP
---
---@param networkHandle any
---@return boolean
function NetworkClanDownloadMembership(networkHandle)
end

--- _RESET_GHOSTED_ENTITY_ALPHA
---Sets the alpha value used by [_SET_LOCAL_PLAYER_AS_GHOST](#\_0x5FFE9B4144F9712F), [SET_NETWORK_VEHICLE_AS_GHOST](#\_0x6274C4712850841E), and [_NETWORK_SET_ENTITY_GHOSTED_WITH_OWNER](#\_0x4BA166079D658ED4).
---@return any
function ResetGhostedEntityAlpha()
end

--- NETWORK_GET_PRESENCE_INVITE_PLAYLIST_LENGTH
---
---@param p0 any
---@return any
function NetworkGetPresenceInvitePlaylistLength(p0)
end

--- NETWORK_IS_FRIEND
---
---@param networkHandle any
---@return boolean
function NetworkIsFriend(networkHandle)
end

--- _RESERVE_NETWORK_LOCAL_OBJECTS
---
--- Internal logging string: SCRIPT_RESERVING_LOCAL_OBJECTS
--- 
--- 
--- 
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@return any
function ReserveNetworkLocalObjects(amount)
end

--- SET_BALANCE_ADD_MACHINE
---
---@param contentId any
---@param contentTypeName any
---@return boolean
function SetBalanceAddMachine(contentId, contentTypeName)
end

--- NETWORK_IS_PLAYER_CONNECTED
---
---@param player number
---@return boolean
function NetworkIsPlayerConnected(player)
end

--- FILLOUT_PM_PLAYER_LIST_WITH_NAMES
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return boolean
function FilloutPmPlayerListWithNames(p0, p1, p2, p3)
end

--- NETWORK_GET_ENTITY_IS_NETWORKED
---
---@param entity number
---@return boolean
function NetworkGetEntityIsNetworked(entity)
end

--- NETWORK_GET_HOST_OF_SCRIPT
---
--- scriptName examples:  
--- "freemode", "AM_CR_SecurityVan", ...  
--- Most of the time, these values are used:  
--- p1 = -1  
--- p2 = 0  
--- 
---@param scriptName any
---@param p1 any
---@param p2 any
---@return number
function NetworkGetHostOfScript(scriptName, p1, p2)
end

--- NETWORK_GET_MAX_FRIENDS
---
---@return any
function NetworkGetMaxFriends()
end

--- NETWORK_GET_PLAYER_OWNS_WAYPOINT
---
---@param player number
---@return boolean
function NetworkGetPlayerOwnsWaypoint(player)
end

--- NETWORK_IS_IN_PLATFORM_PARTY
---
--- Hardcoded to return false.
--- 
---@return boolean
function NetworkIsInPlatformParty()
end

--- NETWORK_IS_SCRIPT_ACTIVE
---
---@param scriptName any
---@param player number
---@param p2 boolean
---@param p3 any
---@return boolean
function NetworkIsScriptActive(scriptName, player, p2, p3)
end

--- NETWORK_OPEN_TRANSITION_MATCHMAKING
---
---@return any
function NetworkOpenTransitionMatchmaking()
end

--- NETWORK_SESSION_FORCE_CANCEL_INVITE
---
---@return any
function NetworkSessionForceCancelInvite()
end

--- NETWORK_SESSION_GET_INVITER
---
---@param networkHandle any
---@return any
function NetworkSessionGetInviter(networkHandle)
end

--- NETWORK_SET_THIS_SCRIPT_IS_NETWORK_SCRIPT
---
---@param maxNumMissionParticipants any
---@param p1 boolean
---@param instanceId any
---@return any
function NetworkSetThisScriptIsNetworkScript(maxNumMissionParticipants, p1, instanceId)
end

--- NETWORK_IS_PLAYER_BLOCKED_BY_ME
---
---@param player number
---@return boolean
function NetworkIsPlayerBlockedByMe(player)
end

--- GET_NUM_CREATED_MISSION_PEDS
---
---@param p0 boolean
---@return any
function GetNumCreatedMissionPeds(p0)
end

--- _NETWORK_ACCEPT_INVITE
---
--- NETWORK_RE*
--- 
--- Triggers a CEventNetworkInviteConfirmed event
--- 
---@return boolean
function NetworkAcceptInvite()
end

--- NETWORK_GAMERTAG_FROM_HANDLE_START
---
---@param networkHandle any
---@return boolean
function NetworkGamertagFromHandleStart(networkHandle)
end

--- NETWORK_HAS_PENDING_INVITE
---
---@return boolean
function NetworkHasPendingInvite()
end

--- NETWORK_IS_TUTORIAL_SESSION_CHANGE_PENDING
---
---@return boolean
function NetworkIsTutorialSessionChangePending()
end

--- SET_NETWORK_CUTSCENE_ENTITIES
---
---@param toggle boolean
---@return any
function SetNetworkCutsceneEntities(toggle)
end

--- NETWORK_SET_SCRIPT_READY_FOR_EVENTS
---
---@param toggle boolean
---@return any
function NetworkSetScriptReadyForEvents(toggle)
end

--- _SET_LOCAL_PLAYER_AS_GHOST
---Formerly incorrectly named USE_PLAYER_COLOUR_INSTEAD_OF_TEAM_COLOUR due to incorrect treatment of console vs. PC native registration.
--- 
--- Native name guessed through ordering.
--- 
--- 
--- NativeDB Added Parameter 2: BOOL p1
--- 
---@param toggle boolean
---@return any
function SetLocalPlayerAsGhost(toggle)
end

--- CLOUD_IS_CHECKING_AVAILABILITY
---
---@return boolean
function CloudIsCheckingAvailability()
end

--- NETWORK_GET_INSTANCE_ID_OF_THIS_SCRIPT
---
---@return any
function NetworkGetInstanceIdOfThisScript()
end

--- NETWORK_GET_RANDOM_INT
---
---@return any
function NetworkGetRandomInt()
end

--- NETWORK_SESSION_FRIEND_MATCHMAKING
---
---@param p0 any
---@param p1 any
---@param maxPlayers any
---@param p3 boolean
---@return boolean
function NetworkSessionFriendMatchmaking(p0, p1, maxPlayers, p3)
end

--- NETWORK_SET_INVITE_ON_CALL_FOR_INVITE_MENU
---
---@param networkHandle any
---@return any
function NetworkSetInviteOnCallForInviteMenu(networkHandle)
end

--- _NETWORK_GET_PLATFORM_PARTY_UNK
---
---@return any
function NetworkGetPlatformPartyUnk()
end

--- NETWORK_HAS_INVITED_GAMER_TO_TRANSITION
---
---@param p0 any
---@return boolean
function NetworkHasInvitedGamerToTransition(p0)
end

--- NETWORK_INVITE_GAMERS_TO_TRANSITION
---
---@param p0 any
---@param p1 any
---@return boolean
function NetworkInviteGamersToTransition(p0, p1)
end

--- NETWORK_PLAYER_IS_CHEATER
---
---@return boolean
function NetworkPlayerIsCheater()
end

--- SET_STORE_ENABLED
---
--- Access to the store for shark cards etc...  
--- 
---@param toggle boolean
---@return any
function SetStoreEnabled(toggle)
end

--- UGC_QUERY_BY_CONTENT_IDS
---
---@param data any
---@param count any
---@param latestVersion boolean
---@param contentTypeName any
---@return boolean
function UgcQueryByContentIds(data, count, latestVersion, contentTypeName)
end

--- NETWORK_GET_PRIMARY_CLAN_DATA_NEW
---
---@param p0 any
---@param p1 any
---@return boolean
function NetworkGetPrimaryClanDataNew(p0, p1)
end

--- IS_NETWORK_ID_OWNED_BY_PARTICIPANT
---
---@param netId any
---@return boolean
function IsNetworkIdOwnedByParticipant(netId)
end

--- NETWORK_ADD_PED_TO_SYNCHRONISED_SCENE
---
---@param ped number
---@param netScene any
---@param animDict any
---@param animnName any
---@param blendInSpeed number
---@param blendOutSpeed number
---@param duration any
---@param flag any
---@param playbackRate number
---@param p9 any
---@return any
function NetworkAddPedToSynchronisedScene(ped, netScene, animDict, animnName, blendInSpeed, blendOutSpeed, duration, flag, playbackRate, p9)
end

--- NETWORK_GET_ENTITY_FROM_NETWORK_ID
---Get the local entity handle of the given network id
--- 
--- Through this native you can get back the entity that you previously converted to netid with [NetworkGetNetworkIdFromEntity](#\_0x9E35DAB6) or with the ToNet natives
---@param netId any
---@return number
function NetworkGetEntityFromNetworkId(netId)
end

--- NETWORK_GET_NUM_FOUND_GAMERS
---
---@return any
function NetworkGetNumFoundGamers()
end

--- NETWORK_OVERRIDE_COORDS_AND_HEADING
---
---@param entity number
---@param x number
---@param y number
---@param z number
---@param heading number
---@return any
function NetworkOverrideCoordsAndHeading(entity, x, y, z, heading)
end

--- NETWORK_GET_PRESENCE_INVITE_IS_TOURNAMENT
---
---@param p0 any
---@return boolean
function NetworkGetPresenceInviteIsTournament(p0)
end

--- NETWORK_GET_PRIMARY_CLAN_DATA_CANCEL
---
---@return any
function NetworkGetPrimaryClanDataCancel()
end

--- NETWORK_HAS_CONTROL_OF_PICKUP
---
---@param pickup any
---@return boolean
function NetworkHasControlOfPickup(pickup)
end

--- UGC_GET_FRIEND_CONTENT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return boolean
function UgcGetFriendContent(p0, p1, p2, p3)
end

--- GET_COMMERCE_ITEM_CAT
---
--- index2 is unused
--- 
---@param index any
---@param index2 any
---@return any
function GetCommerceItemCat(index, index2)
end

--- NETWORK_APPLY_TRANSITION_PARAMETER_STRING
---
---@param p0 any
---@param string any
---@param p2 boolean
---@return any
function NetworkApplyTransitionParameterString(p0, string, p2)
end

--- UGC_GET_CONTENT_RATING_POSITIVE_COUNT
---
---@param p0 any
---@param p1 any
---@return any
function UgcGetContentRatingPositiveCount(p0, p1)
end

--- NETWORK_APPLY_CACHED_PLAYER_HEAD_BLEND_DATA
---
---@param ped number
---@param player number
---@return boolean
function NetworkApplyCachedPlayerHeadBlendData(ped, player)
end

--- NETWORK_DO_TRANSITION_QUICKMATCH
---
--- NativeDB Added Parameter 5: Any p4
--- NativeDB Added Parameter 6: Any p5
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return boolean
function NetworkDoTransitionQuickmatch(p0, p1, p2, p3)
end

--- _NETWORK_REGISTER_TUNABLE_INT_HASH
---
---@param contextHash any
---@param nameHash any
---@param value any
---@return boolean
function NetworkRegisterTunableIntHash(contextHash, nameHash, value)
end

--- NETWORK_SET_ACTIVITY_SPECTATOR_MAX
---
---@param maxSpectators any
---@return any
function NetworkSetActivitySpectatorMax(maxSpectators)
end

--- NETWORK_AM_I_MUTED_BY_GAMER
---
---@param networkHandle any
---@return boolean
function NetworkAmIMutedByGamer(networkHandle)
end

--- NETWORK_GET_PLAYER_INDEX
---
---@param player number
---@return any
function NetworkGetPlayerIndex(player)
end

--- NETWORK_IS_PARTY_MEMBER
---
--- Note according to IDA TU27 X360(Console),  
--- This native & 'NETWORK_IS_PARTY_MEMBER' both jump to the same location.  
--- Side note: This location just stops where it's at once jumped to.  
--- Screenshot for side note,   
--- h t t p ://i.imgur.com/m2ci1mF.png  
--- h t t p://i.imgur.com/Z0Wx2B6.png  
--- 
---@param networkHandle any
---@return boolean
function NetworkIsPartyMember(networkHandle)
end

--- NETWORK_IS_PLAYER_CONCEALED
---
---@param player number
---@return boolean
function NetworkIsPlayerConcealed(player)
end

--- NETWORK_SESSION_BLOCK_JOIN_REQUESTS
---
---@param toggle boolean
---@return any
function NetworkSessionBlockJoinRequests(toggle)
end

--- NETWORK_START_RESPAWN_SEARCH_IN_ANGLED_AREA_FOR_PLAYER
---p8, p9, p10 is another coordinate, or zero, often related to GET_BLIP_COORDS in the decompiled scripts.
---@param player number
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param width number
---@param p8 number
---@param p9 number
---@param p10 number
---@param flags any
---@return boolean
function NetworkStartRespawnSearchInAngledAreaForPlayer(player, x1, y1, z1, x2, y2, z2, width, p8, p9, p10, flags)
end

--- NETWORK_IS_GAME_IN_PROGRESS
---
---@return boolean
function NetworkIsGameInProgress()
end

--- NETWORK_RESURRECT_LOCAL_PLAYER
---
--- NativeDB Added Parameter 7: Any p6
--- 
---@param x number
---@param y number
---@param z number
---@param heading number
---@param unk boolean
---@param changetime boolean
---@return any
function NetworkResurrectLocalPlayer(x, y, z, heading, unk, changetime)
end

--- GET_TIME_DIFFERENCE
---
--- Subtracts the second argument from the first.  
--- 
---@param timeA any
---@param timeB any
---@return any
function GetTimeDifference(timeA, timeB)
end

--- NETWORK_REQUEST_CLOUD_TUNABLES
---
---@return any
function NetworkRequestCloudTunables()
end

--- NETWORK_SEND_TRANSITION_GAMER_INSTRUCTION
---
--- the first arg seems to be the network player handle (&handle) and the second var is pretty much always "" and the third seems to be a number between 0 and ~10 and the 4th is is something like 0 to 5 and I guess the 5th is a bool cuz it is always 0 or 1  
--- does this send an invite to a player?  
--- 
---@param networkHandle any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 boolean
---@return boolean
function NetworkSendTransitionGamerInstruction(networkHandle, p1, p2, p3, p4)
end

--- GET_MAX_NUM_NETWORK_VEHICLES
---
---@return any
function GetMaxNumNetworkVehicles()
end

--- _NETWORK_ALLOCATE_TUNABLES_REGISTRATION_DATA_MAP
---
---@return boolean
function NetworkAllocateTunablesRegistrationDataMap()
end

--- NETWORK_CAN_ACCESS_MULTIPLAYER
---
--- 11 - Need to download tunables.  
--- 12 - Need to download background script.  
--- Returns 1 if the multiplayer is loaded, otherwhise 0.  
--- 
---@param loadingState any
---@return boolean
function NetworkCanAccessMultiplayer(loadingState)
end

--- NETWORK_GET_NUM_PARTICIPANTS
---
---@return any
function NetworkGetNumParticipants()
end

--- NETWORK_GET_TRANSITION_HOST
---
---@param networkHandle any
---@return boolean
function NetworkGetTransitionHost(networkHandle)
end

--- NETWORK_IS_IN_MP_CUTSCENE
---
---@return boolean
function NetworkIsInMpCutscene()
end

--- NETWORK_SET_LOCAL_PLAYER_INVINCIBLE_TIME
---
---@param time any
---@return any
function NetworkSetLocalPlayerInvincibleTime(time)
end

--- UGC_GET_CONTENT_RATING_NEGATIVE_COUNT
---
---@param p0 any
---@param p1 any
---@return any
function UgcGetContentRatingNegativeCount(p0, p1)
end

--- NETWORK_SET_TEAM_ONLY_CHAT
---
---@param toggle boolean
---@return any
function NetworkSetTeamOnlyChat(toggle)
end

--- GET_NUM_CREATED_MISSION_OBJECTS
---
---@param p0 boolean
---@return any
function GetNumCreatedMissionObjects(p0)
end

--- IS_STORE_AVAILABLE_TO_USER
---
---@return boolean
function IsStoreAvailableToUser()
end

--- NETWORK_GET_TIMEOUT_TIME
---
---@return any
function NetworkGetTimeoutTime()
end

--- NETWORK_HANDLE_FROM_PLAYER
---
--- Returns a handle to networkHandle* from the specified player handle and stores it in a given buffer.  
--- * Currently unknown struct  
--- Example:  
--- std::vector<UINT64> GetPlayerNetworkHandle(Player player) {  
---     const int size = 13;  
---     uint64_t *buffer = std::make_unique<uint64_t[]>(size).get();  
---     NETWORK::NETWORK_HANDLE_FROM_PLAYER(player, reinterpret_cast<int *>(buffer), 13);  
---     for (int i = 0; i < size; i++) {  
---         Log::Msg("networkhandle[%i]: %llx", i, buffer[i]);  
---     }  
---     std::vector<UINT64> result(buffer, buffer + sizeof(buffer));  
---     return result;  
--- }  
--- 
---@param player number
---@param networkHandle any
---@param bufferSize any
---@return any
function NetworkHandleFromPlayer(player, networkHandle, bufferSize)
end

--- NETWORK_SESSION_IS_SOLO
---
---@return boolean
function NetworkSessionIsSolo()
end

--- NETWORK_SET_RICH_PRESENCE
---
--- On PC it's a nullsub which means it does absolutely nothing.  
--- Now that Discord supports Rich Presence, R* might finally implement this for PC. Or maybe in future games like RDR2, GTA VI...  
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSetRichPresence(p0, p1, p2, p3)
end

--- SET_NETWORK_ID_VISIBLE_IN_CUTSCENE
---
---@param netId any
---@param p1 boolean
---@param p2 boolean
---@return any
function SetNetworkIdVisibleInCutscene(netId, p1, p2)
end

--- UGC_CLEAR_QUERY_RESULTS
---
---@return any
function UgcClearQueryResults()
end

--- UGC_GET_CONTENT_NAME
---
---@param p0 any
---@return any
function UgcGetContentName(p0)
end

--- UGC_HAS_CREATE_FINISHED
---
---@return boolean
function UgcHasCreateFinished()
end

--- _SET_GHOSTED_ENTITY_ALPHA
---Sets the alpha value used by [_SET_LOCAL_PLAYER_AS_GHOST](#\_0x5FFE9B4144F9712F), [SET_NETWORK_VEHICLE_AS_GHOST](#\_0x6274C4712850841E), and [_NETWORK_SET_ENTITY_GHOSTED_WITH_OWNER](#\_0x4BA166079D658ED4).
--- 
--- 'Solidness' cannot be achieved using 255 - this will have the opposite effect of it defaulting to 128 it seems (or just having no effect at all).
---@param alpha any
---@return any
function SetGhostedEntityAlpha(alpha)
end

--- _NETWORK_GET_AVERAGE_LATENCY_FOR_PLAYER_2
---
--- Same as _NETWORK_GET_AVERAGE_LATENCY_FOR_PLAYER (0xD414BE129BB81B32)
--- 
--- 
--- 
--- NativeDB Introduced: v323
--- 
---@param player number
---@return number
function NetworkGetAverageLatencyForPlayer2(player)
end

--- NETWORK_JOIN_PREVIOUSLY_FAILED_TRANSITION
---
---@return boolean
function NetworkJoinPreviouslyFailedTransition()
end

--- NETWORK_MEMBER_ID_FROM_GAMER_HANDLE
---
---@param networkHandle any
---@return any
function NetworkMemberIdFromGamerHandle(networkHandle)
end

--- _NETWORK_REGISTER_TUNABLE_BOOL_HASH
---
---@param contextHash any
---@param nameHash any
---@param value any
---@return boolean
function NetworkRegisterTunableBoolHash(contextHash, nameHash, value)
end

--- NETWORK_SESSION_WAS_INVITED
---
---@return boolean
function NetworkSessionWasInvited()
end

--- SET_ENTITY_LOCALLY_INVISIBLE
---Sets the provided entity not visible for yourself for the current frame.
---@param entity number
---@return any
function SetEntityLocallyInvisible(entity)
end

--- UGC_CLEAR_CREATE_RESULT
---
---@return any
function UgcClearCreateResult()
end

--- NETWORK_SESSION_SET_MATCHMAKING_MENTAL_STATE
---
---@param p0 any
---@return any
function NetworkSessionSetMatchmakingMentalState(p0)
end

--- IS_DAMAGE_TRACKER_ACTIVE_ON_NETWORK_ID
---
---@param netID any
---@return boolean
function IsDamageTrackerActiveOnNetworkId(netID)
end

--- NETWORK_CLEAR_GET_GAMER_STATUS
---
---@return any
function NetworkClearGetGamerStatus()
end

--- NETWORK_IS_PLAYER_A_PARTICIPANT_ON_SCRIPT
---
---@param player1 number
---@param script any
---@param player2 number
---@return boolean
function NetworkIsPlayerAParticipantOnScript(player1, script, player2)
end

--- _NETWORK_IS_TEXT_CHAT_ACTIVE
---
--- Same as _IS_TEXT_CHAT_ACTIVE, except it does not check if the text chat HUD component is initialized, and therefore may crash.  
--- 
---@return boolean
function NetworkIsTextChatActive()
end

--- NETWORK_IS_TRANSITION_STARTED
---
---@return boolean
function NetworkIsTransitionStarted()
end

--- UGC_GET_QUERY_RESULT
---
---@return any
function UgcGetQueryResult()
end

--- _FACEBOOK_IS_SENDING_DATA
---
---@return boolean
function FacebookIsSendingData()
end

--- _NETWORK_BAIL_TRANSITION_QUICKMATCH
---
--- NativeDB Introduced: v2699
--- 
---@return any
function NetworkBailTransitionQuickmatch()
end

--- NETWORK_USE_HIGH_PRECISION_BLENDING
---
--- Old name: _NETWORK_SET_NETWORK_ID_DYNAMIC
--- 
---@param netID any
---@param toggle boolean
---@return any
function NetworkUseHighPrecisionBlending(netID, toggle)
end

--- _FACEBOOK_DO_UNK_CHECK
---
---@return boolean
function FacebookDoUnkCheck()
end

--- NETWORK_GET_GLOBAL_MULTIPLAYER_CLOCK
---
---@param hours any
---@param minutes any
---@param seconds any
---@return any
function NetworkGetGlobalMultiplayerClock(hours, minutes, seconds)
end

--- NETWORK_IS_FRIEND_IN_SAME_TITLE
---
--- In scripts R* calls 'NETWORK_GET_FRIEND_NAME' in this param.  
--- 
---@param friendName any
---@return boolean
function NetworkIsFriendInSameTitle(friendName)
end

--- NETWORK_SESSION_MARK_VISIBLE
---
---@param toggle boolean
---@return any
function NetworkSessionMarkVisible(toggle)
end

--- UGC_GET_CONTENT_LANGUAGE
---
---@param p0 any
---@return any
function UgcGetContentLanguage(p0)
end

--- _NETWORK_CAN_PLAY_MULTIPLAYER_WITH_GAMER
---
---@param networkHandle any
---@return boolean
function NetworkCanPlayMultiplayerWithGamer(networkHandle)
end

--- NETWORK_CHANGE_TRANSITION_SLOTS
---
---@param p0 any
---@param p1 any
---@return any
function NetworkChangeTransitionSlots(p0, p1)
end

--- NETWORK_GET_RANDOM_INT_RANGED
---
--- Same as GET_RANDOM_INT_IN_RANGE
--- 
---@param rangeStart any
---@param rangeEnd any
---@return any
function NetworkGetRandomIntRanged(rangeStart, rangeEnd)
end

--- NETWORK_SUPPRESS_INVITE
---
---@param toggle boolean
---@return any
function NetworkSuppressInvite(toggle)
end

--- UGC_SET_BOOKMARKED
---
---@param contentId any
---@param bookmarked boolean
---@param contentTypeName any
---@return boolean
function UgcSetBookmarked(contentId, bookmarked, contentTypeName)
end

--- NETWORK_JOIN_PREVIOUSLY_FAILED_SESSION
---
---@return boolean
function NetworkJoinPreviouslyFailedSession()
end

--- _CAN_REGISTER_MISSION_PICKUPS
---
---@param amount any
---@return boolean
function CanRegisterMissionPickups(amount)
end

--- _GET_ONLINE_VERSION
---
--- Online version is defined here: update\update.rpf\common\data\version.txt
--- Example:
--- [ONLINE_VERSION_NUMBER]
--- 1.33
--- _GET_ONLINE_VERSION() will return "1.33"
--- 
---@return any
function GetOnlineVersion()
end

--- IS_COMMERCE_DATA_VALID
---
---@return boolean
function IsCommerceDataValid()
end

--- NETWORK_BAIL_TRANSITION
---
--- NativeDB Added Parameter 1: int p0
--- NativeDB Added Parameter 2: int p1
--- NativeDB Added Parameter 3: int p2
--- 
---@return any
function NetworkBailTransition()
end

--- _NETWORK_HAS_AGE_RESTRICTED_PROFILE
---
---@return boolean
function NetworkHasAgeRestrictedProfile()
end

--- NETWORK_HAS_HEADSET
---
---@return boolean
function NetworkHasHeadset()
end

--- NETWORK_HAVE_ROS_MULTIPLAYER_PRIV
---
---@return boolean
function NetworkHaveRosMultiplayerPriv()
end

--- NETWORK_SET_VOICE_CHANNEL
---
---@param channel any
---@return any
function NetworkSetVoiceChannel(channel)
end

--- UGC_CLEAR_OFFLINE_QUERY
---
---@return any
function UgcClearOfflineQuery()
end

--- _NETWORK_GET_ROS_PRIVILEGE_25
---
---@return boolean
function NetworkGetRosPrivilege25()
end

--- NETWORK_ADD_FRIEND
---
---@param networkHandle any
---@param message any
---@return boolean
function NetworkAddFriend(networkHandle, message)
end

--- NETWORK_CHECK_COMMUNICATION_PRIVILEGES
---
---@param p0 any
---@param p1 any
---@param p2 boolean
---@return boolean
function NetworkCheckCommunicationPrivileges(p0, p1, p2)
end

--- NETWORK_CLEAR_VOICE_CHANNEL
---
---@return any
function NetworkClearVoiceChannel()
end

--- NETWORK_DO_TRANSITION_TO_NEW_GAME
---
---@param p0 boolean
---@param maxPlayers any
---@param p2 boolean
---@return boolean
function NetworkDoTransitionToNewGame(p0, maxPlayers, p2)
end

--- NETWORK_DOES_ENTITY_EXIST_WITH_NETWORK_ID
---
---@param netId any
---@return boolean
function NetworkDoesEntityExistWithNetworkId(netId)
end

--- NETWORK_SET_TRANSITION_VISIBILITY_LOCK
---
---@param p0 boolean
---@param p1 boolean
---@return any
function NetworkSetTransitionVisibilityLock(p0, p1)
end

--- NETWORK_IS_TRANSITION_OPEN_TO_MATCHMAKING
---
---@return boolean
function NetworkIsTransitionOpenToMatchmaking()
end

--- CAN_REGISTER_MISSION_VEHICLES
---
---@param amount any
---@return boolean
function CanRegisterMissionVehicles(amount)
end

--- NETWORK_CLAN_PLAYER_GET_DESC
---
--- bufferSize is 35 in the scripts.  
--- bufferSize is the elementCount of p0(desc), sizeof(p0) == 280 == p1*8 == 35 * 8, p2(netHandle) is obtained from NETWORK::NETWORK_HANDLE_FROM_PLAYER.  And no, I can't explain why 35 * sizeof(int) == 280 and not 140, but I'll get back to you on that.  
--- the answer is: because p0 an int64_t* / int64_t[35].  and FYI p2 is an int64_t[13]  
--- pastebin.com/cSZniHak  
--- 
---@param clanDesc any
---@param bufferSize any
---@param networkHandle any
---@return boolean
function NetworkClanPlayerGetDesc(clanDesc, bufferSize, networkHandle)
end

--- NETWORK_GET_PRESENCE_INVITE_SESSION_ID
---The Native returns a hash of the session id as string from the specific invite index!
---@param inviteIndex any
---@return any
function NetworkGetPresenceInviteSessionId(inviteIndex)
end

--- NETWORK_IS_LOCAL_PLAYER_INVINCIBLE
---
---@return boolean
function NetworkIsLocalPlayerInvincible()
end

--- _NETWORK_SET_CURRENT_SPAWN_SETTING
---
--- mpSettingSpawn:
--- 
--- enum eMpSettingSpawn
--- {
--- 	MP_SETTING_SPAWN_NULL,
--- 	MP_SETTING_SPAWN_PROPERTY,
--- 	MP_SETTING_SPAWN_LAST_POSITION,
--- 	MP_SETTING_SPAWN_GARAGE,
--- 	MP_SETTING_SPAWN_RANDOM,
--- 	MP_SETTING_SPAWN_PRIVATE_YACHT,
--- 	MP_SETTING_SPAWN_OFFICE,
--- 	MP_SETTING_SPAWN_CLUBHOUSE,
--- 	MP_SETTING_SPAWN_IE_WAREHOUSE,
--- 	MP_SETTING_SPAWN_BUNKER,
--- 	MP_SETTING_SPAWN_HANGAR,
--- 	MP_SETTING_SPAWN_DEFUNCT_BASE,
--- 	MP_SETTING_SPAWN_NIGHTCLUB,
--- 	MP_SETTING_SPAWN_ARENA_GARAGE,
--- 	MP_SETTING_SPAWN_CASINO_APARTMENT,
--- 	MP_SETTING_SPAWN_ARCADE,
--- 	MP_SETTING_SPAWN_SUBMARINE,
--- 	MP_SETTING_SPAWN_CAR_MEET,
--- 	MP_SETTING_SPAWN_AUTO_SHOP,
--- 	MP_SETTING_SPAWN_FIXER_HQ,
--- 	MP_SETTING_SPAWN_MAX,
--- };
--- 
--- 
--- 
--- NativeDB Introduced: v2699
--- 
---@param mpSettingSpawn any
---@return any
function NetworkSetCurrentSpawnSetting(mpSettingSpawn)
end

--- _NETWORK_SHOULD_SHOW_CONNECTIVITY_TROUBLESHOOTING
---
--- Returns true if the NAT type is Strict (3) and a certain number of connections have failed.
--- 
---@return boolean
function NetworkShouldShowConnectivityTroubleshooting()
end

--- FILLOUT_PM_PLAYER_LIST
---
---@param networkHandle any
---@param p1 any
---@param p2 any
---@return boolean
function FilloutPmPlayerList(networkHandle, p1, p2)
end

--- NETWORK_GET_PLAYER_LOUDNESS
---
---@param player number
---@return number
function NetworkGetPlayerLoudness(player)
end

--- NETWORK_SESSION_VOICE_CONNECT_TO_PLAYER
---
--- Only one occurence in the scripts:
--- auto sub_cb43(auto a_0, auto a_1) {
---     if (g_2594CB._f1) {
---         if (NETWORK::_855BC38818F6F684()) {
---             NETWORK::_ABD5E88B8A2D3DB2(&a_0._fB93);
---             g_2594CB._f14/*{13}*/ = a_0._fB93;
---             g_2594CB._f4/*"64"*/ = a_1;
---             return 1;
---         }
---     }
---     return 0;
--- }
--- other:
--- looks like it passes a player in the paramater
--- Contains string "NETWORK_VOICE_CONNECT_TO_PLAYER" in ida
--- 
---@param globalPtr any
---@return any
function NetworkSessionVoiceConnectToPlayer(globalPtr)
end

--- NETWORK_SET_ACTIVITY_PLAYER_MAX
---
---@param playerCount any
---@return any
function NetworkSetActivityPlayerMax(playerCount)
end

--- SET_LOCAL_PLAYER_VISIBLE_LOCALLY
---
---@param p0 boolean
---@return any
function SetLocalPlayerVisibleLocally(p0)
end

--- NETWORK_CAN_ENTER_MULTIPLAYER
---
---@return boolean
function NetworkCanEnterMultiplayer()
end

--- NETWORK_HOST_TRANSITION
---From what I can tell it looks like it does the following:
--- 
--- Creates/hosts a new transition to another online session, using this in FiveM will result in other players being disconencted from the server/preventing them from joining. This is most likely because I entered the wrong session parameters since they're pretty much all unknown right now.
--- 
--- You also need to use NetworkJoinTransition(Player player) and NetworkLaunchTransition().
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 boolean
---@param p6 boolean
---@param p7 any
---@param p8 any
---@param p9 any
---@return boolean
function NetworkHostTransition(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9)
end

--- SET_NETWORK_ID_CAN_MIGRATE
---
--- Whether or not another player is allowed to take control of the entity  
--- 
---@param netId any
---@param toggle boolean
---@return any
function SetNetworkIdCanMigrate(netId, toggle)
end

--- NETWORK_CLAN_RELEASE_EMBLEM
---
---@param p0 any
---@return any
function NetworkClanReleaseEmblem(p0)
end

--- NETWORK_ENTITY_AREA_IS_OCCUPIED
---
---@param areaHandle any
---@return boolean
function NetworkEntityAreaIsOccupied(areaHandle)
end

--- NETWORK_GET_LOCAL_SCENE_FROM_NETWORK_ID
---
---@param netId any
---@return any
function NetworkGetLocalSceneFromNetworkId(netId)
end

--- NETWORK_SET_NO_SPECTATOR_CHAT
---
---@param toggle boolean
---@return any
function NetworkSetNoSpectatorChat(toggle)
end

--- UGC_CLEAR_MODIFY_RESULT
---
---@return any
function UgcClearModifyResult()
end

--- UGC_GET_CONTENT_UPDATED_DATE
---
---@param p0 any
---@param p1 any
---@return any
function UgcGetContentUpdatedDate(p0, p1)
end

--- UGC_IS_GETTING
---
---@return boolean
function UgcIsGetting()
end

--- GET_COMMERCE_PRODUCT_PRICE
---
---@param index any
---@return any
function GetCommerceProductPrice(index)
end

--- NETWORK_ARE_SOCIAL_CLUB_POLICIES_CURRENT
---
---@return boolean
function NetworkAreSocialClubPoliciesCurrent()
end

--- NETWORK_FADE_IN_ENTITY
---
--- state - 0 does 5 fades  
--- state - 1 does 6 fades  
--- native is missing third argument, also boolean, setting to 1 made vehicle fade in slower, probably "slow" as per NETWORK_FADE_OUT_ENTITY  
--- 
--- 
--- 
--- NativeDB Added Parameter 3: BOOL slow
--- 
---@param entity number
---@param state boolean
---@return any
function NetworkFadeInEntity(entity, state)
end

--- NETWORK_GET_PRESENCE_INVITE_HANDLE
---
---@param p0 any
---@param p1 any
---@return boolean
function NetworkGetPresenceInviteHandle(p0, p1)
end

--- NETWORK_IS_TRANSITION_HOST_FROM_HANDLE
---
---@param networkHandle any
---@return boolean
function NetworkIsTransitionHostFromHandle(networkHandle)
end

--- NETWORK_OVERRIDE_TEAM_RESTRICTIONS
---
---@param team any
---@param toggle boolean
---@return any
function NetworkOverrideTeamRestrictions(team, toggle)
end

--- UGC_QUERY_BY_CONTENT_ID
---
---@param contentId any
---@param latestVersion boolean
---@param contentTypeName any
---@return boolean
function UgcQueryByContentId(contentId, latestVersion, contentTypeName)
end

--- _NETWORK_ALLOW_LOCAL_ENTITY_ATTACHMENT
---
---@param entity number
---@param toggle boolean
---@return any
function NetworkAllowLocalEntityAttachment(entity, toggle)
end

--- NETWORK_GAMERTAG_FROM_HANDLE_SUCCEEDED
---
---@return boolean
function NetworkGamertagFromHandleSucceeded()
end

--- NETWORK_HASH_FROM_GAMER_HANDLE
---
---@param networkHandle any
---@return any
function NetworkHashFromGamerHandle(networkHandle)
end

--- NETWORK_IS_CLOCK_TIME_OVERRIDDEN
---
---@return boolean
function NetworkIsClockTimeOverridden()
end

--- NETWORK_START_RESPAWN_SEARCH_FOR_PLAYER
---
--- One of the first things it does is get the players ped.  
--- Then it calls a function that is used in some tasks and ped based functions.  
--- 
--- 
--- p5, p6, p7 is another coordinate (or zero), often related to GET_BLIP_COORDS, in the decompiled scripts.
---@param player number
---@param x number
---@param y number
---@param z number
---@param radius number
---@param p5 number
---@param p6 number
---@param p7 number
---@param flags any
---@return boolean
function NetworkStartRespawnSearchForPlayer(player, x, y, z, radius, p5, p6, p7, flags)
end

--- GET_CLOUD_TIME_AS_INT
---Returns POSIX timestamp.
--- 
--- Renamed from _GET_POSIX_TIME to GET_CLOUD_TIME_AS_INT because of conflicting native names ([0xDA488F299A5B164E](#\_0xDA488F299A5B164E))
---@return any
function GetCloudTimeAsInt()
end

--- NETWORK_ATTACH_SYNCHRONISED_SCENE_TO_ENTITY
---
---@param netScene any
---@param entity number
---@param bone any
---@return any
function NetworkAttachSynchronisedSceneToEntity(netScene, entity, bone)
end

--- NETWORK_HANDLE_FROM_MEMBER_ID
---
--- Returns a NetworkHandle* from the specified member ID and stores it in a given buffer.  
--- * Currently unknown struct  
--- 
---@param memberId any
---@param networkHandle any
---@param bufferSize any
---@return any
function NetworkHandleFromMemberId(memberId, networkHandle, bufferSize)
end

--- NETWORK_IS_GETTING_GAMER_STATUS
---
---@return boolean
function NetworkIsGettingGamerStatus()
end

--- NETWORK_IS_SIGNED_IN
---
--- Returns whether the player is signed into Social Club.  
--- 
---@return boolean
function NetworkIsSignedIn()
end

--- UGC_GET_CREATOR_NUM
---
---@return any
function UgcGetCreatorNum()
end

--- NETWORK_ADD_SYNCHRONISED_SCENE_CAMERA
---
---@param netScene any
---@param animDict any
---@param animName any
---@return any
function NetworkAddSynchronisedSceneCamera(netScene, animDict, animName)
end

--- _NETWORK_GET_LAST_VELOCITY_RECEIVED
---
--- Used by NetBlender
--- 
---@param entity number
---@return { x: number, y: number, z: number }
function NetworkGetLastVelocityReceived(entity)
end

--- NETWORK_HAS_ROS_PRIVILEGE
---
--- index is always 18 in scripts
--- 
---@param index any
---@return boolean
function NetworkHasRosPrivilege(index)
end

--- NETWORK_IS_PLAYER_ACTIVE
---
---@param player number
---@return boolean
function NetworkIsPlayerActive(player)
end

--- NETWORK_START_SYNCHRONISED_SCENE
---
---@param netScene any
---@return any
function NetworkStartSynchronisedScene(netScene)
end

--- OPEN_COMMERCE_STORE
---
--- Has a 3rd param (int) since patch [???].  
--- 
--- 
--- 
--- NativeDB Added Parameter 3: int p2
--- 
---@param p0 any
---@param p1 any
---@return any
function OpenCommerceStore(p0, p1)
end

--- UGC_IS_LANGUAGE_SUPPORTED
---
---@param p0 any
---@return boolean
function UgcIsLanguageSupported(p0)
end

--- NETWORK_ARE_TRANSITION_DETAILS_VALID
---
---@param p0 any
---@return boolean
function NetworkAreTransitionDetailsValid(p0)
end

--- NETWORK_SESSION_HOST_FRIENDS_ONLY
---
--- Does nothing in online but in offline it will cause the screen to fade to black. Nothing happens past then, the screen will sit at black until you restart GTA. Other stuff must be needed to actually host a session.  
--- 
---@param p0 any
---@param maxPlayers any
---@return boolean
function NetworkSessionHostFriendsOnly(p0, maxPlayers)
end

--- NETWORK_SET_ACTIVITY_SPECTATOR
---
---@param toggle boolean
---@return any
function NetworkSetActivitySpectator(toggle)
end

--- NETWORK_SET_CHOICE_MIGRATE_OPTIONS
---
---@param toggle boolean
---@param player number
---@return any
function NetworkSetChoiceMigrateOptions(toggle, player)
end

--- _NETWORK_HAS_GAME_BEEN_ALTERED
---
--- Returns true if dinput8.dll is present in the game directory.
--- You will get following error message if that is true: "You are attempting to access GTA Online servers with an altered version of the game."
--- 
---@return boolean
function NetworkHasGameBeenAltered()
end

--- _SET_RELATIONSHIP_TO_PLAYER
---Enables ghosting between specific players. Name is between _SET_RELATIONSHIP_GROUP_DONT_AFFECT_WANTED_LEVEL and SET_ROADS_BACK_TO_ORIGINAL.
---@param player number
---@param p1 boolean
---@return any
function SetRelationshipToPlayer(player, p1)
end

--- _NETWORK_GET_UNRELIABLE_RESEND_COUNT_FOR_PLAYER
---
--- NETWORK_*
--- 
--- NativeDB Introduced: v323
--- 
---@param player number
---@return any
function NetworkGetUnreliableResendCountForPlayer(player)
end

--- NETWORK_ADD_ENTITY_AREA
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@return any
function NetworkAddEntityArea(p0, p1, p2, p3, p4, p5)
end

--- NETWORK_CAN_BAIL
---
---@return boolean
function NetworkCanBail()
end

--- NETWORK_CLEAR_GROUP_ACTIVITY
---
---@return any
function NetworkClearGroupActivity()
end

--- NETWORK_FADE_OUT_ENTITY
---
--- normal - transition like when your coming out of LSC  
--- slow - transition like when you walk into a mission  
--- 
---@param entity number
---@param normal boolean
---@param slow boolean
---@return any
function NetworkFadeOutEntity(entity, normal, slow)
end

--- NETWORK_GET_ENTITY_IS_LOCAL
---
---@param entity number
---@return boolean
function NetworkGetEntityIsLocal(entity)
end

--- _NETWORK_IS_FRIEND_HANDLE_ONLINE
---
---@param networkHandle any
---@return boolean
function NetworkIsFriendHandleOnline(networkHandle)
end

--- UGC_GET_CONTENT_HASH
---
---@return any
function UgcGetContentHash()
end

--- GET_MAX_NUM_NETWORK_PEDS
---
---@return any
function GetMaxNumNetworkPeds()
end

--- NETWORK_GET_RESPAWN_RESULT_FLAGS
---
---@param p0 any
---@return any
function NetworkGetRespawnResultFlags(p0)
end

--- NETWORK_GET_THIS_SCRIPT_IS_NETWORK_SCRIPT
---
---@return boolean
function NetworkGetThisScriptIsNetworkScript()
end

--- NETWORK_SET_IN_SPECTATOR_MODE
---
---@param toggle boolean
---@param playerPed number
---@return any
function NetworkSetInSpectatorMode(toggle, playerPed)
end

--- _NETWORK_CLAN_ANIMATION
---
--- Only documented...  
--- 
---@param animDict any
---@param animName any
---@return boolean
function NetworkClanAnimation(animDict, animName)
end

--- NETWORK_HAS_SOCIAL_CLUB_ACCOUNT
---
---@return boolean
function NetworkHasSocialClubAccount()
end

--- _REMOTE_CHEAT_DETECTED
---
--- NativeDB Added Parameter 1: Player player
--- NativeDB Added Parameter 2: int a
--- NativeDB Added Parameter 3: int b
--- 
---@return boolean
function RemoteCheatDetected()
end

--- NETWORK_CLAN_GET_LOCAL_MEMBERSHIPS_COUNT
---
---@return any
function NetworkClanGetLocalMembershipsCount()
end

--- NETWORK_CLEAR_VOICE_PROXIMITY_OVERRIDE
---
---@return any
function NetworkClearVoiceProximityOverride()
end

--- NETWORK_DISABLE_LEAVE_REMOTE_PED_BEHIND
---
---@param toggle boolean
---@return any
function NetworkDisableLeaveRemotePedBehind(toggle)
end

--- NETWORK_IS_FINDING_GAMERS
---
---@return boolean
function NetworkIsFindingGamers()
end

--- _NETWORK_SET_CURRENT_MISSION_ID
---
--- NativeDB Introduced: v2699
--- 
---@param missionId any
---@return any
function NetworkSetCurrentMissionId(missionId)
end

--- NETWORK_STOP_SYNCHRONISED_SCENE
---
---@param netScene any
---@return any
function NetworkStopSynchronisedScene(netScene)
end

--- NETWORK_SESSION_IS_PRIVATE
---
---@return boolean
function NetworkSessionIsPrivate()
end

--- FADE_OUT_LOCAL_PLAYER
---
--- Hardcoded to not work in SP.  
--- 
---@param p0 boolean
---@return any
function FadeOutLocalPlayer(p0)
end

--- IS_PLAYER_IN_CUTSCENE
---
---@param player number
---@return boolean
function IsPlayerInCutscene(player)
end

--- NETWORK_GET_FRIEND_COUNT
---
---@return any
function NetworkGetFriendCount()
end

--- NETWORK_GET_SCRIPT_STATUS
---
---@return any
function NetworkGetScriptStatus()
end

--- NETWORK_HANDLE_FROM_FRIEND
---
---@param friendIndex any
---@param networkHandle any
---@param bufferSize any
---@return any
function NetworkHandleFromFriend(friendIndex, networkHandle, bufferSize)
end

--- NETWORK_IS_ACTIVITY_SPECTATOR_FROM_HANDLE
---
---@param networkHandle any
---@return boolean
function NetworkIsActivitySpectatorFromHandle(networkHandle)
end

--- NETWORK_REGISTER_HOST_BROADCAST_VARIABLES
---
---@param vars any
---@param numVars any
---@return any
function NetworkRegisterHostBroadcastVariables(vars, numVars)
end

--- SET_BALANCE_ADD_MACHINES
---
---@param data any
---@param dataCount any
---@param contentTypeName any
---@return boolean
function SetBalanceAddMachines(data, dataCount, contentTypeName)
end

--- NET_TO_PED
---
--- gets the ped id of a network id  
--- 
---@param netHandle any
---@return number
function NetToPed(netHandle)
end

--- NETWORK_HAS_FOLLOW_INVITE
---
---@return boolean
function NetworkHasFollowInvite()
end

--- NETWORK_IS_IN_SESSION
---
---@return boolean
function NetworkIsInSession()
end

--- NETWORK_HASH_FROM_PLAYER_HANDLE
---
---@param player number
---@return any
function NetworkHashFromPlayerHandle(player)
end

--- NETWORK_SET_IN_FREE_CAM_MODE
---
---@param toggle boolean
---@return any
function NetworkSetInFreeCamMode(toggle)
end

--- RESERVE_NETWORK_MISSION_VEHICLES
---
---@param amount any
---@return any
function ReserveNetworkMissionVehicles(amount)
end

--- NETWORK_UNREGISTER_NETWORKED_ENTITY
---
---@param entity number
---@return any
function NetworkUnregisterNetworkedEntity(entity)
end

--- NETWORK_ACCEPT_PRESENCE_INVITE
---
---@param p0 any
---@return boolean
function NetworkAcceptPresenceInvite(p0)
end

--- NETWORK_AM_I_BLOCKED_BY_PLAYER
---
---@param player number
---@return boolean
function NetworkAmIBlockedByPlayer(player)
end

--- NETWORK_QUEUE_GAMER_FOR_STATUS
---
---@param p0 any
---@return boolean
function NetworkQueueGamerForStatus(p0)
end

--- NETWORK_SESSION_SET_MATCHMAKING_GROUP_MAX
---
--- playerTypes:
--- 0 = regular joiner
--- 4 = spectator
--- 8 = unknown
--- 
---@param playerType any
---@param playerCount any
---@return any
function NetworkSessionSetMatchmakingGroupMax(playerType, playerCount)
end

--- _NETWORK_UGC_NAV
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@return any
function NetworkUgcNav(p0, p1)
end

--- NETWORK_DISABLE_PROXIMITY_MIGRATION
---
---@param netID any
---@return any
function NetworkDisableProximityMigration(netID)
end

--- NETWORK_DOES_TUNABLE_EXIST
---
---@param tunableContext any
---@param tunableName any
---@return boolean
function NetworkDoesTunableExist(tunableContext, tunableName)
end

--- NETWORK_PLAYER_IS_ROCKSTAR_DEV
---
--- Checks if a specific value (BYTE) in CPlayerInfo is nonzero.  
--- Returns always false in Singleplayer.  
--- No longer used for dev checks since first mods were released on PS3 & 360.  
--- R* now checks with the is_dlc_present native for the dlc hash 2532323046,  
--- if that is present it will unlock dev stuff.  
--- 
---@param player number
---@return boolean
function NetworkPlayerIsRockstarDev(player)
end

--- UGC_DID_GET_SUCCEED
---
---@return any
function UgcDidGetSucceed()
end

--- _FACEBOOK_SET_HEIST_COMPLETE
---
---@param heistName any
---@param cashEarned any
---@param xpEarned any
---@return boolean
function FacebookSetHeistComplete(heistName, cashEarned, xpEarned)
end

--- NETWORK_ACCESS_TUNABLE_BOOL_HASH
---
---@param tunableContext any
---@param tunableName any
---@return boolean
function NetworkAccessTunableBoolHash(tunableContext, tunableName)
end

--- NETWORK_BAIL
---
--- NativeDB Added Parameter 1: int p0
--- NativeDB Added Parameter 2: int p1
--- NativeDB Added Parameter 3: int p2
--- 
---@return any
function NetworkBail()
end

--- _NETWORK_GET_NUM_BODY_TRACKERS
---
---@return any
function NetworkGetNumBodyTrackers()
end

--- _NETWORK_GET_ROS_PRIVILEGE_24
---
---@return boolean
function NetworkGetRosPrivilege24()
end

--- NETWORK_IS_ENTITY_FADING
---
---@param entity number
---@return boolean
function NetworkIsEntityFading(entity)
end

--- NETWORK_SESSION_CANCEL_INVITE
---
---@return any
function NetworkSessionCancelInvite()
end

--- NETWORK_CLAN_IS_EMBLEM_READY
---
---@param p0 any
---@param p1 any
---@return boolean
function NetworkClanIsEmblemReady(p0, p1)
end

--- NETWORK_DID_FIND_GAMERS_SUCCEED
---
---@return boolean
function NetworkDidFindGamersSucceed()
end

--- NETWORK_GET_LOCAL_HANDLE
---
--- Retrieves the local player's NetworkHandle* and stores it in the given buffer.  
--- * Currently unknown struct  
--- 
---@param networkHandle any
---@param bufferSize any
---@return any
function NetworkGetLocalHandle(networkHandle, bufferSize)
end

--- NETWORK_IS_MULTIPLAYER_DISABLED
---
---@return boolean
function NetworkIsMultiplayerDisabled()
end

--- _NETWORK_IS_SCRIPT_ACTIVE_BY_HASH
---
--- NativeDB Introduced: v2245
--- 
---@param scriptHash any
---@param p1 any
---@param p2 boolean
---@param p3 any
---@return boolean
function NetworkIsScriptActiveByHash(scriptHash, p1, p2, p3)
end

--- GET_COMMERCE_ITEM_ID
---
---@param index any
---@return any
function GetCommerceItemId(index)
end

--- NETWORK_ACCESS_TUNABLE_FLOAT_HASH
---
---@param tunableContext any
---@param tunableName any
---@param value any
---@return boolean
function NetworkAccessTunableFloatHash(tunableContext, tunableName, value)
end

--- NETWORK_CLAN_DOWNLOAD_MEMBERSHIP_PENDING
---
---@param p0 any
---@return boolean
function NetworkClanDownloadMembershipPending(p0)
end

--- NETWORK_DISABLE_INVINCIBLE_FLASHING
---
---@param player number
---@param toggle boolean
---@return any
function NetworkDisableInvincibleFlashing(player, toggle)
end

--- _NETWORK_GET_TARGETING_MODE
---
---@return any
function NetworkGetTargetingMode()
end

--- NETWORK_OVERRIDE_SEND_RESTRICTIONS_ALL
---
---@param toggle boolean
---@return any
function NetworkOverrideSendRestrictionsAll(toggle)
end

--- NETWORK_REQUEST_CLOUD_BACKGROUND_SCRIPTS
---
---@return boolean
function NetworkRequestCloudBackgroundScripts()
end

--- NETWORK_CLAN_IS_ROCKSTAR_CLAN
---
--- bufferSize is 35 in the scripts.  
--- 
---@param clanDesc any
---@param bufferSize any
---@return boolean
function NetworkClanIsRockstarClan(clanDesc, bufferSize)
end

--- NETWORK_HAVE_ROS_SOCIAL_CLUB_PRIV
---
---@return boolean
function NetworkHaveRosSocialClubPriv()
end

--- NETWORK_REQUEST_CONTROL_OF_ENTITY
---
---@param entity number
---@return boolean
function NetworkRequestControlOfEntity(entity)
end

--- _FACEBOOK_IS_AVAILABLE
---
---@return boolean
function FacebookIsAvailable()
end

--- GET_COMMERCE_ITEM_TEXTURENAME
---
--- NativeDB Added Parameter 3: int p2
--- 
---@param index any
---@return any
function GetCommerceItemTexturename(index)
end

--- CLOUD_CHECK_AVAILABILITY
---
--- Downloads prod.cloud.rockstargames.com/titles/gta5/[platform]/check.json
--- 
---@return any
function CloudCheckAvailability()
end

--- NETWORK_CAN_COMMUNICATE_WITH_GAMER
---
---@param networkHandle any
---@return boolean
function NetworkCanCommunicateWithGamer(networkHandle)
end

--- NETWORK_HAVE_ROS_CREATE_TICKET_PRIV
---
---@return boolean
function NetworkHaveRosCreateTicketPriv()
end

--- NETWORK_REMOVE_TRANSITION_INVITE
---
---@param p0 any
---@return any
function NetworkRemoveTransitionInvite(p0)
end

--- NETWORK_SESSION_SET_MATCHMAKING_GROUP
---
---@param matchmakingGroup any
---@return any
function NetworkSessionSetMatchmakingGroup(matchmakingGroup)
end

--- _NETWORK_SET_VEHICLE_TEST_DRIVE
---
--- Used by Metric VEHICLE_DIST_DRIVEN
--- 
--- 
--- 
--- NativeDB Introduced: v2699
--- 
---@param toggle boolean
---@return any
function NetworkSetVehicleTestDrive(toggle)
end

--- REQUEST_COMMERCE_ITEM_IMAGE
---
---@param index any
---@return boolean
function RequestCommerceItemImage(index)
end

--- GET_NUM_COMMERCE_ITEMS
---
---@return any
function GetNumCommerceItems()
end

--- NETWORK_CLAN_REQUEST_EMBLEM
---
---@param p0 any
---@return boolean
function NetworkClanRequestEmblem(p0)
end

--- _NETWORK_GET_FRIEND_NAME_FROM_INDEX
---
---@param friendIndex any
---@return any
function NetworkGetFriendNameFromIndex(friendIndex)
end

--- NETWORK_IS_SESSION_STARTED
---
--- This checks if player is playing on gta online or not.  
--- Please add an if and block your mod if this is "true".  
--- 
---@return boolean
function NetworkIsSessionStarted()
end

--- _NETWORK_OVERRIDE_CLOCK_MILLISECONDS_PER_GAME_MINUTE
---
--- NativeDB Introduced: v2189
--- 
---@param ms any
---@return any
function NetworkOverrideClockMillisecondsPerGameMinute(ms)
end

--- UGC_GET_CONTENT_RATING_COUNT
---
---@param p0 any
---@param p1 any
---@return any
function UgcGetContentRatingCount(p0, p1)
end

--- NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS_ALL
---
--- p0 is always false in scripts.
--- 
---@param toggle boolean
---@return any
function NetworkOverrideReceiveRestrictionsAll(toggle)
end

--- CLOUD_DELETE_MEMBER_FILE
---
---@param p0 any
---@return any
function CloudDeleteMemberFile(p0)
end

--- NETWORK_ACTION_FOLLOW_INVITE
---
---@return any
function NetworkActionFollowInvite()
end

--- NETWORK_DOES_TUNABLE_EXIST_HASH
---
---@param tunableContext any
---@param tunableName any
---@return boolean
function NetworkDoesTunableExistHash(tunableContext, tunableName)
end

--- NETWORK_GET_PRESENCE_INVITE_FROM_ADMIN
---
---@param p0 any
---@return boolean
function NetworkGetPresenceInviteFromAdmin(p0)
end

--- RESERVE_NETWORK_MISSION_OBJECTS
---
---@param amount any
---@return any
function ReserveNetworkMissionObjects(amount)
end

--- TEXTURE_DOWNLOAD_HAS_FAILED
---
---@param p0 any
---@return boolean
function TextureDownloadHasFailed(p0)
end

--- NETWORK_SESSION_JOIN_INVITE
---
---@return any
function NetworkSessionJoinInvite()
end

--- NETWORK_GET_MAX_NUM_PARTICIPANTS
---
--- Seems to always return 0, but it's used in quite a few loops.
--- for (num3 = 0; num3 < NETWORK::0xCCD8C02D(); num3++)
---     {
---         if (NETWORK::NETWORK_IS_PARTICIPANT_ACTIVE(PLAYER::0x98F3B274(num3)) != 0)
---         {
---             var num5 = NETWORK::NETWORK_GET_PLAYER_INDEX(PLAYER::0x98F3B274(num3));
--- 
---@return any
function NetworkGetMaxNumParticipants()
end

--- NETWORK_HAS_INVITED_GAMER
---
---@param p0 any
---@return boolean
function NetworkHasInvitedGamer(p0)
end

--- NETWORK_IS_HOST_OF_THIS_SCRIPT
---
---@return boolean
function NetworkIsHostOfThisScript()
end

--- NETWORK_IS_SIGNED_ONLINE
---
--- Returns whether the game is not in offline mode.  
--- seemed not to work for some ppl  
--- 
---@return boolean
function NetworkIsSignedOnline()
end

--- NETWORK_JOIN_TRANSITION
---
--- int handle[76];  
--- NETWORK_HANDLE_FROM_FRIEND(iSelectedPlayer, &handle[0], 13);  
--- Player uVar2 = NETWORK_GET_PLAYER_FROM_GAMER_HANDLE(&handle[0]);  
--- NETWORK_JOIN_TRANSITION(uVar2);  
--- 		nothing doin.  
--- 
---@param player number
---@return boolean
function NetworkJoinTransition(player)
end

--- _NETWORK_REGISTER_TUNABLE_FLOAT_HASH
---
---@param contextHash any
---@param nameHash any
---@param value any
---@return boolean
function NetworkRegisterTunableFloatHash(contextHash, nameHash, value)
end

--- NETWORK_IS_GAMER_BLOCKED_BY_ME
---
---@param networkHandle any
---@return boolean
function NetworkIsGamerBlockedByMe(networkHandle)
end

--- NETWORK_IS_OFFLINE_INVITE_PENDING
---
---@return boolean
function NetworkIsOfflineInvitePending()
end

--- NETWORK_SESSION_HOST_CLOSED
---
---@param p0 any
---@param maxPlayers any
---@return boolean
function NetworkSessionHostClosed(p0, maxPlayers)
end

--- NETWORK_HAS_CACHED_PLAYER_HEAD_BLEND_DATA
---
---@param player number
---@return boolean
function NetworkHasCachedPlayerHeadBlendData(player)
end

--- NETWORK_HAS_CONTROL_OF_ENTITY
---
---@param entity number
---@return boolean
function NetworkHasControlOfEntity(entity)
end

--- UGC_HAS_MODIFY_FINISHED
---
---@return boolean
function UgcHasModifyFinished()
end

--- NETWORK_ADD_ENTITY_TO_SYNCHRONISED_SCENE
---
---@param entity number
---@param netScene any
---@param animDict any
---@param animName any
---@param speed number
---@param speedMulitiplier number
---@param flag any
---@return any
function NetworkAddEntityToSynchronisedScene(entity, netScene, animDict, animName, speed, speedMulitiplier, flag)
end

--- NETWORK_IS_IN_PLATFORM_PARTY_CHAT
---
--- Hardcoded to return false.
--- 
---@return boolean
function NetworkIsInPlatformPartyChat()
end

--- UGC_GET_CONTENT_RATING
---
---@param p0 any
---@param p1 any
---@return any
function UgcGetContentRating(p0, p1)
end

--- NETWORK_IS_GAMER_TALKING
---
---@param networkHandle any
---@return boolean
function NetworkIsGamerTalking(networkHandle)
end

--- NETWORK_IS_TRANSITION_TO_GAME
---
---@return boolean
function NetworkIsTransitionToGame()
end

--- NETWORK_QUERY_RESPAWN_RESULTS
---
---@param p0 any
---@return any
function NetworkQueryRespawnResults(p0)
end

--- NETWORK_SET_RICH_PRESENCE_STRING
---This native does absolutely nothing, just a nullsub
---@param p0 any
---@param textLabel any
---@return any
function NetworkSetRichPresenceString(p0, textLabel)
end

--- HAS_NETWORK_TIME_STARTED
---
---@return boolean
function HasNetworkTimeStarted()
end

--- NETWORK_CAN_SET_WAYPOINT
---
---@return boolean
function NetworkCanSetWaypoint()
end

--- NETWORK_IS_IN_TRANSITION
---
---@return boolean
function NetworkIsInTransition()
end

--- _NETWORK_IS_THIS_SCRIPT_MARKED
---
---@param p0 any
---@param p1 boolean
---@param p2 any
---@return boolean
function NetworkIsThisScriptMarked(p0, p1, p2)
end

--- REFRESH_PLAYER_LIST_STATS
---
---@param p0 any
---@return boolean
function RefreshPlayerListStats(p0)
end

--- GET_NUM_RESERVED_MISSION_OBJECTS
---
--- p0 appears to be for MP  
--- 
--- 
--- 
--- NativeDB Added Parameter 2: Any p1
--- 
---@param p0 boolean
---@return any
function GetNumReservedMissionObjects(p0)
end

--- NETWORK_ACCESS_TUNABLE_BOOL
---
---@param tunableContext any
---@param tunableName any
---@return boolean
function NetworkAccessTunableBool(tunableContext, tunableName)
end

--- NETWORK_BLOCK_INVITES
---
---@param toggle boolean
---@return any
function NetworkBlockInvites(toggle)
end

--- NETWORK_CHECK_DATA_MANAGER_SUCCEEDED_FOR_HANDLE
---Checks if the friendDataIndex in the friend data manager contains the data for the specified networkHandle
---@param friendDataIndex any
---@param networkHandle any
---@return boolean
function NetworkCheckDataManagerSucceededForHandle(friendDataIndex, networkHandle)
end

--- SET_PLAYER_VISIBLE_LOCALLY
---
---@param player number
---@param toggle boolean
---@return any
function SetPlayerVisibleLocally(player, toggle)
end

--- PED_TO_NET
---
--- gets the network id of a ped  
--- 
---@param ped number
---@return any
function PedToNet(ped)
end

--- SET_LOCAL_PLAYER_VISIBLE_IN_CUTSCENE
---
---@param p0 boolean
---@param p1 boolean
---@return any
function SetLocalPlayerVisibleInCutscene(p0, p1)
end

--- NETWORK_CHECK_USER_CONTENT_PRIVILEGES
---
---@param p0 any
---@param p1 any
---@param p2 boolean
---@return boolean
function NetworkCheckUserContentPrivileges(p0, p1, p2)
end

--- NETWORK_DOES_NETWORK_ID_EXIST
---
---@param netId any
---@return boolean
function NetworkDoesNetworkIdExist(netId)
end

--- NETWORK_PLAYER_INDEX_IS_CHEATER
---
---@param player number
---@return boolean
function NetworkPlayerIndexIsCheater(player)
end

--- UGC_PUBLISH
---
---@param contentId any
---@param baseContentId any
---@param contentTypeName any
---@return boolean
function UgcPublish(contentId, baseContentId, contentTypeName)
end

--- _UGC_QUERY_RECENTLY_CREATED_CONTENT
---
---@param offset any
---@param count any
---@param contentTypeName any
---@param p3 any
---@return boolean
function UgcQueryRecentlyCreatedContent(offset, count, contentTypeName, p3)
end

--- UGC_COPY_CONTENT
---
---@param p0 any
---@param p1 any
---@return boolean
function UgcCopyContent(p0, p1)
end

--- NETWORK_ARE_HANDLES_THE_SAME
---
---@param netHandle1 any
---@param netHandle2 any
---@return boolean
function NetworkAreHandlesTheSame(netHandle1, netHandle2)
end

--- NETWORK_IS_HOST
---
--- If you are host, returns true else returns false.
--- 
---@return boolean
function NetworkIsHost()
end

--- NETWORK_REGISTER_PLAYER_BROADCAST_VARIABLES
---
---@param vars any
---@param numVars any
---@return any
function NetworkRegisterPlayerBroadcastVariables(vars, numVars)
end

--- _TRIGGER_SCRIPT_CRC_CHECK_ON_PLAYER
---
--- p1 = 6
--- 
---@param player number
---@param p1 any
---@param scriptHash any
---@return boolean
function TriggerScriptCrcCheckOnPlayer(player, p1, scriptHash)
end

--- GET_COMMERCE_ITEM_NAME
---
---@param index any
---@return any
function GetCommerceItemName(index)
end

--- NETWORK_CLAN_GET_MEMBERSHIP_DESC
---
---@param memberDesc any
---@param p1 any
---@return boolean
function NetworkClanGetMembershipDesc(memberDesc, p1)
end

--- NETWORK_HAVE_USER_CONTENT_PRIVILEGES
---
---@param p0 any
---@return boolean
function NetworkHaveUserContentPrivileges(p0)
end

--- NETWORK_IS_DOOR_NETWORKED
---
---@param doorHash any
---@return boolean
function NetworkIsDoorNetworked(doorHash)
end

--- NETWORK_PLAYER_IS_BADSPORT
---
---@return boolean
function NetworkPlayerIsBadsport()
end

--- IS_SPHERE_VISIBLE_TO_ANOTHER_MACHINE
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@return boolean
function IsSphereVisibleToAnotherMachine(p0, p1, p2, p3)
end

--- _NETWORK_GET_DESTROYER_OF_ENTITY
---
---@param p0 any
---@param p1 any
---@param weaponHash any
---@return boolean
function NetworkGetDestroyerOfEntity(p0, p1, weaponHash)
end

--- _NETWORK_GET_NUM_UNACKED_FOR_PLAYER
---
--- NativeDB Introduced: v323
--- 
---@param player number
---@return any
function NetworkGetNumUnackedForPlayer(player)
end

--- NETWORK_SESSION_IS_VOICE_SESSION_BUSY
---
---@return boolean
function NetworkSessionIsVoiceSessionBusy()
end

--- UGC_GET_CONTENT_USER_ID
---
---@param p0 any
---@return any
function UgcGetContentUserId(p0)
end

--- SHUTDOWN_AND_LAUNCH_SINGLE_PLAYER_GAME
---
--- Starts a new singleplayer game (at the prologue).  
--- 
---@return any
function ShutdownAndLaunchSinglePlayerGame()
end

--- NETWORK_ADD_FOLLOWERS
---
--- ..  
--- 
---@param p0 any
---@param p1 any
---@return any
function NetworkAddFollowers(p0, p1)
end

--- NETWORK_GET_GAMERTAG_FROM_HANDLE
---
---@param networkHandle any
---@return any
function NetworkGetGamertagFromHandle(networkHandle)
end

--- NETWORK_SEED_RANDOM_NUMBER_GENERATOR
---
---@param seed any
---@return any
function NetworkSeedRandomNumberGenerator(seed)
end

--- NETWORK_SESSION_GET_PRIVATE_SLOTS
---
---@return any
function NetworkSessionGetPrivateSlots()
end

--- NETWORK_SESSION_KICK_PLAYER
---
--- Only works as host.
--- 
---@param player number
---@return any
function NetworkSessionKickPlayer(player)
end

--- NETWORK_SET_ENTITY_CAN_BLEND
---
---@param entity number
---@param toggle boolean
---@return any
function NetworkSetEntityCanBlend(entity, toggle)
end

--- SET_NETWORK_VEHICLE_RESPOT_TIMER
---
--- NativeDB Added Parameter 3: Any p2
--- NativeDB Added Parameter 4: Any p3
--- 
---@param netId any
---@param time any
---@return any
function SetNetworkVehicleRespotTimer(netId, time)
end

--- _CLEAR_LAUNCH_PARAMS
---**This native does absolutely nothing, just a nullsub**
---@return any
function ClearLaunchParams()
end

--- NETWORK_DO_TRANSITION_QUICKMATCH_WITH_GROUP
---
--- NativeDB Added Parameter 7: Any p6
--- NativeDB Added Parameter 8: Any p7
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@return boolean
function NetworkDoTransitionQuickmatchWithGroup(p0, p1, p2, p3, p4, p5)
end

--- NETWORK_GET_AGE_GROUP
---
---@return any
function NetworkGetAgeGroup()
end

--- UGC_GET_ROOT_CONTENT_ID
---
--- Return the root content id of a job.
--- 
---@param p0 any
---@return any
function UgcGetRootContentId(p0)
end

--- NETWORK_GET_TALKER_PROXIMITY
---
---@return number
function NetworkGetTalkerProximity()
end

--- UGC_GET_CONTENT_PATH
---
---@param p0 any
---@param p1 any
---@return any
function UgcGetContentPath(p0, p1)
end

--- NET_TO_ENT
---
--- gets the entity id of a network id  
--- 
---@param netHandle any
---@return number
function NetToEnt(netHandle)
end

--- NETWORK_ADD_ENTITY_DISPLAYED_BOUNDARIES
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@return any
function NetworkAddEntityDisplayedBoundaries(p0, p1, p2, p3, p4, p5)
end

--- NETWORK_CLEAR_FOUND_GAMERS
---
---@return any
function NetworkClearFoundGamers()
end

--- NETWORK_OVERRIDE_CHAT_RESTRICTIONS
---
--- Could possibly bypass being muted or automatically muted  
--- 
---@param player number
---@param toggle boolean
---@return any
function NetworkOverrideChatRestrictions(player, toggle)
end

--- NETWORK_SESSION_CREW_MATCHMAKING
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param maxPlayers any
---@param p4 boolean
---@return boolean
function NetworkSessionCrewMatchmaking(p0, p1, p2, maxPlayers, p4)
end

--- NETWORK_SESSION_VOICE_LEAVE
---
---@return any
function NetworkSessionVoiceLeave()
end

--- NETWORK_CLAN_GET_MEMBERSHIP_COUNT
---
---@param p0 any
---@return any
function NetworkClanGetMembershipCount(p0)
end

--- NETWORK_IS_GAMER_MUTED_BY_ME
---
---@param networkHandle any
---@return boolean
function NetworkIsGamerMutedByMe(networkHandle)
end

--- _NETWORK_IS_PLAYER_EQUAL_TO_INDEX
---
--- NETWORK_ARE_*  
--- 
---@param player number
---@param index any
---@return boolean
function NetworkIsPlayerEqualToIndex(player, index)
end

--- NETWORK_IS_PLAYER_IN_MP_CUTSCENE
---
---@param player number
---@return boolean
function NetworkIsPlayerInMpCutscene(player)
end

--- NETWORK_GET_PARTICIPANT_INDEX
---
---@param index any
---@return any
function NetworkGetParticipantIndex(index)
end

--- _RESERVE_NETWORK_LOCAL_PEDS
---
--- Internal logging string: SCRIPT_RESERVING_LOCAL_PEDS
--- 
--- 
--- 
--- NativeDB Introduced: v1493
--- 
---@param amount any
---@return any
function ReserveNetworkLocalPeds(amount)
end

--- _IS_ENTITY_GHOSTED_TO_LOCAL_PLAYER
---
---@param entity number
---@return boolean
function IsEntityGhostedToLocalPlayer(entity)
end

--- NET_TO_OBJ
---
--- gets the object id of a network id  
--- 
---@param netHandle any
---@return any
function NetToObj(netHandle)
end

--- NETWORK_APPLY_TRANSITION_PARAMETER
---
---@param p0 any
---@param p1 any
---@return any
function NetworkApplyTransitionParameter(p0, p1)
end

--- NETWORK_IS_PLAYER_TALKING
---
--- returns true if someone is screaming or talking in a microphone  
--- 
---@param player number
---@return boolean
function NetworkIsPlayerTalking(player)
end

--- NETWORK_SESSION_ENTER
---
--- unknown params  
--- p0 = 0, 2, or 999 (The global is 999 by default.)  
--- p1 = 0 (Always in every script it's found in atleast.)  
--- p2 = 0, 3, or 4 (Based on a var that is determined by a function.)  
--- p3 = maxPlayers (It's obvious in x360 scripts it's always 18)  
--- p4 = 0 (Always in every script it's found in atleast.)  
--- p5 = 0 or 1. (1 if network_can_enter_multiplayer, but set to 0 if other checks after that are passed.)  
--- p5 is reset to 0 if,  
--- Global_1315318 = 0 or Global_1315323 = 9 or 12 or (Global_1312629 = 0 && Global_1312631 = true/1) those are passed.  
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param maxPlayers any
---@param p4 any
---@param p5 any
---@return any
function NetworkSessionEnter(p0, p1, p2, maxPlayers, p4, p5)
end

--- TEXTURE_DOWNLOAD_GET_NAME
---
---@param p0 any
---@return any
function TextureDownloadGetName(p0)
end

--- CLOUD_GET_AVAILABILITY_CHECK_RESULT
---
---@return boolean
function CloudGetAvailabilityCheckResult()
end

--- UGC_GET_CREATE_RESULT
---
---@return any
function UgcGetCreateResult()
end

--- NETWORK_APPLY_VOICE_PROXIMITY_OVERRIDE
---
---@param x number
---@param y number
---@param z number
---@return any
function NetworkApplyVoiceProximityOverride(x, y, z)
end

--- NETWORK_EXPLODE_VEHICLE
---
--- In the console script dumps, this is only referenced once.   
--- NETWORK::NETWORK_EXPLODE_VEHICLE(vehicle, 1, 0, 0);  
--- ^^^^^ That must be PC script dumps? In X360 Script Dumps it is reference a few times with 2 differences in the parameters.  
--- Which as you see below is 1, 0, 0 + 1, 1, 0 + 1, 0, and a *param?  
--- am_plane_takedown.c   
--- network_explode_vehicle(net_to_veh(Local_40.imm_2), 1, 1, 0);  
--- armenian2.c   
--- network_explode_vehicle(Local_80[6 <2>], 1, 0, 0);  
--- fm_horde_controler.c  
--- network_explode_vehicle(net_to_veh(*uParam0), 1, 0, *uParam0);  
--- fm_mission_controller.c, has 6 hits so not going to list them.  
--- Side note, setting the first parameter to 0 seems to mute sound or so?  
--- Seems it's like ADD_EXPLOSION, etc. the first 2 params. The 3rd atm no need to worry since it always seems to be 0.  
--- 
---@param vehicle any
---@param isAudible boolean
---@param isInvisible boolean
---@param p3 boolean
---@return any
function NetworkExplodeVehicle(vehicle, isAudible, isInvisible, p3)
end

--- NETWORK_IS_IN_PARTY
---
--- Note according to IDA TU27 X360(Console),  
--- This native & 'NETWORK_IS_PARTY_MEMBER' both jump to the same location.  
--- Side note: This location just stops where it's at once jumped to.  
--- Screenshot for side note,   
--- h t t p ://i.imgur.com/m2ci1mF.png  
--- h t t p://i.imgur.com/Z0Wx2B6.png  
--- 
---@return boolean
function NetworkIsInParty()
end

--- NETWORK_SESSION_END
---
--- p0 is always false and p1 varies.  
--- NETWORK_SESSION_END(0, 1)  
--- NETWORK_SESSION_END(0, 0)  
--- Results in: "Connection to session lost due to an unknown network error. Please return to Grand Theft Auto V and try again later."  
--- 
---@param p0 boolean
---@param p1 boolean
---@return boolean
function NetworkSessionEnd(p0, p1)
end

--- CAN_REGISTER_MISSION_OBJECTS
---
---@param amount any
---@return boolean
function CanRegisterMissionObjects(amount)
end

--- NETWORK_GET_HOST_OF_THIS_SCRIPT
---
---@return number
function NetworkGetHostOfThisScript()
end

--- NETWORK_IS_LOCAL_TALKING
---
---@return boolean
function NetworkIsLocalTalking()
end

--- _NETWORK_SET_CURRENT_DATA_MANAGER_HANDLE
---
---@param p0 any
---@return boolean
function NetworkSetCurrentDataManagerHandle(p0)
end

--- UGC_CANCEL_QUERY
---
---@return any
function UgcCancelQuery()
end

--- _IS_DAMAGE_TRACKER_ACTIVE_ON_PLAYER
---
---@param player number
---@return boolean
function IsDamageTrackerActiveOnPlayer(player)
end

--- NETWORK_GAMER_HAS_HEADSET
---
---@param networkHandle any
---@return boolean
function NetworkGamerHasHeadset(networkHandle)
end

--- NETWORK_IS_CLOUD_BACKGROUND_SCRIPT_REQUEST_PENDING
---
---@return boolean
function NetworkIsCloudBackgroundScriptRequestPending()
end

--- UGC_GET_CONTENT_NUM
---
---@return any
function UgcGetContentNum()
end

--- NETWORK_SET_PLAYER_IS_PASSIVE
---
---@param toggle boolean
---@return any
function NetworkSetPlayerIsPassive(toggle)
end

--- CAN_REGISTER_MISSION_PEDS
---
---@param amount any
---@return boolean
function CanRegisterMissionPeds(amount)
end

--- GET_MAX_NUM_NETWORK_PICKUPS
---
---@return any
function GetMaxNumNetworkPickups()
end

--- GET_NUM_CREATED_MISSION_VEHICLES
---
---@param p0 boolean
---@return any
function GetNumCreatedMissionVehicles(p0)
end

--- NETWORK_REMOVE_PRESENCE_INVITE
---
---@param p0 any
---@return boolean
function NetworkRemovePresenceInvite(p0)
end

--- NETWORK_RESET_BODY_TRACKER
---
---@return any
function NetworkResetBodyTracker()
end

--- NETWORK_SEND_INVITE_VIA_PRESENCE
---
---@param networkHandle any
---@param p1 any
---@param p2 any
---@param p3 any
---@return boolean
function NetworkSendInviteViaPresence(networkHandle, p1, p2, p3)
end

--- _SET_NETWORK_VEHICLE_POSITION_UPDATE_MULTIPLIER
---
--- rage::netBlenderLinInterp::GetPositionMaxForUpdateLevel
--- 
---@param vehicle any
---@param multiplier number
---@return any
function SetNetworkVehiclePositionUpdateMultiplier(vehicle, multiplier)
end

--- NETWORK_SESSION_GET_MATCHMAKING_GROUP_FREE
---
---@param p0 any
---@return any
function NetworkSessionGetMatchmakingGroupFree(p0)
end

--- NETWORK_GET_ENTITY_KILLER_OF_PLAYER
---
---@param player number
---@param weaponHash any
---@return number
function NetworkGetEntityKillerOfPlayer(player, weaponHash)
end

--- NETWORK_GET_RESPAWN_RESULT
---
--- Based on scripts such as in freemode.c how they call their vars vVar and fVar the 2nd and 3rd param it a Vector3 and Float, but the first is based on get_random_int_in_range..  
--- 
---@param randomInt any
---@param coordinates any
---@param heading any
---@return any
function NetworkGetRespawnResult(randomInt, coordinates, heading)
end

--- NETWORK_HAS_INVITE_BEEN_ACKED
---
---@param networkHandle any
---@return boolean
function NetworkHasInviteBeenAcked(networkHandle)
end

--- NETWORK_IS_GAMER_IN_MY_SESSION
---
---@param networkHandle any
---@return boolean
function NetworkIsGamerInMySession(networkHandle)
end

--- _NETWORK_RESPAWN_COORDS
---
--- p4 and p5 are always 0 in scripts  
--- 
---@param player number
---@param x number
---@param y number
---@param z number
---@param p4 boolean
---@param p5 boolean
---@return any
function NetworkRespawnCoords(player, x, y, z, p4, p5)
end

--- _FACEBOOK_SET_MILESTONE_COMPLETE
---
--- milestoneId:  
--- 0 = "percentcomplete"  
--- 1 = "storycomplete"  
--- 2 = "vehicles"  
--- 3 = "properties"  
--- 4 = "psych"  
--- 5 = "mapreveal"  
--- 6 = "prologue"  
--- 
---@param milestoneId any
---@return boolean
function FacebookSetMilestoneComplete(milestoneId)
end

--- NETWORK_CLEAR_FOLLOWERS
---
---@return any
function NetworkClearFollowers()
end

--- NETWORK_REMOVE_ALL_TRANSITION_INVITE
---
---@return any
function NetworkRemoveAllTransitionInvite()
end

--- NETWORK_SESSION_SET_MATCHMAKING_PROPERTY_ID
---
---@param p0 boolean
---@return any
function NetworkSessionSetMatchmakingPropertyId(p0)
end

--- NETWORK_SHOW_PROFILE_UI
---
--- Example:  
--- int playerHandle;	  
--- NETWORK_HANDLE_FROM_PLAYER(selectedPlayer, &playerHandle, 13);  
--- NETWORK_SHOW_PROFILE_UI(&playerHandle);  
--- 
---@param networkHandle any
---@return any
function NetworkShowProfileUi(networkHandle)
end

--- NETWORK_USE_LOGARITHMIC_BLENDING_THIS_FRAME
---
---@param entity number
---@return any
function NetworkUseLogarithmicBlendingThisFrame(entity)
end

--- NETWORK_IS_ACTIVITY_SPECTATOR
---
---@return boolean
function NetworkIsActivitySpectator()
end

--- NETWORK_DID_GET_GAMER_STATUS_SUCCEED
---
---@return boolean
function NetworkDidGetGamerStatusSucceed()
end

--- NETWORK_HAS_CONTROL_OF_NETWORK_ID
---
---@param netId any
---@return boolean
function NetworkHasControlOfNetworkId(netId)
end

--- NETWORK_HAS_PLAYER_STARTED_TRANSITION
---
---@param player number
---@return boolean
function NetworkHasPlayerStartedTransition(player)
end

--- NETWORK_IS_CABLE_CONNECTED
---
---@return boolean
function NetworkIsCableConnected()
end

--- NETWORK_IS_TRANSITION_SOLO
---
---@return boolean
function NetworkIsTransitionSolo()
end

--- RELEASE_ALL_COMMERCE_ITEM_IMAGES
---
---@return any
function ReleaseAllCommerceItemImages()
end

--- NETWORK_GET_GAMER_STATUS_FROM_QUEUE
---
---@return boolean
function NetworkGetGamerStatusFromQueue()
end

--- NETWORK_GET_NUM_CONNECTED_PLAYERS
---
--- Returns the amount of players connected in the current session. Only works when connected to a session/server.  
--- 
---@return any
function NetworkGetNumConnectedPlayers()
end

--- NETWORK_SESSION_IS_CLOSED_FRIENDS
---
---@return boolean
function NetworkSessionIsClosedFriends()
end

--- NETWORK_AM_I_MUTED_BY_PLAYER
---
---@param player number
---@return boolean
function NetworkAmIMutedByPlayer(player)
end

--- SET_LOCAL_PLAYER_INVISIBLE_LOCALLY
---
---@param p0 boolean
---@return any
function SetLocalPlayerInvisibleLocally(p0)
end

--- _NETWORK_GET_AVERAGE_LATENCY_FOR_PLAYER
---
--- NativeDB Introduced: v323
--- 
---@param player number
---@return number
function NetworkGetAverageLatencyForPlayer(player)
end

--- NETWORK_IS_TRANSITION_PRIVATE
---
---@return boolean
function NetworkIsTransitionPrivate()
end

--- NETWORK_CLEAR_TRANSITION_CREATOR_HANDLE
---
---@return any
function NetworkClearTransitionCreatorHandle()
end

--- NETWORK_OVERRIDE_CLOCK_TIME
---Works in Singleplayer too.
--- Passing wrong data (e.g. hours above 23) will cause the game to crash.
---@param hours any
---@param minutes any
---@param seconds any
---@return any
function NetworkOverrideClockTime(hours, minutes, seconds)
end

--- NETWORK_IS_CHATTING_IN_PLATFORM_PARTY
---
--- This would be nice to see if someone is in party chat, but 2 sad notes.  
--- 1) It only becomes true if said person is speaking in that party at the time.  
--- 2) It will never, become true unless you are in that party with said person.  
--- 
---@param networkHandle any
---@return boolean
function NetworkIsChattingInPlatformParty(networkHandle)
end

--- GET_TIME_AS_STRING
---
---@param time any
---@return any
function GetTimeAsString(time)
end

--- NETWORK_CLOSE_TRANSITION_MATCHMAKING
---
---@return any
function NetworkCloseTransitionMatchmaking()
end

--- NETWORK_GET_PLAYER_INDEX_FROM_PED
---
--- Returns the Player associated to a given Ped when in an online session.  
--- 
---@param ped number
---@return number
function NetworkGetPlayerIndexFromPed(ped)
end

--- NETWORK_HAS_TRANSITION_INVITE_BEEN_ACKED
---
---@param networkHandle any
---@return boolean
function NetworkHasTransitionInviteBeenAcked(networkHandle)
end

--- NETWORK_LAUNCH_TRANSITION
---
---@return boolean
function NetworkLaunchTransition()
end

--- NETWORK_LEAVE_TRANSITION
---
---@return boolean
function NetworkLeaveTransition()
end

--- UGC_GET_CREATE_CONTENT_ID
---
---@return any
function UgcGetCreateContentId()
end

--- NETWORK_CAN_SESSION_END
---
---@return boolean
function NetworkCanSessionEnd()
end

--- NETWORK_EXPLODE_HELI
---
---@param heli any
---@param isAudible boolean
---@param isInvisible boolean
---@param netScriptEntityId any
---@return any
function NetworkExplodeHeli(heli, isAudible, isInvisible, netScriptEntityId)
end

--- NETWORK_IS_TRANSITION_HOST
---
---@return boolean
function NetworkIsTransitionHost()
end

--- NETWORK_SESSION_VOICE_HOST
---
---@return any
function NetworkSessionVoiceHost()
end

--- REMOVE_ALL_STICKY_BOMBS_FROM_ENTITY
---
--- Used in am_mp_property_ext and am_mp_property_int  
--- 
--- 
--- 
--- NativeDB Added Parameter 2: Ped ped
--- 
---@param entity number
---@return any
function RemoveAllStickyBombsFromEntity(entity)
end

--- UGC_GET_CONTENT_DESCRIPTION_HASH
---
---@param p0 any
---@return any
function UgcGetContentDescriptionHash(p0)
end

--- CONVERT_POSIX_TIME
---
--- Takes the specified time and writes it to the structure specified in the second argument.  
--- struct date_time  
--- { 
---     alignas(8) int year;  
---     alignas(8) int month;  
---     alignas(8) int day;  
---     alignas(8) int hour;  
---     alignas(8) int minute;  
---     alignas(8) int second;  
--- };
--- 
---@param posixTime any
---@param timeStructure any
---@return any
function ConvertPosixTime(posixTime, timeStructure)
end

--- NETWORK_ENTITY_AREA_DOES_EXIST
---
---@param areaHandle any
---@return boolean
function NetworkEntityAreaDoesExist(areaHandle)
end

--- NETWORK_GET_CURRENTLY_SELECTED_GAMER_HANDLE_FROM_INVITE_MENU
---
---@param p0 any
---@return boolean
function NetworkGetCurrentlySelectedGamerHandleFromInviteMenu(p0)
end

--- NETWORK_GET_GAMER_STATUS_RESULT
---
---@param p0 any
---@param p1 any
---@return boolean
function NetworkGetGamerStatusResult(p0, p1)
end

--- OBJ_TO_NET
---
--- Lets objects spawn online simply do it like this:  
--- int createdObject = OBJ_TO_NET(CREATE_OBJECT_NO_OFFSET(oball, pCoords.x, pCoords.y, pCoords.z, 1, 0, 0));  
--- 
---@param object any
---@return any
function ObjToNet(object)
end

--- NETWORK_FINISH_BROADCASTING_DATA
---
---@return any
function NetworkFinishBroadcastingData()
end

--- NETWORK_OVERRIDE_TRANSITION_CHAT
---
---@param p0 boolean
---@return any
function NetworkOverrideTransitionChat(p0)
end

--- NETWORK_SET_IN_SPECTATOR_MODE_EXTENDED
---
---@param toggle boolean
---@param playerPed number
---@param p2 boolean
---@return any
function NetworkSetInSpectatorModeExtended(toggle, playerPed, p2)
end

--- UGC_GET_MODIFY_RESULT
---
---@return any
function UgcGetModifyResult()
end

--- USE_PLAYER_COLOUR_INSTEAD_OF_TEAM_COLOUR
---
---@param toggle boolean
---@return any
function UsePlayerColourInsteadOfTeamColour(toggle)
end

--- _NETWORK_CAN_GAMER_PLAY_MULTIPLAYER_WITH_ME
---
---@param networkHandle any
---@return boolean
function NetworkCanGamerPlayMultiplayerWithMe(networkHandle)
end

--- _NETWORK_GET_POSITION_HASH_OF_THIS_SCRIPT
---
--- NativeDB Introduced: v2372
--- 
---@return any
function NetworkGetPositionHashOfThisScript()
end

--- NETWORK_GET_PRESENCE_INVITE_INVITER
---Returns the Name of the inviter of the specific selected Invite.
---@param inviteIndex any
---@return any
function NetworkGetPresenceInviteInviter(inviteIndex)
end

--- _NETWORK_IS_NETWORK_ID_A_CLONE
---Returns true if the specified network id is controlled by someone else.
---@param netId any
---@return boolean
function NetworkIsNetworkIdAClone(netId)
end

--- NETWORK_REMOVE_ENTITY_AREA
---
---@param p0 any
---@return boolean
function NetworkRemoveEntityArea(p0)
end

--- NETWORK_SESSION_VALIDATE_JOIN
---
---@param p0 boolean
---@return any
function NetworkSessionValidateJoin(p0)
end

--- NETWORK_CANCEL_RESPAWN_SEARCH
---
---@return any
function NetworkCancelRespawnSearch()
end

--- NETWORK_CLAN_GET_MEMBERSHIP_VALID
---Checks if a crew/membership for a player, from the cache (i.e. downloaded via NETWORK_CLAN_DOWNLOAD_MEMBERSHIP) is valid.
---@param networkHandle any
---@param membershipIndex any
---@return boolean
function NetworkClanGetMembershipValid(networkHandle, membershipIndex)
end

--- NETWORK_CLEAR_CLOCK_TIME_OVERRIDE
---
---@return any
function NetworkClearClockTimeOverride()
end

--- NETWORK_GET_BACKGROUND_LOADING_RECIPIENTS
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return boolean
function NetworkGetBackgroundLoadingRecipients(p0, p1, p2, p3)
end

--- NETWORK_SESSION_IS_VISIBLE
---
---@return boolean
function NetworkSessionIsVisible()
end

--- NETWORK_TRY_ACCESS_TUNABLE_BOOL_HASH
---
--- Returns defaultValue if the tunable doesn't exist.
--- 
---@param tunableContext any
---@param tunableName any
---@param defaultValue boolean
---@return boolean
function NetworkTryAccessTunableBoolHash(tunableContext, tunableName, defaultValue)
end

--- _SHUTDOWN_AND_LOAD_MOST_RECENT_SAVE
---Disconnects you from the session, and starts loading single player, however you still remain connected to the server (only if you're the host, if you're not then you also (most likely) get disconnected from the server) and other players will not be able to join until you exit the game.
--- 
--- If you're already in SP then it'll re-load singleplayer.
--- 
--- You might need to DoScreenFadeIn and ShutdownLoadingScreen otherwise you probably won't end up loading into SP at all.
--- 
--- Somewhat related note: opening the pause menu after loading into this 'singleplayer' mode crashes the game.
---@return boolean
function ShutdownAndLoadMostRecentSave()
end

--- TEXTURE_DOWNLOAD_REQUEST
---
---@param PlayerHandle any
---@param FilePath any
---@param Name any
---@param p3 boolean
---@return any
function TextureDownloadRequest(PlayerHandle, FilePath, Name, p3)
end

--- GET_NETWORK_TIME_ACCURATE
---Returns the same value as [GetNetworkTime](#\_0x7A5487FE9FAA6B48) in freemode, but as opposed to GetNetworkTime it always gets the most recent time, instead of once per tick.
--- 
--- Could be used for benchmarking since it can return times in ticks.
---@return any
function GetNetworkTimeAccurate()
end

--- NETWORK_ADD_ENTITY_ANGLED_AREA
---To remove, see: [NETWORK_REMOVE_ENTITY_AREA](#\_0x93CF869BAA0C4874).
--- 
--- See [IS_POINT_IN_ANGLED_AREA](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param width number
---@return any
function NetworkAddEntityAngledArea(x1, y1, z1, x2, y2, z2, width)
end

--- NETWORK_IS_TRANSITION_CLOSED_CREW
---
---@return boolean
function NetworkIsTransitionClosedCrew()
end

--- NETWORK_PLAYER_HAS_HEADSET
---
---@param player number
---@return boolean
function NetworkPlayerHasHeadset(player)
end

--- NETWORK_SET_FRIENDLY_FIRE_OPTION
---
---@param toggle boolean
---@return any
function NetworkSetFriendlyFireOption(toggle)
end

--- NETWORK_SET_OVERRIDE_SPECTATOR_MODE
---
---@param toggle boolean
---@return any
function NetworkSetOverrideSpectatorMode(toggle)
end

--- _FACEBOOK_SET_CREATE_CHARACTER_COMPLETE
---
---@return boolean
function FacebookSetCreateCharacterComplete()
end

--- NETWORK_AM_I_BLOCKED_BY_GAMER
---
---@param networkHandle any
---@return boolean
function NetworkAmIBlockedByGamer(networkHandle)
end

--- NETWORK_HAVE_ROS_LEADERBOARD_WRITE_PRIV
---
---@return boolean
function NetworkHaveRosLeaderboardWritePriv()
end

--- NETWORK_IS_SESSION_ACTIVE
---
---@return boolean
function NetworkIsSessionActive()
end

--- UGC_GET_CONTENT_IS_VERIFIED
---
---@param p0 any
---@return boolean
function UgcGetContentIsVerified(p0)
end

--- NETWORK_ACCESS_TUNABLE_INT
---
---@param tunableContext any
---@param tunableName any
---@param value any
---@return boolean
function NetworkAccessTunableInt(tunableContext, tunableName, value)
end

--- NETWORK_CLAN_ANY_DOWNLOAD_MEMBERSHIP_PENDING
---
---@return boolean
function NetworkClanAnyDownloadMembershipPending()
end

--- NETWORK_IS_TRANSITION_VISIBILITY_LOCKED
---
---@return boolean
function NetworkIsTransitionVisibilityLocked()
end

--- SET_ENTITY_LOCALLY_VISIBLE
---Sets the provided entity visible for yourself for the current frame.
---@param entity number
---@return any
function SetEntityLocallyVisible(entity)
end

--- NETWORK_PLAYER_GET_CHEATER_REASON
---
---@return any
function NetworkPlayerGetCheaterReason()
end

--- NETWORK_GET_FOUND_GAMER
---
---@param p0 any
---@param p1 any
---@return boolean
function NetworkGetFoundGamer(p0, p1)
end

--- NETWORK_GET_PRESENCE_INVITE_ID
---
---@param p0 any
---@return any
function NetworkGetPresenceInviteId(p0)
end

--- NETWORK_GET_TOTAL_NUM_PLAYERS
---
---@return any
function NetworkGetTotalNumPlayers()
end

--- _NETWORK_HAVE_ONLINE_PRIVILEGE_2
---
---@return boolean
function NetworkHaveOnlinePrivilege2()
end

--- _NETWORK_PED_FORCE_GAME_STATE_UPDATE
---
--- NativeDB Introduced: v2372
--- 
---@param ped number
---@return any
function NetworkPedForceGameStateUpdate(ped)
end

--- UGC_GET_CONTENT_ID
---
--- Return the mission id of a job.
--- 
---@param p0 any
---@return any
function UgcGetContentId(p0)
end

--- NET_TO_VEH
---
---@param netHandle any
---@return any
function NetToVeh(netHandle)
end

--- _NETWORK_GET_ROS_PRIVILEGE_9
---
---@return boolean
function NetworkGetRosPrivilege9()
end

--- NETWORK_SESSION_IS_CLOSED_CREW
---
---@return boolean
function NetworkSessionIsClosedCrew()
end

--- UGC_GET_BOOKMARKED_CONTENT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return boolean
function UgcGetBookmarkedContent(p0, p1, p2, p3)
end

--- GET_NUM_RESERVED_MISSION_VEHICLES
---
--- p0 appears to be for MP  
--- 
--- 
--- 
--- NativeDB Added Parameter 2: Any p1
--- 
---@param p0 boolean
---@return any
function GetNumReservedMissionVehicles(p0)
end

--- NETWORK_SESSION_IS_IN_VOICE_SESSION
---
---@return boolean
function NetworkSessionIsInVoiceSession()
end

--- UGC_GET_GET_BY_CATEGORY
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return boolean
function UgcGetGetByCategory(p0, p1, p2, p3, p4)
end

--- ACTIVATE_DAMAGE_TRACKER_ON_NETWORK_ID
---
---@param netID any
---@param toggle boolean
---@return any
function ActivateDamageTrackerOnNetworkId(netID, toggle)
end

--- NETWORK_ACCESS_TUNABLE_INT_HASH
---
---@param tunableContext any
---@param tunableName any
---@param value any
---@return boolean
function NetworkAccessTunableIntHash(tunableContext, tunableName, value)
end

--- _NETWORK_DISPLAYNAMES_FROM_HANDLES_START
---
--- Hardcoded to return -1.
--- 
---@param p0 any
---@param p1 any
---@return any
function NetworkDisplaynamesFromHandlesStart(p0, p1)
end

--- NETWORK_MARK_TRANSITION_GAMER_AS_FULLY_JOINED
---
---@param p0 any
---@return boolean
function NetworkMarkTransitionGamerAsFullyJoined(p0)
end

--- NETWORK_SESSION_ADD_ACTIVE_MATCHMAKING_GROUP
---
---@param groupId any
---@return any
function NetworkSessionAddActiveMatchmakingGroup(groupId)
end

--- PARTICIPANT_ID
---
--- Return the local Participant ID  
--- 
---@return number
function ParticipantId()
end

--- NETWORK_REQUEST_CONTROL_OF_NETWORK_ID
---
---@param netId any
---@return boolean
function NetworkRequestControlOfNetworkId(netId)
end

--- GET_NUM_RESERVED_MISSION_PEDS
---
--- p0 appears to be for MP  
--- 
--- 
--- 
--- NativeDB Added Parameter 2: Any p1
--- 
---@param p0 boolean
---@return any
function GetNumReservedMissionPeds(p0)
end

--- IS_TIME_LESS_THAN
---
--- Subtracts the second argument from the first, then returns whether the result is negative.  
--- 
---@param timeA any
---@param timeB any
---@return boolean
function IsTimeLessThan(timeA, timeB)
end

--- NETWORK_CACHE_LOCAL_PLAYER_HEAD_BLEND_DATA
---
---@return any
function NetworkCacheLocalPlayerHeadBlendData()
end

--- NETWORK_CLEAR_PROPERTY_ID
---
---@return any
function NetworkClearPropertyId()
end

--- NETWORK_HAS_CONTROL_OF_DOOR
---
---@param doorHash any
---@return boolean
function NetworkHasControlOfDoor(doorHash)
end

--- _NETWORK_IS_PSN_AVAILABLE
---
---@return boolean
function NetworkIsPsnAvailable()
end

--- NETWORK_SEND_TEXT_MESSAGE
---
--- Message is limited to 64 characters.
--- 
---@param message any
---@param networkHandle any
---@return boolean
function NetworkSendTextMessage(message, networkHandle)
end

--- NETWORK_SET_CURRENTLY_SELECTED_GAMER_HANDLE_FROM_INVITE_MENU
---
---@param p0 any
---@return boolean
function NetworkSetCurrentlySelectedGamerHandleFromInviteMenu(p0)
end

--- _NETWORK_SET_VEHICLE_WHEELS_DESTRUCTIBLE
---
--- Allow vehicle wheels to be destructible even when the Vehicle entity is invincible.
--- 
--- 
--- 
--- NativeDB Introduced: v1365
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function NetworkSetVehicleWheelsDestructible(vehicle, toggle)
end

--- UGC_TEXTURE_DOWNLOAD_REQUEST
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 boolean
---@return any
function UgcTextureDownloadRequest(p0, p1, p2, p3, p4, p5)
end

--- NETWORK_IS_IN_SPECTATOR_MODE
---
---@return boolean
function NetworkIsInSpectatorMode()
end

--- _NETWORK_SEND_PRESENCE_TRANSITION_INVITE
---
--- String "NETWORK_SEND_PRESENCE_TRANSITION_INVITE" is contained in the function in ida so this one is correct.  
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return boolean
function NetworkSendPresenceTransitionInvite(p0, p1, p2, p3)
end

--- NETWORK_SESSION_HOST
---
--- Does nothing in online but in offline it will cause the screen to fade to black. Nothing happens past then, the screen will sit at black until you restart GTA. Other stuff must be needed to actually host a session.  
--- 
---@param p0 any
---@param maxPlayers any
---@param p2 boolean
---@return boolean
function NetworkSessionHost(p0, maxPlayers, p2)
end

--- NETWORK_SET_TALKER_PROXIMITY
---
---@param value number
---@return any
function NetworkSetTalkerProximity(value)
end

--- UGC_GET_CONTENT_USER_NAME
---
---@param p0 any
---@return any
function UgcGetContentUserName(p0)
end

--- NETWORK_SESSION_HOST_SINGLE_PLAYER
---
--- Loads up the map that is loaded when beeing in mission creator  
--- Player gets placed in a mix between online/offline mode  
--- p0 is always 2 in R* scripts.  
--- Appears to be patched in gtav b757 (game gets terminated) alonside with most other network natives to prevent online modding ~ghost30812  
--- 
---@param p0 any
---@return any
function NetworkSessionHostSinglePlayer(p0)
end

--- IS_TIME_EQUAL_TO
---
--- Returns true if the two times are equal; otherwise returns false.  
--- 
---@param timeA any
---@param timeB any
---@return boolean
function IsTimeEqualTo(timeA, timeB)
end

--- NETWORK_BLOCK_JOIN_QUEUE_INVITES
---
---@param toggle boolean
---@return any
function NetworkBlockJoinQueueInvites(toggle)
end

--- _NETWORK_ARE_CUTSCENE_ENTITIES
---
--- Getter for SET_NETWORK_CUTSCENE_ENTITIES.
--- 
--- 
--- 
--- NativeDB Introduced: v2699
--- 
---@return boolean
function NetworkAreCutsceneEntities()
end

--- NETWORK_DO_TRANSITION_QUICKMATCH_ASYNC
---
--- NativeDB Added Parameter 5: Any p4
--- NativeDB Added Parameter 6: Any p5
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return boolean
function NetworkDoTransitionQuickmatchAsync(p0, p1, p2, p3)
end

--- NETWORK_GET_TUNABLE_CLOUD_CRC
---
--- Actually returns the version (TUNABLE_VERSION)
--- 
---@return any
function NetworkGetTunableCloudCrc()
end

--- NETWORK_HAS_SOCIAL_NETWORKING_SHARING_PRIV
---
---@return boolean
function NetworkHasSocialNetworkingSharingPriv()
end

--- NETWORK_SET_MISSION_FINISHED
---
---@return any
function NetworkSetMissionFinished()
end

--- UGC_GET_CACHED_DESCRIPTION
---
---@param p0 any
---@param p1 any
---@return any
function UgcGetCachedDescription(p0, p1)
end

--- UGC_HAS_GET_FINISHED
---
---@return boolean
function UgcHasGetFinished()
end

--- NETWORK_CLAN_GET_MEMBERSHIP
---Retrieves a membership for a player, from the cache (i.e. downloaded via NETWORK_CLAN_DOWNLOAD_MEMBERSHIP).
--- 
--- Test C++ code:
--- https://pastebin.com/CD8wni4C
---@param networkHandle any
---@param clanMembership any
---@param membershipIndex any
---@return boolean
function NetworkClanGetMembership(networkHandle, clanMembership, membershipIndex)
end

--- NETWORK_CONCEAL_PLAYER
---This is what R\* uses to hide players in MP interiors.
---@param player number
---@param toggle boolean
---@param p2 boolean
---@return any
function NetworkConcealPlayer(player, toggle, p2)
end

--- NETWORK_IS_TRANSITION_CLOSED_FRIENDS
---
---@return boolean
function NetworkIsTransitionClosedFriends()
end

--- _NETWORK_SET_ENTITY_GHOSTED_WITH_OWNER
---
---@param entity number
---@param p1 boolean
---@return any
function NetworkSetEntityGhostedWithOwner(entity, p1)
end

--- NETWORK_SET_GAMER_INVITED_TO_TRANSITION
---
---@param networkHandle any
---@return any
function NetworkSetGamerInvitedToTransition(networkHandle)
end

--- UGC_GET_CREW_CONTENT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return boolean
function UgcGetCrewContent(p0, p1, p2, p3, p4)
end

--- UGC_REQUEST_CACHED_DESCRIPTION
---
---@param p0 any
---@return any
function UgcRequestCachedDescription(p0)
end

--- UGC_REQUEST_CONTENT_DATA_FROM_PARAMS
---
---@param contentTypeName any
---@param contentId any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function UgcRequestContentDataFromParams(contentTypeName, contentId, p2, p3, p4)
end

--- IS_COMMERCE_STORE_OPEN
---
---@return boolean
function IsCommerceStoreOpen()
end

--- _NETWORK_CONCEAL_ENTITY
---
---@param entity number
---@param toggle boolean
---@return any
function NetworkConcealEntity(entity, toggle)
end

--- NETWORK_GET_FRIEND_NAME
---
---@param friendIndex any
---@return any
function NetworkGetFriendName(friendIndex)
end

--- NETWORK_IS_IN_TUTORIAL_SESSION
---
---@return boolean
function NetworkIsInTutorialSession()
end

--- _SET_NETWORK_ENABLE_VEHICLE_POSITION_CORRECTION
---
--- Enables a periodic ShapeTest within the NetBlender and invokes rage::netBlenderLinInterp::GoStraightToTarget (or some functional wrapper).
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetNetworkEnableVehiclePositionCorrection(vehicle, toggle)
end

--- NETWORK_IS_FRIEND_IN_MULTIPLAYER
---
---@param friendName any
---@return boolean
function NetworkIsFriendInMultiplayer(friendName)
end

--- GET_STATUS_OF_TEXTURE_DOWNLOAD
---
--- 0 = succeeded
--- 1 = pending
--- 2 = failed
--- 
---@param p0 any
---@return any
function GetStatusOfTextureDownload(p0)
end

--- NETWORK_FIND_MATCHED_GAMERS
---
---@param p0 any
---@param p1 number
---@param p2 number
---@param p3 number
---@return boolean
function NetworkFindMatchedGamers(p0, p1, p2, p3)
end

--- NETWORK_GET_CONTENT_MODIFIER_LIST_ID
---
--- Return the content modifier id (the tunables context if you want) of a specific content.  
--- It takes the content hash (which is the mission id hash), and return the content modifier id, used as the tunables context.  
--- The mission id can be found on the Social club, for example, 'socialclub.rockstargames.com/games/gtav/jobs/job/A8M6Bz8MLEC5xngvDCzGwA'  
--- 'A8M6Bz8MLEC5xngvDCzGwA' is the mission id, so the game hash this and use it as the parameter for this native.  
--- 
---@param contentHash any
---@return any
function NetworkGetContentModifierListId(contentHash)
end

--- NETWORK_PLAYER_GET_USERID
---
--- Takes a 24 char buffer. Returns the buffer or "**Invalid**" if CPlayerInfo of the given player cannot be retrieved or the player doesn't exist.
--- 
---@param player number
---@param userID any
---@return any
function NetworkPlayerGetUserid(player, userID)
end

--- SET_NETWORK_ID_ALWAYS_EXISTS_FOR_PLAYER
---
---@param netId any
---@param player number
---@param toggle boolean
---@return any
function SetNetworkIdAlwaysExistsForPlayer(netId, player, toggle)
end

--- IS_TIME_MORE_THAN
---
--- Subtracts the first argument from the second, then returns whether the result is negative.  
--- 
---@param timeA any
---@param timeB any
---@return boolean
function IsTimeMoreThan(timeA, timeB)
end

--- NETWORK_GET_NETWORK_ID_FROM_ENTITY
---Get the network id of the given entity
--- 
--- An entity network id represents a given entity for other clients, it's a handle shared between clients, can be reconverted to a client entity handle.\
--- These (entity network IDs) can and will be reused, the network id will not change.
--- If you need to refer to an entity across machines (clients, or the server), you should use its network id.
--- 
--- Read more at [Network and local IDs](https://docs.fivem.net/docs/scripting-manual/networking/ids/)
---@param entity number
---@return any
function NetworkGetNetworkIdFromEntity(entity)
end

--- NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS
---
--- R* uses this to hear all player when spectating.   
--- It allows you to hear other online players when their chat is on none, crew and or friends  
--- 
---@param player number
---@param toggle boolean
---@return any
function NetworkOverrideReceiveRestrictions(player, toggle)
end

--- NETWORK_DO_TRANSITION_TO_FREEMODE
---
--- p2 is true 3/4 of the occurrences I found.  
--- 'players' is the number of players for a session. On PS3/360 it's always 18. On PC it's 32.  
--- 
---@param p0 any
---@param p1 any
---@param p2 boolean
---@param players any
---@param p4 boolean
---@return boolean
function NetworkDoTransitionToFreemode(p0, p1, p2, players, p4)
end

--- NETWORK_GET_PLAYER_FROM_GAMER_HANDLE
---
---@param networkHandle any
---@return number
function NetworkGetPlayerFromGamerHandle(networkHandle)
end

--- NETWORK_GET_PLAYER_TUTORIAL_SESSION_INSTANCE
---
---@param player number
---@return any
function NetworkGetPlayerTutorialSessionInstance(player)
end

--- NETWORK_HAVE_ROS_BANNED_PRIV
---
---@return boolean
function NetworkHaveRosBannedPriv()
end

--- UGC_GET_CONTENT_TOTAL
---
---@return any
function UgcGetContentTotal()
end

--- NETWORK_ACCESS_TUNABLE_FLOAT
---
---@param tunableContext any
---@param tunableName any
---@param value any
---@return boolean
function NetworkAccessTunableFloat(tunableContext, tunableName, value)
end

--- NETWORK_CLAN_PLAYER_IS_ACTIVE
---
---@param networkHandle any
---@return boolean
function NetworkClanPlayerIsActive(networkHandle)
end

--- NETWORK_CLAN_SERVICE_IS_VALID
---
---@return boolean
function NetworkClanServiceIsValid()
end

--- NETWORK_GET_PRIMARY_CLAN_DATA_SUCCESS
---
---@return any
function NetworkGetPrimaryClanDataSuccess()
end

--- NETWORK_SET_PROPERTY_ID
---
--- value must be < 255
--- 
---@param id any
---@return any
function NetworkSetPropertyId(id)
end

--- PARTICIPANT_ID_TO_INT
---
--- Return the local Participant ID.  
--- This native is exactly the same as 'PARTICIPANT_ID' native.  
--- 
---@return any
function ParticipantIdToInt()
end

--- _NETWORK_CAN_COMMUNICATE_WITH_GAMER_2
---
--- Same as NETWORK_CAN_COMMUNICATE_WITH_GAMER
--- 
--- NETWORK_CAN_*
--- 
---@param networkHandle any
---@return boolean
function NetworkCanCommunicateWithGamer2(networkHandle)
end

--- NETWORK_IS_FRIEND_ONLINE
---
---@param name any
---@return boolean
function NetworkIsFriendOnline(name)
end

--- NETWORK_SESSION_VOICE_SET_TIMEOUT
---
---@param timeout any
---@return any
function NetworkSessionVoiceSetTimeout(timeout)
end

--- SET_NETWORK_ID_EXISTS_ON_ALL_MACHINES
---
---@param netId any
---@param toggle boolean
---@return any
function SetNetworkIdExistsOnAllMachines(netId, toggle)
end

--- NETWORK_DO_TRANSITION_TO_NEW_FREEMODE
---
---@param p0 any
---@param p1 any
---@param players any
---@param p3 boolean
---@param p4 boolean
---@param p5 boolean
---@return boolean
function NetworkDoTransitionToNewFreemode(p0, p1, players, p3, p4, p5)
end

--- NETWORK_IS_CLOUD_AVAILABLE
---
---@return boolean
function NetworkIsCloudAvailable()
end

--- _NETWORK_TRANSITION_TRACK
---
---@param hash any
---@param p1 any
---@param p2 any
---@param state any
---@param p4 any
---@return any
function NetworkTransitionTrack(hash, p1, p2, state, p4)
end

--- _NETWORK_GET_OLDEST_RESEND_COUNT_FOR_PLAYER
---
--- NETWORK_GET_*
--- 
--- NativeDB Introduced: v323
--- 
---@param player number
---@return any
function NetworkGetOldestResendCountForPlayer(player)
end

--- NETWORK_IS_PLAYER_A_PARTICIPANT
---
---@param player number
---@return boolean
function NetworkIsPlayerAParticipant(player)
end

--- NETWORK_SESSION_LEAVE_SINGLE_PLAYER
---
---@return any
function NetworkSessionLeaveSinglePlayer()
end

--- VEH_TO_NET
---
--- calls from vehicle to net.  
--- 
---@param vehicle any
---@return any
function VehToNet(vehicle)
end

--- UGC_QUERY_MY_CONTENT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@return boolean
function UgcQueryMyContent(p0, p1, p2, p3, p4, p5)
end

--- _NETWORK_GET_PLAYER_COORDS
---Returns the coordinates of another player.
--- 
--- Does not work if you enter your own player id as p0 (will return (0.0, 0.0, 0.0) in that case).
---@param player number
---@return { x: number, y: number, z: number }
function NetworkGetPlayerCoords(player)
end

--- NETWORK_HAVE_COMMUNICATION_PRIVILEGES
---
---@param p0 any
---@param player number
---@return boolean
function NetworkHaveCommunicationPrivileges(p0, player)
end

--- _NETWORK_IS_CONNECTION_ENDPOINT_RELAY_SERVER
---
--- NETWORK_IS_*
--- 
--- NativeDB Introduced: v323
--- 
---@param player number
---@return boolean
function NetworkIsConnectionEndpointRelayServer(player)
end

--- NETWORK_REGISTER_ENTITY_AS_NETWORKED
---
---@param entity number
---@return any
function NetworkRegisterEntityAsNetworked(entity)
end

--- _NETWORK_SET_ENTITY_INVISIBLE_TO_NETWORK
---
--- if set to true other network players can't see it  
--- if set to false other network player can see it  
--- =========================================  
--- ^^ I attempted this by grabbing an object with GET_ENTITY_PLAYER_IS_FREE_AIMING_AT and setting this naive no matter the toggle he could still see it.  
--- pc or last gen?  
--- ^^ last-gen  
--- 
---@param entity number
---@param toggle boolean
---@return any
function NetworkSetEntityInvisibleToNetwork(entity, toggle)
end

--- _GET_EXTRA_CONTENT_PACK_HAS_BEEN_INSTALLED
---
---@return boolean
function GetExtraContentPackHasBeenInstalled()
end

--- IS_DLC_PRESENT
---
--- Example:
--- DLC::IS_DLC_PRESENT($\mpbusiness2\);
--- ($ = gethashkey)
--- bruteforce these:
--- 0xB119F6D
--- 0x96F02EE6
--- 
---@param dlcHash any
---@return boolean
function IsDlcPresent(dlcHash)
end

--- HAS_CLOUD_REQUESTS_FINISHED
---
--- Sets the value of the specified variable to 0.
--- Always returns true.
--- 
---@param variable any
---@param unused any
---@return boolean
function HasCloudRequestsFinished(variable, unused)
end

--- ON_ENTER_MP
---
--- This loads the GTA:O dlc map parts (high end garages, apartments).
--- Works in singleplayer.
--- In order to use GTA:O heist IPL's you have to call this native with the following params: SET_INSTANCE_PRIORITY_MODE(1);
--- 
---@return any
function OnEnterMp()
end

--- ON_ENTER_SP
---
--- Unloads GROUP_MAP (GTAO/MP) DLC data and loads GROUP_MAP_SP DLC. Neither are loaded by default, 0888C3502DBBEEF5 is a cognate to this function and loads MP DLC (and unloads SP DLC by extension).
--- The original (and wrong) definition is below:
--- This unload the GTA:O DLC map parts (like high end garages/apartments).
--- Works in singleplayer.
--- 
---@return any
function OnEnterSp()
end

--- GET_IS_LOADING_SCREEN_ACTIVE
---
---@return boolean
function GetIsLoadingScreenActive()
end

--- GET_CLOCK_DAY_OF_WEEK
---
--- Gets the current day of the week.  
--- 0: Sunday  
--- 1: Monday  
--- 2: Tuesday  
--- 3: Wednesday  
--- 4: Thursday  
--- 5: Friday  
--- 6: Saturday  
--- 
---@return any
function GetClockDayOfWeek()
end

--- GET_POSIX_TIME
---
--- Gets system time as year, month, day, hour, minute and second.  
--- Example usage:  
--- 	int year;  
--- 	int month;  
--- 	int day;  
--- 	int hour;  
--- 	int minute;  
--- 	int second;  
--- 	TIME::GET_POSIX_TIME(&year, &month, &day, &hour, &minute, &second);  
--- 
---@param year any
---@param month any
---@param day any
---@param hour any
---@param minute any
---@param second any
---@return any
function GetPosixTime(year, month, day, hour, minute, second)
end

--- PAUSE_CLOCK
---
---@param toggle boolean
---@return any
function PauseClock(toggle)
end

--- GET_UTC_TIME
---
--- Gets current UTC time
--- 
---@param year any
---@param month any
---@param day any
---@param hour any
---@param minute any
---@param second any
---@return any
function GetUtcTime(year, month, day, hour, minute, second)
end

--- SET_CLOCK_DATE
---
---@param day any
---@param month any
---@param year any
---@return any
function SetClockDate(day, month, year)
end

--- SET_CLOCK_TIME
---
--- SET_CLOCK_TIME(12, 34, 56);  
--- 
---@param hour any
---@param minute any
---@param second any
---@return any
function SetClockTime(hour, minute, second)
end

--- GET_CLOCK_HOURS
---
--- Gets the current ingame hour, expressed without zeros. (09:34 will be represented as 9)  
--- 
---@return any
function GetClockHours()
end

--- GET_CLOCK_SECONDS
---
--- Gets the current ingame clock second. Note that ingame clock seconds change really fast since a day in GTA is only 48 minutes in real life.  
--- 
---@return any
function GetClockSeconds()
end

--- ADD_TO_CLOCK_TIME
---
---@param hours any
---@param minutes any
---@param seconds any
---@return any
function AddToClockTime(hours, minutes, seconds)
end

--- GET_CLOCK_MONTH
---
---@return any
function GetClockMonth()
end

--- GET_CLOCK_MINUTES
---
--- Gets the current ingame clock minute.  
--- 
---@return any
function GetClockMinutes()
end

--- GET_CLOCK_YEAR
---
---@return any
function GetClockYear()
end

--- GET_MILLISECONDS_PER_GAME_MINUTE
---Returns how many real ms are equal to one game minute.
--- A getter for [SetMillisecondsPerGameMinute](#\_0x36CA2554).
---@return any
function GetMillisecondsPerGameMinute()
end

--- ADVANCE_CLOCK_TIME_TO
---
---@param hour any
---@param minute any
---@param second any
---@return any
function AdvanceClockTimeTo(hour, minute, second)
end

--- GET_LOCAL_TIME
---
--- Gets local system time as year, month, day, hour, minute and second.  
--- Example usage:  
--- int year;  
--- int month;  
--- int day;  
--- int hour;  
--- int minute;  
--- int second;  
--- or use std::tm struct  
--- TIME::GET_LOCAL_TIME(&year, &month, &day, &hour, &minute, &second);  
--- 
---@param year any
---@param month any
---@param day any
---@param hour any
---@param minute any
---@param second any
---@return any
function GetLocalTime(year, month, day, hour, minute, second)
end

--- GET_CLOCK_DAY_OF_MONTH
---
---@return any
function GetClockDayOfMonth()
end

--- IS_CUTSCENE_PLAYBACK_FLAG_SET
---
---@param flag any
---@return boolean
function IsCutscenePlaybackFlagSet(flag)
end

--- CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY
---Returns if the script can begin interacting with the registered entity. Primarly used for lead-outs of cutscenes.
--- Returns on frame after cutscene ends, so you cannot get is while using IsCutsceneActive()
--- 
--- Whether it is safe to start doing scripted actions on the entity, like simulating walking out of a cutscene.
---@param cutsceneEntName any
---@param modelHash any
---@return boolean
function CanSetExitStateForRegisteredEntity(cutsceneEntName, modelHash)
end

--- HAS_CUT_FILE_LOADED
---
--- Simply checks if the cutscene has loaded and doesn't check via CutSceneManager as opposed to HAS_[THIS]_CUTSCENE_LOADED.
--- 
---@param cutsceneName any
---@return boolean
function HasCutFileLoaded(cutsceneName)
end

--- REMOVE_CUT_FILE
---
--- Simply unloads the cutscene and doesn't do extra stuff that REMOVE_CUTSCENE does.
--- 
---@param cutsceneName any
---@return any
function RemoveCutFile(cutsceneName)
end

--- SET_CUTSCENE_FADE_VALUES
---
---@param p0 boolean
---@param p1 boolean
---@param p2 boolean
---@param p3 boolean
---@return any
function SetCutsceneFadeValues(p0, p1, p2, p3)
end

--- GET_CUTSCENE_TIME
---Gets the elapsed time of the current cutscene in
---@return any
function GetCutsceneTime()
end

--- REGISTER_ENTITY_FOR_CUTSCENE
---This can only be run once [CAN_REQUEST_ASSETS_FOR_CUTSCENE_ENTITY](#\_0xB56BBBCC2955D9CB) is true, but can be run before [HAS_CUTSCENE_LOADED](#\_0xC59F528E9AB9F339)
---@param cutsceneEntity number
---@param cutsceneEntName any
---@param p2 any
---@param modelHash any
---@param p4 any
---@return any
function RegisterEntityForCutscene(cutsceneEntity, cutsceneEntName, p2, modelHash, p4)
end

--- IS_CUTSCENE_ACTIVE
---
---@return boolean
function IsCutsceneActive()
end

--- DOES_CUTSCENE_ENTITY_EXIST
---
---@param cutsceneEntName any
---@param modelHash any
---@return boolean
function DoesCutsceneEntityExist(cutsceneEntName, modelHash)
end

--- SET_CUTSCENE_ENTITY_STREAMING_FLAGS
---Only used in networked environment with MP cutscenes
---@param cutsceneEntName any
---@param p1 any
---@param p2 any
---@return any
function SetCutsceneEntityStreamingFlags(cutsceneEntName, p1, p2)
end

--- START_CUTSCENE_AT_COORDS
---Similar to [SET_CUTSCENE_ORIGIN](\_0xB812B3FD1C01CF27) but without heading and doesn't need [START_CUTSCENE](\_0x186D5CB5E7B0FF7B)
---@param x number
---@param y number
---@param z number
---@param flags any
---@return any
function StartCutsceneAtCoords(x, y, z, flags)
end

--- GET_CUTSCENE_SECTION_PLAYING
---
---@return any
function GetCutsceneSectionPlaying()
end

--- CAN_REQUEST_ASSETS_FOR_CUTSCENE_ENTITY
---Returns when it is safe to start applying changes to cutscene entities.
--- 
--- Should always be used for applying components.
--- 
--- See [SET_CUTSCENE_PED_COMPONENT_VARIATION_FROM_PED](#\_0x2A56C06EBEF2B0D9) and [REGISTER_ENTITY_FOR_CUTSCENE](#\_0xE40C1C56DF95C2E8) for an example.
--- 
--- This will be true before the cutscene is considered loaded
---@return boolean
function CanRequestAssetsForCutsceneEntity()
end

--- CAN_SET_ENTER_STATE_FOR_REGISTERED_ENTITY
---
--- modelHash (p1) was always 0 in R* scripts  
--- 
---@param cutsceneEntName any
---@param modelHash any
---@return boolean
function CanSetEnterStateForRegisteredEntity(cutsceneEntName, modelHash)
end

--- REGISTER_SYNCHRONISED_SCRIPT_SPEECH
---Only used twice in armenian1.c
---@return any
function RegisterSynchronisedScriptSpeech()
end

--- GET_ENTITY_INDEX_OF_REGISTERED_ENTITY
---
---@param cutsceneEntName any
---@param modelHash any
---@return number
function GetEntityIndexOfRegisteredEntity(cutsceneEntName, modelHash)
end

--- IS_CUTSCENE_PLAYING
---
---@return boolean
function IsCutscenePlaying()
end

--- SET_CUTSCENE_TRIGGER_AREA
---
--- Only used twice in R* scripts  
--- 
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@return any
function SetCutsceneTriggerArea(p0, p1, p2, p3, p4, p5)
end

--- SET_CUTSCENE_CAN_BE_SKIPPED
---
---@param p0 boolean
---@return any
function SetCutsceneCanBeSkipped(p0)
end

--- SET_CUTSCENE_PED_COMPONENT_VARIATION_FROM_PED
---Sets the components for a cutscene ped, this will take precendence over the cutscene's component overrides. This does not require the entity be registered.
--- 
--- See
---@param cutsceneEntName any
---@param ped number
---@param modelHash any
---@return any
function SetCutscenePedComponentVariationFromPed(cutsceneEntName, ped, modelHash)
end

--- _GET_CUTSCENE_END_TIME
---Returns the time of the cutscene's end accounting for [REQUEST_CUTSCENE_WITH_PLAYBACK_LIST](\_0xC23DE0E91C30B58C)
--- 
--- If a cutscene is laid out with 10 second sections, and section 0 and 1 are enabled then it would be 20000ms.
--- 
--- 
--- NativeDB Introduced: v1734
--- 
---@return any
function GetCutsceneEndTime()
end

--- HAS_CUTSCENE_CUT_THIS_FRAME
---
---@return boolean
function HasCutsceneCutThisFrame()
end

--- REQUEST_CUTSCENE_WITH_PLAYBACK_LIST
---
--- playbackFlags: Which scenes should be played.
--- Example: 0x105 (bit 0, 2 and 8 set) will enable scene 1, 3 and 9.
--- 
---@param cutsceneName any
---@param playbackFlags any
---@param flags any
---@return any
function RequestCutsceneWithPlaybackList(cutsceneName, playbackFlags, flags)
end

--- STOP_CUTSCENE
---
---@param p0 boolean
---@return any
function StopCutscene(p0)
end

--- WAS_CUTSCENE_SKIPPED
---
---@return boolean
function WasCutsceneSkipped()
end

--- HAS_CUTSCENE_FINISHED
---
---@return boolean
function HasCutsceneFinished()
end

--- START_CUTSCENE
---
--- flags: Usually 0.
--- 
---@param flags any
---@return any
function StartCutscene(flags)
end

--- GET_CUTSCENE_TOTAL_DURATION
---Gets the total length of the cutscene irrespective of playback list in milliseconds
--- To account for sections, see [_GET_CUTSCENE_END_TIME]()
---@return any
function GetCutsceneTotalDuration()
end

--- SET_CUTSCENE_PED_PROP_VARIATION
---See [SET_PED_PROP_INDEX](\_0x93376B65A266EB5F)
---@param cutsceneEntName any
---@param componentId any
---@param drawableId any
---@param textureId any
---@param modelHash any
---@return any
function SetCutscenePedPropVariation(cutsceneEntName, componentId, drawableId, textureId, modelHash)
end

--- CAN_SET_EXIT_STATE_FOR_CAMERA
---Whether or not it is safe to run functions on the camera,
--- as the camera is now no longer being used by the cutscene.
---@param p0 boolean
---@return boolean
function CanSetExitStateForCamera(p0)
end

--- HAS_CUTSCENE_LOADED
---
---@return boolean
function HasCutsceneLoaded()
end

--- _GET_CUT_FILE_NUM_SECTIONS
---
---@param cutsceneName any
---@return any
function GetCutFileNumSections(cutsceneName)
end

--- HAS_THIS_CUTSCENE_LOADED
---
---@param cutsceneName any
---@return boolean
function HasThisCutsceneLoaded(cutsceneName)
end

--- REQUEST_CUTSCENE
---
---@param cutsceneName any
---@param flags any
---@return any
function RequestCutscene(cutsceneName, flags)
end

--- SET_CUTSCENE_ORIGIN
---Sets cutscene location, used for multiplayer apartments/businesses.
---@param x number
---@param y number
---@param z number
---@param heading number
---@param p4 any
---@return any
function SetCutsceneOrigin(x, y, z, heading, p4)
end

--- STOP_CUTSCENE_IMMEDIATELY
---Stop cutscene instantly, will dump registered entities right where they were when ran.
---@return any
function StopCutsceneImmediately()
end

--- GET_ENTITY_INDEX_OF_CUTSCENE_ENTITY
---Returns the handle of a cutscene entity, can be ped
---@param cutsceneEntName any
---@param modelHash any
---@return number
function GetEntityIndexOfCutsceneEntity(cutsceneEntName, modelHash)
end

--- SET_CUTSCENE_PED_COMPONENT_VARIATION
---See [SET_PED_COMPONENT_VARIATION](#\_0x262B14F48D29DE80)
---@param cutsceneEntName any
---@param componentId any
---@param drawableId any
---@param textureId any
---@param modelHash any
---@return any
function SetCutscenePedComponentVariation(cutsceneEntName, componentId, drawableId, textureId, modelHash)
end

--- REQUEST_CUT_FILE
---
--- Simply loads the cutscene and doesn't do extra stuff that REQUEST_CUTSCENE does.
--- 
---@param cutsceneName any
---@return any
function RequestCutFile(cutsceneName)
end

--- REMOVE_CUTSCENE
---
---@return any
function RemoveCutscene()
end

--- SET_ENTITY_INVINCIBLE
---
--- Sets a ped or an object totally invincible. It doesn't take any kind of damage. Peds will not ragdoll on explosions and the tazer animation won't apply either.  
--- If you use this for a ped and you want Ragdoll to stay enabled, then do:  
--- *(DWORD *)(pedAddress + 0x188) |= (1 << 9);  
--- Use this if you want to get the invincibility status:  
--- 	bool IsPedInvincible(Ped ped)  
--- 	{  
--- auto addr = getScriptHandleBaseAddress(ped);	  
--- if (addr)  
--- {  
--- 	DWORD flag = *(DWORD *)(addr + 0x188);  
--- 	return ((flag & (1 << 8)) != 0) || ((flag & (1 << 9)) != 0);  
--- }  
--- return false;  
--- 	}  
--- 
---@param entity number
---@param toggle boolean
---@return any
function SetEntityInvincible(entity, toggle)
end

--- CREATE_MODEL_HIDE
---
--- p5 = sets as true in scripts  
--- Same as the comment for CREATE_MODEL_SWAP unless for some reason p5 affects it this only works with objects as well.  
--- Network players do not see changes done with this.  
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param model any
---@param p5 boolean
---@return any
function CreateModelHide(x, y, z, radius, model, p5)
end

--- GET_ENTITY_ROLL
---
--- Displays the current ROLL axis of the entity [-180.0000/180.0000+]  
--- (Sideways Roll) such as a vehicle tipped on its side  
--- 
---@param entity number
---@return number
function GetEntityRoll(entity)
end

--- IS_ENTITY_AT_ENTITY
---
--- Checks if entity1 is within the box defined by x/y/zSize of entity2.  
--- Last three parameters are almost alwasy p5 = 0, p6 = 1, p7 = 0  
--- 
---@param entity1 number
---@param entity2 number
---@param xSize number
---@param ySize number
---@param zSize number
---@param p5 boolean
---@param p6 boolean
---@param p7 any
---@return boolean
function IsEntityAtEntity(entity1, entity2, xSize, ySize, zSize, p5, p6, p7)
end

--- IS_ENTITY_IN_ANGLED_AREA
---p10 is some entity flag check, also used in [IS_ENTITY_AT_ENTITY](#\_0x751B70C3D034E187), [IS_ENTITY_IN_AREA](#\_0x54736AA40E271165) and [IS_ENTITY_AT_COORD](#\_0x20B60995556D004F).
--- 
--- See [IS_POINT_IN_ANGLED_AREA](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
---@param entity number
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param width number
---@param debug boolean
---@param includez boolean
---@param p10 any
---@return boolean
function IsEntityInAngledArea(entity, x1, y1, z1, x2, y2, z2, width, debug, includez, p10)
end

--- SET_ENTITY_ANIM_CURRENT_TIME
---[Animations list](https://alexguirre.github.io/animations-list/)
---@param entity number
---@param animDictionary any
---@param animName any
---@param time number
---@return any
function SetEntityAnimCurrentTime(entity, animDictionary, animName, time)
end

--- SET_ENTITY_COORDS
---Sets the coordinates (world position) for a specified entity, offset by the radius of the entity on the Z axis.
---@param entity number
---@param xPos number
---@param yPos number
---@param zPos number
---@param alive boolean
---@param deadFlag boolean
---@param ragdollFlag boolean
---@param clearArea boolean
---@return any
function SetEntityCoords(entity, xPos, yPos, zPos, alive, deadFlag, ragdollFlag, clearArea)
end

--- GET_ENTITY_ALPHA
---
---@param entity number
---@return any
function GetEntityAlpha(entity)
end

--- GET_ENTITY_PITCH
---
---@param entity number
---@return number
function GetEntityPitch(entity)
end

--- GET_ENTITY_UPRIGHT_VALUE
---
---@param entity number
---@return number
function GetEntityUprightValue(entity)
end

--- GET_LAST_MATERIAL_HIT_BY_ENTITY
---
---@param entity number
---@return any
function GetLastMaterialHitByEntity(entity)
end

--- SET_ENTITY_DYNAMIC
---
---@param entity number
---@param toggle boolean
---@return any
function SetEntityDynamic(entity, toggle)
end

--- GET_ENTITY_POPULATION_TYPE
---A population type, from the following enum: https://alloc8or.re/gta5/doc/enums/ePopulationType.txt
---@param entity number
---@return any
function GetEntityPopulationType(entity)
end

--- IS_ENTITY_AT_COORD
---
--- Checks if entity is within x/y/zSize distance of x/y/z.   
--- Last three are unknown ints, almost always p7 = 0, p8 = 1, p9 = 0  
--- 
---@param entity number
---@param xPos number
---@param yPos number
---@param zPos number
---@param xSize number
---@param ySize number
---@param zSize number
---@param p7 boolean
---@param p8 boolean
---@param p9 any
---@return boolean
function IsEntityAtCoord(entity, xPos, yPos, zPos, xSize, ySize, zSize, p7, p8, p9)
end

--- IS_ENTITY_IN_AIR
---
---@param entity number
---@return boolean
function IsEntityInAir(entity)
end

--- PROCESS_ENTITY_ATTACHMENTS
---
--- Called to update entity attachments.
--- 
---@param entity number
---@return any
function ProcessEntityAttachments(entity)
end

--- SET_ENTITY_CAN_BE_DAMAGED_BY_RELATIONSHIP_GROUP
---
---@param entity number
---@param bCanBeDamaged boolean
---@param relGroup any
---@return any
function SetEntityCanBeDamagedByRelationshipGroup(entity, bCanBeDamaged, relGroup)
end

--- SET_OBJECT_AS_NO_LONGER_NEEDED
---
--- This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.  
--- 
---@param object any
---@return any
function SetObjectAsNoLongerNeeded(object)
end

--- CREATE_FORCED_OBJECT
---
---@param x number
---@param y number
---@param z number
---@param p3 any
---@param modelHash any
---@param p5 boolean
---@return any
function CreateForcedObject(x, y, z, p3, modelHash, p5)
end

--- _GET_ENTITY_PHYSICS_HEADING
---
--- Gets the heading of the entity physics in degrees, which tends to be more accurate than just "GET_ENTITY_HEADING". This can be clearly seen while, for example, ragdolling a ped/player.  
--- NOTE: The name and description of this native are based on independent research. If you find this native to be more suitable under a different name and/or described differently, please feel free to do so.  
--- 
---@param entity number
---@return number
function GetEntityPhysicsHeading(entity)
end

--- HAS_ENTITY_BEEN_DAMAGED_BY_ANY_OBJECT
---
---@param entity number
---@return boolean
function HasEntityBeenDamagedByAnyObject(entity)
end

--- IS_ENTITY_ATTACHED
---
---@param entity number
---@return boolean
function IsEntityAttached(entity)
end

--- SET_ENTITY_ROTATION
---
---@param entity number
---@param pitch number
---@param roll number
---@param yaw number
---@param rotationOrder any
---@param p5 boolean
---@return any
function SetEntityRotation(entity, pitch, roll, yaw, rotationOrder, p5)
end

--- STOP_ENTITY_ANIM
---
--- RAGEPluginHook list: docs.ragepluginhook.net/html/62951c37-a440-478c-b389-c471230ddfc5.htm
--- 
---@param entity number
---@param animation any
---@param animGroup any
---@param p3 number
---@return any
function StopEntityAnim(entity, animation, animGroup, p3)
end

--- DOES_ENTITY_HAVE_DRAWABLE
---
---@param entity number
---@return boolean
function DoesEntityHaveDrawable(entity)
end

--- GET_ENTITY_FORWARD_VECTOR
---
--- Gets the entity's forward vector.
--- 
---@param entity number
---@return { x: number, y: number, z: number }
function GetEntityForwardVector(entity)
end

--- IS_ENTITY_ATTACHED_TO_ANY_PED
---
---@param entity number
---@return boolean
function IsEntityAttachedToAnyPed(entity)
end

--- IS_ENTITY_VISIBLE_TO_SCRIPT
---
---@param entity number
---@return boolean
function IsEntityVisibleToScript(entity)
end

--- PLAY_SYNCHRONIZED_MAP_ENTITY_ANIM
---[Animations list](https://alexguirre.github.io/animations-list/)
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 any
---@param p5 any
---@param p6 any
---@param p7 any
---@param p8 number
---@param p9 number
---@param p10 any
---@param p11 number
---@return boolean
function PlaySynchronizedMapEntityAnim(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11)
end

--- SET_ENTITY_LOAD_COLLISION_FLAG
---Loads collision grid for an entity spawned outside of a player's loaded area. This allows peds to execute tasks rather than sit dormant because of a lack of a physics grid.
--- 
--- Certainly not the main usage of this native but when set to true for a Vehicle, it will prevent the vehicle to explode if it is spawned far away from the player.
--- 
--- 
--- NativeDB Added Parameter 3: Any p2
--- 
---@param entity number
---@param toggle boolean
---@return any
function SetEntityLoadCollisionFlag(entity, toggle)
end

--- GET_ENTITY_LOD_DIST
---
--- Returns the LOD distance of an entity.  
--- 
---@param entity number
---@return any
function GetEntityLodDist(entity)
end

--- IS_ENTITY_A_MISSION_ENTITY
---
---@param entity number
---@return boolean
function IsEntityAMissionEntity(entity)
end

--- PLAY_SYNCHRONIZED_ENTITY_ANIM
---
--- p4 and p7 are usually 1000.0f.  
--- 
--- 
--- [Animations list](https://alexguirre.github.io/animations-list/)
---@param entity number
---@param syncedScene any
---@param animation any
---@param propName any
---@param p4 number
---@param p5 number
---@param p6 any
---@param p7 number
---@return boolean
function PlaySynchronizedEntityAnim(entity, syncedScene, animation, propName, p4, p5, p6, p7)
end

--- SET_ENTITY_ONLY_DAMAGED_BY_PLAYER
---
---@param entity number
---@param toggle boolean
---@return any
function SetEntityOnlyDamagedByPlayer(entity, toggle)
end

--- SET_ENTITY_RECORDS_COLLISIONS
---
---@param entity number
---@param toggle boolean
---@return any
function SetEntityRecordsCollisions(entity, toggle)
end

--- _GET_ENTITY_BONE_POSITION_2
---
--- Gets the world rotation of the specified bone of the specified entity.
--- This native is used in casinoroulette.c but I don't know yet what is the difference with _GET_ENTITY_BONE_ROTATION
--- 
---@param entity number
---@param boneIndex any
---@return { x: number, y: number, z: number }
function GetEntityBonePosition2(entity, boneIndex)
end

--- _GET_ENTITY_BONE_ROTATION
---
--- Gets the world rotation of the specified bone of the specified entity.
--- 
---@param entity number
---@param boneIndex any
---@return { x: number, y: number, z: number }
function GetEntityBoneRotation(entity, boneIndex)
end

--- GET_ENTITY_HEIGHT
---
---@param entity number
---@param X number
---@param Y number
---@param Z number
---@param atTop boolean
---@param inWorldCoords boolean
---@return number
function GetEntityHeight(entity, X, Y, Z, atTop, inWorldCoords)
end

--- GET_ENTITY_VELOCITY
---
---@param entity number
---@return { x: number, y: number, z: number }
function GetEntityVelocity(entity)
end

--- IS_ENTITY_IN_ZONE
---
---@param entity number
---@param zone any
---@return boolean
function IsEntityInZone(entity, zone)
end

--- _GET_ENTITY_BONE_COUNT
---
---@param entity number
---@return any
function GetEntityBoneCount(entity)
end

--- IS_ENTITY_IN_WATER
---
---@param entity number
---@return boolean
function IsEntityInWater(entity)
end

--- SET_ENTITY_QUATERNION
---
--- w is the correct parameter name!  
--- 
---@param entity number
---@param x number
---@param y number
---@param z number
---@param w number
---@return any
function SetEntityQuaternion(entity, x, y, z, w)
end

--- CREATE_MODEL_HIDE_EXCLUDING_SCRIPT_OBJECTS
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@param model any
---@param p5 boolean
---@return any
function CreateModelHideExcludingScriptObjects(x, y, z, radius, model, p5)
end

--- GET_ENTITY_COLLISION_DISABLED
---
---@param entity number
---@return boolean
function GetEntityCollisionDisabled(entity)
end

--- GET_ENTITY_HEADING
---
--- Returns the heading of the entity in degrees. Also know as the "Yaw" of an entity.
--- 
---@param entity number
---@return number
function GetEntityHeading(entity)
end

--- REMOVE_MODEL_HIDE
---p5 requires more research. See also [CREATE_MODEL_HIDE](#\_0x8A97BCA30A0CE478) and [CREATE_MODEL_SWAP](#\_0x92C47782FDA8B2A3).
--- 
--- Network players do not see changes done with this.
---@param x number
---@param y number
---@param z number
---@param radius number
---@param model any
---@param p5 boolean
---@return any
function RemoveModelHide(x, y, z, radius, model, p5)
end

--- SET_ENTITY_COLLISION
---
---@param entity number
---@param toggle boolean
---@param keepPhysics boolean
---@return any
function SetEntityCollision(entity, toggle, keepPhysics)
end

--- SET_CAN_AUTO_VAULT_ON_ENTITY
---
---@param entity number
---@param toggle boolean
---@return any
function SetCanAutoVaultOnEntity(entity, toggle)
end

--- SET_ENTITY_ALWAYS_PRERENDER
---
---@param entity number
---@param toggle boolean
---@return any
function SetEntityAlwaysPrerender(entity, toggle)
end

--- APPLY_FORCE_TO_ENTITY
---Applies a force to the specified entity.
--- 
--- **List of force types (p1)**:
--- 
--- 
--- public enum ForceType
--- {
---     MinForce = 0,
---     MaxForceRot = 1,
---     MinForce2 = 2,
---     MaxForceRot2 = 3,
---     ForceNoRot = 4,
---     ForceRotPlusForce = 5
--- }
--- 
--- 
--- Research/documentation on the gtaforums can be found [here](https://gtaforums.com/topic/885669-precisely-define-object-physics/) and [here](https://gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/).
---@param entity number
---@param forceType any
---@param x number
---@param y number
---@param z number
---@param offX number
---@param offY number
---@param offZ number
---@param boneIndex any
---@param isDirectionRel boolean
---@param ignoreUpVec boolean
---@param isForceRel boolean
---@param p12 boolean
---@param p13 boolean
---@return any
function ApplyForceToEntity(entity, forceType, x, y, z, offX, offY, offZ, boneIndex, isDirectionRel, ignoreUpVec, isForceRel, p12, p13)
end

--- ATTACH_ENTITY_TO_ENTITY_PHYSICALLY
---
--- breakForce is the amount of force required to break the bond.
--- p14 - is always 1 in scripts
--- p15 - is 1 or 0 in scripts - unknown what it does
--- p16 - controls collision between the two entities (FALSE disables collision).
--- p17 - do not teleport entity to be attached to the position of the bone Index of the target entity (if 1, entity will not be teleported to target bone)
--- p18 - is always 2 in scripts.
--- 
---@param entity1 number
---@param entity2 number
---@param boneIndex1 any
---@param boneIndex2 any
---@param xPos1 number
---@param yPos1 number
---@param zPos1 number
---@param xPos2 number
---@param yPos2 number
---@param zPos2 number
---@param xRot number
---@param yRot number
---@param zRot number
---@param breakForce number
---@param fixedRot boolean
---@param p15 boolean
---@param collision boolean
---@param teleport boolean
---@param p18 any
---@return any
function AttachEntityToEntityPhysically(entity1, entity2, boneIndex1, boneIndex2, xPos1, yPos1, zPos1, xPos2, yPos2, zPos2, xRot, yRot, zRot, breakForce, fixedRot, p15, collision, teleport, p18)
end

--- GET_ENTITY_ANIM_TOTAL_TIME
---
--- Returns a float value representing animation's total playtime in milliseconds.  
--- Example:  
--- GET_ENTITY_ANIM_TOTAL_TIME(PLAYER_ID(),"amb@world_human_yoga@female@base","base_b")   
--- return 20800.000000  
--- 
--- 
--- [Animations list](https://alexguirre.github.io/animations-list/)
---@param entity number
---@param animDict any
---@param animName any
---@return number
function GetEntityAnimTotalTime(entity, animDict, animName)
end

--- GET_WORLD_POSITION_OF_ENTITY_BONE
---
--- Returns the coordinates of an entity-bone.  
--- 
---@param entity number
---@param boneIndex any
---@return { x: number, y: number, z: number }
function GetWorldPositionOfEntityBone(entity, boneIndex)
end

--- IS_ENTITY_DEAD
---
--- NativeDB Added Parameter 2: BOOL p1
--- 
---@param entity number
---@return boolean
function IsEntityDead(entity)
end

--- SET_ENTITY_AS_NO_LONGER_NEEDED
---
--- Marks the specified entity (ped, vehicle or object) as no longer needed.  
--- Entities marked as no longer needed, will be deleted as the engine sees fit.  
--- 
---@param entity any
---@return any
function SetEntityAsNoLongerNeeded(entity)
end

--- HAS_ENTITY_CLEAR_LOS_TO_ENTITY
---Checks if entity1 has a clear line of sight to entity2. So a simple raycast which if it collides with any of the given colliderTypes returns false.
--- 
--- The direction of the check matters with for example bushes, so checking from inside to outside a bush with traceType 256 returns true, but the other way around returns false.
---@param entity1 number
---@param entity2 number
---@param flags any
---@return boolean
function HasEntityClearLosToEntity(entity1, entity2, flags)
end

--- HAS_ENTITY_COLLIDED_WITH_ANYTHING
---
--- Called on tick.  
--- Tested with vehicles, returns true whenever the vehicle is touching any entity.  
--- Note: for vehicles, the wheels can touch the ground and it will still return false, but if the body of the vehicle touches the ground, it will return true.  
--- 
---@param entity number
---@return boolean
function HasEntityCollidedWithAnything(entity)
end

--- FIND_ANIM_EVENT_PHASE
---
--- In the script "player_scene_t_bbfight.c4":  
--- "if (ENTITY::FIND_ANIM_EVENT_PHASE(&l_16E, &l_19F[v_4/*16*/], v_9, &v_A, &v_B))"  
--- -- &l_16E (p0) is requested as an anim dictionary earlier in the script.  
--- -- &l_19F[v_4/*16*/] (p1) is used in other natives in the script as the "animation" param.  
--- -- v_9 (p2) is instantiated as "victim_fall"; I'm guessing that's another anim  
--- --v_A and v_B (p3 & p4) are both set as -1.0, but v_A is used immediately after this native for:   
--- "if (v_A < ENTITY::GET_ENTITY_ANIM_CURRENT_TIME(...))"  
--- Both v_A and v_B are seemingly used to contain both Vector3's and floats, so I can't say what either really is other than that they are both output parameters. p4 looks more like a *Vector3 though  
--- -alphazolam  
--- 
--- 
--- [Animations list](https://alexguirre.github.io/animations-list/)
---@param animDictionary any
---@param animName any
---@param p2 any
---@param p3 any
---@param p4 any
---@return boolean
function FindAnimEventPhase(animDictionary, animName, p2, p3, p4)
end

--- GET_ENTITY_MODEL
---Returns the model hash from an entity.
---@param entity number
---@return any
function GetEntityModel(entity)
end

--- _GET_ENTITY_PICKUP
---
--- GET_ENTITY_*
--- 
--- Seems to return the handle of the entity's portable pickup.
--- 
--- NativeDB Introduced: v1180
--- 
---@param entity number
---@param modelHash any
---@return number
function GetEntityPickup(entity, modelHash)
end

--- GET_ENTITY_ROTATION_VELOCITY
---
---@param entity number
---@return { x: number, y: number, z: number }
function GetEntityRotationVelocity(entity)
end

--- GET_NEAREST_PLAYER_TO_ENTITY_ON_TEAM
---
---@param entity number
---@param team any
---@return number
function GetNearestPlayerToEntityOnTeam(entity, team)
end

--- HAS_ENTITY_BEEN_DAMAGED_BY_ANY_PED
---
---@param entity number
---@return boolean
function HasEntityBeenDamagedByAnyPed(entity)
end

--- APPLY_FORCE_TO_ENTITY_CENTER_OF_MASS
---
--- Applies a force to the specified entity.
--- **List of force types (p1)**:
--- public enum ForceType
--- {
---     MinForce = 0,
---     MaxForceRot = 1,
---     MinForce2 = 2,
---     MaxForceRot2 = 3,
---     ForceNoRot = 4,
---     ForceRotPlusForce = 5
--- }
--- Research/documentation on the gtaforums can be found here https://gtaforums.com/topic/885669-precisely-define-object-physics/) and here https://gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/.
--- p6/relative - makes the xyz force not relative to world coords, but to something else
--- p7/highForce - setting false will make the force really low
--- 
---@param entity number
---@param forceType any
---@param x number
---@param y number
---@param z number
---@param p5 boolean
---@param isDirectionRel boolean
---@param isForceRel boolean
---@param p8 boolean
---@return any
function ApplyForceToEntityCenterOfMass(entity, forceType, x, y, z, p5, isDirectionRel, isForceRel, p8)
end

--- ATTACH_ENTITY_TO_ENTITY
---Attach an entity to the specified entity.
---@param entity1 number
---@param entity2 number
---@param boneIndex any
---@param xPos number
---@param yPos number
---@param zPos number
---@param xRot number
---@param yRot number
---@param zRot number
---@param p9 boolean
---@param useSoftPinning boolean
---@param collision boolean
---@param isPed boolean
---@param rotationOrder any
---@param fixedRot boolean
---@return any
function AttachEntityToEntity(entity1, entity2, boneIndex, xPos, yPos, zPos, xRot, yRot, zRot, p9, useSoftPinning, collision, isPed, rotationOrder, fixedRot)
end

--- _ATTACH_ENTITY_BONE_TO_ENTITY_BONE_PHYSICALLY
---
---@param entity1 number
---@param entity2 number
---@param entityBone any
---@param entityBone2 any
---@param p4 boolean
---@param p5 boolean
---@return any
function AttachEntityBoneToEntityBonePhysically(entity1, entity2, entityBone, entityBone2, p4, p5)
end

--- _ENABLE_ENTITY_UNK
---
--- ENABLE_*
--- 
---@param entity number
---@return any
function EnableEntityUnk(entity)
end

--- SET_ENTITY_ANIM_SPEED
---
---@param entity number
---@param animDictionary any
---@param animName any
---@param speedMultiplier number
---@return any
function SetEntityAnimSpeed(entity, animDictionary, animName, speedMultiplier)
end

--- GET_ENTITY_SCRIPT
---
--- All ambient entities in-world seem to have the same value for the second argument (Any *script), depending on when the scripthook was activated/re-activated. I've seen numbers from ~5 to almost 70 when the value was translated with to_string. The function return value seems to always be 0.  
--- 
---@param entity number
---@param script any
---@return any
function GetEntityScript(entity, script)
end

--- GET_ENTITY_SUBMERGED_LEVEL
---
--- Get how much of the entity is submerged.  1.0f is whole entity.  
--- 
---@param entity number
---@return number
function GetEntitySubmergedLevel(entity)
end

--- IS_ENTITY_TOUCHING_MODEL
---
---@param entity number
---@param modelHash any
---@return boolean
function IsEntityTouchingModel(entity, modelHash)
end

--- _SET_ENTITY_ANGULAR_VELOCITY
---
--- NativeDB Introduced: v2372
--- 
---@param entity number
---@param x number
---@param y number
---@param z number
---@return any
function SetEntityAngularVelocity(entity, x, y, z)
end

--- SET_ENTITY_CAN_BE_TARGETED_WITHOUT_LOS
---
--- Sets whether the entity can be targeted without being in line-of-sight.  
--- 
---@param entity number
---@param toggle boolean
---@return any
function SetEntityCanBeTargetedWithoutLos(entity, toggle)
end

--- SET_PED_AS_NO_LONGER_NEEDED
---
--- This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.  
--- 
---@param ped any
---@return any
function SetPedAsNoLongerNeeded(ped)
end

--- GET_COLLISION_NORMAL_OF_LAST_HIT_FOR_ENTITY
---
---@param entity number
---@return { x: number, y: number, z: number }
function GetCollisionNormalOfLastHitForEntity(entity)
end

--- IS_ENTITY_ON_SCREEN
---
--- Returns true if the entity is in between the minimum and maximum values for the 2d screen coords.   
--- This means that it will return true even if the entity is behind a wall for example, as long as you're looking at their location.   
--- Chipping  
--- 
---@param entity number
---@return boolean
function IsEntityOnScreen(entity)
end

--- REMOVE_MODEL_SWAP
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@param originalModel any
---@param newModel any
---@param p6 boolean
---@return any
function RemoveModelSwap(x, y, z, radius, originalModel, newModel, p6)
end

--- _HAS_ENTITY_CLEAR_LOS_TO_ENTITY_2
---
--- NativeDB Introduced: v1868
--- 
---@param entity1 number
---@param entity2 number
---@param traceType any
---@return any
function HasEntityClearLosToEntity2(entity1, entity2, traceType)
end

--- SET_ENTITY_CAN_BE_DAMAGED
---
---@param entity number
---@param toggle boolean
---@return any
function SetEntityCanBeDamaged(entity, toggle)
end

--- CREATE_MODEL_SWAP
---
--- Only works with objects!  
--- Network players do not see changes done with this.  
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param originalModel any
---@param newModel any
---@param p6 boolean
---@return any
function CreateModelSwap(x, y, z, radius, originalModel, newModel, p6)
end

--- GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS
---
--- Converts world coords (posX - Z) to coords relative to the entity  
--- Example:  
--- posX = 50  
--- posY = 1000  
--- posZ = 60  
--- Entity's coords are: x=30, y=1000, z=60.  
--- All three returned coords will then be in range of [-20,20] depending on rotation of the entity.  
--- 
---@param entity number
---@param posX number
---@param posY number
---@param posZ number
---@return { x: number, y: number, z: number }
function GetOffsetFromEntityGivenWorldCoords(entity, posX, posY, posZ)
end

--- IS_ENTITY_ATTACHED_TO_ENTITY
---
---@param from number
---@param to number
---@return boolean
function IsEntityAttachedToEntity(from, to)
end

--- IS_ENTITY_UPSIDEDOWN
---
---@param entity number
---@return boolean
function IsEntityUpsidedown(entity)
end

--- SET_ENTITY_MAX_SPEED
---
---@param entity number
---@param speed number
---@return any
function SetEntityMaxSpeed(entity, speed)
end

--- SET_ENTITY_RENDER_SCORCHED
---
---@param entity number
---@param toggle boolean
---@return any
function SetEntityRenderScorched(entity, toggle)
end

--- DELETE_ENTITY
---Deletes the specified entity, and invalidates the passed handle (i.e. in/out argument).
---@param entity any
---@return any
function DeleteEntity(entity)
end

--- GET_VEHICLE_INDEX_FROM_ENTITY_INDEX
---
--- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).  
--- 
---@param entity number
---@return any
function GetVehicleIndexFromEntityIndex(entity)
end

--- HAS_COLLISION_LOADED_AROUND_ENTITY
---
---@param entity number
---@return boolean
function HasCollisionLoadedAroundEntity(entity)
end

--- SET_ENTITY_IS_TARGET_PRIORITY
---
---@param entity number
---@param p1 boolean
---@param p2 number
---@return any
function SetEntityIsTargetPriority(entity, p1, p2)
end

--- SET_ENTITY_ONLY_DAMAGED_BY_RELATIONSHIP_GROUP
---
---@param entity number
---@param p1 boolean
---@param relationshipHash any
---@return any
function SetEntityOnlyDamagedByRelationshipGroup(entity, p1, relationshipHash)
end

--- SET_ENTITY_COORDS_WITHOUT_PLANTS_RESET
---
---@param entity number
---@param xPos number
---@param yPos number
---@param zPos number
---@param alive boolean
---@param deadFlag boolean
---@param ragdollFlag boolean
---@param clearArea boolean
---@return any
function SetEntityCoordsWithoutPlantsReset(entity, xPos, yPos, zPos, alive, deadFlag, ragdollFlag, clearArea)
end

--- FORCE_ENTITY_AI_AND_ANIMATION_UPDATE
---
--- Based on carmod_shop script decompile this takes a vehicle parameter. It is called when repair is done on initial enter.  
--- 
---@param entity number
---@return any
function ForceEntityAiAndAnimationUpdate(entity)
end

--- GET_ENTITY_CAN_BE_DAMAGED
---
---@param entity number
---@return boolean
function GetEntityCanBeDamaged(entity)
end

--- GET_ENTITY_HEIGHT_ABOVE_GROUND
---
--- Return height (z-dimension) above ground.   
--- Example: The pilot in a titan plane is 1.844176 above ground.  
--- How can i convert it to meters?  
--- Everything seems to be in meters, probably this too.  
--- 
---@param entity number
---@return number
function GetEntityHeightAboveGround(entity)
end

--- GET_ENTITY_MAX_HEALTH
---
--- Return an integer value of entity's maximum health.  
--- Example:  
--- - Player = 200  
--- 
---@param entity number
---@return any
function GetEntityMaxHealth(entity)
end

--- HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY
---
--- Entity 1 = Victim  
--- Entity 2 = Attacker  
--- p2 seems to always be 1  
--- 
---@param entity1 number
---@param entity2 number
---@param p2 boolean
---@return boolean
function HasEntityBeenDamagedByEntity(entity1, entity2, p2)
end

--- IS_ENTITY_IN_AREA
---
---@param entity number
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param p7 boolean
---@param p8 boolean
---@param p9 any
---@return boolean
function IsEntityInArea(entity, x1, y1, z1, x2, y2, z2, p7, p8, p9)
end

--- WOULD_ENTITY_BE_OCCLUDED
---
---@param entityModelHash any
---@param x number
---@param y number
---@param z number
---@param p4 boolean
---@return boolean
function WouldEntityBeOccluded(entityModelHash, x, y, z, p4)
end

--- _SET_ENTITY_CLEANUP_BY_ENGINE
---
--- True means it can be deleted by the engine when switching lobbies/missions/etc, false means the script is expected to clean it up.
--- 
---@param entity number
---@param toggle boolean
---@return any
function SetEntityCleanupByEngine(entity, toggle)
end

--- _ATTACH_ENTITY_BONE_TO_ENTITY_BONE
---
---@param entity1 number
---@param entity2 number
---@param entityBone any
---@param entityBone2 any
---@param p4 boolean
---@param p5 boolean
---@return any
function AttachEntityBoneToEntityBone(entity1, entity2, entityBone, entityBone2, p4, p5)
end

--- _DOES_ENTITY_HAVE_SKELETON_DATA
---
--- NativeDB Introduced: v2699
--- 
---@param entity number
---@return boolean
function DoesEntityHaveSkeletonData(entity)
end

--- _GET_ENTITY_PROOFS
---
--- NativeDB Introduced: v1604
--- 
---@param entity number
---@param bulletProof any
---@param fireProof any
---@param explosionProof any
---@param collisionProof any
---@param meleeProof any
---@param steamProof any
---@param p7 any
---@param drownProof any
---@return boolean
function GetEntityProofs(entity, bulletProof, fireProof, explosionProof, collisionProof, meleeProof, steamProof, p7, drownProof)
end

--- GET_ENTITY_ROTATION
---
--- rotationOrder refers to the order yaw pitch roll is applied; value ranges from 0 to 5 and is usually *2* in scripts.
--- 
--- What you use for rotationOrder when getting must be the same as rotationOrder when setting the rotation.
--- 
--- What it returns is the yaw on the z part of the vector, which makes sense considering R* considers z as vertical. Here's a picture for those of you who don't understand pitch, yaw, and roll:
--- www.allstar.fiu.edu/aero/images/pic5-1.gif
--- 
--- 
--- ### Rotation Orders
--- 
--- *   **0**: ZYX - Rotate around the z-axis, then the y-axis and finally the x-axis.
--- *   **1**: YZX - Rotate around the y-axis, then the z-axis and finally the x-axis.
--- *   **2**: ZXY - Rotate around the z-axis, then the x-axis and finally the y-axis.
--- *   **3**: XZY - Rotate around the x-axis, then the z-axis and finally the y-axis.
--- *   **4**: YXZ - Rotate around the y-axis, then the x-axis and finally the z-axis.
--- *   **5**: XYZ - Rotate around the x-axis, then the y-axis and finally the z-axis.
---@param entity number
---@param rotationOrder any
---@return { x: number, y: number, z: number }
function GetEntityRotation(entity, rotationOrder)
end

--- HAS_ENTITY_BEEN_DAMAGED_BY_ANY_VEHICLE
---
---@param entity number
---@return boolean
function HasEntityBeenDamagedByAnyVehicle(entity)
end

--- IS_ENTITY_TOUCHING_ENTITY
---
---@param entity number
---@param targetEntity number
---@return boolean
function IsEntityTouchingEntity(entity, targetEntity)
end

--- SET_ENTITY_HAS_GRAVITY
---
---@param entity number
---@param toggle boolean
---@return any
function SetEntityHasGravity(entity, toggle)
end

--- DOES_ENTITY_BELONG_TO_THIS_SCRIPT
---
---@param entity number
---@param p2 boolean
---@return boolean
function DoesEntityBelongToThisScript(entity, p2)
end

--- GET_ENTITY_FORWARD_Y
---
--- Gets the Y-component of the entity's forward vector.  
--- 
---@param entity number
---@return number
function GetEntityForwardY(entity)
end

--- GET_ENTITY_SPEED_VECTOR
---
--- Relative can be used for getting speed relative to the frame of the vehicle, to determine for example, if you are going in reverse (-y speed) or not (+y speed).  
--- 
---@param entity number
---@param relative boolean
---@return { x: number, y: number, z: number }
function GetEntitySpeedVector(entity, relative)
end

--- IS_ENTITY_ATTACHED_TO_ANY_OBJECT
---
---@param entity number
---@return boolean
function IsEntityAttachedToAnyObject(entity)
end

--- IS_ENTITY_ATTACHED_TO_ANY_VEHICLE
---
---@param entity number
---@return boolean
function IsEntityAttachedToAnyVehicle(entity)
end

--- PLAY_ENTITY_ANIM
---
--- delta and bitset are guessed fields. They are based on the fact that most of the calls have 0 or nil field types passed in.  
--- The only time bitset has a value is 0x4000 and the only time delta has a value is during stealth with usually <1.0f values.  
--- 
--- 
--- [Animations list](https://alexguirre.github.io/animations-list/)
---@param entity number
---@param animName any
---@param animDict any
---@param p3 number
---@param loop boolean
---@param stayInAnim boolean
---@param p6 boolean
---@param delta number
---@param bitset any
---@return boolean
function PlayEntityAnim(entity, animName, animDict, p3, loop, stayInAnim, p6, delta, bitset)
end

--- SET_ENTITY_LOD_DIST
---
--- LOD distance can be 0 to 0xFFFF (higher values will result in 0xFFFF) as it is actually stored as a 16-bit value (aka uint16_t).  
--- 
---@param entity number
---@param value any
---@return any
function SetEntityLodDist(entity, value)
end

--- SET_ENTITY_TRAFFICLIGHT_OVERRIDE
---
--- Example here: www.gtaforums.com/topic/830463-help-with-turning-lights-green-and-causing-peds-to-crash-into-each-other/#entry1068211340
--- 0 = green
--- 1 = red
--- 2 = yellow
--- 3 = reset changes
--- changing lights may not change the behavior of vehicles
--- 
---@param entity number
---@param state any
---@return any
function SetEntityTrafficlightOverride(entity, state)
end

--- _DOES_ENTITY_HAVE_ANIM_DIRECTOR
---
--- NativeDB Introduced: v2699
--- 
---@param entity number
---@return boolean
function DoesEntityHaveAnimDirector(entity)
end

--- GET_PED_INDEX_FROM_ENTITY_INDEX
---
--- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).  
--- 
---@param entity number
---@return number
function GetPedIndexFromEntityIndex(entity)
end

--- IS_AN_ENTITY
---
---@param handle any
---@return boolean
function IsAnEntity(handle)
end

--- SET_ENTITY_COORDS_NO_OFFSET
---Sets the coordinates (world position) for a specified entity.
---@param entity number
---@param xPos number
---@param yPos number
---@param zPos number
---@param alive boolean
---@param deadFlag boolean
---@param ragdollFlag boolean
---@return any
function SetEntityCoordsNoOffset(entity, xPos, yPos, zPos, alive, deadFlag, ragdollFlag)
end

--- SET_ENTITY_VELOCITY
---
--- Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
--- 
---@param entity number
---@param x number
---@param y number
---@param z number
---@return any
function SetEntityVelocity(entity, x, y, z)
end

--- SET_VEHICLE_AS_NO_LONGER_NEEDED
---
--- This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.  
--- 
---@param vehicle any
---@return any
function SetVehicleAsNoLongerNeeded(vehicle)
end

--- SET_ENTITY_MAX_HEALTH
---
--- For instance: ENTITY::SET_ENTITY_MAX_HEALTH(PLAYER::PLAYER_PED_ID(), 200); // director_mode.c4: 67849  
--- 
---@param entity number
---@param value any
---@return any
function SetEntityMaxHealth(entity, value)
end

--- DOES_ENTITY_HAVE_PHYSICS
---
---@param entity number
---@return boolean
function DoesEntityHavePhysics(entity)
end

--- GET_ENTITY_ANIM_CURRENT_TIME
---
--- Returns a float value representing animation's current playtime with respect to its total playtime. This value increasing in a range from [0 to 1] and wrap back to 0 when it reach 1.  
--- Example:  
--- 0.000000 - mark the starting of animation.  
--- 0.500000 - mark the midpoint of the animation.  
--- 1.000000 - mark the end of animation.  
--- 
--- 
--- [Animations list](https://alexguirre.github.io/animations-list/)
---@param entity number
---@param animDict any
---@param animName any
---@return number
function GetEntityAnimCurrentTime(entity, animDict, animName)
end

--- GET_ENTITY_MATRIX
---
---@param entity number
---@param forwardVector any
---@param rightVector any
---@param upVector any
---@param position any
---@return any
function GetEntityMatrix(entity, forwardVector, rightVector, upVector, position)
end

--- GET_OBJECT_INDEX_FROM_ENTITY_INDEX
---
--- Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).  
--- 
---@param entity number
---@return any
function GetObjectIndexFromEntityIndex(entity)
end

--- HAS_ENTITY_ANIM_FINISHED
---
--- P3 is always 3 as far as i cant tell  
--- 
--- 
--- [Animations list](https://alexguirre.github.io/animations-list/)
---@param entity number
---@param animDict any
---@param animName any
---@param p3 any
---@return boolean
function HasEntityAnimFinished(entity, animDict, animName, p3)
end

--- SET_ENTITY_COMPLETELY_DISABLE_COLLISION
---
---@param entity number
---@param toggle boolean
---@param keepPhysics boolean
---@return any
function SetEntityCompletelyDisableCollision(entity, toggle, keepPhysics)
end

--- _SET_ENTITY_DECALS_DISABLED
---
--- SET_ENTITY_*
--- 
---@param entity number
---@param p1 boolean
---@return any
function SetEntityDecalsDisabled(entity, p1)
end

--- SET_ENTITY_LIGHTS
---
---@param entity number
---@param toggle boolean
---@return any
function SetEntityLights(entity, toggle)
end

--- DETACH_ENTITY
---
---@param entity number
---@param dynamic boolean
---@param collision boolean
---@return any
function DetachEntity(entity, dynamic, collision)
end

--- GET_ANIM_DURATION
---[Animations list](https://alexguirre.github.io/animations-list/)
---@param animDict any
---@param animName any
---@return number
function GetAnimDuration(animDict, animName)
end

--- GET_ENTITY_HEALTH
---
--- Returns an integer value of entity's current health.
--- Example of range for ped:
--- - Player [0 to 200]
--- - Ped [100 to 200]
--- - Vehicle [0 to 1000]
--- - Object [0 to 1000]
--- Health is actually a float value but this native casts it to int.
--- In order to get the actual value, do:
--- float health = *(float *)(entityAddress + 0x280);
--- 
---@param entity number
---@return any
function GetEntityHealth(entity)
end

--- GET_ENTITY_TYPE
---
--- Returns:
--- 0 = no entity
--- 1 = ped
--- 2 = vehicle
--- 3 = object
--- 
---@param entity number
---@return any
function GetEntityType(entity)
end

--- IS_ENTITY_WAITING_FOR_WORLD_COLLISION
---
---@param entity number
---@return boolean
function IsEntityWaitingForWorldCollision(entity)
end

--- SET_ENTITY_ALPHA
---This native sets the entity's alpha level.
---@param entity number
---@param alphaLevel any
---@param skin boolean
---@return any
function SetEntityAlpha(entity, alphaLevel, skin)
end

--- STOP_SYNCHRONIZED_ENTITY_ANIM
---
--- p1 sync task id?  
--- 
---@param entity number
---@param p1 number
---@param p2 boolean
---@return boolean
function StopSynchronizedEntityAnim(entity, p1, p2)
end

--- SET_ENTITY_VISIBLE
---Toggle the visibility of a given entity.
---@param entity number
---@param toggle boolean
---@param unk boolean
---@return any
function SetEntityVisible(entity, toggle, unk)
end

--- STOP_SYNCHRONIZED_MAP_ENTITY_ANIM
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 any
---@param p5 number
---@return boolean
function StopSynchronizedMapEntityAnim(p0, p1, p2, p3, p4, p5)
end

--- FREEZE_ENTITY_POSITION
---Freezes or unfreezes an entity preventing its coordinates to change by the player if set to true. You can still change the entity position using SET_ENTITY_COORDS.
---@param entity number
---@param toggle boolean
---@return any
function FreezeEntityPosition(entity, toggle)
end

--- HAS_ANIM_EVENT_FIRED
---
--- if (ENTITY::HAS_ANIM_EVENT_FIRED(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("CreateObject")))
--- 
---@param entity number
---@param actionHash any
---@return boolean
function HasAnimEventFired(entity, actionHash)
end

--- IS_ENTITY_A_VEHICLE
---
---@param entity number
---@return boolean
function IsEntityAVehicle(entity)
end

--- REMOVE_FORCED_OBJECT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function RemoveForcedObject(p0, p1, p2, p3, p4)
end

--- SET_ENTITY_NO_COLLISION_ENTITY
---
--- Calling this function disables collision between two entities.
--- The importance of the order for entity1 and entity2 is unclear.
--- The third parameter, thisFrame, decides whether the collision is to be disabled until it is turned back on, or if it's just this frame.
--- 
---@param entity1 number
---@param entity2 number
---@param thisFrameOnly boolean
---@return any
function SetEntityNoCollisionEntity(entity1, entity2, thisFrameOnly)
end

--- GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS
---
--- Offset values are relative to the entity.  
--- x = left/right  
--- y = forward/backward  
--- z = up/down  
--- 
---@param entity number
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@return { x: number, y: number, z: number }
function GetOffsetFromEntityInWorldCoords(entity, offsetX, offsetY, offsetZ)
end

--- IS_ENTITY_PLAYING_ANIM
---See also [IS_SCRIPTED_SCENARIO_PED_USING_CONDITIONAL_ANIM](#\_0x6EC47A344923E1ED)
--- 
--- 
--- Taken from ENTITY::IS_ENTITY_PLAYING_ANIM(PLAYER::PLAYER_PED_ID(), "creatures@shark@move", "attack_player", 3)  
--- p4 is always 3 in the scripts.  
--- taskFlag:  
--- 2 - Check synchronized scene  
--- 
--- 
--- [Animations list](https://alexguirre.github.io/animations-list/)
---@param entity number
---@param animDict any
---@param animName any
---@param taskFlag any
---@return boolean
function IsEntityPlayingAnim(entity, animDict, animName, taskFlag)
end

--- SET_ENTITY_HEADING
---Set the heading of an entity in degrees also known as "Yaw".
---@param entity number
---@param heading number
---@return any
function SetEntityHeading(entity, heading)
end

--- SET_ENTITY_PROOFS
---
--- Enable / disable each type of damage.  
--- --------------  
--- p7 is to to '1' in am_mp_property_ext/int: entity::set_entity_proofs(uParam0->f_19, true, true, true, true, true, true, 1, true);  
--- 
---@param entity number
---@param bulletProof boolean
---@param fireProof boolean
---@param explosionProof boolean
---@param collisionProof boolean
---@param meleeProof boolean
---@param steamProof boolean
---@param p7 boolean
---@param drownProof boolean
---@return any
function SetEntityProofs(entity, bulletProof, fireProof, explosionProof, collisionProof, meleeProof, steamProof, p7, drownProof)
end

--- DOES_ENTITY_EXIST
---Checks whether an entity exists in the game world.
---@param entity number
---@return boolean
function DoesEntityExist(entity)
end

--- GET_ENTITY_COORDS
---Gets the current coordinates (world position) for a specified entity.
---@param entity number
---@param alive boolean
---@return { x: number, y: number, z: number }
function GetEntityCoords(entity, alive)
end

--- SET_CAN_CLIMB_ON_ENTITY
---
---@param entity number
---@param toggle boolean
---@return any
function SetCanClimbOnEntity(entity, toggle)
end

--- GET_ENTITY_ATTACHED_TO
---
---@param entity number
---@return number
function GetEntityAttachedTo(entity)
end

--- IS_ENTITY_VISIBLE
---
---@param entity number
---@return boolean
function IsEntityVisible(entity)
end

--- HAS_ENTITY_CLEAR_LOS_TO_ENTITY_IN_FRONT
---
--- Has the entity1 got a clear line of sight to the other entity2 from the direction entity1 is facing.  
--- This is one of the most CPU demanding BOOL natives in the game; avoid calling this in things like nested for-loops  
--- 
---@param entity1 number
---@param entity2 number
---@return boolean
function HasEntityClearLosToEntityInFront(entity1, entity2)
end

--- RESET_ENTITY_ALPHA
---
---@param entity number
---@return any
function ResetEntityAlpha(entity)
end

--- SET_ENTITY_MOTION_BLUR
---
---@param entity number
---@param toggle boolean
---@return any
function SetEntityMotionBlur(entity, toggle)
end

--- SET_ENTITY_AS_MISSION_ENTITY
---Assigns an existing entity to be owned by the current script. If the entity was not owned by a script yet, this also means the entity will remain persistent until released.
--- 
--- Note that this is not needed right after creating an entity as a script-created entity will automatically be assigned.
---@param entity number
---@param p1 boolean
---@param p2 boolean
---@return any
function SetEntityAsMissionEntity(entity, p1, p2)
end

--- GET_ENTITY_BONE_INDEX_BY_NAME
---
--- Returns the index of the bone. If the bone was not found, -1 will be returned.   
--- list:  
--- pastebin.com/D7JMnX1g  
--- BoneNames:  
--- 	chassis,  
--- 	windscreen,  
--- 	seat_pside_r,  
--- 	seat_dside_r,  
--- 	bodyshell,  
--- 	suspension_lm,  
--- 	suspension_lr,  
--- 	platelight,  
--- 	attach_female,  
--- 	attach_male,  
--- 	bonnet,  
--- 	boot,  
--- 	chassis_dummy,	//Center of the dummy  
--- 	chassis_Control,	//Not found yet  
--- 	door_dside_f,	//Door left, front  
--- 	door_dside_r,	//Door left, back  
--- 	door_pside_f,	//Door right, front  
--- 	door_pside_r,	//Door right, back  
--- 	Gun_GripR,  
--- 	windscreen_f,  
--- 	platelight,	//Position where the light above the numberplate is located  
--- 	VFX_Emitter,  
--- 	window_lf,	//Window left, front  
--- 	window_lr,	//Window left, back  
--- 	window_rf,	//Window right, front  
--- 	window_rr,	//Window right, back  
--- 	engine,	//Position of the engine  
--- 	gun_ammo,  
--- 	ROPE_ATTATCH,	//Not misspelled. In script "finale_heist2b.c4".  
--- 	wheel_lf,	//Wheel left, front  
--- 	wheel_lr,	//Wheel left, back  
--- 	wheel_rf,	//Wheel right, front  
--- 	wheel_rr,	//Wheel right, back  
--- 	exhaust,	//Exhaust. shows only the position of the stock-exhaust  
--- 	overheat,	//A position on the engine(not exactly sure, how to name it)  
--- 	misc_e,	//Not a car-bone.  
--- 	seat_dside_f,	//Driver-seat  
--- 	seat_pside_f,	//Seat next to driver  
--- 	Gun_Nuzzle,  
--- 	seat_r  
--- I doubt that the function is case-sensitive, since I found a "Chassis" and a "chassis". - Just tested: Definitely not case-sensitive.  
--- 
---@param entity number
---@param boneName any
---@return any
function GetEntityBoneIndexByName(entity, boneName)
end

--- _GET_ENTITY_BONE_ROTATION_LOCAL
---Gets the local rotation of the specified bone of the specified entity.
--- 
--- 
--- NativeDB Introduced: v1734
--- 
---@param entity number
---@param boneIndex any
---@return { x: number, y: number, z: number }
function GetEntityBoneRotationLocal(entity, boneIndex)
end

--- GET_ENTITY_FORWARD_X
---
--- Gets the X-component of the entity's forward vector.  
--- 
---@param entity number
---@return number
function GetEntityForwardX(entity)
end

--- GET_ENTITY_SPEED
---Get the speed of a entity.
---@param entity number
---@return number
function GetEntitySpeed(entity)
end

--- IS_ENTITY_A_PED
---
---@param entity number
---@return boolean
function IsEntityAPed(entity)
end

--- IS_ENTITY_STATIC
---
--- A static ped will not react to natives like "APPLY_FORCE_TO_ENTITY" or "SET_ENTITY_VELOCITY" and oftentimes will not react to task-natives like "AI::TASK_COMBAT_PED". The only way I know of to make one of these peds react is to ragdoll them (or sometimes to use CLEAR_PED_TASKS_IMMEDIATELY(). Static peds include almost all far-away peds, beach-combers, peds in certain scenarios, peds crossing a crosswalk, peds walking to get back into their cars, and others. If anyone knows how to make a ped non-static without ragdolling them, please edit this with the solution.  
--- ^ Attach a phCollider to the ped.  
--- 
---@param entity number
---@return boolean
function IsEntityStatic(entity)
end

--- CLEAR_ENTITY_LAST_DAMAGE_ENTITY
---This native **could affect** the arguments of the CEventNetworkEntityDamage game event, by clearing the damaging entity before the event is fired.
---@param entity number
---@return any
function ClearEntityLastDamageEntity(entity)
end

--- GET_ENTITY_QUATERNION
---
--- w is the correct parameter name!  
--- 
---@param entity number
---@param x any
---@param y any
---@param z any
---@param w any
---@return any
function GetEntityQuaternion(entity, x, y, z, w)
end

--- GET_NEAREST_PLAYER_TO_ENTITY
---
---@param entity number
---@return number
function GetNearestPlayerToEntity(entity)
end

--- IS_ENTITY_AN_OBJECT
---
---@param entity number
---@return boolean
function IsEntityAnObject(entity)
end

--- IS_ENTITY_OCCLUDED
---
---@param entity number
---@return boolean
function IsEntityOccluded(entity)
end

--- IS_ENTITY_UPRIGHT
---
---@param entity number
---@param angle number
---@return boolean
function IsEntityUpright(entity, angle)
end

--- SET_ENTITY_HEALTH
---health >= 0
--- 
--- male ped ~= 100 - 200
--- 
--- female ped ~= 0 - 100
--- 
--- 
--- NativeDB Added Parameter 3: int p2
--- 
---@param entity number
---@param health any
---@return any
function SetEntityHealth(entity, health)
end

--- CREATE_ITEMSET
---
---@param distri boolean
---@return any
function CreateItemset(distri)
end

--- REMOVE_FROM_ITEMSET
---
---@param p0 any
---@param p1 any
---@return any
function RemoveFromItemset(p0, p1)
end

--- IS_ITEMSET_VALID
---
---@param p0 any
---@return boolean
function IsItemsetValid(p0)
end

--- DESTROY_ITEMSET
---
---@param p0 any
---@return any
function DestroyItemset(p0)
end

--- GET_INDEXED_ITEM_IN_ITEMSET
---
---@param p0 any
---@param p1 any
---@return any
function GetIndexedItemInItemset(p0, p1)
end

--- IS_IN_ITEMSET
---
---@param p0 any
---@param p1 any
---@return boolean
function IsInItemset(p0, p1)
end

--- GET_ITEMSET_SIZE
---
---@param x any
---@return any
function GetItemsetSize(x)
end

--- ADD_TO_ITEMSET
---
---@param p0 any
---@param p1 any
---@return boolean
function AddToItemset(p0, p1)
end

--- CLEAN_ITEMSET
---
---@param p0 any
---@return any
function CleanItemset(p0)
end

--- GET_CURRENT_LANGUAGE
---
--- 0 = american (en-US)
--- 1 = french (fr-FR)
--- 2 = german (de-DE)
--- 3 = italian (it-IT)
--- 4 = spanish (es-ES)
--- 5 = brazilian (pt-BR)
--- 6 = polish (pl-PL)
--- 7 = russian (ru-RU)
--- 8 = korean (ko-KR)
--- 9 = chinesetrad (zh-TW)
--- 10 = japanese (ja-JP)
--- 11 = mexican (es-MX)
--- 12 = chinesesimp (zh-CN)
--- 
---@return any
function GetCurrentLanguage()
end

--- _LOCALIZATION_GET_SYSTEM_DATE_FORMAT
---
--- Possible return values: 0, 1, 2
--- 
---@return any
function LocalizationGetSystemDateFormat()
end

--- _LOCALIZATION_GET_SYSTEM_LANGUAGE
---
--- Same return values as GET_CURRENT_LANGUAGE
--- 
---@return any
function LocalizationGetSystemLanguage()
end

--- _NET_GAMESERVER_CHECKOUT_START
---
---@param transactionId any
---@return boolean
function NetGameserverCheckoutStart(transactionId)
end

--- _NET_GAMESERVER_DELETE_SET_TELEMETRY_NONCE_SEED
---
---@return boolean
function NetGameserverDeleteSetTelemetryNonceSeed()
end

--- _NET_GAMESERVER_DELETE_CHARACTER_SLOT
---
---@param slot any
---@param transfer boolean
---@param reason any
---@return boolean
function NetGameserverDeleteCharacterSlot(slot, transfer, reason)
end

--- _NET_GAMESERVER_IS_SESSION_REFRESH_PENDING
---
---@return boolean
function NetGameserverIsSessionRefreshPending()
end

--- _NET_GAMESERVER_IS_SESSION_VALID
---
---@param charSlot any
---@return boolean
function NetGameserverIsSessionValid(charSlot)
end

--- _NET_GAMESERVER_TRANSFER_BANK_TO_WALLET
---
---@param charSlot any
---@param amount any
---@return boolean
function NetGameserverTransferBankToWallet(charSlot, amount)
end

--- _NET_GAMESERVER_BEGIN_SERVICE
---
---@param transactionId any
---@param categoryHash any
---@param itemHash any
---@param actionTypeHash any
---@param value any
---@param flags any
---@return boolean
function NetGameserverBeginService(transactionId, categoryHash, itemHash, actionTypeHash, value, flags)
end

--- _NET_GAMESERVER_BASKET_START
---
---@param transactionId any
---@param categoryHash any
---@param actionHash any
---@param flags any
---@return boolean
function NetGameserverBasketStart(transactionId, categoryHash, actionHash, flags)
end

--- _NET_GAMESERVER_CATALOG_ITEM_EXISTS_HASH
---
---@param hash any
---@return boolean
function NetGameserverCatalogItemExistsHash(hash)
end

--- _NET_GAMESERVER_SET_TELEMETRY_NONCE_SEED
---
---@param p0 any
---@return boolean
function NetGameserverSetTelemetryNonceSeed(p0)
end

--- _NET_GAMESERVER_BASKET_IS_FULL
---
---@return boolean
function NetGameserverBasketIsFull()
end

--- _NET_GAMESERVER_USE_SERVER_TRANSACTIONS
---
--- NativeDB Introduced: v1290
--- 
---@return boolean
function NetGameserverUseServerTransactions()
end

--- _NET_GAMESERVER_START_SESSION
---
---@param charSlot any
---@return boolean
function NetGameserverStartSession(charSlot)
end

--- _NET_GAMESERVER_TRANSFER_CASH_GET_STATUS_2
---
--- Same as 0x23789E777D14CE44
--- 
---@return any
function NetGameserverTransferCashGetStatus2()
end

--- _NET_GAMESERVER_TRANSFER_CASH_GET_STATUS
---
--- Same as 0x350AA5EBC03D3BD2
--- 
---@return any
function NetGameserverTransferCashGetStatus()
end

--- _NET_GAMESERVER_BASKET_APPLY_SERVER_DATA
---
---@param p0 any
---@param p1 any
---@return boolean
function NetGameserverBasketApplyServerData(p0, p1)
end

--- _NET_GAMESERVER_DELETE_CHARACTER_SLOT_GET_STATUS
---
---@return any
function NetGameserverDeleteCharacterSlotGetStatus()
end

--- _NET_GAMESERVER_IS_CATALOG_VALID
---
---@return boolean
function NetGameserverIsCatalogValid()
end

--- _NET_GAMESERVER_SESSION_APPLY_RECEIVED_DATA
---
---@param charSlot any
---@return boolean
function NetGameserverSessionApplyReceivedData(charSlot)
end

--- _NET_GAMESERVER_CATALOG_ITEM_EXISTS
---
---@param name any
---@return boolean
function NetGameserverCatalogItemExists(name)
end

--- _NET_GAMESERVER_GET_PRICE
---
--- bool is always true in game scripts  
--- 
---@param itemHash any
---@param categoryHash any
---@param p2 boolean
---@return any
function NetGameserverGetPrice(itemHash, categoryHash, p2)
end

--- _NET_GAMESERVER_BASKET_DELETE
---
--- NativeDB Introduced: v372
--- 
---@return boolean
function NetGameserverBasketDelete()
end

--- _NET_GAMESERVER_BASKET_END
---
---@return boolean
function NetGameserverBasketEnd()
end

--- _NET_GAMESERVER_GET_CATALOG_STATE
---
---@param state any
---@return boolean
function NetGameserverGetCatalogState(state)
end

--- _NET_GAMESERVER_GET_BALANCE
---
--- Note: only one of the arguments can be set to true at a time
--- 
---@param inventory boolean
---@param playerbalance boolean
---@return boolean
function NetGameserverGetBalance(inventory, playerbalance)
end

--- _NET_GAMESERVER_TRANSFER_CASH_SET_TELEMETRY_NONCE_SEED
---
--- Used to be NETWORK_SHOP_CASH_TRANSFER_SET_TELEMETRY_NONCE_SEED
--- 
---@return boolean
function NetGameserverTransferCashSetTelemetryNonceSeed()
end

--- _NET_GAMESERVER_BASKET_ADD_ITEM
---
---@param itemData any
---@param quantity any
---@return boolean
function NetGameserverBasketAddItem(itemData, quantity)
end

--- _NET_GAMESERVER_END_SERVICE
---
---@param transactionId any
---@return boolean
function NetGameserverEndService(transactionId)
end

--- _NET_GAMESERVER_TRANSFER_WALLET_TO_BANK
---
---@param charSlot any
---@param amount any
---@return boolean
function NetGameserverTransferWalletToBank(charSlot, amount)
end

--- _NET_GAMESERVER_CATALOG_IS_READY
---
---@return boolean
function NetGameserverCatalogIsReady()
end

--- _NET_GAMESERVER_GET_TRANSACTION_MANAGER_DATA
---
---@param p0 any
---@param p1 any
---@return boolean
function NetGameserverGetTransactionManagerData(p0, p1)
end

--- _DISABLE_INPUT_GROUP
---
---@param padIndex any
---@return any
function DisableInputGroup(padIndex)
end

--- GET_DISABLED_CONTROL_UNBOUND_NORMAL
---
---@param padIndex any
---@param control any
---@return number
function GetDisabledControlUnboundNormal(padIndex, control)
end

--- IS_CONTROL_PRESSED
---Returns whether a control is currently pressed.
---@param padIndex any
---@param control any
---@return boolean
function IsControlPressed(padIndex, control)
end

--- IS_DISABLED_CONTROL_PRESSED
---
---@param padIndex any
---@param control any
---@return boolean
function IsDisabledControlPressed(padIndex, control)
end

--- _IS_USING_KEYBOARD
---
---@param padIndex any
---@return boolean
function IsUsingKeyboard(padIndex)
end

--- ENABLE_CONTROL_ACTION
---
--- control values and meaning: github.com/crosire/scripthookvdotnet/blob/dev_v3/source/scripting/Control.cs  
--- and  
--- https://docs.fivem.net/game-references/controls/
--- 0, 1 and 2 used in the scripts.  
--- Control values from the decompiled scripts:   
--- 0,1,2,3,4,5,6,8,9,10,11,14,15,16,17,19,21,22,24,25,26,30,31,32,33,34,35,36,  
--- 37,44,46,47,59,60,65,68,69,70,71,72,73,74,75,76,79,80,81,82,86,95,98,99,100  
--- ,101,114,140,141,143,172,173,174,175,176,177,178,179,180,181,187,188,189,19  
--- 0,195,196,197,198,199,201,202,203,204,205,206,207,208,209,210,217,218,219,2  
--- 20,221,225,228,229,230,231,234,235,236,237,238,239,240,241,242,245,246,257,  
--- 261,262,263,264,286,287,288,289,337,338,339,340,341,342,343  
--- INPUTGROUP_MOVE  
--- INPUTGROUP_LOOK  
--- INPUTGROUP_WHEEL  
--- INPUTGROUP_CELLPHONE_NAVIGATE  
--- INPUTGROUP_CELLPHONE_NAVIGATE_UD  
--- INPUTGROUP_CELLPHONE_NAVIGATE_LR  
--- INPUTGROUP_FRONTEND_DPAD_ALL  
--- INPUTGROUP_FRONTEND_DPAD_UD  
--- INPUTGROUP_FRONTEND_DPAD_LR  
--- INPUTGROUP_FRONTEND_LSTICK_ALL  
--- INPUTGROUP_FRONTEND_RSTICK_ALL  
--- INPUTGROUP_FRONTEND_GENERIC_UD  
--- INPUTGROUP_FRONTEND_GENERIC_LR  
--- INPUTGROUP_FRONTEND_GENERIC_ALL  
--- INPUTGROUP_FRONTEND_BUMPERS  
--- INPUTGROUP_FRONTEND_TRIGGERS  
--- INPUTGROUP_FRONTEND_STICKS  
--- INPUTGROUP_SCRIPT_DPAD_ALL  
--- INPUTGROUP_SCRIPT_DPAD_UD  
--- INPUTGROUP_SCRIPT_DPAD_LR  
--- INPUTGROUP_SCRIPT_LSTICK_ALL  
--- INPUTGROUP_SCRIPT_RSTICK_ALL  
--- INPUTGROUP_SCRIPT_BUMPERS  
--- INPUTGROUP_SCRIPT_TRIGGERS  
--- INPUTGROUP_WEAPON_WHEEL_CYCLE  
--- INPUTGROUP_FLY  
--- INPUTGROUP_SUB  
--- INPUTGROUP_VEH_MOVE_ALL  
--- INPUTGROUP_CURSOR  
--- INPUTGROUP_CURSOR_SCROLL  
--- INPUTGROUP_SNIPER_ZOOM_SECONDARY  
--- INPUTGROUP_VEH_HYDRAULICS_CONTROL  
--- Took those in IDA Pro.Not sure in which order they go  
--- 
---@param padIndex any
---@param control any
---@param enable boolean
---@return any
function EnableControlAction(padIndex, control, enable)
end

--- GET_IS_USING_ALTERNATE_DRIVEBY
---
--- Returns profile setting 225.
--- 
---@return boolean
function GetIsUsingAlternateDriveby()
end

--- GET_LOCAL_PLAYER_AIM_STATE
---Returns the local player's targeting mode. See [SET_PLAYER_TARGETING_MODE](#\_0xB1906895227793F3).
---@return any
function GetLocalPlayerAimState()
end

--- IS_CONTROL_ENABLED
---
---@param padIndex any
---@param control any
---@return boolean
function IsControlEnabled(padIndex, control)
end

--- SET_PAD_SHAKE
---
--- p0 always seems to be 0  
--- duration in milliseconds   
--- frequency should range from about 10 (slow vibration) to 255 (very fast)  
--- example:  
--- SET_PAD_SHAKE(0, 100, 200);  
--- 
---@param padIndex any
---@param duration any
---@param frequency any
---@return any
function SetPadShake(padIndex, duration, frequency)
end

--- SET_INPUT_EXCLUSIVE
---
---@param padIndex any
---@param control any
---@return any
function SetInputExclusive(padIndex, control)
end

--- GET_CONTROL_UNBOUND_NORMAL
---
--- Seems to return values between -1 and 1 for controls like gas and steering.
--- 
---@param padIndex any
---@param control any
---@return number
function GetControlUnboundNormal(padIndex, control)
end

--- _IS_USING_KEYBOARD_2
---
---@param padIndex any
---@return boolean
function IsUsingKeyboard2(padIndex)
end

--- _SWITCH_TO_INPUT_MAPPING_SCHEME_2
---
--- Same as 0x3D42B92563939375
--- 
--- S*
--- 
---@param name any
---@return boolean
function SwitchToInputMappingScheme2(name)
end

--- _IS_DISABLED_CONTROL_RELEASED
---
---@param padIndex any
---@param control any
---@return boolean
function IsDisabledControlReleased(padIndex, control)
end

--- _RESET_INPUT_MAPPING_SCHEME
---
--- S*
--- 
---@return any
function ResetInputMappingScheme()
end

--- _SWITCH_TO_INPUT_MAPPING_SCHEME
---
--- Used in carsteal3 script with p0 = "Carsteal4_spycar".
--- S*
--- 
---@param name any
---@return boolean
function SwitchToInputMappingScheme(name)
end

--- GET_CONTROL_GROUP_INSTRUCTIONAL_BUTTON
---
---@param padIndex any
---@param controlGroup any
---@param p2 boolean
---@return any
function GetControlGroupInstructionalButton(padIndex, controlGroup, p2)
end

--- GET_CONTROL_INSTRUCTIONAL_BUTTON
---
--- formerly called _GET_CONTROL_ACTION_NAME incorrectly  
--- p2 appears to always be true.  
--- p2 is unused variable in function.  
--- EG:  
--- GET_CONTROL_INSTRUCTIONAL_BUTTON (2, 201, 1) /*INPUT_FRONTEND_ACCEPT (e.g. Enter button)*/  
--- GET_CONTROL_INSTRUCTIONAL_BUTTON (2, 202, 1) /*INPUT_FRONTEND_CANCEL (e.g. ESC button)*/  
--- GET_CONTROL_INSTRUCTIONAL_BUTTON (2, 51, 1) /*INPUT_CONTEXT (e.g. E button)*/  
--- gtaforums.com/topic/819070-c-draw-instructional-buttons-scaleform-movie/#entry1068197378  
--- 0, 1 and 2 used in the scripts. 0 is by far the most common of them.  
--- 
---@param padIndex any
---@param control any
---@param p2 boolean
---@return any
function GetControlInstructionalButton(padIndex, control, p2)
end

--- IS_CONTROL_JUST_RELEASED
---Returns whether a control was newly released since the last check.
---@param padIndex any
---@param control any
---@return boolean
function IsControlJustReleased(padIndex, control)
end

--- IS_CONTROL_JUST_PRESSED
---Returns whether a control was newly pressed since the last check.
---@param padIndex any
---@param control any
---@return boolean
function IsControlJustPressed(padIndex, control)
end

--- IS_LOOK_INVERTED
---
---@return boolean
function IsLookInverted()
end

--- STOP_PAD_SHAKE
---
---@param padIndex any
---@return any
function StopPadShake(padIndex)
end

--- DISABLE_CONTROL_ACTION
---[Control values and meaning](https://docs.fivem.net/docs/game-references/controls/#controls)
--- 
--- Example: CONTROLS::DISABLE_CONTROL_ACTION(2, 19, true) disables the switching UI from appearing both when using a keyboard and Xbox 360 controller. Needs to be executed each frame.
--- Control group 1 and 0 gives the same results as 2. Same results for all players.
---@param padIndex any
---@param control any
---@param disable boolean
---@return any
function DisableControlAction(padIndex, control, disable)
end

--- GET_ALLOW_MOVEMENT_WHILE_ZOOMED
---
--- Returns profile setting 17.
--- 
---@return boolean
function GetAllowMovementWhileZoomed()
end

--- _GET_LOCAL_PLAYER_AIM_STATE_2
---
--- Same behavior as GET_LOCAL_PLAYER_AIM_STATE but only used on the PC version.  
--- 
---@return any
function GetLocalPlayerAimState2()
end

--- GET_DISABLED_CONTROL_NORMAL
---
---@param padIndex any
---@param control any
---@return number
function GetDisabledControlNormal(padIndex, control)
end

--- _GET_TIME_SINCE_LAST_INPUT
---
--- The number of milliseconds since last padIndex registered pressed
--- 
---@param padIndex any
---@return any
function GetTimeSinceLastInput(padIndex)
end

--- IS_DISABLED_CONTROL_JUST_RELEASED
---
---@param padIndex any
---@param control any
---@return boolean
function IsDisabledControlJustReleased(padIndex, control)
end

--- IS_DISABLED_CONTROL_JUST_PRESSED
---
---@param padIndex any
---@param control any
---@return boolean
function IsDisabledControlJustPressed(padIndex, control)
end

--- SET_PLAYERPAD_SHAKES_WHEN_CONTROLLER_DISABLED
---
---@param toggle boolean
---@return any
function SetPlayerpadShakesWhenControllerDisabled(toggle)
end

--- DISABLE_ALL_CONTROL_ACTIONS
---
---@param padIndex any
---@return any
function DisableAllControlActions(padIndex)
end

--- ENABLE_ALL_CONTROL_ACTIONS
---
--- padIndex: 
--- 0 - PLAYER_CONTROL
--- 1 - Unknown 
--- 2 - FRONTEND_CONTROL
--- 
---@param padIndex any
---@return any
function EnableAllControlActions(padIndex)
end

--- GET_CONTROL_NORMAL
---
---@param padIndex any
---@param control any
---@return number
function GetControlNormal(padIndex, control)
end

--- _SET_CURSOR_LOCATION
---
---@param x number
---@param y number
---@return boolean
function SetCursorLocation(x, y)
end

--- _SET_CONTROL_LIGHT_EFFECT_COLOR
---
---@param padIndex any
---@param red any
---@param green any
---@param blue any
---@return any
function SetControlLightEffectColor(padIndex, red, green, blue)
end

--- GET_CONTROL_VALUE
---
---@param padIndex any
---@param control any
---@return any
function GetControlValue(padIndex, control)
end

--- IS_CONTROL_RELEASED
---Returns whether a control is currently *not* pressed.
---@param padIndex any
---@param control any
---@return boolean
function IsControlReleased(padIndex, control)
end

--- _SET_CONTROL_NORMAL
---This is for simulating player input.
---@param padIndex any
---@param control any
---@param amount number
---@return boolean
function SetControlNormal(padIndex, control, amount)
end

--- APP_GET_STRING
---
---@param property any
---@return any
function AppGetString(property)
end

--- APP_CLOSE_BLOCK
---
---@return any
function AppCloseBlock()
end

--- APP_SAVE_DATA
---
---@return any
function AppSaveData()
end

--- APP_SET_APP
---
--- Called in the gamescripts like:  
--- APP::APP_SET_APP("car");  
--- APP::APP_SET_APP("dog");  
--- 
---@param appName any
---@return any
function AppSetApp(appName)
end

--- APP_SET_BLOCK
---
---@param blockName any
---@return any
function AppSetBlock(blockName)
end

--- APP_DATA_VALID
---
---@return boolean
function AppDataValid()
end

--- APP_GET_DELETED_FILE_STATUS
---
---@return any
function AppGetDeletedFileStatus()
end

--- APP_SET_FLOAT
---
---@param property any
---@param value number
---@return any
function AppSetFloat(property, value)
end

--- APP_CLEAR_BLOCK
---
---@return any
function AppClearBlock()
end

--- APP_HAS_SYNCED_DATA
---
---@param appName any
---@return boolean
function AppHasSyncedData(appName)
end

--- APP_DELETE_APP_DATA
---
---@param appName any
---@return boolean
function AppDeleteAppData(appName)
end

--- APP_GET_FLOAT
---
---@param property any
---@return number
function AppGetFloat(property)
end

--- APP_HAS_LINKED_SOCIAL_CLUB_ACCOUNT
---
---@return boolean
function AppHasLinkedSocialClubAccount()
end

--- APP_SET_INT
---
---@param property any
---@param value any
---@return any
function AppSetInt(property, value)
end

--- APP_SET_STRING
---
---@param property any
---@param value any
---@return any
function AppSetString(property, value)
end

--- APP_CLOSE_APP
---
---@return any
function AppCloseApp()
end

--- APP_GET_INT
---
---@param property any
---@return any
function AppGetInt(property)
end

--- _SC_INBOX_MESSAGE_SEND_BOUNTY_PRESENCE_EVENT
---
---@param data any
---@return boolean
function ScInboxMessageSendBountyPresenceEvent(data)
end

--- SC_INBOX_GET_MESSAGE_TYPE_AT_INDEX
---
---@param msgIndex any
---@return any
function ScInboxGetMessageTypeAtIndex(msgIndex)
end

--- SC_LICENSEPLATE_GET_ADD_IS_PENDING
---Returns true if the add license plate text request is still pending.
---@param token any
---@return boolean
function ScLicenseplateGetAddIsPending(token)
end

--- SC_LICENSEPLATE_GET_COUNT
---Gets number of plates in the response of the get license plates request.
--- Range: \[0, count) can be used as second argument to \_0x1D4446A62D35B0D0 and \_0x2E89990DDFF670C3
---@param token any
---@return any
function ScLicenseplateGetCount(token)
end

--- SC_INBOX_MESSAGE_GET_DATA_INT
---
---@param p0 any
---@param context any
---@param out any
---@return boolean
function ScInboxMessageGetDataInt(p0, context, out)
end

--- SC_EMAIL_MESSAGE_CLEAR_RECIP_LIST
---
---@return any
function ScEmailMessageClearRecipList()
end

--- _SC_GET_NICKNAME
---
--- Returns the nickname of the logged-in Rockstar Social Club account.
--- 
---@return any
function ScGetNickname()
end

--- _SC_INBOX_MESSAGE_GET_STRING
---
---@param p0 any
---@return any
function ScInboxMessageGetString(p0)
end

--- SC_LICENSEPLATE_ADD
---Social Club native to add license plate for the user
---@param plateText any
---@param plateData any
---@param tokenOut any
---@return boolean
function ScLicenseplateAdd(plateText, plateData, tokenOut)
end

--- SC_LICENSEPLATE_GET_PLATE
---Gets license plate text related to the get license plate info request
---@param token any
---@param plateIndex any
---@return any
function ScLicenseplateGetPlate(token, plateIndex)
end

--- _SC_PROFANITY_CHECK_UGC_STRING
---
---@param string any
---@param token any
---@return boolean
function ScProfanityCheckUgcString(string, token)
end

--- _IS_ROCKSTAR_MESSAGE_READY_FOR_SCRIPT
---
---@return boolean
function IsRockstarMessageReadyForScript()
end

--- _SC_INBOX_MESSAGE_GET_DATA_BOOL
---
---@param p0 any
---@param p1 any
---@return boolean
function ScInboxMessageGetDataBool(p0, p1)
end

--- SC_INBOX_MESSAGE_GET_DATA_STRING
---
---@param p0 any
---@param context any
---@param out any
---@return boolean
function ScInboxMessageGetDataString(p0, context, out)
end

--- _SC_GET_HAS_ACHIEVEMENT_BEEN_PASSED
---
--- Same as HAS_ACHIEVEMENT_BEEN_PASSED
--- 
---@param achievement any
---@return boolean
function ScGetHasAchievementBeenPassed(achievement)
end

--- SC_LICENSEPLATE_GET_ISVALID_IS_PENDING
---Checks if the "is valid license plate" request is still pending.
---@param token any
---@return boolean
function ScLicenseplateGetIsvalidIsPending(token)
end

--- SC_PROFANITY_GET_STRING_PASSED
---
---@param token any
---@return boolean
function ScProfanityGetStringPassed(token)
end

--- SC_GAMERDATA_GET_INT
---
--- NativeDB Introduced: v323
--- 
---@param name any
---@param outValue any
---@return boolean
function ScGamerdataGetInt(name, outValue)
end

--- SC_PRESENCE_ATTR_SET_INT
---
---@param attrHash any
---@param value any
---@return boolean
function ScPresenceAttrSetInt(attrHash, value)
end

--- SC_GAMERDATA_GET_BOOL
---
--- sfink: from scripts:
--- func_720(socialclub::_0x8416FE4E4629D7D7("bIgnoreCheaterOverride"));
--- func_719(socialclub::_0x8416FE4E4629D7D7("bIgnoreBadSportOverride"));
--- 
---@param name any
---@return boolean
function ScGamerdataGetBool(name)
end

--- _SC_INBOX_GET_EMAILS
---
---@param offset any
---@param limit any
---@return any
function ScInboxGetEmails(offset, limit)
end

--- SC_LICENSEPLATE_SET_PLATE_DATA
---Changes the license plate for the user (no insert).
---@param oldPlateText any
---@param newPlateText any
---@param plateData any
---@return boolean
function ScLicenseplateSetPlateData(oldPlateText, newPlateText, plateData)
end

--- SC_GAMERDATA_GET_FLOAT
---
--- NativeDB Introduced: v323
--- 
---@param name any
---@param outValue any
---@return boolean
function ScGamerdataGetFloat(name, outValue)
end

--- SC_INBOX_MESSAGE_DO_APPLY
---
---@param p0 any
---@return boolean
function ScInboxMessageDoApply(p0)
end

--- _ROCKSTAR_MESSAGE_GET_STRING
---
---@return any
function RockstarMessageGetString()
end

--- SC_INBOX_GET_TOTAL_NUM_MESSAGES
---
---@return any
function ScInboxGetTotalNumMessages()
end

--- SC_LICENSEPLATE_GET_ADD_STATUS
---Returns a status for adding the license plate
---@param token any
---@return any
function ScLicenseplateGetAddStatus(token)
end

--- SC_EMAIL_MESSAGE_PUSH_GAMER_TO_RECIP_LIST
---
---@param networkHandle any
---@return any
function ScEmailMessagePushGamerToRecipList(networkHandle)
end

--- _SC_INBOX_MESSAGE_PUSH_GAMER_TO_EVENT_RECIP_LIST
---
---@param networkHandle any
---@return any
function ScInboxMessagePushGamerToEventRecipList(networkHandle)
end

--- SC_PRESENCE_ATTR_SET_STRING
---
---@param attrHash any
---@param value any
---@return boolean
function ScPresenceAttrSetString(attrHash, value)
end

--- _SC_INBOX_MESSAGE_GET_BOUNTY_DATA
---
---@param index any
---@param outData any
---@return boolean
function ScInboxMessageGetBountyData(index, outData)
end

--- _SC_INBOX_MESSAGE_POP
---
---@param p0 any
---@return boolean
function ScInboxMessagePop(p0)
end

--- SC_LICENSEPLATE_ISVALID
---SC native to start a request for if license plate text is valid
---@param plateText any
---@param tokenOut any
---@return boolean
function ScLicenseplateIsvalid(plateText, tokenOut)
end

--- _SC_INBOX_MESSAGE_SEND_UGC_STAT_UPDATE_EVENT
---
---@param data any
---@return any
function ScInboxMessageSendUgcStatUpdateEvent(data)
end

--- SC_PROFANITY_CHECK_STRING
---Starts a task to check an entered string for profanity on the ROS/Social Club services.
--- 
--- See also: [SC_PROFANITY_GET_CHECK_IS_VALID](#\_0x1753344C770358AE) and [SC_PROFANITY_GET_CHECK_IS_PENDING](#\_0x82E4A58BABC15AE7).
---@param string any
---@param token any
---@return boolean
function ScProfanityCheckString(string, token)
end

--- SC_INBOX_GET_MESSAGE_IS_READ_AT_INDEX
---
---@param msgIndex any
---@return boolean
function ScInboxGetMessageIsReadAtIndex(msgIndex)
end

--- SC_LICENSEPLATE_GET_ISVALID_STATUS
---Gets the status of the is valid license plate request
---@param token any
---@return any
function ScLicenseplateGetIsvalidStatus(token)
end

--- SC_PROFANITY_GET_CHECK_IS_PENDING
---
---@param token any
---@return boolean
function ScProfanityGetCheckIsPending(token)
end

--- SC_PRESENCE_ATTR_SET_FLOAT
---
--- NativeDB Introduced: v323
--- NativeDB Added Parameter 1: Hash attrHash
--- NativeDB Added Parameter 2: float value
--- 
---@return boolean
function ScPresenceAttrSetFloat()
end

--- SC_INBOX_MESSAGE_GET_UGCDATA
---
---@param p0 any
---@param p1 any
---@return boolean
function ScInboxMessageGetUgcdata(p0, p1)
end

--- SC_LICENSEPLATE_GET_PLATE_DATA
---Gets license plate data related to the get license plate info request
---@param token any
---@param plateIndex any
---@return any
function ScLicenseplateGetPlateData(token, plateIndex)
end

--- SC_PROFANITY_GET_CHECK_IS_VALID
---
---@param token any
---@return boolean
function ScProfanityGetCheckIsValid(token)
end

--- SC_PROFANITY_GET_STRING_STATUS
---
---@param token any
---@return any
function ScProfanityGetStringStatus(token)
end

--- _SET_HANDLE_ROCKSTAR_MESSAGE_VIA_SCRIPT
---
---@param toggle boolean
---@return any
function SetHandleRockstarMessageViaScript(toggle)
end

--- SET_TAXI_LIGHTS
---
--- This is not tested - it's just an assumption.  
--- Doesn't seem to work.  I'll try with an int instead. --JT  
--- Read the scripts, im dumpass.   
--- Doesn't work at all, wether with an bool neither an int  
---                             if (!VEHICLE::IS_TAXI_LIGHT_ON(l_115)) {  
---                                 VEHICLE::SET_TAXI_LIGHTS(l_115, 1);  
---                             }  
--- 
---@param vehicle any
---@param state boolean
---@return any
function SetTaxiLights(vehicle, state)
end

--- RESET_VEHICLE_WHEELS
---
---@param vehicle any
---@param toggle boolean
---@return any
function ResetVehicleWheels(vehicle, toggle)
end

--- ARE_ALL_VEHICLE_WINDOWS_INTACT
---
--- Appears to return false if any window is broken.  
--- 
---@param vehicle any
---@return boolean
function AreAllVehicleWindowsIntact(vehicle)
end

--- _GET_VEHICLE_COUNTERMEASURE_COUNT
---Similar to [_GET_AIRCRAFT_BOMB_COUNT](#\_0xEA12BD130D7569A1), this gets the amount of countermeasures that are present on this vehicle.
--- 
--- Use [_SET_AIRCRAFT_COUNTERMEASURE_COUNT](#\_0x9BDA23BF666F0855) to set the current amount.
---@param aircraft any
---@return any
function GetVehicleCountermeasureCount(aircraft)
end

--- _HAS_FILLED_VEHICLE_POPULATION
---
--- HAS_*
--- 
---@return boolean
function HasFilledVehiclePopulation()
end

--- CAN_ANCHOR_BOAT_HERE
---
---@param vehicle any
---@return boolean
function CanAnchorBoatHere(vehicle)
end

--- DOES_VEHICLE_HAVE_WEAPONS
---
---@param vehicle any
---@return boolean
function DoesVehicleHaveWeapons(vehicle)
end

--- GET_RANDOM_VEHICLE_BACK_BUMPER_IN_SPHERE
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 any
---@param p5 any
---@param p6 any
---@return any
function GetRandomVehicleBackBumperInSphere(p0, p1, p2, p3, p4, p5, p6)
end

--- SET_CARGOBOB_PICKUP_MAGNET_EFFECT_RADIUS
---
---@param vehicle any
---@param p1 number
---@return any
function SetCargobobPickupMagnetEffectRadius(vehicle, p1)
end

--- GET_VEHICLE_COLOR
---See [SET_VEHICLE_CUSTOM_PRIMARY_COLOUR](#\_0x7141766F91D15BEA) and [SET_VEHICLE_CUSTOM_SECONDARY_COLOUR](#\_0x36CED73BFED89754).
---@param vehicle any
---@param r any
---@param g any
---@param b any
---@return any
function GetVehicleColor(vehicle, r, g, b)
end

--- SET_VEHICLE_EXPLODES_ON_HIGH_EXPLOSION_DAMAGE
---
--- Sets a vehicle to be strongly resistant to explosions. p0 is the vehicle; set p1 to false to toggle the effect on/off.  
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleExplodesOnHighExplosionDamage(vehicle, toggle)
end

--- SET_VEHICLE_TURRET_SPEED_THIS_FRAME
---
---@param vehicle any
---@param speed number
---@return any
function SetVehicleTurretSpeedThisFrame(vehicle, speed)
end

--- _SET_VEHICLE_HOVER_TRANSFORM_PERCENTAGE
---According to decompiled scripts this should work with the deluxo and oppressor2 vehicles.
--- I've only seen this work for deluxo though, can't figure out what it's supposed to do on oppressor2.
--- 
--- For the deluxo:
--- 
--- *   Set state to 0.0: Fully transform to a 'road' vehicle (non-hover mode).
--- *   Set state to 1.0: Fully transform to a 'flying' vehicle (hover mode).
--- 
--- If you set it to something like 0.5, then something [weird happens](https://streamable.com/p6wmr), you end up in some 50% hover mode, 50% not hover mode.
--- 
--- This doesn't need to be called every tick, just once and the vehicle will transform to that state at the usual transform speed. It'll just stop transforming when it reaches the state you provided.
--- 
--- Once this native is used then players will just be able to hit the vehicle transform key to toggle the transformation cycle; it won't block users from using the key.
---@param vehicle any
---@param state number
---@return any
function SetVehicleHoverTransformPercentage(vehicle, state)
end

--- GET_VEHICLE_TYRE_SMOKE_COLOR
---
---@param vehicle any
---@param r any
---@param g any
---@param b any
---@return any
function GetVehicleTyreSmokeColor(vehicle, r, g, b)
end

--- _SET_DRIFT_TYRES_ENABLED
---
--- NativeDB Introduced: v2372
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetDriftTyresEnabled(vehicle, toggle)
end

--- _SET_VEHICLE_CAN_ENGINE_OPERATE_ON_FIRE
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleCanEngineOperateOnFire(vehicle, toggle)
end

--- _CLEAR_VEHICLE_PHONE_EXPLOSIVE_DEVICE
---
---@return any
function ClearVehiclePhoneExplosiveDevice()
end

--- GET_HELI_MAIN_ROTOR_HEALTH
---
--- Max 1000.  
--- At 0 the main rotor will stall.  
--- 
---@param vehicle any
---@return number
function GetHeliMainRotorHealth(vehicle)
end

--- _GET_TYRE_HEALTH
---
--- NativeDB Introduced: v1868
--- 
---@param vehicle any
---@param wheelIndex any
---@return number
function GetTyreHealth(vehicle, wheelIndex)
end

--- GET_VEHICLE_WINDOW_TINT
---
---@param vehicle any
---@return any
function GetVehicleWindowTint(vehicle)
end

--- IS_VEHICLE_IN_GARAGE_AREA
---
--- garageName example "Michael - Beverly Hills"
--- 
---@param garageName any
---@param vehicle any
---@return boolean
function IsVehicleInGarageArea(garageName, vehicle)
end

--- SET_DISABLE_VEHICLE_ENGINE_FIRES
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetDisableVehicleEngineFires(vehicle, toggle)
end

--- SET_VEHICLE_USE_PLAYER_LIGHT_SETTINGS
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleUsePlayerLightSettings(vehicle, toggle)
end

--- CREATE_PICK_UP_ROPE_FOR_CARGOBOB
---
--- Drops the Hook/Magnet on a cargobob  
--- state  
--- enum eCargobobHook  
--- {  
--- 	CARGOBOB_HOOK = 0,  
--- 	CARGOBOB_MAGNET = 1,  
--- };  
--- 
---@param cargobob any
---@param state any
---@return any
function CreatePickUpRopeForCargobob(cargobob, state)
end

--- GET_VEHICLE_MODEL_ACCELERATION
---Returns the acceleration of the specified model.
---@param modelHash any
---@return number
function GetVehicleModelAcceleration(modelHash)
end

--- GET_VEHICLE_MOD_KIT_TYPE
---
---@param vehicle any
---@return any
function GetVehicleModKitType(vehicle)
end

--- SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE
---
--- SET_TIME_POSITION_IN_RECORDING can be emulated by: desired_time - GET_TIME_POSITION_IN_RECORDING(vehicle)
--- 
---@param vehicle any
---@param time number
---@return any
function SkipTimeInPlaybackRecordedVehicle(vehicle, time)
end

--- SET_VEHICLE_GENERATES_ENGINE_SHOCKING_EVENTS
---
--- Allows creation of CEventShockingPlaneFlyby, CEventShockingHelicopterOverhead, and other(?) Shocking events
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleGeneratesEngineShockingEvents(vehicle, toggle)
end

--- _DOES_VEHICLE_ALLOW_RAPPEL
---
--- Returns true if the vehicle has the FLAG_ALLOWS_RAPPEL flag set.
--- 
---@param vehicle any
---@return boolean
function DoesVehicleAllowRappel(vehicle)
end

--- IS_TOGGLE_MOD_ON
---
---@param vehicle any
---@param modType any
---@return boolean
function IsToggleModOn(vehicle, modType)
end

--- IS_VEHICLE_ALARM_ACTIVATED
---
---@param vehicle any
---@return boolean
function IsVehicleAlarmActivated(vehicle)
end

--- GET_POSITION_OF_VEHICLE_RECORDING_ID_AT_TIME
---
---@param id any
---@param time number
---@return { x: number, y: number, z: number }
function GetPositionOfVehicleRecordingIdAtTime(id, time)
end

--- GET_VEHICLE_MOD_KIT
---
---@param vehicle any
---@return any
function GetVehicleModKit(vehicle)
end

--- SET_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME
---**Usage:**
--- 
--- *   Use this native inside a looped function.
--- *   Values:
---     *   0.0 = no vehicles on streets
---     *   1.0 = normal vehicles on streets
--- 
--- 1.0 Seems to be the maximum.
---@param multiplier number
---@return any
function SetVehicleDensityMultiplierThisFrame(multiplier)
end

--- SET_VEHICLE_MOD_COLOR_2
---
--- Changes the secondary paint type and color  
--- paintType:  
--- 0: Normal  
--- 1: Metallic  
--- 2: Pearl  
--- 3: Matte  
--- 4: Metal  
--- 5: Chrome  
--- color: number of the color  
--- 
---@param vehicle any
---@param paintType any
---@param color any
---@return any
function SetVehicleModColor2(vehicle, paintType, color)
end

--- IS_VEHICLE_DOOR_DAMAGED
---See eDoorId declared in [SET_VEHICLE_DOOR_SHUT](#\_0x93D9BD300D7789E5)
---@param veh any
---@param doorID any
---@return boolean
function IsVehicleDoorDamaged(veh, doorID)
end

--- _SET_HYDRAULIC_WHEEL_STATE_TRANSITION
---
--- Sets vehicle wheel hydraulic states transition. Known states:
--- 0 - reset
--- 1 - raise wheel (uses value arg, works just like _SET_VEHICLE_HYDRAULIC_WHEEL_VALUE)
--- 2 - jump using wheel
--- 
---@param vehicle any
---@param wheelId any
---@param state any
---@param value number
---@param p4 number
---@return any
function SetHydraulicWheelStateTransition(vehicle, wheelId, state, value, p4)
end

--- IS_VEHICLE_SPRAYABLE
---
--- Returns false if the vehicle has the FLAG_NO_RESPRAY flag set.
--- 
---@param vehicle any
---@return boolean
function IsVehicleSprayable(vehicle)
end

--- SET_HELI_BLADES_FULL_SPEED
---
--- Equivalent of SET_HELI_BLADES_SPEED(vehicleHandle, 1.0f);  
--- this native works on planes to?  
--- 
---@param vehicle any
---@return any
function SetHeliBladesFullSpeed(vehicle)
end

--- _SET_VEHICLE_HOVER_TRANSFORM_RATIO
---
--- NativeDB Introduced: v1290
--- 
---@param vehicle any
---@param ratio number
---@return any
function SetVehicleHoverTransformRatio(vehicle, ratio)
end

--- SET_VEHICLE_INDICATOR_LIGHTS
---
--- Sets the turn signal enabled for a vehicle.  
--- Set turnSignal to 1 for left light, 0 for right light.  
--- 
---@param vehicle any
---@param turnSignal any
---@param toggle boolean
---@return any
function SetVehicleIndicatorLights(vehicle, turnSignal, toggle)
end

--- GET_VEHICLE_HOMING_LOCKON_STATE
---
--- Returns a value depending on the lock-on state of vehicle weapons.
--- 0: not locked on
--- 1: locking on
--- 2: locked on
--- 
---@param vehicle any
---@return any
function GetVehicleHomingLockonState(vehicle)
end

--- _NETWORK_USE_HIGH_PRECISION_VEHICLE_BLENDING
---
--- Implemented only for Trains.
--- 
--- 
--- 
--- NativeDB Introduced: v2372
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function NetworkUseHighPrecisionVehicleBlending(vehicle, toggle)
end

--- _SET_VEHICLE_BOMB_COUNT
---Sets the amount of bombs that this vehicle has. As far as I know, this does *not* impact vehicle weapons or the ammo of those weapons in any way, it is just a way to keep track of the amount of bombs in a specific plane.
--- 
--- In decompiled scripts this is used to deduct from or add to the count whenever bombs are dropped or purchased/restocked.
--- 
--- Use [_GET_AIRCRAFT_BOMB_COUNT](#\_0xEA12BD130D7569A1) to get the amount of bombs on that vehicle.
---@param aircraft any
---@param bombCount any
---@return any
function SetVehicleBombCount(aircraft, bombCount)
end

--- GET_VEHICLE_EXTRA_COLOURS
---
---@param vehicle any
---@param pearlescentColor any
---@param wheelColor any
---@return any
function GetVehicleExtraColours(vehicle, pearlescentColor, wheelColor)
end

--- SET_VEHICLE_CAN_BE_VISIBLY_DAMAGED
---
---@param vehicle any
---@param state boolean
---@return any
function SetVehicleCanBeVisiblyDamaged(vehicle, state)
end

--- TRANSFORM_TO_SUBMARINE
---Transforms the stormberg to its "water vehicle" variant. If the vehicle is already in that state then the vehicle transformation audio will still play, but the vehicle won't change at all.
---@param vehicle any
---@param instantly boolean
---@return any
function TransformToSubmarine(vehicle, instantly)
end

--- SET_CARGOBOB_FORCE_DONT_DETACH_VEHICLE
---Stops cargobob from being able to detach the attached vehicle.
---@param cargobob any
---@param toggle boolean
---@return any
function SetCargobobForceDontDetachVehicle(cargobob, toggle)
end

--- SET_GARBAGE_TRUCKS
---
---@param toggle boolean
---@return any
function SetGarbageTrucks(toggle)
end

--- SET_VEHICLE_ACTIVE_FOR_PED_NAVIGATION
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleActiveForPedNavigation(vehicle, toggle)
end

--- GET_TRAIN_CARRIAGE
---
--- Corrected p1. it's basically the 'carriage/trailer number'. So if the train has 3 trailers you'd call the native once with a var or 3 times with 1, 2, 3.  
--- 
---@param train any
---@param trailerNumber any
---@return number
function GetTrainCarriage(train, trailerNumber)
end

--- IS_VEHICLE_A_CONVERTIBLE
---
--- p1 is false almost always.  
--- However, in launcher_carwash/carwash1/carwash2 scripts, p1 is true and is accompanied by DOES_VEHICLE_HAVE_ROOF  
--- 
---@param vehicle any
---@param p1 boolean
---@return boolean
function IsVehicleAConvertible(vehicle, p1)
end

--- _GET_HAS_RETRACTABLE_WHEELS
---
---@param vehicle any
---@return boolean
function GetHasRetractableWheels(vehicle)
end

--- SET_VEHICLE_DROPS_MONEY_WHEN_BLOWN_UP
---
--- Money pickups are created around cars when they explode. Only works when the vehicle model is a car. A single pickup is between 1 and 18 dollars in size. All car models seem to give the same amount of money.
--- youtu.be/3arlUxzHl5Y
--- i.imgur.com/WrNpYFs.jpg
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleDropsMoneyWhenBlownUp(vehicle, toggle)
end

--- _SET_DISABLE_VEHICLE_UNK_2
---
--- NativeDB Introduced: v1604
--- 
---@param toggle boolean
---@return any
function SetDisableVehicleUnk2(toggle)
end

--- SET_VEHICLE_HAS_MUTED_SIRENS
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleHasMutedSirens(vehicle, toggle)
end

--- SET_VEHICLE_LIGHT_MULTIPLIER
---
--- multiplier = brightness of head lights.  
--- this value isn't capped afaik.  
--- multiplier = 0.0 no lights  
--- multiplier = 1.0 default game value  
--- 
---@param vehicle any
---@param multiplier number
---@return any
function SetVehicleLightMultiplier(vehicle, multiplier)
end

--- RAISE_CONVERTIBLE_ROOF
---
---@param vehicle any
---@param instantlyRaise boolean
---@return any
function RaiseConvertibleRoof(vehicle, instantlyRaise)
end

--- SET_VEHICLE_INDIVIDUAL_DOORS_LOCKED
---
---@param vehicle any
---@param doorIndex any
---@param doorLockStatus any
---@return any
function SetVehicleIndividualDoorsLocked(vehicle, doorIndex, doorLockStatus)
end

--- _SET_VEHICLE_ROCKET_BOOST_PERCENTAGE
---
---@param vehicle any
---@param percentage number
---@return any
function SetVehicleRocketBoostPercentage(vehicle, percentage)
end

--- SET_VEHICLE_TYRES_CAN_BURST
---
--- Allows you to toggle bulletproof tires.  
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleTyresCanBurst(vehicle, toggle)
end

--- IS_ENTITY_ATTACHED_TO_HANDLER_FRAME
---
---@param vehicle any
---@param entity number
---@return boolean
function IsEntityAttachedToHandlerFrame(vehicle, entity)
end

--- REMOVE_PICK_UP_ROPE_FOR_CARGOBOB
---
--- Retracts the hook on the cargobob.  
--- Note: after you retract it the natives for dropping the hook no longer work  
--- 
---@param cargobob any
---@return any
function RemovePickUpRopeForCargobob(cargobob)
end

--- _GET_VEHICLE_SUSPENSION_HEIGHT
---
--- Gets the height of the vehicle's suspension.  
--- The higher the value the lower the suspension. Each 0.002 corresponds with one more level lowered.  
--- 0.000 is the stock suspension.  
--- 0.008 is Ultra Suspension.  
--- 
---@param vehicle any
---@return number
function GetVehicleSuspensionHeight(vehicle)
end

--- SET_VEHICLE_INACTIVE_DURING_PLAYBACK
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleInactiveDuringPlayback(vehicle, toggle)
end

--- START_VEHICLE_HORN
---
--- Sounds the horn for the specified vehicle.  
--- vehicle: The vehicle to activate the horn for.  
--- mode: The hash of "NORMAL" or "HELDDOWN". Can be 0.  
--- duration: The duration to sound the horn, in milliseconds.  
--- Note: If a player is in the vehicle, it will only sound briefly.  
--- 
---@param vehicle any
---@param duration any
---@param mode any
---@param forever boolean
---@return any
function StartVehicleHorn(vehicle, duration, mode, forever)
end

--- GET_ENTITY_ATTACHED_TO_TOW_TRUCK
---
---@param towTruck any
---@return number
function GetEntityAttachedToTowTruck(towTruck)
end

--- GET_IS_VEHICLE_PRIMARY_COLOUR_CUSTOM
---
---@param vehicle any
---@return boolean
function GetIsVehiclePrimaryColourCustom(vehicle)
end

--- _GET_LAST_RAMMED_VEHICLE
---
--- Returns last vehicle that was rammed by the given vehicle using the shunt boost.
--- 
--- NativeDB Introduced: v1604
--- 
---@param vehicle any
---@return any
function GetLastRammedVehicle(vehicle)
end

--- SET_CARGOBOB_PICKUP_MAGNET_ACTIVE
---
--- Won't attract or magnetize to any helicopters or planes of course, but that's common sense.  
--- 
---@param cargobob any
---@param isActive boolean
---@return any
function SetCargobobPickupMagnetActive(cargobob, isActive)
end

--- _SET_DISABLE_VEHICLE_UNK
---
--- NativeDB Introduced: v1604
--- 
---@param toggle boolean
---@return any
function SetDisableVehicleUnk(toggle)
end

--- SET_VEHICLE_TOW_TRUCK_ARM_POSITION
---
--- Sets how much the crane on the tow truck is raised, where 0.0 is fully lowered and 1.0 is fully raised.  
--- 
---@param vehicle any
---@param position number
---@return any
function SetVehicleTowTruckArmPosition(vehicle, position)
end

--- SET_VEHICLE_TANK_TURRET_POSITION
---
---@param vehicle any
---@param position number
---@param p2 boolean
---@return any
function SetVehicleTankTurretPosition(vehicle, position, p2)
end

--- ATTACH_VEHICLE_TO_CARGOBOB
---
--- p2 is unknown and is always -1 in the script natives.
--- 
---@param vehicle any
---@param cargobob any
---@param p2 any
---@param x number
---@param y number
---@param z number
---@return any
function AttachVehicleToCargobob(vehicle, cargobob, p2, x, y, z)
end

--- _IS_BOAT_ANCHORED_AND_FROZEN
---
--- IS_*
--- 
---@param vehicle any
---@return boolean
function IsBoatAnchoredAndFrozen(vehicle)
end

--- IS_VEHICLE_WINDOW_INTACT
---cpp
--- enum eWindowId {
--- 	VEH_EXT_WINDSCREEN = 0,
--- 	VEH_EXT_WINDSCREEN_R = 1,
--- 	VEH_EXT_WINDOW_LF = 2,
--- 	VEH_EXT_WINDOW_RF = 3,
--- 	VEH_EXT_WINDOW_LR = 4,
--- 	VEH_EXT_WINDOW_RR = 5,
--- 	VEH_EXT_WINDOW_LM = 6,
--- 	VEH_EXT_WINDOW_RM = 7,
--- }
--- 
---@param vehicle any
---@param windowIndex any
---@return boolean
function IsVehicleWindowIntact(vehicle, windowIndex)
end

--- GET_VEHICLE_DEFORMATION_AT_POS
---
--- The only example I can find of this function in the scripts, is this:  
--- struct _s = VEHICLE::GET_VEHICLE_DEFORMATION_AT_POS(rPtr((A_0) + 4), 1.21f, 6.15f, 0.3f);  
--- -----------------------------------------------------------------------------------------------------------------------------------------  
--- PC scripts:  
--- v_5/*{3}*/ = VEHICLE::GET_VEHICLE_DEFORMATION_AT_POS(a_0._f1, 1.21, 6.15, 0.3);  
--- 
---@param vehicle any
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@return { x: number, y: number, z: number }
function GetVehicleDeformationAtPos(vehicle, offsetX, offsetY, offsetZ)
end

--- GET_VEHICLE_NUMBER_PLATE_TEXT
---
--- Returns the license plate text from a vehicle.  8 chars maximum.  
--- 
---@param vehicle any
---@return any
function GetVehicleNumberPlateText(vehicle)
end

--- _IS_PED_EXCLUSIVE_DRIVER_OF_VEHICLE
---
---@param ped number
---@param vehicle any
---@param outIndex any
---@return boolean
function IsPedExclusiveDriverOfVehicle(ped, vehicle, outIndex)
end

--- _SET_VEHICLE_HOVER_TRANSFORM_ENABLED
---
--- If false, anything related to INPUT_VEH_TRANSFORM are ignored (changing hover state through script natives still possible).
--- 
--- 
--- 
--- NativeDB Introduced: v1290
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleHoverTransformEnabled(vehicle, toggle)
end

--- _SET_VEHICLE_UNK_DAMAGE_MULTIPLIER
---
---@param vehicle any
---@param multiplier number
---@return any
function SetVehicleUnkDamageMultiplier(vehicle, multiplier)
end

--- DELETE_MISSION_TRAIN
---
---@param train any
---@return any
function DeleteMissionTrain(train)
end

--- DETONATE_VEHICLE_PHONE_EXPLOSIVE_DEVICE
---
---@return any
function DetonateVehiclePhoneExplosiveDevice()
end

--- DISABLE_INDIVIDUAL_PLANE_PROPELLER
---
---@param vehicle any
---@param propeller any
---@return any
function DisableIndividualPlanePropeller(vehicle, propeller)
end

--- SET_VEHICLE_WINDOW_TINT
---
--- enum WindowTints  
--- {  
--- 	WINDOWTINT_NONE,  
--- 	WINDOWTINT_PURE_BLACK,  
--- 	WINDOWTINT_DARKSMOKE,  
--- 	WINDOWTINT_LIGHTSMOKE,  
--- 	WINDOWTINT_STOCK,  
--- 	WINDOWTINT_LIMO,  
--- 	WINDOWTINT_GREEN  
--- };  
--- 
---@param vehicle any
---@param tint any
---@return any
function SetVehicleWindowTint(vehicle, tint)
end

--- SET_VEHICLE_DOOR_CONTROL
---See eDoorId declared in [SET_VEHICLE_DOOR_SHUT](#\_0x93D9BD300D7789E5)
---@param vehicle any
---@param doorIndex any
---@param speed any
---@param angle number
---@return any
function SetVehicleDoorControl(vehicle, doorIndex, speed, angle)
end

--- SET_VEHICLE_LIVERY
---
---@param vehicle any
---@param livery any
---@return any
function SetVehicleLivery(vehicle, livery)
end

--- _SET_VEHICLE_RAMP_SIDEWAYS_LAUNCH_MOTION
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleRampSidewaysLaunchMotion(vehicle, toggle)
end

--- CREATE_SCRIPT_VEHICLE_GENERATOR
---
--- Creates a script vehicle generator at the given coordinates. Most parameters after the model hash are unknown.  
--- Parameters:  
--- a/w/s - Generator position  
--- heading - Generator heading  
--- p4 - Unknown (always 5.0)  
--- p5 - Unknown (always 3.0)  
--- modelHash - Vehicle model hash  
--- p7/8/9/10 - Unknown (always -1)  
--- p11 - Unknown (usually TRUE, only one instance of FALSE)  
--- p12/13 - Unknown (always FALSE)  
--- p14 - Unknown (usally FALSE, only two instances of TRUE)  
--- p15 - Unknown (always TRUE)  
--- p16 - Unknown (always -1)  
--- Vector3 coords = GET_ENTITY_COORDS(PLAYER_PED_ID(), 0);	CREATE_SCRIPT_VEHICLE_GENERATOR(coords.x, coords.y, coords.z, 1.0f, 5.0f, 3.0f, GET_HASH_KEY("adder"), -1. -1, -1, -1, -1, true, false, false, false, true, -1);  
--- 
---@param x number
---@param y number
---@param z number
---@param heading number
---@param p4 number
---@param p5 number
---@param modelHash any
---@param p7 any
---@param p8 any
---@param p9 any
---@param p10 any
---@param p11 boolean
---@param p12 boolean
---@param p13 boolean
---@param p14 boolean
---@param p15 boolean
---@param p16 any
---@return any
function CreateScriptVehicleGenerator(x, y, z, heading, p4, p5, modelHash, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16)
end

--- PAUSE_PLAYBACK_RECORDED_VEHICLE
---
---@param vehicle any
---@return any
function PausePlaybackRecordedVehicle(vehicle)
end

--- SET_VEHICLE_COLOURS
---colorPrimary & colorSecondary are the paint indexes for the vehicle.
--- 
--- For a list of valid paint indexes, view: pastebin.com/pwHci0xK
---@param vehicle any
---@param colorPrimary any
---@param colorSecondary any
---@return any
function SetVehicleColours(vehicle, colorPrimary, colorSecondary)
end

--- _SET_CAR_HIGH_SPEED_BUMP_SEVERITY_MULTIPLIER
---
--- Something to do with "high speed bump severity"?  
--- if (!sub_87a46("SET_CAR_HIGH_SPEED_BUMP_SEVERITY_MULTIPLIER")) {  
---     VEHICLE::_84FD40F56075E816(0.0);  
---     sub_8795b("SET_CAR_HIGH_SPEED_BUMP_SEVERITY_MULTIPLIER", 1);  
--- }  
--- 
---@param multiplier number
---@return any
function SetCarHighSpeedBumpSeverityMultiplier(multiplier)
end

--- SET_CARGOBOB_PICKUP_ROPE_TYPE
---
---@param vehicle any
---@param state any
---@return any
function SetCargobobPickupRopeType(vehicle, state)
end

--- SET_VEHICLE_SEARCHLIGHT
---
--- Only works during nighttime.
--- 
---@param heli any
---@param toggle boolean
---@param canBeUsedByAI boolean
---@return any
function SetVehicleSearchlight(heli, toggle, canBeUsedByAI)
end

--- _IS_THIS_MODEL_A_JETSKI
---
--- Checks if model is a boat, then checks for FLAG_IS_JETSKI.
--- 
---@param model any
---@return boolean
function IsThisModelAJetski(model)
end

--- SET_HELI_BLADES_SPEED
---
--- Sets the speed of the helicopter blades in percentage of the full speed.  
--- vehicleHandle: The helicopter.  
--- speed: The speed in percentage, 0.0f being 0% and 1.0f being 100%.  
--- 
---@param vehicle any
---@param speed number
---@return any
function SetHeliBladesSpeed(vehicle, speed)
end

--- SET_VEHICLE_CAN_BE_TARGETTED
---
--- This has not yet been tested - it's just an assumption of what the types could be.  
--- 
---@param vehicle any
---@param state boolean
---@return any
function SetVehicleCanBeTargetted(vehicle, state)
end

--- _SET_VEHICLE_MAX_SPEED
---To reset the max speed, set the speed value to 0.0 or lower.
---@param vehicle any
---@param speed number
---@return any
function SetVehicleMaxSpeed(vehicle, speed)
end

--- _ARE_PLANE_WINGS_INTACT
---
---@param plane any
---@return boolean
function ArePlaneWingsIntact(plane)
end

--- GET_POSITION_IN_RECORDING
---
--- Distance traveled in the vehicles current recording.
--- 
---@param vehicle any
---@return number
function GetPositionInRecording(vehicle)
end

--- GET_ROTATION_OF_VEHICLE_RECORDING_ID_AT_TIME
---
---@param id any
---@param time number
---@return { x: number, y: number, z: number }
function GetRotationOfVehicleRecordingIdAtTime(id, time)
end

--- IS_VEHICLE_EXTRA_TURNED_ON
---
---@param vehicle any
---@param extraId any
---@return boolean
function IsVehicleExtraTurnedOn(vehicle, extraId)
end

--- _IS_VEHICLE_ENGINE_ON_FIRE
---Only ever used once in decompiled scripts: **am_pi_menu**:
--- Returns true if the engine is on fire, or if the vehicle engine health is < 0 and it **has been** on fire.
--- 
--- It sometimes doesn't return true when the vehicle engine has been on fire, and has since been fixed. I'm not really sure what the exact conditions are.
--- 
--- This usually returns true even if there are no visible flames yet (engine health > 0). However if you monitor engine health you'll see that it starts decreasing as soon as this returns true.
---@param vehicle any
---@return boolean
function IsVehicleEngineOnFire(vehicle)
end

--- ADD_VEHICLE_COMBAT_ANGLED_AVOIDANCE_AREA
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 number
---@return any
function AddVehicleCombatAngledAvoidanceArea(p0, p1, p2, p3, p4, p5, p6)
end

--- GET_VEHICLE_MOD_COLOR_2_NAME
---
--- returns a string which is the codename of the vehicle's currently selected secondary color  
--- 
---@param vehicle any
---@return any
function GetVehicleModColor2Name(vehicle)
end

--- GET_VEHICLE_MODEL_MAX_BRAKING
---
--- Returns max braking of the specified vehicle model.
--- 
---@param modelHash any
---@return number
function GetVehicleModelMaxBraking(modelHash)
end

--- SET_TRAIN_CRUISE_SPEED
---
---@param train any
---@param speed number
---@return any
function SetTrainCruiseSpeed(train, speed)
end

--- _SET_UNK_FLOAT_0x104_FOR_SUBMARINE_VEHICLE_TASK
---
--- NativeDB Introduced: v1365
--- 
---@param vehicle any
---@param value number
---@return any
function SetUnkFloat0X104ForSubmarineVehicleTask(vehicle, value)
end

--- _IS_HANDLER_FRAME_ABOVE_CONTAINER
---
---@param handler any
---@param container number
---@return boolean
function IsHandlerFrameAboveContainer(handler, container)
end

--- _IS_VEHICLE_WEAPON_DISABLED
---
---@param weaponHash any
---@param vehicle any
---@param owner number
---@return boolean
function IsVehicleWeaponDisabled(weaponHash, vehicle, owner)
end

--- SET_LAST_DRIVEN_VEHICLE
---
---@param vehicle any
---@return any
function SetLastDrivenVehicle(vehicle)
end

--- _SET_VEHICLE_PARACHUTE_MODEL
---
--- parachuteModel = 230075693  
--- 
---@param vehicle any
---@param modelHash any
---@return any
function SetVehicleParachuteModel(vehicle, modelHash)
end

--- SET_VEHICLE_TYRE_FIXED
---
--- tyreIndex = 0 to 4 on normal vehicles  
--- '0 = wheel_lf / bike, plane or jet front  
--- '1 = wheel_rf  
--- '2 = wheel_lm / in 6 wheels trailer, plane or jet is first one on left  
--- '3 = wheel_rm / in 6 wheels trailer, plane or jet is first one on right  
--- '4 = wheel_lr / bike rear / in 6 wheels trailer, plane or jet is last one on left  
--- '5 = wheel_rr / in 6 wheels trailer, plane or jet is last one on right  
--- '45 = 6 wheels trailer mid wheel left  
--- '47 = 6 wheels trailer mid wheel right  
--- 
---@param vehicle any
---@param tyreIndex any
---@return any
function SetVehicleTyreFixed(vehicle, tyreIndex)
end

--- SET_VEHICLE_COLOUR_COMBINATION
---Sets the selected vehicle's colors to their default value (specific variant specified using the colorCombination parameter).
--- 
--- Range of possible values for colorCombination is currently unknown, I couldn't find where these values are stored either (Disquse's guess was vehicles.meta but I haven't seen it in there.)
---@param vehicle any
---@param colorCombination any
---@return any
function SetVehicleColourCombination(vehicle, colorCombination)
end

--- IS_ANY_VEHICLE_NEAR_POINT
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@return boolean
function IsAnyVehicleNearPoint(x, y, z, radius)
end

--- _IS_VEHICLE_ROCKET_BOOST_ACTIVE
---
---@param vehicle any
---@return boolean
function IsVehicleRocketBoostActive(vehicle)
end

--- IS_BIG_VEHICLE
---
---@param vehicle any
---@return boolean
function IsBigVehicle(vehicle)
end

--- SET_BOAT_SINKS_WHEN_WRECKED
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetBoatSinksWhenWrecked(vehicle, toggle)
end

--- _SET_RANDOM_BOATS_IN_MP
---
--- NativeDB Introduced: v2372
--- 
---@param toggle boolean
---@return any
function SetRandomBoatsInMp(toggle)
end

--- SET_VEHICLE_STEERING_BIAS_SCALAR
---
---@param vehicle any
---@param scalar number
---@return any
function SetVehicleSteeringBiasScalar(vehicle, scalar)
end

--- GET_VEHICLE_ACCELERATION
---
--- static - max acceleration  
--- 
---@param vehicle any
---@return number
function GetVehicleAcceleration(vehicle)
end

--- HAS_VEHICLE_PHONE_EXPLOSIVE_DEVICE
---
---@return boolean
function HasVehiclePhoneExplosiveDevice()
end

--- _SET_FORCED_BOAT_LOCATION_WHEN_ANCHORED
---
--- X,Y position of boat is frozen in place when anchored and its engine disabled, only the Z value changes. Requires 0xE3EBAAE484798530 to be set to true.
--- SET_FORCED_ZENITH_QUADTREE?
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetForcedBoatLocationWhenAnchored(vehicle, toggle)
end

--- SET_PLAYBACK_SPEED
---
---@param vehicle any
---@param speed number
---@return any
function SetPlaybackSpeed(vehicle, speed)
end

--- IS_VEHICLE_TYRE_BURST
---
--- wheelID used for 4 wheelers seem to be (0, 1, 4, 5)  
--- completely - is to check if tire completely gone from rim.  
--- '0 = wheel_lf / bike, plane or jet front  
--- '1 = wheel_rf  
--- '2 = wheel_lm / in 6 wheels trailer, plane or jet is first one on left  
--- '3 = wheel_rm / in 6 wheels trailer, plane or jet is first one on right  
--- '4 = wheel_lr / bike rear / in 6 wheels trailer, plane or jet is last one on left  
--- '5 = wheel_rr / in 6 wheels trailer, plane or jet is last one on right  
--- '45 = 6 wheels trailer mid wheel left  
--- '47 = 6 wheels trailer mid wheel right  
--- 
---@param vehicle any
---@param wheelID any
---@param completely boolean
---@return boolean
function IsVehicleTyreBurst(vehicle, wheelID, completely)
end

--- _SET_BOAT_FROZEN_WHEN_ANCHORED
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetBoatFrozenWhenAnchored(vehicle, toggle)
end

--- GET_VEHICLE_NUMBER_PLATE_TEXT_INDEX
---
--- Returns the PlateType of a vehicle  
--- Blue_on_White_1 = 3,  
--- Blue_on_White_2 = 0,  
--- Blue_on_White_3 = 4,  
--- Yellow_on_Blue = 2,  
--- Yellow_on_Black = 1,  
--- North_Yankton = 5,  
--- 
---@param vehicle any
---@return any
function GetVehicleNumberPlateTextIndex(vehicle)
end

--- IS_VEHICLE_BUMPER_BOUNCING
---
---@param vehicle any
---@param frontBumper boolean
---@return boolean
function IsVehicleBumperBouncing(vehicle, frontBumper)
end

--- SET_CARGOBOB_PICKUP_MAGNET_REDUCED_STRENGTH
---
---@param cargobob any
---@param vehicle any
---@return any
function SetCargobobPickupMagnetReducedStrength(cargobob, vehicle)
end

--- SET_VEHICLE_HAS_BEEN_DRIVEN_FLAG
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleHasBeenDrivenFlag(vehicle, toggle)
end

--- EXPLODE_VEHICLE
---
--- Explodes a selected vehicle.  
--- Vehicle vehicle = Vehicle you want to explode.  
--- BOOL isAudible = If explosion makes a sound.  
--- BOOL isInvisible = If the explosion is invisible or not.  
--- First BOOL does not give any visual explosion, the vehicle just falls apart completely but slowly and starts to burn.  
--- 
---@param vehicle any
---@param isAudible boolean
---@param isInvisible boolean
---@return any
function ExplodeVehicle(vehicle, isAudible, isInvisible)
end

--- _GET_VEHICLE_DASHBOARD_COLOR
---
---@param vehicle any
---@param color any
---@return any
function GetVehicleDashboardColor(vehicle, color)
end

--- GET_VEHICLE_ENVEFF_SCALE
---
--- formerly known as _GET_VEHICLE_PAINT_FADE
--- The result is a value from 0-1, where 0 is fresh paint.
--- 
---@param vehicle any
---@return number
function GetVehicleEnveffScale(vehicle)
end

--- SET_CAR_BOOT_OPEN
---
---@param vehicle any
---@return any
function SetCarBootOpen(vehicle)
end

--- _SET_SPECIALFLIGHT_WING_RATIO
---
--- NativeDB Introduced: v1365
--- 
---@param vehicle any
---@param ratio number
---@return any
function SetSpecialflightWingRatio(vehicle, ratio)
end

--- _SET_VEHICLE_CONTROLS_INVERTED
---
--- Inverts vehicle's controls. So INPUT_VEH_ACCELERATE will be INPUT_VEH_BRAKE and vise versa (same for A/D controls)
--- Doesn't work for planes/helis.
--- 
---@param vehicle any
---@param state boolean
---@return any
function SetVehicleControlsInverted(vehicle, state)
end

--- _SET_VEHICLE_RAMP_UPWARDS_LAUNCH_MOTION
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleRampUpwardsLaunchMotion(vehicle, toggle)
end

--- CREATE_VEHICLE
---Creates a vehicle with the specified model at the specified position. This vehicle will initially be owned by the creating
--- script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
--- 
--- 
--- NativeDB Added Parameter 8: BOOL p7
--- 
---@param modelHash any
---@param x number
---@param y number
---@param z number
---@param heading number
---@param isNetwork boolean
---@param netMissionEntity boolean
---@return any
function CreateVehicle(modelHash, x, y, z, heading, isNetwork, netMissionEntity)
end

--- GET_VEHICLE_CLASS_MAX_AGILITY
---
---@param vehicleClass any
---@return number
function GetVehicleClassMaxAgility(vehicleClass)
end

--- SET_LIGHTS_CUTOFF_DISTANCE_TWEAK
---
---@param distance number
---@return any
function SetLightsCutoffDistanceTweak(distance)
end

--- SET_VEHICLE_FORCE_AFTERBURNER
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleForceAfterburner(vehicle, toggle)
end

--- SET_VEHICLE_IS_RACING
---
--- p1 (toggle) was always 1 (true) except in one case in the b678 scripts.  
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleIsRacing(vehicle, toggle)
end

--- GET_PED_IN_VEHICLE_SEAT
---Gets the ped in the specified seat of the passed vehicle.
--- 
--- If there is no ped in the seat, and the game considers the vehicle as ambient population, this will create a random occupant ped in the seat, which may be cleaned up by the game fairly soon if not marked as script-owned mission entity.
--- 
--- **NativeDB Added Parameter 3**: BOOL p2 (uses a different GetOccupant function)
---@param vehicle any
---@param seatIndex any
---@return number
function GetPedInVehicleSeat(vehicle, seatIndex)
end

--- GET_VEHICLE_CLASS_FROM_NAME
---
--- For a full enum, see here : pastebin.com/i2GGAjY0
--- char buffer[128];
--- std::sprintf(buffer, "VEH_CLASS_%i", VEHICLE::GET_VEHICLE_CLASS_FROM_NAME (hash));
--- const char* className = HUD::_GET_LABEL_TEXT(buffer);
--- 
---@param modelHash any
---@return any
function GetVehicleClassFromName(modelHash)
end

--- _SET_DISABLE_VEHICLE_FLIGHT_NOZZLE_POSITION
---
--- True stops vtols from switching modes. Doesn't stop the sound though.
--- 
--- 
--- 
--- NativeDB Introduced: v1290
--- 
---@param vehicle any
---@param direction boolean
---@return any
function SetDisableVehicleFlightNozzlePosition(vehicle, direction)
end

--- RELEASE_PRELOAD_MODS
---
---@param vehicle any
---@return any
function ReleasePreloadMods(vehicle)
end

--- SET_CARGOBOB_PICKUP_ROPE_DAMPING_MULTIPLIER
---
---@param cargobob any
---@param p1 number
---@return any
function SetCargobobPickupRopeDampingMultiplier(cargobob, p1)
end

--- SET_VEHICLE_USES_LARGE_REAR_RAMP
---
--- vehicle must be a plane
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleUsesLargeRearRamp(vehicle, toggle)
end

--- TRACK_VEHICLE_VISIBILITY
---
--- in script hook .net   
--- Vehicle v = ...;  
--- Function.Call(Hash.TRACK_VEHICLE_VISIBILITY, v.Handle);  
--- 
---@param vehicle any
---@return any
function TrackVehicleVisibility(vehicle)
end

--- ADD_ROAD_NODE_SPEED_ZONE
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@param speed number
---@param p5 boolean
---@return any
function AddRoadNodeSpeedZone(x, y, z, radius, speed, p5)
end

--- GET_VEHICLE_MOD_MODIFIER_VALUE
---
---@param vehicle any
---@param modType any
---@param modIndex any
---@return any
function GetVehicleModModifierValue(vehicle, modType, modIndex)
end

--- IS_HELI_PART_BROKEN
---
---@param vehicle any
---@param p1 boolean
---@param p2 boolean
---@param p3 boolean
---@return boolean
function IsHeliPartBroken(vehicle, p1, p2, p3)
end

--- _GET_NUMBER_OF_VEHICLE_DOORS
---
---@param vehicle any
---@return any
function GetNumberOfVehicleDoors(vehicle)
end

--- GET_VEHICLE_DOORS_LOCKED_FOR_PLAYER
---
---@param vehicle any
---@param player number
---@return boolean
function GetVehicleDoorsLockedForPlayer(vehicle, player)
end

--- SET_BOAT_ANCHOR
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetBoatAnchor(vehicle, toggle)
end

--- _REMOVE_VEHICLE_SHADOW_EFFECT
---Remove the weird shadow applied by [\_SET_VEHICLE_SHADOW_EFFECT](#\_0x2A70BAE8883E4C81)
---@param vehicle any
---@return any
function RemoveVehicleShadowEffect(vehicle)
end

--- SET_VEHICLE_LOD_MULTIPLIER
---
---@param vehicle any
---@param multiplier number
---@return any
function SetVehicleLodMultiplier(vehicle, multiplier)
end

--- FORCE_SUBMARINE_SURFACE_MODE
---
---@param vehicle any
---@param toggle boolean
---@return any
function ForceSubmarineSurfaceMode(vehicle, toggle)
end

--- GET_HELI_TAIL_BOOM_HEALTH
---
--- Max 1000.
--- At -100 both helicopter rotors will stall.
--- 
---@param vehicle any
---@return number
function GetHeliTailBoomHealth(vehicle)
end

--- SET_HELI_TURBULENCE_SCALAR
---
---@param vehicle any
---@param p1 number
---@return any
function SetHeliTurbulenceScalar(vehicle, p1)
end

--- _SET_DISABLE_VEHICLE_WINDOW_COLLISIONS
---R\* used it to "remove" vehicle windows when "nightshark" had some mod, which adding some kind of armored windows. When enabled, you can't break vehicles glass. All your bullets wiil shoot through glass. You also will not able to break the glass with any other way (hitting and etc)
---@param vehicle any
---@param toggle boolean
---@return any
function SetDisableVehicleWindowCollisions(vehicle, toggle)
end

--- SET_VEHICLE_MOD
---cpp
--- // eVehicleModType values modified to conform to script native reorganization (see 0x140D25327 in 1604).
--- enum eVehicleModType
--- {
--- 	VMT_SPOILER = 0,
--- 	VMT_BUMPER_F = 1,
--- 	VMT_BUMPER_R = 2,
--- 	VMT_SKIRT = 3,
--- 	VMT_EXHAUST = 4,
--- 	VMT_CHASSIS = 5,
--- 	VMT_GRILL = 6,
--- 	VMT_BONNET = 7,
--- 	VMT_WING_L = 8,
--- 	VMT_WING_R = 9,
--- 	VMT_ROOF = 10,
--- 	VMT_ENGINE = 11,
--- 	VMT_BRAKES = 12,
--- 	VMT_GEARBOX = 13,
--- 	VMT_HORN = 14,
--- 	VMT_SUSPENSION = 15,
--- 	VMT_ARMOUR = 16,
--- 	VMT_NITROUS = 17,
--- 	VMT_TURBO = 18,
--- 	VMT_SUBWOOFER = 19,
--- 	VMT_TYRE_SMOKE = 20,
--- 	VMT_HYDRAULICS = 21,
--- 	VMT_XENON_LIGHTS = 22,
--- 	VMT_WHEELS = 23,
--- 	VMT_WHEELS_REAR_OR_HYDRAULICS = 24,
--- 	VMT_PLTHOLDER = 25,
--- 	VMT_PLTVANITY = 26,
--- 	VMT_INTERIOR1 = 27,
--- 	VMT_INTERIOR2 = 28,
--- 	VMT_INTERIOR3 = 29,
--- 	VMT_INTERIOR4 = 30,
--- 	VMT_INTERIOR5 = 31,
--- 	VMT_SEATS = 32,
--- 	VMT_STEERING = 33,
--- 	VMT_KNOB = 34,
--- 	VMT_PLAQUE = 35,
--- 	VMT_ICE = 36,
--- 	VMT_TRUNK = 37,
--- 	VMT_HYDRO = 38,
--- 	VMT_ENGINEBAY1 = 39,
--- 	VMT_ENGINEBAY2 = 40,
--- 	VMT_ENGINEBAY3 = 41,
--- 	VMT_CHASSIS2 = 42,
--- 	VMT_CHASSIS3 = 43,
--- 	VMT_CHASSIS4 = 44,
--- 	VMT_CHASSIS5 = 45,
--- 	VMT_DOOR_L = 46,
--- 	VMT_DOOR_R = 47,
--- 	VMT_LIVERY_MOD = 48,
--- 	VMT_LIGHTBAR = 49,
--- };
--- 
---@param vehicle any
---@param modType any
---@param modIndex any
---@param customTires boolean
---@return any
function SetVehicleMod(vehicle, modType, modIndex, customTires)
end

--- _DOES_VEHICLE_TYRE_EXIST
---
--- Checks if vehicle tyre at index exists. Also returns false if tyre was removed.
--- 
--- 
--- 
--- NativeDB Introduced: v1493
--- 
---@param vehicle any
---@param tyreIndex any
---@return boolean
function DoesVehicleTyreExist(vehicle, tyreIndex)
end

--- REQUEST_VEHICLE_RECORDING
---
--- Request the vehicle recording defined by the lowercase format string "%s%03d.yvr". For example, REQUEST_VEHICLE_RECORDING(1, "FBIs1UBER") corresponds to fbis1uber001.yvr.
--- For all vehicle recording/playback natives, "script" is a common prefix that usually corresponds to the script/mission the recording is used in, "recording" is its int suffix, and "id" (e.g., in native GET_TOTAL_DURATION_OF_VEHICLE_RECORDING_ID) corresponds to a unique identifier within the recording streaming module.
--- Note that only 24 recordings (hardcoded in multiple places) can ever active at a given time before clobbering begins.
--- 
---@param recording any
---@param script any
---@return any
function RequestVehicleRecording(recording, script)
end

--- SET_VEHICLE_NAME_DEBUG
---
--- NOTE: Debugging functions are not present in the retail version of the game.  
--- 
---@param vehicle any
---@param name any
---@return any
function SetVehicleNameDebug(vehicle, name)
end

--- SET_VEHICLE_PROVIDES_COVER
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleProvidesCover(vehicle, toggle)
end

--- _GET_VEHICLE_CAN_ACTIVATE_PARACHUTE
---
---@param vehicle any
---@return boolean
function GetVehicleCanActivateParachute(vehicle)
end

--- GET_VEHICLE_LOCK_ON_TARGET
---
---@param vehicle any
---@param entity any
---@return boolean
function GetVehicleLockOnTarget(vehicle, entity)
end

--- GET_PED_USING_VEHICLE_DOOR
---See eDoorId declared in [SET_VEHICLE_DOOR_SHUT](#\_0x93D9BD300D7789E5)
---@param vehicle any
---@param doorIndex any
---@return number
function GetPedUsingVehicleDoor(vehicle, doorIndex)
end

--- IS_COP_VEHICLE_IN_AREA_3D
---
--- Usage:  
--- public bool isCopInRange(Vector3 Location, float Range)  
---         {  
---             return Function.Call<bool>(Hash.IS_COP_PED_IN_AREA_3D, Location.X - Range, Location.Y - Range, Location.Z - Range, Location.X + Range, Location.Y + Range, Location.Z + Range);  
---         }  
--- 
---@param x1 number
---@param x2 number
---@param y1 number
---@param y2 number
---@param z1 number
---@param z2 number
---@return boolean
function IsCopVehicleInArea3D(x1, x2, y1, y2, z1, z2)
end

--- ROLL_DOWN_WINDOWS
---
--- Roll down all the windows of the vehicle passed through the first parameter.  
--- 
---@param vehicle any
---@return any
function RollDownWindows(vehicle)
end

--- _SET_HELI_TAIL_ROTOR_HEALTH
---
---@param vehicle any
---@param health number
---@return any
function SetHeliTailRotorHealth(vehicle, health)
end

--- DETACH_VEHICLE_FROM_TRAILER
---
---@param vehicle any
---@return any
function DetachVehicleFromTrailer(vehicle)
end

--- DOES_SCRIPT_VEHICLE_GENERATOR_EXIST
---
---@param vehicleGenerator any
---@return boolean
function DoesScriptVehicleGeneratorExist(vehicleGenerator)
end

--- GET_RANDOM_VEHICLE_MODEL_IN_MEMORY
---
--- Not present in the retail version! It's just a nullsub.  
--- p0 always true (except in one case)  
--- p1 a random vehicle hash loaded in memory  
--- successIndicator: 0 if success, -1 if failed
--- 
---@param p0 boolean
---@param modelHash any
---@param successIndicator any
---@return any
function GetRandomVehicleModelInMemory(p0, modelHash, successIndicator)
end

--- REMOVE_VEHICLE_RECORDING
---See [REQUEST_VEHICLE_RECORDING](#\_0xAF514CABE74CBF15)
---@param recording any
---@param script any
---@return any
function RemoveVehicleRecording(recording, script)
end

--- REMOVE_VEHICLES_FROM_GENERATORS_IN_AREA
---
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param unk any
---@return any
function RemoveVehiclesFromGeneratorsInArea(x1, y1, z1, x2, y2, z2, unk)
end

--- SET_ALL_VEHICLE_GENERATORS_ACTIVE
---
---@return any
function SetAllVehicleGeneratorsActive()
end

--- _SET_TYRE_WEAR_MULTIPLIER
---
--- NativeDB Introduced: v1868
--- 
---@param vehicle any
---@param wheelIndex any
---@param multiplier number
---@return any
function SetTyreWearMultiplier(vehicle, wheelIndex, multiplier)
end

--- IS_VEHICLE_STOLEN
---
---@param vehicle any
---@return boolean
function IsVehicleStolen(vehicle)
end

--- SET_VEHICLE_LIGHTS
---
--- set's if the vehicle has lights or not.  
--- not an on off toggle.  
--- p1 = 0 ;vehicle normal lights, off then lowbeams, then highbeams  
--- p1 = 1 ;vehicle doesn't have lights, always off  
--- p1 = 2 ;vehicle has always on lights  
--- p1 = 3 ;or even larger like 4,5,... normal lights like =1  
--- note1: when using =2 on day it's lowbeam,highbeam  
--- but at night it's lowbeam,lowbeam,highbeam  
--- note2: when using =0 it's affected by day or night for highbeams don't exist in daytime.  
--- 
---@param vehicle any
---@param state any
---@return any
function SetVehicleLights(vehicle, state)
end

--- IS_TURRET_SEAT
---
---@param vehicle any
---@param seatIndex any
---@return boolean
function IsTurretSeat(vehicle, seatIndex)
end

--- REMOVE_VEHICLE_WINDOW
---See eWindowId declared in [IS_VEHICLE_WINDOW_INTACT](#\_0x46E571A0E20D01F1).
---@param vehicle any
---@param windowIndex any
---@return any
function RemoveVehicleWindow(vehicle, windowIndex)
end

--- _REQUEST_VEHICLE_DASHBOARD_SCALEFORM_MOVIE
---
--- REQUEST_VEHICLE_*  
--- 
---@param vehicle any
---@return any
function RequestVehicleDashboardScaleformMovie(vehicle)
end

--- _SET_DISABLE_SUPERDUMMY_MODE
---
---@param vehicle any
---@param p1 boolean
---@return any
function SetDisableSuperdummyMode(vehicle, p1)
end

--- _SET_VEHICLE_HANDLING_HASH_FOR_AI
---
---@param vehicle any
---@param hash any
---@return any
function SetVehicleHandlingHashForAi(vehicle, hash)
end

--- GET_RANDOM_VEHICLE_FRONT_BUMPER_IN_SPHERE
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 any
---@param p5 any
---@param p6 any
---@return any
function GetRandomVehicleFrontBumperInSphere(p0, p1, p2, p3, p4, p5, p6)
end

--- GET_VEHICLE_CLASS_ESTIMATED_MAX_SPEED
---
---@param vehicleClass any
---@return number
function GetVehicleClassEstimatedMaxSpeed(vehicleClass)
end

--- _HIDE_VEHICLE_TOMBSTONE
---
--- NativeDB Introduced: v1604
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function HideVehicleTombstone(vehicle, toggle)
end

--- REMOVE_ROAD_NODE_SPEED_ZONE
---
---@param speedzone any
---@return boolean
function RemoveRoadNodeSpeedZone(speedzone)
end

--- _SET_HYDRAULIC_WHEEL_STATE
---
---@param vehicle any
---@param state any
---@return any
function SetHydraulicWheelState(vehicle, state)
end

--- SET_VEHICLE_DEFORMATION_FIXED
---
--- This fixes the deformation of a vehicle but the vehicle health doesn't improve  
--- 
---@param vehicle any
---@return any
function SetVehicleDeformationFixed(vehicle)
end

--- GET_MOD_SLOT_NAME
---
---@param vehicle any
---@param modType any
---@return any
function GetModSlotName(vehicle, modType)
end

--- GET_VEHICLE_COLOUR_COMBINATION
---
---@param vehicle any
---@return any
function GetVehicleColourCombination(vehicle)
end

--- GET_VEHICLE_PETROL_TANK_HEALTH
---
--- 1000 is max health  
--- Begins leaking gas at around 650 health  
--- 
---@param vehicle any
---@return number
function GetVehiclePetrolTankHealth(vehicle)
end

--- SET_VEHICLE_FIXED
---Fix a given vehicle.
--- If the vehicle's engine's broken then you cannot fix it with this native.
---@param vehicle any
---@return any
function SetVehicleFixed(vehicle)
end

--- SET_VEHICLE_BURNOUT
---
--- On accelerating, spins the driven wheels with the others braked, so you don't go anywhere.  
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleBurnout(vehicle, toggle)
end

--- SET_VEHICLE_DAMAGE
---Apply damage to vehicle at a location. Location is relative to vehicle model (not world).
--- Radius of effect damage applied in a sphere at impact location
--- When focusOnModel set to true, the damage sphere will travel towards the vehicle from the given point, thus guaranteeing an impact
---@param vehicle any
---@param xOffset number
---@param yOffset number
---@param zOffset number
---@param damage number
---@param radius number
---@param focusOnModel boolean
---@return any
function SetVehicleDamage(vehicle, xOffset, yOffset, zOffset, damage, radius, focusOnModel)
end

--- SET_VEHICLE_PETROL_TANK_HEALTH
---
--- 1000 is max health  
--- Begins leaking gas at around 650 health  
--- 
---@param vehicle any
---@param health number
---@return any
function SetVehiclePetrolTankHealth(vehicle, health)
end

--- _STOP_BRING_VEHICLE_TO_HALT
---
--- Stops CTaskBringVehicleToHalt
--- 
---@param vehicle any
---@return any
function StopBringVehicleToHalt(vehicle)
end

--- DELETE_ALL_TRAINS
---
---@return any
function DeleteAllTrains()
end

--- DOES_VEHICLE_EXIST_WITH_DECORATOR
---
---@param decorator any
---@return boolean
function DoesVehicleExistWithDecorator(decorator)
end

--- GET_VEHICLE_HAS_KERS
---
---@param vehicle any
---@return boolean
function GetVehicleHasKers(vehicle)
end

--- IS_VEHICLE_HIGH_DETAIL
---
---@param vehicle any
---@return boolean
function IsVehicleHighDetail(vehicle)
end

--- _SET_DISABLE_TURRET_MOVEMENT_THIS_FRAME
---Disables turret movement when called in a loop. You can still fire and aim. You cannot shoot backwards though.
--- 
--- 
--- NativeDB Introduced: v1365
--- 
---@param vehicle any
---@param turretIdx any
---@return any
function SetDisableTurretMovementThisFrame(vehicle, turretIdx)
end

--- DOES_VEHICLE_HAVE_STUCK_VEHICLE_CHECK
---
--- Maximum amount of vehicles with vehicle stuck check appears to be 16.  
--- 
---@param vehicle any
---@return boolean
function DoesVehicleHaveStuckVehicleCheck(vehicle)
end

--- _GET_BOAT_BOOM_POSITION_RATIO_3
---
---@param vehicle any
---@param p1 boolean
---@return any
function GetBoatBoomPositionRatio3(vehicle, p1)
end

--- GET_CONVERTIBLE_ROOF_STATE
---
--- enum RoofState
--- {
---      ROOFSTATE_UP = 0;
---      ROOFSTATE_LOWERING,
---      ROOFSTATE_DOWN,
---      ROOFSTATE_RAISING
--- };
--- 
--- 
--- Got a "6" return value but not sure about what the value means
--- 6 -> unknown (Stopped but not fully open ?)
---@param vehicle any
---@return any
function GetConvertibleRoofState(vehicle)
end

--- UNPAUSE_PLAYBACK_RECORDED_VEHICLE
---
---@param vehicle any
---@return any
function UnpausePlaybackRecordedVehicle(vehicle)
end

--- SET_PLANE_RESIST_TO_EXPLOSION
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetPlaneResistToExplosion(vehicle, toggle)
end

--- SET_VEHICLE_ENGINE_HEALTH
---
--- 1000 is max health
--- Begins leaking gas at around 650 health
--- -999.90002441406 appears to be minimum health, although nothing special occurs <- false statement
--- -------------------------
--- Minimum: -4000
--- Maximum: 1000
--- -4000: Engine is destroyed
--- 0 and below: Engine catches fire and health rapidly declines
--- 300: Engine is smoking and losing functionality
--- 1000: Engine is perfect
--- 
---@param vehicle any
---@param health number
---@return any
function SetVehicleEngineHealth(vehicle, health)
end

--- SET_VEHICLE_UNDRIVEABLE
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleUndriveable(vehicle, toggle)
end

--- SET_ALL_LOW_PRIORITY_VEHICLE_GENERATORS_ACTIVE
---
---@param active boolean
---@return any
function SetAllLowPriorityVehicleGeneratorsActive(active)
end

--- _SET_VEHICLE_NITRO_ENABLED
---
--- NativeDB Introduced: v1604
--- NativeDB Added Parameter 2 (2060): float level
--- NativeDB Added Parameter 3 (2060): float power
--- NativeDB Added Parameter 4 (2060): float rechargeTime
--- NativeDB Added Parameter 5 (2060): BOOL disableSound
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleNitroEnabled(vehicle, toggle)
end

--- _GET_CAN_VEHICLE_JUMP
---
--- Returns true if the vehicle has the FLAG_JUMPING_CAR flag set.
--- 
---@param vehicle any
---@return boolean
function GetCanVehicleJump(vehicle)
end

--- IS_VEHICLE_SEARCHLIGHT_ON
---
--- Possibly: Returns whether the searchlight (found on police vehicles) is toggled on.  
--- 
---@param vehicle any
---@return boolean
function IsVehicleSearchlightOn(vehicle)
end

--- _IS_VEHICLE_SEAT_ACCESSIBLE
---
--- Check if a vehicle seat is accessible. If you park your vehicle near a wall and the ped cannot enter/exit this side, the return value toggles from true (not blocked) to false (blocked).
--- side = only relevant for bikes/motorcycles to check if the left (false)/right (true) side is blocked.
--- onEnter = check if you can enter (true) or exit (false) a vehicle.
--- 
---@param ped number
---@param vehicle any
---@param seatIndex any
---@param side boolean
---@param onEnter boolean
---@return boolean
function IsVehicleSeatAccessible(ped, vehicle, seatIndex, side, onEnter)
end

--- _IS_VEHICLE_PARACHUTE_ACTIVE
---Does not work for vehicle of type: CBike, CBmx, CBoat, CTrain, CSubmarine.
---@param vehicle any
---@return boolean
function IsVehicleParachuteActive(vehicle)
end

--- STOP_PLAYBACK_RECORDED_VEHICLE
---
---@param vehicle any
---@return any
function StopPlaybackRecordedVehicle(vehicle)
end

--- IS_VEHICLE_DOOR_FULLY_OPEN
---See eDoorId declared in [SET_VEHICLE_DOOR_SHUT](#\_0x93D9BD300D7789E5)
---@param vehicle any
---@param doorIndex any
---@return boolean
function IsVehicleDoorFullyOpen(vehicle, doorIndex)
end

--- IS_VEHICLE_SEAT_FREE
---Seat indices range from -1 to [GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS](#\_0xA7C4F2C6E744A550) minus one.
--- 
--- cpp
--- // CTaskExitVehicleSeat::eSeatPosition - 1
--- enum eSeatPosition
--- {
---     SF_FrontDriverSide = -1,
---     SF_FrontPassengerSide = 0,
---     SF_BackDriverSide = 1,
---     SF_BackPassengerSide = 2,
---     SF_AltFrontDriverSide = 3,
---     SF_AltFrontPassengerSide = 4,
---     SF_AltBackDriverSide = 5,
---     SF_AltBackPassengerSide = 6,
--- };
--- 
--- 
--- 
--- NativeDB Added Parameter 3: BOOL isTaskRunning
--- 
--- isTaskRunning = on true the function returns already false while a task on the target seat is running (TASK_ENTER_VEHICLE/TASK_SHUFFLE_TO_NEXT_VEHICLE_SEAT) - on false only when a ped is finally sitting in the seat.
--- 
---@param vehicle any
---@param seatIndex any
---@return boolean
function IsVehicleSeatFree(vehicle, seatIndex)
end

--- IS_VEHICLE_STUCK_ON_ROOF
---
---@param vehicle any
---@return boolean
function IsVehicleStuckOnRoof(vehicle)
end

--- REQUEST_VEHICLE_HIGH_DETAIL_MODEL
---
---@param vehicle any
---@return any
function RequestVehicleHighDetailModel(vehicle)
end

--- _DISABLE_VEHICLE_WORLD_COLLISION
---Disables collision for this vehicle (maybe it also supports other entities, not sure).
--- Only world/building/fixed world objects will have their collisions disabled, props, peds, or any other entity still collides with the vehicle.
--- 
--- [Example video](https://streamable.com/6n45d5)
--- 
--- Not sure if there is a native (and if so, which one) that resets the collisions.
---@param vehicle any
---@return any
function DisableVehicleWorldCollision(vehicle)
end

--- GET_VEHICLE_MODEL_VALUE
---
--- Returns nMonetaryValue from handling.meta for specific model, which is the vehicle's monetary value.
--- 
---@param vehicleModel any
---@return any
function GetVehicleModelValue(vehicleModel)
end

--- _IS_VEHICLE_DAMAGED
---
--- Appears to return true if the vehicle has any damage, including cosmetically.
--- GET_*
--- 
---@param vehicle any
---@return boolean
function IsVehicleDamaged(vehicle)
end

--- SET_VEHICLE_BRAKE
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleBrake(vehicle, toggle)
end

--- _SET_DEPLOY_HELI_STUB_WINGS
---Only used with the "akula" and "annihilator2" in the decompiled native scripts.
--- 
--- 
--- NativeDB Introduced: v1290
--- 
---@param vehicle any
---@param deploy boolean
---@param p2 boolean
---@return any
function SetDeployHeliStubWings(vehicle, deploy, p2)
end

--- SET_PLAYBACK_TO_USE_AI_TRY_TO_REVERT_BACK_LATER
---
--- Time is number of milliseconds before reverting, zero for indefinitely.
--- 
---@param vehicle any
---@param time any
---@param drivingStyle any
---@param p3 boolean
---@return any
function SetPlaybackToUseAiTryToRevertBackLater(vehicle, time, drivingStyle, p3)
end

--- SET_TRAILER_LEGS_RAISED
---
--- in the decompiled scripts, seems to be always called on the vehicle right after being attached to a trailer.
--- 
---@param vehicle any
---@return any
function SetTrailerLegsRaised(vehicle)
end

--- _GET_ENTRY_POSITION_OF_DOOR
---See eDoorId declared in [SET_VEHICLE_DOOR_SHUT](#\_0x93D9BD300D7789E5)
---@param vehicle any
---@param doorIndex any
---@return { x: number, y: number, z: number }
function GetEntryPositionOfDoor(vehicle, doorIndex)
end

--- GET_VEHICLE_BODY_HEALTH
---
--- Seems related to vehicle health, like the one in IV.  
--- Max 1000, min 0.  
--- Vehicle does not necessarily explode or become undrivable at 0.  
--- 
---@param vehicle any
---@return number
function GetVehicleBodyHealth(vehicle)
end

--- SET_RANDOM_TRAINS
---Enables spawning random trains on the preset tracks.
--- 
--- Requires [SWITCH_TRAIN_TRACK](#\_0xFD813BB7DB977F20) and [SET_TRAIN_TRACK_SPAWN_FREQUENCY](#\_0x21973BBF8D17EDFA) to be set.
---@param toggle boolean
---@return any
function SetRandomTrains(toggle)
end

--- IS_VEHICLE_MODEL
---
---@param vehicle any
---@param model any
---@return boolean
function IsVehicleModel(vehicle, model)
end

--- SET_POLICE_FOCUS_WILL_TRACK_VEHICLE
---Sets flag on vehicle that changes behaviour in relation to when player gets wanted level
---@param vehicle any
---@param p1 boolean
---@return any
function SetPoliceFocusWillTrackVehicle(vehicle, p1)
end

--- ATTACH_VEHICLE_TO_TOW_TRUCK
---
--- HookOffset defines where the hook is attached. leave at 0 for default attachment.
--- 
---@param towTruck any
---@param vehicle any
---@param rear boolean
---@param hookOffsetX number
---@param hookOffsetY number
---@param hookOffsetZ number
---@return any
function AttachVehicleToTowTruck(towTruck, vehicle, rear, hookOffsetX, hookOffsetY, hookOffsetZ)
end

--- GET_VEHICLE_ATTACHED_TO_CARGOBOB
---
--- Returns attached vehicle (Vehicle in parameter must be cargobob)  
--- 
---@param cargobob any
---@return any
function GetVehicleAttachedToCargobob(cargobob)
end

--- GET_VEHICLE_RECORDING_ID
---See [REQUEST_VEHICLE_RECORDING](#\_0xAF514CABE74CBF15).
---@param recording any
---@param script any
---@return any
function GetVehicleRecordingId(recording, script)
end

--- SET_VEHICLE_DIRT_LEVEL
---Sets the dirt level of the passed vehicle.
---@param vehicle any
---@param dirtLevel number
---@return any
function SetVehicleDirtLevel(vehicle, dirtLevel)
end

--- _SET_VEHICLE_ROCKET_BOOST_ACTIVE
---
---@param vehicle any
---@param active boolean
---@return any
function SetVehicleRocketBoostActive(vehicle, active)
end

--- _GET_CARGOBOB_HOOK_POSITION
---Gets the position of the cargobob hook, in world coords.
---@param cargobob any
---@return { x: number, y: number, z: number }
function GetCargobobHookPosition(cargobob)
end

--- GET_CURRENT_PLAYBACK_FOR_VEHICLE
---
---@param vehicle any
---@return any
function GetCurrentPlaybackForVehicle(vehicle)
end

--- GET_VEHICLE_CLASS_MAX_TRACTION
---
---@param vehicleClass any
---@return number
function GetVehicleClassMaxTraction(vehicleClass)
end

--- SET_CARGOBOB_PICKUP_MAGNET_STRENGTH
---
---@param cargobob any
---@param strength number
---@return any
function SetCargobobPickupMagnetStrength(cargobob, strength)
end

--- SET_VEHICLE_DOOR_LATCHED
---See eDoorId declared in [SET_VEHICLE_DOOR_SHUT](#\_0x93D9BD300D7789E5)
---@param vehicle any
---@param doorIndex any
---@param forceClose boolean
---@param lock boolean
---@param p4 boolean
---@return any
function SetVehicleDoorLatched(vehicle, doorIndex, forceClose, lock, p4)
end

--- DISABLE_VEHICLE_WEAPON
---
--- how does this work?  
--- 
---@param disabled boolean
---@param weaponHash any
---@param vehicle any
---@param owner number
---@return any
function DisableVehicleWeapon(disabled, weaponHash, vehicle, owner)
end

--- _GET_TYRE_WEAR_MULTIPLIER
---
--- NativeDB Introduced: v2060
--- 
---@param vehicle any
---@param wheelIndex any
---@return number
function GetTyreWearMultiplier(vehicle, wheelIndex)
end

--- GET_VEHICLE_PLATE_TYPE
---Returns the plates a vehicle has.
--- 
--- 
--- enum eVehiclePlateType
--- {
--- 	VPT_FRONT_AND_BACK_PLATES = 0,
--- 	VPT_FRONT_PLATES = 1,
--- 	VPT_BACK_PLATES = 2,
--- 	VPT_NONE = 3,
--- };
--- 
--- 
--- Motorcycles with no visible plates will sometimes return a 2 for unknown reasons.
---@param vehicle any
---@return any
function GetVehiclePlateType(vehicle)
end

--- REMOVE_VEHICLE_COMBAT_AVOIDANCE_AREA
---
---@param p0 any
---@return any
function RemoveVehicleCombatAvoidanceArea(p0)
end

--- SET_VEHICLE_FLIGHT_NOZZLE_POSITION_IMMEDIATE
---
---@param vehicle any
---@param angle number
---@return any
function SetVehicleFlightNozzlePositionImmediate(vehicle, angle)
end

--- IS_VEHICLE_DRIVEABLE
---
--- p1 is always 0 in the scripts.  
--- p1 = check if vehicle is on fire  
--- 
---@param vehicle any
---@param isOnFireCheck boolean
---@return boolean
function IsVehicleDriveable(vehicle, isOnFireCheck)
end

--- _FIND_VEHICLE_CARRYING_THIS_ENTITY
---
--- Finds the vehicle that is carrying this entity with a handler frame.
--- The model of the entity must be prop_contr_03b_ld or the function will return 0.
--- 
---@param entity number
---@return any
function FindVehicleCarryingThisEntity(entity)
end

--- GET_CLOSEST_VEHICLE
---
--- Example usage  
--- VEHICLE::GET_CLOSEST_VEHICLE(x, y, z, radius, hash, unknown leave at 70)   
--- x, y, z: Position to get closest vehicle to.  
--- radius: Max radius to get a vehicle.  
--- modelHash: Limit to vehicles with this model. 0 for any.  
--- flags: The bitwise flags altering the function's behaviour.  
--- Does not return police cars or helicopters.  
--- It seems to return police cars for me, does not seem to return helicopters, planes or boats for some reason  
--- Only returns non police cars and motorbikes with the flag set to 70 and modelHash to 0. ModelHash seems to always be 0 when not a modelHash in the scripts, as stated above.   
--- These flags were found in the b617d scripts: 0,2,4,6,7,23,127,260,2146,2175,12294,16384,16386,20503,32768,67590,67711,98309,100359.  
--- Converted to binary, each bit probably represents a flag as explained regarding another native here: gtaforums.com/topic/822314-guide-driving-styles  
--- Conversion of found flags to binary: pastebin.com/kghNFkRi  
--- At exactly 16384 which is 0100000000000000 in binary and 4000 in hexadecimal only planes are returned.   
--- It's probably more convenient to use worldGetAllVehicles(int *arr, int arrSize) and check the shortest distance yourself and sort if you want by checking the vehicle type with for example VEHICLE::IS_THIS_MODEL_A_BOAT  
--- -------------------------------------------------------------------------  
--- Conclusion: This native is not worth trying to use. Use something like this instead: pastebin.com/xiFdXa7h
--- Use flag 127 to return police cars
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param modelHash any
---@param flags any
---@return any
function GetClosestVehicle(x, y, z, radius, modelHash, flags)
end

--- GET_IS_VEHICLE_ENGINE_RUNNING
---
--- Returns true when in a vehicle, false whilst entering/exiting.  
--- 
---@param vehicle any
---@return boolean
function GetIsVehicleEngineRunning(vehicle)
end

--- IS_THIS_MODEL_A_HELI
---
---@param model any
---@return boolean
function IsThisModelAHeli(model)
end

--- CLEAR_VEHICLE_CUSTOM_SECONDARY_COLOUR
---
---@param vehicle any
---@return any
function ClearVehicleCustomSecondaryColour(vehicle)
end

--- CLOSE_BOMB_BAY_DOORS
---
---@param vehicle any
---@return any
function CloseBombBayDoors(vehicle)
end

--- DELETE_VEHICLE
---
--- Deletes a vehicle.  
--- The vehicle must be a mission entity to delete, so call this before deleting: SET_ENTITY_AS_MISSION_ENTITY(vehicle, true, true);  
--- eg how to use:  
--- SET_ENTITY_AS_MISSION_ENTITY(vehicle, true, true);  
--- DELETE_VEHICLE(&vehicle);  
--- Deletes the specified vehicle, then sets the handle pointed to by the pointer to NULL.  
--- 
---@param vehicle any
---@return any
function DeleteVehicle(vehicle)
end

--- GET_VEHICLE_TYRES_CAN_BURST
---
---@param vehicle any
---@return boolean
function GetVehicleTyresCanBurst(vehicle)
end

--- _SET_VEHICLE_INTERIOR_COLOR
---
---@param vehicle any
---@param color any
---@return any
function SetVehicleInteriorColor(vehicle, color)
end

--- _GET_VEHICLE_NEON_LIGHTS_COLOUR
---Gets the color of the neon lights of the specified vehicle.
--- 
--- See [_SET_VEHICLE_NEON_LIGHTS_COLOUR](#\_0x8E0A582209A62695) for more information
---@param vehicle any
---@param r any
---@param g any
---@param b any
---@return any
function GetVehicleNeonLightsColour(vehicle, r, g, b)
end

--- IS_VEHICLE_STUCK_TIMER_UP
---
--- p1 can be anywhere from 0 to 3 in the scripts. p2 is generally somewhere in the 1000 to 10000 range.  
--- 
---@param vehicle any
---@param p1 any
---@param p2 any
---@return boolean
function IsVehicleStuckTimerUp(vehicle, p1, p2)
end

--- _GET_ALL_VEHICLES
---
---@param vehArray any
---@return any
function GetAllVehicles(vehArray)
end

--- GET_LIVERY_NAME
---
--- Second Param = LiveryIndex  
--- example   
--- int count = VEHICLE::GET_VEHICLE_LIVERY_COUNT(veh);  
--- for (int i = 0; i < count; i++)    
--- 	{  
--- char* LiveryName = VEHICLE::GET_LIVERY_NAME(veh, i);  
--- 	}  
--- this example will work fine to fetch all names   
--- for example for Sanchez we get   
--- SANC_LV1  
--- SANC_LV2  
--- SANC_LV3  
--- SANC_LV4  
--- SANC_LV5  
--- Use _GET_LABEL_TEXT, to get the localized livery name.  
--- -----------  
--- NOTE: You may need to set the vehicle's modKit to 0 by using this function: SET_VEHICLE_MOD_KIT() before getting the name, otherwise this native may return NULL.  
--- dev-c.com/nativedb/func/info/1f2aa07f00b3217a  
--- 
---@param vehicle any
---@param liveryIndex any
---@return any
function GetLiveryName(vehicle, liveryIndex)
end

--- GET_VEHICLE_DOOR_ANGLE_RATIO
---See eDoorId declared in [SET_VEHICLE_DOOR_SHUT](#\_0x93D9BD300D7789E5)
---@param vehicle any
---@param doorIndex any
---@return number
function GetVehicleDoorAngleRatio(vehicle, doorIndex)
end

--- IS_ANY_PED_RAPPELLING_FROM_HELI
---
---@param vehicle any
---@return boolean
function IsAnyPedRappellingFromHeli(vehicle)
end

--- SET_VEHICLE_OUT_OF_CONTROL
---
--- Tested on the player's current vehicle. Unless you kill the driver, the vehicle doesn't loose control, however, if enabled, explodeOnImpact is still active. The moment you crash, boom.  
--- 
---@param vehicle any
---@param killDriver boolean
---@param explodeOnImpact boolean
---@return any
function SetVehicleOutOfControl(vehicle, killDriver, explodeOnImpact)
end

--- ADD_VEHICLE_UPSIDEDOWN_CHECK
---
---@param vehicle any
---@return any
function AddVehicleUpsidedownCheck(vehicle)
end

--- _DETACH_ENTITY_FROM_CARGOBOB
---
---@param vehicle any
---@param entity number
---@return any
function DetachEntityFromCargobob(vehicle, entity)
end

--- HAVE_VEHICLE_MODS_STREAMED_IN
---
---@param vehicle any
---@return boolean
function HaveVehicleModsStreamedIn(vehicle)
end

--- _GET_VEHICLE_WEAPON_CAPACITY
---
---@param vehicle any
---@param weaponIndex any
---@return any
function GetVehicleWeaponCapacity(vehicle, weaponIndex)
end

--- _SET_PLANE_ENGINE_HEALTH
---
--- Works just like SET_VEHICLE_ENGINE_HEALTH, didn't saw any difference. But this native works only for planes.
--- 
---@param vehicle any
---@param health number
---@return any
function SetPlaneEngineHealth(vehicle, health)
end

--- SET_VEHICLE_EXTENDED_REMOVAL_RANGE
---
--- Max value is 32767
--- 
---@param vehicle any
---@param range any
---@return any
function SetVehicleExtendedRemovalRange(vehicle, range)
end

--- ATTACH_VEHICLE_TO_TRAILER
---
---@param vehicle any
---@param trailer any
---@param radius number
---@return any
function AttachVehicleToTrailer(vehicle, trailer, radius)
end

--- _GET_HAS_ROCKET_BOOST
---
---@param vehicle any
---@return boolean
function GetHasRocketBoost(vehicle)
end

--- GET_VEHICLE_MOD_COLOR_1_NAME
---
--- returns a string which is the codename of the vehicle's currently selected primary color  
--- p1 is always 0  
--- 
---@param vehicle any
---@param p1 boolean
---@return any
function GetVehicleModColor1Name(vehicle, p1)
end

--- SET_VEHICLE_USE_CUTSCENE_WHEEL_COMPRESSION
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@param p3 boolean
---@return any
function SetVehicleUseCutsceneWheelCompression(p0, p1, p2, p3)
end

--- _SET_VEHICLE_SHADOW_EFFECT
---
--- Adds some kind of shadow to the vehicle.
--- -1 disables the effect.
--- DISABLE_*
--- 
---@param vehicle any
---@param p1 any
---@param p2 any
---@return any
function SetVehicleShadowEffect(vehicle, p1, p2)
end

--- CAN_SHUFFLE_SEAT
---
---@param vehicle any
---@param seatIndex any
---@return boolean
function CanShuffleSeat(vehicle, seatIndex)
end

--- DETACH_VEHICLE_FROM_CARGOBOB
---
---@param vehicle any
---@param cargobob any
---@return any
function DetachVehicleFromCargobob(vehicle, cargobob)
end

--- SET_RANDOM_BOATS
---
---@param toggle boolean
---@return any
function SetRandomBoats(toggle)
end

--- SET_VEHICLE_MOD_KIT
---
--- Set modKit to 0 if you plan to call SET_VEHICLE_MOD. That's what the game does. Most body modifications through SET_VEHICLE_MOD will not take effect until this is set to 0.
--- 
---@param vehicle any
---@param modKit any
---@return any
function SetVehicleModKit(vehicle, modKit)
end

--- _SET_VEHICLE_ST
---
--- Has something to do with trains. Always precedes SET_MISSION_TRAIN_AS_NO_LONGER_NEEDED.  
--- ============================================  
--- May be true that it can be used with trains not sure, but not specifically for trains. Go find Xbox360 decompiled scripts and search for 'func_1333' in freemode.c it isn't used just for trains. Thanks for the info tho.  
--- Btw, func_1333 ends up calling this func which uses this native,  
--- void func_1338(int iParam0)//Position   
--- {  
--- 	ENTITY::FREEZE_ENTITY_POSITION(iParam0, true);  
--- 	ENTITY::SET_ENTITY_COLLISION(iParam0, false, 0);  
--- 	ENTITY::SET_ENTITY_INVINCIBLE(iParam0, true);  
--- 	VEHICLE::_0xDF594D8D(iParam0, true);  
--- }  
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleSt(vehicle, toggle)
end

--- ATTACH_ENTITY_TO_CARGOBOB
---
---@param vehicle any
---@param entity number
---@param p2 any
---@param x number
---@param y number
---@param z number
---@return any
function AttachEntityToCargobob(vehicle, entity, p2, x, y, z)
end

--- _RAISE_RETRACTABLE_WHEELS
---
---@param vehicle any
---@return any
function RaiseRetractableWheels(vehicle)
end

--- SET_VEHICLE_MOD_COLOR_1
---
--- paintType:  
--- 0: Normal  
--- 1: Metallic  
--- 2: Pearl  
--- 3: Matte  
--- 4: Metal  
--- 5: Chrome  
--- color: number of the color.  
--- p3 seems to always be 0.  
--- 
---@param vehicle any
---@param paintType any
---@param color any
---@param pearlescentColor any
---@return any
function SetVehicleModColor1(vehicle, paintType, color, pearlescentColor)
end

--- GET_VEHICLE_TRAILER_VEHICLE
---
--- Gets the trailer of a vehicle and puts it into the trailer parameter.  
--- 
---@param vehicle any
---@param trailer any
---@return boolean
function GetVehicleTrailerVehicle(vehicle, trailer)
end

--- _SET_TYRE_TRACTION_LOSS_MULTIPLIER
---
--- Controls how much traction the wheel loses.
--- Default values from Rockstar's Open Wheel Race JSON's:
--- "owrtds" (Soft): 0.05
--- "owrtdm" (Medium): 0.45
--- "owrtdh" (Hard): 0.8
--- Usable wheels:
--- 0: wheel_lf
--- 1: wheel_rf
--- 2: wheel_lm1
--- 3: wheel_rm1
--- 4: wheel_lr
--- 5: wheel_rr
--- 
--- 
--- 
--- NativeDB Introduced: v2060
--- 
---@param vehicle any
---@param wheelIndex any
---@param multiplier number
---@return any
function SetTyreTractionLossMultiplier(vehicle, wheelIndex, multiplier)
end

--- SET_FORKLIFT_FORK_HEIGHT
---
--- 0.0 = Lowest 1.0 = Highest. This is best to be used if you wanna pick-up a car since un-realistically on GTA V forklifts can't pick up much of anything due to vehicle mass. If you put this under a car then set it above 0.0 to a 'lifted-value' it will raise the car with no issue lol
--- 
---@param vehicle any
---@param height number
---@return any
function SetForkliftForkHeight(vehicle, height)
end

--- SET_SCRIPT_VEHICLE_GENERATOR
---
--- Only called once in the decompiled scripts. Presumably activates the specified generator.  
--- 
---@param vehicleGenerator any
---@param enabled boolean
---@return any
function SetScriptVehicleGenerator(vehicleGenerator, enabled)
end

--- SET_VEHICLE_DOORS_LOCKED
---
--- // Source GTA VC miss2 leak, matching constants for 0/2/4, testing
--- // They use 10 in am_mp_property_int, don't know what it does atm.
--- enum eCarLock {
---     CARLOCK_NONE = 0,
---     CARLOCK_UNLOCKED = 1,
---     CARLOCK_LOCKED = 2,
---     CARLOCK_LOCKOUT_PLAYER_ONLY = 3,
---     CARLOCK_LOCKED_PLAYER_INSIDE = 4,
---     CARLOCK_LOCKED_INITIALLY = 5,
---     CARLOCK_FORCE_SHUT_DOORS = 6,
---     CARLOCK_LOCKED_BUT_CAN_BE_DAMAGED = 7
--- };
--- 
---@param vehicle any
---@param doorLockStatus any
---@return any
function SetVehicleDoorsLocked(vehicle, doorLockStatus)
end

--- _SET_VEHICLE_JET_ENGINE_ON
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleJetEngineOn(vehicle, toggle)
end

--- SET_CARGOBOB_PICKUP_MAGNET_FALLOFF
---
---@param vehicle any
---@param p1 number
---@return any
function SetCargobobPickupMagnetFalloff(vehicle, p1)
end

--- _SET_CARGOBOB_HOOK_CAN_ATTACH
---
--- Stops the cargobob from being able to attach any vehicle
--- 
--- 
--- 
--- NativeDB Introduced: v1180
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetCargobobHookCanAttach(vehicle, toggle)
end

--- SET_CARGOBOB_PICKUP_MAGNET_REDUCED_FALLOFF
---
---@param cargobob any
---@param p1 number
---@return any
function SetCargobobPickupMagnetReducedFalloff(cargobob, p1)
end

--- SET_VEHICLE_NUMBER_PLATE_TEXT
---
---@param vehicle any
---@param plateText any
---@return any
function SetVehicleNumberPlateText(vehicle, plateText)
end

--- DETACH_VEHICLE_FROM_ANY_TOW_TRUCK
---
---@param vehicle any
---@return boolean
function DetachVehicleFromAnyTowTruck(vehicle)
end

--- GET_NUM_VEHICLE_MODS
---
--- Returns how many possible mods a vehicle has for a given mod type  
--- 
---@param vehicle any
---@param modType any
---@return any
function GetNumVehicleMods(vehicle, modType)
end

--- _LOWER_RETRACTABLE_WHEELS
---
---@param vehicle any
---@return any
function LowerRetractableWheels(vehicle)
end

--- _SET_BOAT_MOVEMENT_RESISTANCE
---
---@param vehicle any
---@param value number
---@return any
function SetBoatMovementResistance(vehicle, value)
end

--- SET_VEHICLE_USE_ALTERNATE_HANDLING
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleUseAlternateHandling(vehicle, toggle)
end

--- RESET_VEHICLE_STUCK_TIMER
---
--- The inner function has a switch on the second parameter. It's the stuck timer index.  
--- Here's some pseudo code I wrote for the inner function:  
--- void __fastcall NATIVE_RESET_VEHICLE_STUCK_TIMER_INNER(CUnknown* unknownClassInVehicle, int timerIndex)  
--- {  
--- 	switch (timerIndex)  
--- 	{  
--- 	case 0:  
--- unknownClassInVehicle->FirstStuckTimer = (WORD)0u;  
--- 	case 1:  
--- unknownClassInVehicle->SecondStuckTimer = (WORD)0u;  
--- 	case 2:  
--- unknownClassInVehicle->ThirdStuckTimer = (WORD)0u;  
--- 	case 3:  
--- unknownClassInVehicle->FourthStuckTimer = (WORD)0u;  
--- 	case 4:  
--- unknownClassInVehicle->FirstStuckTimer = (WORD)0u;  
--- unknownClassInVehicle->SecondStuckTimer = (WORD)0u;  
--- unknownClassInVehicle->ThirdStuckTimer = (WORD)0u;  
--- unknownClassInVehicle->FourthStuckTimer = (WORD)0u;  
--- break;  
--- 	};  
--- }  
--- 
---@param vehicle any
---@param nullAttributes any
---@return any
function ResetVehicleStuckTimer(vehicle, nullAttributes)
end

--- SET_PLANE_TURBULENCE_MULTIPLIER
---This native sets the turbulence multiplier. It only works for planes.
--- 0.0 = no turbulence at all.
--- 1.0 = heavy turbulence.
--- 
--- Works by just calling it once, does not need to be called every tick.
---@param vehicle any
---@param multiplier number
---@return any
function SetPlaneTurbulenceMultiplier(vehicle, multiplier)
end

--- _ATTACH_CONTAINER_TO_HANDLER_FRAME
---
---@param handler any
---@param container number
---@return any
function AttachContainerToHandlerFrame(handler, container)
end

--- SET_VEHICLE_MODEL_IS_SUPPRESSED
---
--- seems to make the vehicle stop spawning naturally in traffic. Here's an essential example:  
--- VEHICLE::SET_VEHICLE_MODEL_IS_SUPPRESSED(GAMEPLAY::GET_HASH_KEY("taco"), true);  
--- 
---@param model any
---@param suppressed boolean
---@return any
function SetVehicleModelIsSuppressed(model, suppressed)
end

--- START_VEHICLE_ALARM
---
---@param vehicle any
---@return any
function StartVehicleAlarm(vehicle)
end

--- SET_CONVERTIBLE_ROOF_LATCH_STATE
---
---@param vehicle any
---@param state boolean
---@return any
function SetConvertibleRoofLatchState(vehicle, state)
end

--- SET_VEHICLE_ACTIVE_DURING_PLAYBACK
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleActiveDuringPlayback(vehicle, toggle)
end

--- SET_CONVERTIBLE_ROOF
---
---@param vehicle any
---@param p1 boolean
---@return any
function SetConvertibleRoof(vehicle, p1)
end

--- SET_VEHICLE_FORWARD_SPEED
---
--- SCALE: Setting the speed to 30 would result in a speed of roughly 60mph, according to speedometer.  
--- Speed is in meters per second  
--- You can convert meters/s to mph here:  
--- http://www.calculateme.com/Speed/MetersperSecond/ToMilesperHour.htm  
--- 
---@param vehicle any
---@param speed number
---@return any
function SetVehicleForwardSpeed(vehicle, speed)
end

--- SET_VEHICLE_ON_GROUND_PROPERLY
---
--- Sets a vehicle on the ground on all wheels.  Returns whether or not the operation was successful.  
--- 
--- 
--- 
--- NativeDB Added Parameter 2: float p1
--- 
---@param vehicle any
---@return boolean
function SetVehicleOnGroundProperly(vehicle)
end

--- _DISABLE_VEHICLE_TURRET_MOVEMENT_THIS_FRAME
---
---@param vehicle any
---@return any
function DisableVehicleTurretMovementThisFrame(vehicle)
end

--- _GET_VEHICLE_DOOR_DESTROY_TYPE
---See eDoorId declared in [SET_VEHICLE_DOOR_SHUT](#\_0x93D9BD300D7789E5)
--- 
--- Returns vehicle door destroy type previously set with \_SET_VEHICLE_DOOR_DESTROY_TYPE
---@param vehicle any
---@param doorIndex any
---@return any
function GetVehicleDoorDestroyType(vehicle, doorIndex)
end

--- _IS_MISSION_TRAIN
---
--- NativeDB Introduced: v2372
--- 
---@param vehicle any
---@return boolean
function IsMissionTrain(vehicle)
end

--- SET_DISABLE_VEHICLE_PETROL_TANK_DAMAGE
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetDisableVehiclePetrolTankDamage(vehicle, toggle)
end

--- DOES_VEHICLE_HAVE_ROOF
---
---@param vehicle any
---@return boolean
function DoesVehicleHaveRoof(vehicle)
end

--- GET_TOTAL_DURATION_OF_VEHICLE_RECORDING
---
---@param recording any
---@param script any
---@return number
function GetTotalDurationOfVehicleRecording(recording, script)
end

--- IS_THIS_MODEL_A_BIKE
---
---@param model any
---@return boolean
function IsThisModelABike(model)
end

--- SET_VEHICLE_CAN_BE_USED_BY_FLEEING_PEDS
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleCanBeUsedByFleeingPeds(vehicle, toggle)
end

--- SET_VEHICLE_SHOOT_AT_TARGET
---
--- Commands the driver of an armed vehicle (p0) to shoot its weapon at a target (p1). p3, p4 and p5 are the coordinates of the target. Example:  
--- WEAPON::SET_CURRENT_PED_VEHICLE_WEAPON(pilot,GAMEPLAY::GET_HASH_KEY("VEHICLE_WEAPON_PLANE_ROCKET"));VEHICLE::SET_VEHICLE_SHOOT_AT_TARGET(pilot, target, targPos.x, targPos.y, targPos.z);  
--- 
---@param driver number
---@param entity number
---@param xTarget number
---@param yTarget number
---@param zTarget number
---@return any
function SetVehicleShootAtTarget(driver, entity, xTarget, yTarget, zTarget)
end

--- SET_VEHICLE_SIREN
---
--- Activate siren on vehicle (Only works if the vehicle has a siren).  
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleSiren(vehicle, toggle)
end

--- SWITCH_TRAIN_TRACK
---Toggles whether ambient trains can spawn on the specified track or not.
--- 
--- | trackId | File | Description |
--- | --- | --- | --- |
--- | 0 | trains1.dat | Main track around SA |
--- | 1 | trains2.dat | Davis Quartz Quarry branch |
--- | 2 | trains3.dat | Second track alongside live track along Roy Lewenstein Blv. |
--- | 3 | trains4.dat | Metro track circuit |
--- | 4 | trains5.dat | Branch in Mirror Park Railyard |
--- | 5 | trains6.dat | Branch in Mirror Park Railyard |
--- | 6 | trains7.dat | LS branch to Mirror Park Railyard |
--- | 7 | trains8.dat | Overground part of metro track along Forum Dr. |
--- | 8 | trains9.dat | Branch to Mirror Park Railyard |
--- | 9 | trains10.dat | Yankton train |
--- | 10 | trains11.dat | Part of metro track near mission row |
--- | 11 | trains12.dat | Yankton prologue mission train |
--- 
--- Tracks IDs 0 and 3 are the main tracks you find trains on during normal gameplay, all the others are used during missions and are not complete tracks.
---@param trackId any
---@param state boolean
---@return any
function SwitchTrainTrack(trackId, state)
end

--- CREATE_MISSION_TRAIN
---Train models must be [requested](#\_0x963D27A58DF860AC) before use. See trains.xml for freight and metro variations.
--- 
--- 
--- NativeDB Added Parameter 6: Any p5
--- NativeDB Added Parameter 7: Any p6
--- 
--- 
--- ### Train Models:
--- 
--- *   freight
--- *   freightcar
--- *   freightcar2 (Added v2372)
--- *   freightcont1
--- *   freightcont2
--- *   freightgrain
--- *   metrotrain
--- *   tankercar
---@param variation any
---@param x number
---@param y number
---@param z number
---@param direction boolean
---@return any
function CreateMissionTrain(variation, x, y, z, direction)
end

--- EXPLODE_VEHICLE_IN_CUTSCENE
---
---@param vehicle any
---@param p1 boolean
---@return any
function ExplodeVehicleInCutscene(vehicle, p1)
end

--- GET_VEHICLE_MODEL_MAX_TRACTION
---
--- Returns max traction of the specified vehicle model.
--- 
---@param modelHash any
---@return number
function GetVehicleModelMaxTraction(modelHash)
end

--- _SET_VEHICLE_COUNTERMEASURE_COUNT
---Similar to [_SET_AIRCRAFT_BOMB_COUNT](#\_0xF4B2ED59DEB5D774), this sets the amount of countermeasures that are present on this vehicle.
--- 
--- Use [_GET_AIRCRAFT_COUNTERMEASURE_COUNT](#\_0xF846AA63DF56B804) to get the current amount.
---@param aircraft any
---@param count any
---@return any
function SetVehicleCountermeasureCount(aircraft, count)
end

--- _SET_VEHICLE_WEAPON_CAPACITY
---
---@param vehicle any
---@param weaponIndex any
---@param capacity any
---@return any
function SetVehicleWeaponCapacity(vehicle, weaponIndex, capacity)
end

--- SET_VEHICLE_IS_CONSIDERED_BY_PLAYER
---
--- Setting this to false, makes the specified vehicle to where if you press Y your character doesn't even attempt the animation to enter the vehicle. Hence it's not considered aka ignored.  
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleIsConsideredByPlayer(vehicle, toggle)
end

--- _SET_VEHICLE_ROCKET_BOOST_REFILL_TIME
---
---@param vehicle any
---@param time number
---@return any
function SetVehicleRocketBoostRefillTime(vehicle, time)
end

--- GET_IS_RIGHT_VEHICLE_HEADLIGHT_DAMAGED
---
--- From the driver's perspective, is the right headlight broken.  
--- 
---@param vehicle any
---@return boolean
function GetIsRightVehicleHeadlightDamaged(vehicle)
end

--- IS_THIS_MODEL_A_CAR
---
--- To check if the model is an amphibious car, see gtaforums.com/topic/717612-v-scriptnative-documentation-and-research/page-33#entry1069317363 (for build 944 and above only!)  
--- 
---@param model any
---@return boolean
function IsThisModelACar(model)
end

--- LOWER_CONVERTIBLE_ROOF
---
---@param vehicle any
---@param instantlyLower boolean
---@return any
function LowerConvertibleRoof(vehicle, instantlyLower)
end

--- SET_DISABLE_VEHICLE_PETROL_TANK_FIRES
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetDisableVehiclePetrolTankFires(vehicle, toggle)
end

--- _SET_TYRE_HEALTH
---
--- NativeDB Introduced: v1868
--- 
---@param vehicle any
---@param wheelIndex any
---@param health number
---@return any
function SetTyreHealth(vehicle, wheelIndex, health)
end

--- GET_LAST_DRIVEN_VEHICLE
---
---@return any
function GetLastDrivenVehicle()
end

--- IS_SEAT_WARP_ONLY
---
---@param vehicle any
---@param seatIndex any
---@return boolean
function IsSeatWarpOnly(vehicle, seatIndex)
end

--- IS_VEHICLE_SIREN_ON
---
---@param vehicle any
---@return boolean
function IsVehicleSirenOn(vehicle)
end

--- REMOVE_VEHICLE_HIGH_DETAIL_MODEL
---
---@param vehicle any
---@return any
function RemoveVehicleHighDetailModel(vehicle)
end

--- SET_SUBMARINE_CRUSH_DEPTHS
---
---@param vehicle any
---@param toggle boolean
---@param depth1 number
---@param depth2 number
---@param depth3 number
---@return any
function SetSubmarineCrushDepths(vehicle, toggle, depth1, depth2, depth3)
end

--- SET_VEHICLE_CAN_LEAK_OIL
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleCanLeakOil(vehicle, toggle)
end

--- _SET_VEHICLE_EXCLUSIVE_DRIVER_2
---The **actual** [SET_VEHICLE_EXCLUSIVE_DRIVER](#\_0x41062318F23ED854) native.
---@param vehicle any
---@param ped number
---@param index any
---@return any
function SetVehicleExclusiveDriver2(vehicle, ped, index)
end

--- GET_TIME_POSITION_IN_RECORDING
---
--- Can be used with GET_TOTAL_DURATION_OF_VEHICLE_RECORDING{_ID} to compute a percentage.
--- 
---@param vehicle any
---@return number
function GetTimePositionInRecording(vehicle)
end

--- GET_VEHICLE_CUSTOM_SECONDARY_COLOUR
---
---@param vehicle any
---@param r any
---@param g any
---@param b any
---@return any
function GetVehicleCustomSecondaryColour(vehicle, r, g, b)
end

--- GET_VEHICLE_MOD_IDENTIFIER_HASH
---
--- Can be used for IS_DLC_VEHICLE_MOD and _0xC098810437312FFF
--- 
---@param vehicle any
---@param modType any
---@param modIndex any
---@return any
function GetVehicleModIdentifierHash(vehicle, modType, modIndex)
end

--- SET_CARGOBOB_PICKUP_MAGNET_PULL_STRENGTH
---
---@param cargobob any
---@param p1 number
---@return any
function SetCargobobPickupMagnetPullStrength(cargobob, p1)
end

--- GET_VEHICLE_CUSTOM_PRIMARY_COLOUR
---
---@param vehicle any
---@param r any
---@param g any
---@param b any
---@return any
function GetVehicleCustomPrimaryColour(vehicle, r, g, b)
end

--- IS_VEHICLE_STOPPED
---
--- Returns true if the vehicle's current speed is less than, or equal to 0.0025f.
--- For some vehicles it returns true if the current speed is <= 0.00039999999.
--- 
---@param vehicle any
---@return boolean
function IsVehicleStopped(vehicle)
end

--- _SET_BOAT_BOOM_POSITION_RATIO
---Sets the boat boom position for the TR3 trailer.
--- 
--- Ratio value is between 0.0 and 1.0, where 0.0 is 90 degrees to the left of the boat, and 1.0 is just slightly to the right/back of the boat.
--- 
--- To get the current boom position ratio, use [GET_BOAT_BOOM_POSITION_RATIO](#\_0x6636C535F6CC2725).
---@param vehicle any
---@param ratio number
---@return any
function SetBoatBoomPositionRatio(vehicle, ratio)
end

--- _SET_VEHICLE_WEAPONS_DISABLED
---
---@param vehicle any
---@param weaponSlot any
---@return any
function SetVehicleWeaponsDisabled(vehicle, weaponSlot)
end

--- STOP_ALL_GARAGE_ACTIVITY
---
---@return any
function StopAllGarageActivity()
end

--- IS_VEHICLE_ATTACHED_TO_TOW_TRUCK
---
--- Scripts verify that towTruck is the first parameter, not the second.  
--- 
---@param towTruck any
---@param vehicle any
---@return boolean
function IsVehicleAttachedToTowTruck(towTruck, vehicle)
end

--- SET_DISABLE_PRETEND_OCCUPANTS
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetDisablePretendOccupants(vehicle, toggle)
end

--- GET_VEHICLE_MOD_VARIATION
---
--- Only used for wheels(ModType = 23/24) Returns true if the wheels are custom wheels
--- 
---@param vehicle any
---@param modType any
---@return boolean
function GetVehicleModVariation(vehicle, modType)
end

--- GET_VEHICLE_WHEEL_TYPE
---cpp
--- enum eVehicleWheelType
--- {
---     VWT_SPORT = 0,
---     VWT_MUSCLE = 1,
---     VWT_LOWRIDER = 2,
---     VWT_SUV = 3,
---     VWT_OFFROAD = 4,
---     VWT_TUNER = 5,
---     VWT_BIKE = 6,
---     VWT_HIEND = 7,
---     VWT_SUPERMOD1 = 8, // Benny's Original
---     VWT_SUPERMOD2 = 9, // Benny's Bespoke
---     VWT_SUPERMOD3 = 10, // Open Wheel
---     VWT_SUPERMOD4 = 11, // Street
---     VWT_SUPERMOD5 = 12, // Track
--- };
--- 
---@param vehicle any
---@return any
function GetVehicleWheelType(vehicle)
end

--- SET_AMBIENT_VEHICLE_RANGE_MULTIPLIER_THIS_FRAME
---
---@param range number
---@return any
function SetAmbientVehicleRangeMultiplierThisFrame(range)
end

--- _SET_USE_HIGHER_VEHICLE_JUMP_FORCE
---Allows vehicles with the FLAG_JUMPING_CAR flag to jump higher (i.e. Ruiner 2000).
---@param vehicle any
---@param toggle boolean
---@return any
function SetUseHigherVehicleJumpForce(vehicle, toggle)
end

--- ARE_ANY_VEHICLE_SEATS_FREE
---
--- Returns false if every seat is occupied.  
--- 
---@param vehicle any
---@return boolean
function AreAnyVehicleSeatsFree(vehicle)
end

--- _GET_IS_VEHICLE_EMP_DISABLED
---
--- Returns whether this vehicle is currently disabled by an EMP mine.
--- 
--- NativeDB Introduced: v1604
--- 
---@param vehicle any
---@return boolean
function GetIsVehicleEmpDisabled(vehicle)
end

--- GET_NUM_MOD_COLORS
---
--- paintType:
--- 0: Normal
--- 1: Metallic
--- 2: Pearl
--- 3: Matte
--- 4: Metal
--- 5: Chrome
--- 
---@param paintType any
---@param p1 boolean
---@return any
function GetNumModColors(paintType, p1)
end

--- SET_VEHICLE_DOOR_OPEN
---Sets the specified door index open on the passed vehicle. See [IS_VEHICLE_DOOR_FULLY_OPEN](#\_0x3E933CFF7B111C22).
---@param vehicle any
---@param doorIndex any
---@param loose boolean
---@param openInstantly boolean
---@return any
function SetVehicleDoorOpen(vehicle, doorIndex, loose, openInstantly)
end

--- SET_VEHICLE_NEEDS_TO_BE_HOTWIRED
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleNeedsToBeHotwired(vehicle, toggle)
end

--- SET_VEHICLE_WHEEL_TYPE
---Refer to [GET_VEHICLE_WHEEL_TYPE](#\_0xB3ED1BFB4BE636DC) for wheel types.
---@param vehicle any
---@param wheelType any
---@return any
function SetVehicleWheelType(vehicle, wheelType)
end

--- _GET_IS_WHEELS_LOWERED_STATE_ACTIVE
---
---@param vehicle any
---@return boolean
function GetIsWheelsLoweredStateActive(vehicle)
end

--- _GET_VEHICLE_MODEL_MOVE_RESISTANCE
---
--- GET_VEHICLE_MODEL_*
--- called if the vehicle is a boat -- returns vecMoveResistanceX?
--- 
---@param modelHash any
---@return number
function GetVehicleModelMoveResistance(modelHash)
end

--- _IS_THIS_MODEL_AN_AMPHIBIOUS_CAR
---
---@param model any
---@return boolean
function IsThisModelAnAmphibiousCar(model)
end

--- SET_ENABLE_VEHICLE_SLIPSTREAMING
---Enable/Disables global slipstream physics
---@param toggle boolean
---@return any
function SetEnableVehicleSlipstreaming(toggle)
end

--- _GET_VEHICLE_NUMBER_OF_BROKEN_BONES
---
---@param vehicle any
---@return any
function GetVehicleNumberOfBrokenBones(vehicle)
end

--- IS_THIS_MODEL_A_TRAIN
---
---@param model any
---@return boolean
function IsThisModelATrain(model)
end

--- CLEAR_LAST_DRIVEN_VEHICLE
---
---@return any
function ClearLastDrivenVehicle()
end

--- GET_LAST_PED_IN_VEHICLE_SEAT
---
---@param vehicle any
---@param seatIndex any
---@return number
function GetLastPedInVehicleSeat(vehicle, seatIndex)
end

--- SET_VEHICLE_DOOR_SHUT
---Sets the specified door index shut on the passed vehicle.
--- 
--- cpp
--- enum eDoorId
--- {
--- 	VEH_EXT_DOOR_DSIDE_F = 0,
--- 	VEH_EXT_DOOR_DSIDE_R = 1,
--- 	VEH_EXT_DOOR_PSIDE_F = 2,
--- 	VEH_EXT_DOOR_PSIDE_R = 3,
--- 	VEH_EXT_BONNET = 4,
--- 	VEH_EXT_BOOT = 5,
--- 	// 0x872E72B8 = 0xFFFFFFFF,
--- }
--- 
---@param vehicle any
---@param doorIndex any
---@param closeInstantly boolean
---@return any
function SetVehicleDoorShut(vehicle, doorIndex, closeInstantly)
end

--- PRELOAD_VEHICLE_MOD
---
---@param p0 any
---@param modType any
---@param p2 any
---@return any
function PreloadVehicleMod(p0, modType, p2)
end

--- SET_VEHICLE_CAN_BREAK
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleCanBreak(vehicle, toggle)
end

--- DELETE_SCRIPT_VEHICLE_GENERATOR
---
---@param vehicleGenerator any
---@return any
function DeleteScriptVehicleGenerator(vehicleGenerator)
end

--- _DISABLE_VEHICLE_NEON_LIGHTS
---
---@param vehicle any
---@param toggle boolean
---@return any
function DisableVehicleNeonLights(vehicle, toggle)
end

--- _GET_IS_VEHICLE_SHUNT_BOOST_ACTIVE
---
--- NativeDB Introduced: v1604
--- 
---@param vehicle any
---@return boolean
function GetIsVehicleShuntBoostActive(vehicle)
end

--- GET_VEHICLE_MOD_COLOR_2
---
---@param vehicle any
---@param paintType any
---@param color any
---@return any
function GetVehicleModColor2(vehicle, paintType, color)
end

--- SET_VEHICLE_HAS_STRONG_AXLES
---
--- if true, axles won't bend.  
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleHasStrongAxles(vehicle, toggle)
end

--- ARE_PLANE_PROPELLERS_INTACT
---
---@param plane any
---@return boolean
function ArePlanePropellersIntact(plane)
end

--- _GET_DRIFT_TYRES_ENABLED
---
--- NativeDB Introduced: v2372
--- 
---@param vehicle any
---@return boolean
function GetDriftTyresEnabled(vehicle)
end

--- GET_HELI_TAIL_ROTOR_HEALTH
---
--- Max 1000.  
--- At 0 the tail rotor will stall.  
--- 
---@param vehicle any
---@return number
function GetHeliTailRotorHealth(vehicle)
end

--- SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME
---
---@param multiplier number
---@return any
function SetRandomVehicleDensityMultiplierThisFrame(multiplier)
end

--- SET_VEHICLE_HAS_UNBREAKABLE_LIGHTS
---
---@param vehicle any
---@param p1 boolean
---@return any
function SetVehicleHasUnbreakableLights(vehicle, p1)
end

--- SET_VEHICLE_RUDDER_BROKEN
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleRudderBroken(vehicle, toggle)
end

--- _SET_VEHICLE_TURRET_UNK
---
--- Toggles specific flag on turret
--- 
--- 
--- 
--- NativeDB Introduced: v1290
--- 
---@param vehicle any
---@param index any
---@param toggle boolean
---@return any
function SetVehicleTurretUnk(vehicle, index, toggle)
end

--- GET_VEHICLE_CLASS
---
--- Returns an int  
--- Vehicle Classes:  
--- 0: Compacts  
--- 1: Sedans  
--- 2: SUVs  
--- 3: Coupes  
--- 4: Muscle  
--- 5: Sports Classics  
--- 6: Sports  
--- 7: Super  
--- 8: Motorcycles  
--- 9: Off-road  
--- 10: Industrial  
--- 11: Utility  
--- 12: Vans  
--- 13: Cycles  
--- 14: Boats  
--- 15: Helicopters  
--- 16: Planes  
--- 17: Service  
--- 18: Emergency  
--- 19: Military  
--- 20: Commercial  
--- 21: Trains  
--- 22: Open Wheel
--- char buffer[128];  
--- std::sprintf(buffer, "VEH_CLASS_%i", VEHICLE::GET_VEHICLE_CLASS(vehicle));  
--- char* className = UI::_GET_LABEL_TEXT(buffer);  
--- 
---@param vehicle any
---@return any
function GetVehicleClass(vehicle)
end

--- GET_VEHICLE_MAX_BRAKING
---
---@param vehicle any
---@return number
function GetVehicleMaxBraking(vehicle)
end

--- START_PLAYBACK_RECORDED_VEHICLE
---p3 is some flag related to 'trailers' (invokes CVehicle::GetTrailer).
--- 
--- See [REQUEST_VEHICLE_RECORDING](#\_0xAF514CABE74CBF15).
---@param vehicle any
---@param recording any
---@param script any
---@param p3 boolean
---@return any
function StartPlaybackRecordedVehicle(vehicle, recording, script, p3)
end

--- REMOVE_VEHICLE_MOD
---
---@param vehicle any
---@param modType any
---@return any
function RemoveVehicleMod(vehicle, modType)
end

--- SET_FAR_DRAW_VEHICLES
---
---@param toggle boolean
---@return any
function SetFarDrawVehicles(toggle)
end

--- _SET_HYDRAULIC_WHEEL_VALUE
---
--- Works only on vehicles that support hydraulic.
--- 
---@param vehicle any
---@param wheelId any
---@param value number
---@return any
function SetHydraulicWheelValue(vehicle, wheelId, value)
end

--- SET_VEHICLE_EXTRA_COLOURS
---
--- They use the same color indexs as SET_VEHICLE_COLOURS.  
--- 
---@param vehicle any
---@param pearlescentColor any
---@param wheelColor any
---@return any
function SetVehicleExtraColours(vehicle, pearlescentColor, wheelColor)
end

--- SET_VEHICLE_TYRE_SMOKE_COLOR
---
--- Sets the tire smoke's color of this vehicle.  
--- vehicle: The vehicle that is the target of this method.  
--- r: The red level in the RGB color code.  
--- g: The green level in the RGB color code.  
--- b: The blue level in the RGB color code.  
--- Note:  
--- setting r,g,b to 0 will give the car independance day tyre smoke  
--- 
---@param vehicle any
---@param r any
---@param g any
---@param b any
---@return any
function SetVehicleTyreSmokeColor(vehicle, r, g, b)
end

--- _ARE_HELI_STUB_WINGS_DEPLOYED
---Only used with the "akula" in the decompiled native scripts.
--- 
--- 
--- NativeDB Introduced: v1290
--- 
---@param vehicle any
---@return boolean
function AreHeliStubWingsDeployed(vehicle)
end

--- GET_NUM_VEHICLE_WINDOW_TINTS
---
---@return any
function GetNumVehicleWindowTints()
end

--- _GET_VEHICLE_ROOF_LIVERY_COUNT
---Returns a number of available rooftop liveries, or -1 if vehicle has no rooftop liveries available.
---@param vehicle any
---@return any
function GetVehicleRoofLiveryCount(vehicle)
end

--- POP_OUT_VEHICLE_WINDSCREEN
---Detaches the vehicle's windscreen.
---@param vehicle any
---@return any
function PopOutVehicleWindscreen(vehicle)
end

--- REMOVE_VEHICLE_STUCK_CHECK
---
---@param vehicle any
---@return any
function RemoveVehicleStuckCheck(vehicle)
end

--- SET_PICKUP_ROPE_LENGTH_FOR_CARGOBOB
---
--- min: 1.9f, max: 100.0f
--- 
---@param cargobob any
---@param length1 number
---@param length2 number
---@param state boolean
---@return any
function SetPickupRopeLengthForCargobob(cargobob, length1, length2, state)
end

--- SET_VEHICLE_FLIGHT_NOZZLE_POSITION
---
---@param vehicle any
---@param angleRatio number
---@return any
function SetVehicleFlightNozzlePosition(vehicle, angleRatio)
end

--- _DOES_VEHICLE_HAVE_LANDING_GEAR
---
--- NativeDB Introduced: v1180
--- 
---@param vehicle any
---@return boolean
function DoesVehicleHaveLandingGear(vehicle)
end

--- _SET_VEHICLE_NEON_LIGHTS_COLOUR
---Sets the color of the neon lights on the specified vehicle.
--- 
--- RGB values and colour names taken from the decompiled scripts:
--- 
--- | Colour         |  R  |  G  |  B  |
--- |---------------|:---:|:---:|:---:|
--- | White         | 222 | 222 | 255 |
--- | Blue          | 2   | 21  | 255 |
--- | Electric Blue | 3   | 83  | 255 |
--- | Mint Green    | 0   | 255 | 140 |
--- | Lime Green    | 94  | 255 | 1   |
--- | Yellow        | 255 | 255 | 0   |
--- | Golden Shower | 255 | 150 | 0   |
--- | Orange        | 255 | 62  | 0   |
--- | Red           | 255 | 1   | 1   |
--- | Pony Pink     | 255 | 50  | 100 |
--- | Hot Pink      | 255 | 5   | 190 |
--- | Purple        | 35  | 1   | 255 |
--- | Blacklight    | 15  | 3   | 255 |
---@param vehicle any
---@param r any
---@param g any
---@param b any
---@return any
function SetVehicleNeonLightsColour(vehicle, r, g, b)
end

--- TRANSFORM_TO_CAR
---Transforms the stormberg to its "road vehicle" variant. If the vehicle is already in that state then the vehicle transformation audio will still play, but the vehicle won't change at all.
---@param vehicle any
---@param instantly boolean
---@return any
function TransformToCar(vehicle, instantly)
end

--- _IS_VEHICLE_BEING_HALTED
---
--- Returns true if vehicle is halted by BRING_VEHICLE_TO_HALT
--- _IS_VEHICLE_*
--- 
--- 
--- 
--- NativeDB Introduced: v1493
--- 
---@param vehicle any
---@return boolean
function IsVehicleBeingHalted(vehicle)
end

--- SET_PARKED_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME
---
---@param multiplier number
---@return any
function SetParkedVehicleDensityMultiplierThisFrame(multiplier)
end

--- _ARE_BOMB_BAY_DOORS_OPEN
---Returns true when the bomb bay doors of this plane are open. False if they're closed.
---@param aircraft any
---@return boolean
function AreBombBayDoorsOpen(aircraft)
end

--- CLEAR_VEHICLE_CUSTOM_PRIMARY_COLOUR
---
---@param vehicle any
---@return any
function ClearVehicleCustomPrimaryColour(vehicle)
end

--- GET_LANDING_GEAR_STATE
---
--- Landing gear states:  
--- 0: Deployed  
--- 1: Closing (Retracting)
--- 3: Opening (Deploying)
--- 4: Retracted  
--- 5: Broken
--- 
--- 
--- Landing gear state 2 is never used.
---@param vehicle any
---@return any
function GetLandingGearState(vehicle)
end

--- SET_VEHICLE_WHEELS_CAN_BREAK
---
---@param vehicle any
---@param enabled boolean
---@return any
function SetVehicleWheelsCanBreak(vehicle, enabled)
end

--- SET_TRAIN_SPEED
---
---@param train any
---@param speed number
---@return any
function SetTrainSpeed(train, speed)
end

--- SET_VEHICLE_INTERIORLIGHT
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleInteriorlight(vehicle, toggle)
end

--- SET_VEHICLE_TIMED_EXPLOSION
---
---@param vehicle any
---@param ped number
---@param toggle boolean
---@return any
function SetVehicleTimedExplosion(vehicle, ped, toggle)
end

--- REQUEST_VEHICLE_ASSET
---
--- REQUEST_VEHICLE_ASSET(GET_HASH_KEY(cargobob3), 3);  
--- vehicle found that have asset's:  
--- cargobob3  
--- submersible  
--- blazer  
--- 
---@param vehicleHash any
---@param vehicleAsset any
---@return any
function RequestVehicleAsset(vehicleHash, vehicleAsset)
end

--- SET_VEHICLE_BRAKE_LIGHTS
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleBrakeLights(vehicle, toggle)
end

--- GET_NUMBER_OF_VEHICLE_COLOURS
---
--- Actually number of color combinations  
--- 
---@param vehicle any
---@return any
function GetNumberOfVehicleColours(vehicle)
end

--- GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS
---
---@param vehicle any
---@return any
function GetVehicleMaxNumberOfPassengers(vehicle)
end

--- SET_VEHICLE_CAN_LEAK_PETROL
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleCanLeakPetrol(vehicle, toggle)
end

--- SET_VEHICLE_GRAVITY
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleGravity(vehicle, toggle)
end

--- MODIFY_VEHICLE_TOP_SPEED
---
---@param vehicle any
---@param value number
---@return any
function ModifyVehicleTopSpeed(vehicle, value)
end

--- OPEN_BOMB_BAY_DOORS
---
---@param vehicle any
---@return any
function OpenBombBayDoors(vehicle)
end

--- SET_VEHICLE_DISABLE_TOWING
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleDisableTowing(vehicle, toggle)
end

--- _SET_VEHICLE_PARACHUTE_TEXTURE_VARIATION
---
--- colorIndex = 0 - 7
--- 
---@param vehicle any
---@param textureVariation any
---@return any
function SetVehicleParachuteTextureVariation(vehicle, textureVariation)
end

--- GET_VEHICLE_ENGINE_HEALTH
---
--- Returns 1000.0 if the function is unable to get the address of the specified vehicle or if it's not a vehicle.  
--- Minimum: -4000  
--- Maximum: 1000  
--- -4000: Engine is destroyed  
--- 0 and below: Engine catches fire and health rapidly declines  
--- 300: Engine is smoking and losing functionality  
--- 1000: Engine is perfect  
--- 
---@param vehicle any
---@return number
function GetVehicleEngineHealth(vehicle)
end

--- GET_VEHICLE_FLIGHT_NOZZLE_POSITION
---
---@param aircraft any
---@return number
function GetVehicleFlightNozzlePosition(aircraft)
end

--- IS_VEHICLE_ATTACHED_TO_TRAILER
---
---@param vehicle any
---@return boolean
function IsVehicleAttachedToTrailer(vehicle)
end

--- _SET_VEHICLE_NEON_LIGHT_ENABLED
---
--- Sets the neon lights of the specified vehicle on/off.  
--- Indices:  
--- 0 = Left  
--- 1 = Right  
--- 2 = Front  
--- 3 = Back  
--- 
---@param vehicle any
---@param index any
---@param toggle boolean
---@return any
function SetVehicleNeonLightEnabled(vehicle, index, toggle)
end

--- SET_HELI_TAIL_EXPLODE_THROW_DASHBOARD
---
---@param vehicle any
---@param p1 boolean
---@return any
function SetHeliTailExplodeThrowDashboard(vehicle, p1)
end

--- SET_NUMBER_OF_PARKED_VEHICLES
---
---@param value any
---@return any
function SetNumberOfParkedVehicles(value)
end

--- _SET_PLANE_PROPELLERS_HEALTH
---
---@param plane any
---@param health number
---@return any
function SetPlanePropellersHealth(plane, health)
end

--- START_PLAYBACK_RECORDED_VEHICLE_WITH_FLAGS
---
--- flags requires further research, e.g., 0x4/0x8 are related to the AI driving task and 0x20 is internally set and interacts with dynamic entity components.
--- time, often zero and capped at 500, is related to SET_PLAYBACK_TO_USE_AI_TRY_TO_REVERT_BACK_LATER
--- 
---@param vehicle any
---@param recording any
---@param script any
---@param flags any
---@param time any
---@param drivingStyle any
---@return any
function StartPlaybackRecordedVehicleWithFlags(vehicle, recording, script, flags, time, drivingStyle)
end

--- CLEAR_VEHICLE_ROUTE_HISTORY
---
---@param vehicle any
---@return any
function ClearVehicleRouteHistory(vehicle)
end

--- GET_VEHICLE_MODEL_MAX_BRAKING_MAX_MODS
---
---@param modelHash any
---@return number
function GetVehicleModelMaxBrakingMaxMods(modelHash)
end

--- IS_PLANE_LANDING_GEAR_INTACT
---
---@param plane any
---@return boolean
function IsPlaneLandingGearIntact(plane)
end

--- SET_VEHICLE_DOOR_BROKEN
---See eDoorId declared in [SET_VEHICLE_DOOR_SHUT](#\_0x93D9BD300D7789E5)
---@param vehicle any
---@param doorIndex any
---@param deleteDoor boolean
---@return any
function SetVehicleDoorBroken(vehicle, doorIndex, deleteDoor)
end

--- SET_VEHICLE_DOORS_SHUT
---
--- Closes all doors of a vehicle:  
--- 
---@param vehicle any
---@param closeInstantly boolean
---@return any
function SetVehicleDoorsShut(vehicle, closeInstantly)
end

--- _SET_TRAILER_LEGS_LOWERED
---
--- Inverse of 0x95CF53B3D687F9FA
--- 
--- 
--- 
--- NativeDB Added Parameter 1: Vehicle vehicle
--- 
---@return any
function SetTrailerLegsLowered()
end

--- SET_VEHICLE_FRICTION_OVERRIDE
---
--- Seems to be related to the metal parts, not tyres (like i was expecting lol)  
--- Must be called every tick.  
--- 
---@param vehicle any
---@param friction number
---@return any
function SetVehicleFrictionOverride(vehicle, friction)
end

--- SET_VEHICLE_KERS_ALLOWED
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleKersAllowed(vehicle, toggle)
end

--- _SET_VEHICLE_WHEELS_DEAL_DAMAGE
---
--- Related to monster trucks in native scripts.
--- 
--- 
--- 
--- NativeDB Introduced: v1604
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleWheelsDealDamage(vehicle, toggle)
end

--- SET_BOAT_DISABLE_AVOIDANCE
---
---@param vehicle any
---@param p1 boolean
---@return any
function SetBoatDisableAvoidance(vehicle, p1)
end

--- SET_MISSION_TRAIN_COORDS
---
---@param train any
---@param x number
---@param y number
---@param z number
---@return any
function SetMissionTrainCoords(train, x, y, z)
end

--- SET_VEHICLE_CAN_SAVE_IN_GARAGE
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleCanSaveInGarage(vehicle, toggle)
end

--- SET_VEHICLE_ENGINE_ON
---Starts or stops the engine on the specified vehicle.
--- From what I've tested when I do this to a helicopter the propellers turn off after the engine has started.
---@param vehicle any
---@param value boolean
---@param instantly boolean
---@param disableAutoStart boolean
---@return any
function SetVehicleEngineOn(vehicle, value, instantly, disableAutoStart)
end

--- TOGGLE_VEHICLE_MOD
---
---@param vehicle any
---@param modType any
---@param toggle boolean
---@return any
function ToggleVehicleMod(vehicle, modType, toggle)
end

--- REMOVE_VEHICLE_UPSIDEDOWN_CHECK
---
---@param vehicle any
---@return any
function RemoveVehicleUpsidedownCheck(vehicle)
end

--- _IS_VEHICLE_NEON_LIGHT_ENABLED
---
--- indices:  
--- 0 = Left  
--- 1 = Right  
--- 2 = Front  
--- 3 = Back  
--- 
---@param vehicle any
---@param index any
---@return boolean
function IsVehicleNeonLightEnabled(vehicle, index)
end

--- SET_VEHICLE_DOORS_LOCKED_FOR_TEAM
---
---@param vehicle any
---@param team any
---@param toggle boolean
---@return any
function SetVehicleDoorsLockedForTeam(vehicle, team, toggle)
end

--- GET_VEHICLE_DIRT_LEVEL
---A getter for [SET_VEHICLE_DIRT_LEVEL](#\_0x79D3B596FE44EE8B).
---@param vehicle any
---@return number
function GetVehicleDirtLevel(vehicle)
end

--- _GET_VEHICLE_CURRENT_SLIPSTREAM_DRAFT
---
--- Returns a float value between 0.0 and 3.0 related to its slipstream draft (boost/speedup).
--- GET_VEHICLE_*
--- 
---@param vehicle any
---@return number
function GetVehicleCurrentSlipstreamDraft(vehicle)
end

--- GET_VEHICLE_LIVERY
---
--- -1 = no livery  
--- 
---@param vehicle any
---@return any
function GetVehicleLivery(vehicle)
end

--- IS_VEHICLE_VISIBLE
---
---@param vehicle any
---@return boolean
function IsVehicleVisible(vehicle)
end

--- SET_DISTANT_CARS_ENABLED
---
--- Toggles to render distant vehicles. They may not be vehicles but images to look like vehicles.  
--- 
---@param toggle boolean
---@return any
function SetDistantCarsEnabled(toggle)
end

--- _GET_DOES_VEHICLE_HAVE_TOMBSTONE
---
--- NativeDB Introduced: v1604
--- 
---@param vehicle any
---@return boolean
function GetDoesVehicleHaveTombstone(vehicle)
end

--- GET_IS_VEHICLE_SECONDARY_COLOUR_CUSTOM
---
--- Check if Vehicle Secondary is avaliable for customize  
--- 
---@param vehicle any
---@return boolean
function GetIsVehicleSecondaryColourCustom(vehicle)
end

--- _GET_SUBMARINE_CRUSH_DEPTH_WARNING_STATE
---
--- NativeDB Introduced: v2189
--- 
---@param submarine any
---@return any
function GetSubmarineCrushDepthWarningState(submarine)
end

--- _SET_UNK_BOOL_0x102_FOR_SUBMARINE_VEHICLE_TASK
---
--- NativeDB Introduced: v1365
--- 
---@param vehicle any
---@param value boolean
---@return any
function SetUnkBool0X102ForSubmarineVehicleTask(vehicle, value)
end

--- _CAN_ANCHOR_BOAT_HERE_2
---
--- Differs from 0x26C10ECBDA5D043B in that 0x140EFCC10 (1604 retail) is called with a2 = true.
--- 
--- NativeDB Introduced: v678
--- 
---@param vehicle any
---@return boolean
function CanAnchorBoatHere2(vehicle)
end

--- SET_TRAIN_TRACK_SPAWN_FREQUENCY
---
--- Only called once inside main_persitant with the parameters, 0  
--- 
---@param trackIndex any
---@param frequency any
---@return any
function SetTrainTrackSpawnFrequency(trackIndex, frequency)
end

--- SET_VEHICLE_DOORS_LOCKED_FOR_ALL_PLAYERS
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleDoorsLockedForAllPlayers(vehicle, toggle)
end

--- SET_VEHICLE_ENVEFF_SCALE
---Examples with a besra:
--- 
--- *   [fade value 0.0](https://i.imgur.com/DXNk63e.jpg)
--- *   [fade value 0.5](https://i.imgur.com/2Vb35fq.jpg)
--- *   [fade value 1.0](https://i.imgur.com/aa8cxaD.jpg)
--- 
--- The parameter fade is a value from 0-1, where 0 is fresh paint.
---@param vehicle any
---@param fade number
---@return any
function SetVehicleEnveffScale(vehicle, fade)
end

--- COPY_VEHICLE_DAMAGES
---Copies sourceVehicle's damage (broken bumpers, broken lights, etc.) to targetVehicle.
---@param sourceVehicle any
---@param targetVehicle any
---@return any
function CopyVehicleDamages(sourceVehicle, targetVehicle)
end

--- _GET_BOAT_BOOM_POSITION_RATIO_2
---
--- Same call as VEHICLE::_0x0F3B4D4E43177236
--- 
---@param vehicle any
---@param p1 boolean
---@return any
function GetBoatBoomPositionRatio2(vehicle, p1)
end

--- SET_PLAYBACK_TO_USE_AI
---Identical to SET_PLAYBACK_TO_USE_AI_TRY_TO_REVERT_BACK_LATER with 0 as arguments for p1 and p3.
---@param vehicle any
---@param drivingStyle any
---@return any
function SetPlaybackToUseAi(vehicle, drivingStyle)
end

--- _IS_THIS_MODEL_AN_AMPHIBIOUS_QUADBIKE
---
---@param model any
---@return boolean
function IsThisModelAnAmphibiousQuadbike(model)
end

--- ROLL_UP_WINDOW
---See eWindowId declared in [IS_VEHICLE_WINDOW_INTACT](#\_0x46E571A0E20D01F1).
---@param vehicle any
---@param windowIndex any
---@return any
function RollUpWindow(vehicle, windowIndex)
end

--- _SET_CAMBERED_WHEELS_DISABLED
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetCamberedWheelsDisabled(vehicle, toggle)
end

--- GET_VEHICLE_MAX_TRACTION
---
---@param vehicle any
---@return number
function GetVehicleMaxTraction(vehicle)
end

--- _GET_VEHICLE_SUSPENSION_BOUNDS
---
--- Outputs 2 Vector3's.
--- Scripts check if out2.x - out1.x > something.x
--- Could be suspension related, as in max suspension height and min suspension height, considering the natives location.
--- 
---@param vehicle any
---@param out1 any
---@param out2 any
---@return any
function GetVehicleSuspensionBounds(vehicle, out1, out2)
end

--- INSTANTLY_FILL_VEHICLE_POPULATION
---
---@return any
function InstantlyFillVehiclePopulation()
end

--- SET_VEHICLE_CEILING_HEIGHT
---
--- Previously named GET_VEHICLE_DEFORMATION_GET_TREE (hash collision)
--- from Decrypted Scripts I found
--- VEHICLE::SET_VEHICLE_CEILING_HEIGHT(l_BD9[2/*2*/], 420.0);
--- 
---@param vehicle any
---@param height number
---@return any
function SetVehicleCeilingHeight(vehicle, height)
end

--- ROLL_DOWN_WINDOW
---See eWindowId declared in [IS_VEHICLE_WINDOW_INTACT](#\_0x46E571A0E20D01F1).
---@param vehicle any
---@param windowIndex any
---@return any
function RollDownWindow(vehicle, windowIndex)
end

--- _GET_ENTITY_ATTACHED_TO_CARGOBOB
---
---@param vehicle any
---@return number
function GetEntityAttachedToCargobob(vehicle)
end

--- GET_VEHICLE_MOD
---
--- Returns -1 if the vehicle mod is stock  
--- 
---@param vehicle any
---@param modType any
---@return any
function GetVehicleMod(vehicle, modType)
end

--- _GET_VEHICLE_ROOF_LIVERY
---Returns index of the current vehicle's rooftop livery.
--- A getter for [\_SET_VEHICLE_ROOF_LIVERY](#\_0xA6D3A8750DC73270).
---@param vehicle any
---@return any
function GetVehicleRoofLivery(vehicle)
end

--- SET_VEHICLE_BODY_HEALTH
---
--- p2 often set to 1000.0 in the decompiled scripts.  
--- 
---@param vehicle any
---@param value number
---@return any
function SetVehicleBodyHealth(vehicle, value)
end

--- _SET_VEHICLE_CAN_BE_LOCKED_ON
---
--- SET_VEHICLE_AL*
--- 
---@param vehicle any
---@param canBeLockedOn boolean
---@param unk boolean
---@return any
function SetVehicleCanBeLockedOn(vehicle, canBeLockedOn, unk)
end

--- ADD_VEHICLE_PHONE_EXPLOSIVE_DEVICE
---
---@param vehicle any
---@return any
function AddVehiclePhoneExplosiveDevice(vehicle)
end

--- DISABLE_PLANE_AILERON
---
---@param vehicle any
---@param p1 boolean
---@param p2 boolean
---@return any
function DisablePlaneAileron(vehicle, p1, p2)
end

--- _SET_BOAT_IS_SINKING
---
---@param vehicle any
---@return any
function SetBoatIsSinking(vehicle)
end

--- SET_VEHICLE_WHEELS_CAN_BREAK_OFF_WHEN_BLOW_UP
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleWheelsCanBreakOffWhenBlowUp(vehicle, toggle)
end

--- SMASH_VEHICLE_WINDOW
---See eWindowId declared in [IS_VEHICLE_WINDOW_INTACT](#\_0x46E571A0E20D01F1).
---@param vehicle any
---@param windowIndex any
---@return any
function SmashVehicleWindow(vehicle, windowIndex)
end

--- GET_POSITION_OF_VEHICLE_RECORDING_AT_TIME
---This native does no interpolation between pathpoints. The same position will be returned for all times up to the next pathpoint in the recording.
--- 
--- See [REQUEST_VEHICLE_RECORDING](#\_0xAF514CABE74CBF15).
---@param recording any
---@param time number
---@param script any
---@return { x: number, y: number, z: number }
function GetPositionOfVehicleRecordingAtTime(recording, time, script)
end

--- HAS_VEHICLE_RECORDING_BEEN_LOADED
---
---@param recording any
---@param script any
---@return boolean
function HasVehicleRecordingBeenLoaded(recording, script)
end

--- IS_VEHICLE_IN_SUBMARINE_MODE
---
--- NativeDB Introduced: v1290
--- 
---@param vehicle any
---@return boolean
function IsVehicleInSubmarineMode(vehicle)
end

--- _GET_VEHICLE_XENON_LIGHTS_COLOR
---Returns the headlight color index from the vehicle. Value between 0, 12.
--- Use [\_SET_VEHICLE_HEADLIGHTS_COLOUR](#\_0xE41033B25D003A07) to set the headlights color for the vehicle.
--- Must enable xenon headlights before it'll take affect.
--- 
--- List of colors and ids:
--- 
--- 
--- enum headlightColors {
---     Default = -1,
---     White = 0,
---     Blue = 1,
---     Electric_Blue = 2,
---     Mint_Green = 3,
---     Lime_Green = 4,
---     Yellow = 5,
---     Golden_Shower = 6,
---     Orange = 7,
---     Red = 8,
---     Pony_Pink = 9,
---     Hot_Pink = 10,
---     Purple = 11,
---     Blacklight = 12
--- }
--- 
---@param vehicle any
---@return any
function GetVehicleXenonLightsColor(vehicle)
end

--- IS_THIS_MODEL_A_BOAT
---
---@param model any
---@return boolean
function IsThisModelABoat(model)
end

--- SET_CAN_RESPRAY_VEHICLE
---
--- Hardcoded to not work in multiplayer.  
--- 
---@param vehicle any
---@param state boolean
---@return any
function SetCanResprayVehicle(vehicle, state)
end

--- SET_TRAILER_INVERSE_MASS_SCALE
---
---@param vehicle any
---@param p1 number
---@return any
function SetTrailerInverseMassScale(vehicle, p1)
end

--- BRING_VEHICLE_TO_HALT
---
--- This native makes the vehicle stop immediately, as happens when we enter a MP garage.  
--- . distance defines how far it will travel until stopping. Garage doors use 3.0.  
--- . If killEngine is set to 1, you cannot resume driving the vehicle once it stops. This looks like is a bitmapped integer.  
--- 
---@param vehicle any
---@param distance number
---@param duration any
---@param unknown boolean
---@return any
function BringVehicleToHalt(vehicle, distance, duration, unknown)
end

--- GET_IS_LEFT_VEHICLE_HEADLIGHT_DAMAGED
---
--- From the driver's perspective, is the left headlight broken.  
--- 
---@param vehicle any
---@return boolean
function GetIsLeftVehicleHeadlightDamaged(vehicle)
end

--- _GET_VEHICLE_BOMB_COUNT
---Gets the amount of bombs that this vehicle has. As far as I know, this does *not* impact vehicle weapons or the ammo of those weapons in any way, it is just a way to keep track of the amount of bombs in a specific plane.
--- 
--- In decompiled scripts this is used to check if the vehicle has enough bombs before a bomb can be dropped (bombs are dropped by using [_SHOOT_SINGLE_BULLET_BETWEEN_COORDS_WITH_EXTRA_PARAMS](#\_0xBFE5756E7407064A)).
--- 
--- Use [_SET_AIRCRAFT_BOMB_COUNT](#\_0xF4B2ED59DEB5D774) to set the amount of bombs on that vehicle.
---@param aircraft any
---@return any
function GetVehicleBombCount(aircraft)
end

--- SET_VEHICLE_CHEAT_POWER_INCREASE
---
--- <1.0 - Decreased torque
--- =1.0 - Default torque
--- >1.0 - Increased torque
--- Negative values will cause the vehicle to go backwards instead of forwards while accelerating.
--- value - is between 0.2 and 1.8 in the decompiled scripts.
--- This needs to be called every frame to take effect.
--- 
---@param vehicle any
---@param value number
---@return any
function SetVehicleCheatPowerIncrease(vehicle, value)
end

--- GET_MOD_TEXT_LABEL
---
--- Returns the text label of a mod type for a given vehicle  
--- Use _GET_LABEL_TEXT to get the part name in the game's language  
--- 
---@param vehicle any
---@param modType any
---@param modValue any
---@return any
function GetModTextLabel(vehicle, modType, modValue)
end

--- GET_NUM_MOD_KITS
---
---@param vehicle any
---@return any
function GetNumModKits(vehicle)
end

--- GET_VEHICLE_CLASS_MAX_BRAKING
---
---@param vehicleClass any
---@return number
function GetVehicleClassMaxBraking(vehicleClass)
end

--- IS_VEHICLE_IN_BURNOUT
---
--- Returns whether the specified vehicle is currently in a burnout.  
--- vb.net  
--- Public Function isVehicleInBurnout(vh As Vehicle) As Boolean  
---         Return Native.Function.Call(Of Boolean)(Hash.IS_VEHICLE_IN_BURNOUT, vh)  
---     End Function  
--- 
---@param vehicle any
---@return boolean
function IsVehicleInBurnout(vehicle)
end

--- ATTACH_VEHICLE_ON_TO_TRAILER
---
---@param vehicle any
---@param trailer any
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@param coordsX number
---@param coordsY number
---@param coordsZ number
---@param rotationX number
---@param rotationY number
---@param rotationZ number
---@param disableColls number
---@return any
function AttachVehicleOnToTrailer(vehicle, trailer, offsetX, offsetY, offsetZ, coordsX, coordsY, coordsZ, rotationX, rotationY, rotationZ, disableColls)
end

--- DOES_CARGOBOB_HAVE_PICK_UP_ROPE
---
--- Returns true only when the hook is active, will return false if the magnet is active  
--- 
---@param cargobob any
---@return boolean
function DoesCargobobHavePickUpRope(cargobob)
end

--- _GET_IS_DOOR_VALID
---See eDoorId declared in [SET_VEHICLE_DOOR_SHUT](#\_0x93D9BD300D7789E5)
---@param vehicle any
---@param doorIndex any
---@return boolean
function GetIsDoorValid(vehicle, doorIndex)
end

--- SET_MISSION_TRAIN_AS_NO_LONGER_NEEDED
---
--- p1 is always 0  
--- 
---@param train any
---@param p1 boolean
---@return any
function SetMissionTrainAsNoLongerNeeded(train, p1)
end

--- SET_VEHICLE_STEER_BIAS
---
--- Locks the vehicle's steering to the desired angle, explained below.  
--- Requires to be called onTick. Steering is unlocked the moment the function stops being called on the vehicle.  
--- Steer bias:  
--- -1.0 = full right  
--- 0.0 = centered steering  
--- 1.0 = full left  
--- 
---@param vehicle any
---@param value number
---@return any
function SetVehicleSteerBias(vehicle, value)
end

--- GET_VEHICLE_IS_MERCENARY
---
--- Only used like this:  
--- if (VEHICLE::GET_VEHICLE_IS_MERCENARY(ENTITY::GET_VEHICLE_INDEX_FROM_ENTITY_INDEX(v_3))) {                                                        sub_157e9c(g_40001._f1868, 0);  
--- }  
--- 
---@param vehicle any
---@return boolean
function GetVehicleIsMercenary(vehicle)
end

--- IS_VEHICLE_BUMPER_BROKEN_OFF
---
---@param vehicle any
---@param front boolean
---@return boolean
function IsVehicleBumperBrokenOff(vehicle, front)
end

--- SET_VEHICLE_HANDBRAKE
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleHandbrake(vehicle, toggle)
end

--- IS_VEHICLE_ATTACHED_TO_CARGOBOB
---
---@param cargobob any
---@param vehicleAttached any
---@return boolean
function IsVehicleAttachedToCargobob(cargobob, vehicleAttached)
end

--- IS_VEHICLE_STOPPED_AT_TRAFFIC_LIGHTS
---
--- Is this for red lights only?  more testing required.
--- 
---@param vehicle any
---@return boolean
function IsVehicleStoppedAtTrafficLights(vehicle)
end

--- DETACH_CONTAINER_FROM_HANDLER_FRAME
---
---@param vehicle any
---@return any
function DetachContainerFromHandlerFrame(vehicle)
end

--- HAS_VEHICLE_ASSET_LOADED
---
---@param vehicleAsset any
---@return boolean
function HasVehicleAssetLoaded(vehicleAsset)
end

--- IS_TAXI_LIGHT_ON
---
---@param vehicle any
---@return boolean
function IsTaxiLightOn(vehicle)
end

--- SET_VEHICLE_ALLOW_NO_PASSENGERS_LOCKON
---
--- Makes the vehicle accept no passengers.  
--- 
---@param veh any
---@param toggle boolean
---@return any
function SetVehicleAllowNoPassengersLockon(veh, toggle)
end

--- SET_DISABLE_RANDOM_TRAINS_THIS_FRAME
---
---@param toggle boolean
---@return any
function SetDisableRandomTrainsThisFrame(toggle)
end

--- _SET_TYRE_SOFTNESS_MULTIPLIER
---
--- Controls how fast the tires wear out.
--- Default values from Rockstar's Open Wheel Race JSON's:
--- "owrtss" (Soft): 2.2
--- "owrtsm" (Medium): 1.7
--- "owrtsh" (Hard): 1.2
--- Usable wheels:
--- 0: wheel_lf
--- 1: wheel_rf
--- 2: wheel_lm1
--- 3: wheel_rm1
--- 4: wheel_lr
--- 5: wheel_rr
--- 
--- 
--- 
--- NativeDB Introduced: v2060
--- 
---@param vehicle any
---@param wheelIndex any
---@param multiplier number
---@return any
function SetTyreSoftnessMultiplier(vehicle, wheelIndex, multiplier)
end

--- _GET_HYDRAULIC_WHEEL_VALUE
---
--- NativeDB Introduced: v2372
--- 
---@param vehicle any
---@param wheelId any
---@return number
function GetHydraulicWheelValue(vehicle, wheelId)
end

--- _SET_VEHICLE_DAMAGE_MODIFIER
---
--- SET_VEHICLE_D*
--- 
---@param vehicle any
---@param p1 number
---@return any
function SetVehicleDamageModifier(vehicle, p1)
end

--- _SET_VEHICLE_DOORS_LOCKED_FOR_UNK
---
--- NativeDB Introduced: v1365
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleDoorsLockedForUnk(vehicle, toggle)
end

--- GET_VEHICLE_LIVERY_COUNT
---
--- Returns -1 if the vehicle has no livery  
--- 
---@param vehicle any
---@return any
function GetVehicleLiveryCount(vehicle)
end

--- SET_PLAYERS_LAST_VEHICLE
---
---@param vehicle any
---@return any
function SetPlayersLastVehicle(vehicle)
end

--- SET_VEHICLE_NUMBER_PLATE_TEXT_INDEX
---
--- Plates:
--- Blue/White - 0
--- Yellow/black - 1
--- Yellow/Blue - 2
--- Blue/White2 - 3
--- Blue/White3 - 4
--- Yankton - 5
--- 
---@param vehicle any
---@param plateIndex any
---@return any
function SetVehicleNumberPlateTextIndex(vehicle, plateIndex)
end

--- _SET_VEHICLE_SILENT
---
--- If set to TRUE, it seems to suppress door noises and doesn't allow the horn to be continuous.  
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleSilent(vehicle, toggle)
end

--- GET_VEHICLE_CAUSE_OF_DESTRUCTION
---
--- iVar3 = get_vehicle_cause_of_destruction(uLocal_248[iVar2]);  
--- if (iVar3 == joaat("weapon_stickybomb"))  
--- {  
---      func_171(726);  
---      iLocal_260 = 1;  
--- }  
--- 
---@param vehicle any
---@return any
function GetVehicleCauseOfDestruction(vehicle)
end

--- IS_ANY_ENTITY_ATTACHED_TO_HANDLER_FRAME
---
---@param vehicle any
---@return boolean
function IsAnyEntityAttachedToHandlerFrame(vehicle)
end

--- IS_THIS_MODEL_A_QUADBIKE
---
---@param model any
---@return boolean
function IsThisModelAQuadbike(model)
end

--- IS_PLAYBACK_GOING_ON_FOR_VEHICLE
---
---@param vehicle any
---@return boolean
function IsPlaybackGoingOnForVehicle(vehicle)
end

--- SET_VEHICLE_IS_WANTED
---
--- Sets the wanted state of this vehicle.  
--- 
---@param vehicle any
---@param state boolean
---@return any
function SetVehicleIsWanted(vehicle, state)
end

--- GET_NUMBER_OF_VEHICLE_NUMBER_PLATES
---
--- Returns the number of *types* of licence plates, enumerated below in SET_VEHICLE_NUMBER_PLATE_TEXT_INDEX.  
--- 
---@return any
function GetNumberOfVehicleNumberPlates()
end

--- _GET_VEHICLE_MODEL_ESTIMATED_AGILITY
---
--- GET_VEHICLE_MODEL_*
--- 9.8 * thrust if air vehicle, else 0.38 + drive force?
--- 
---@param modelHash any
---@return number
function GetVehicleModelEstimatedAgility(modelHash)
end

--- IS_VEHICLE_SIREN_AUDIO_ON
---
---@param vehicle any
---@return boolean
function IsVehicleSirenAudioOn(vehicle)
end

--- _SET_VEHICLE_DOOR_CAN_BREAK
---See eDoorId declared in [SET_VEHICLE_DOOR_SHUT](#\_0x93D9BD300D7789E5)
---@param vehicle any
---@param doorIndex any
---@param isBreakable boolean
---@return any
function SetVehicleDoorCanBreak(vehicle, doorIndex, isBreakable)
end

--- SET_VEHICLE_ENGINE_CAN_DEGRADE
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleEngineCanDegrade(vehicle, toggle)
end

--- _SET_VEHICLE_LIGHTS_MODE
---
--- p1 can be either 0, 1 or 2.  
--- Determines how vehicle lights behave when toggled.  
--- 0 = Default (Lights can be toggled between off, normal and high beams)  
--- 1 = Lights Disabled (Lights are fully disabled, cannot be toggled)  
--- 2 = Always On (Lights can be toggled between normal and high beams)  
--- 
---@param vehicle any
---@param p1 any
---@return any
function SetVehicleLightsMode(vehicle, p1)
end

--- _SET_VEHICLE_RECEIVES_RAMP_DAMAGE
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleReceivesRampDamage(vehicle, toggle)
end

--- DOES_CARGOBOB_HAVE_PICKUP_MAGNET
---
--- Returns true only when the magnet is active, will return false if the hook is active  
--- 
---@param cargobob any
---@return boolean
function DoesCargobobHavePickupMagnet(cargobob)
end

--- GET_BOAT_BOOM_POSITION_RATIO
---
---@param vehicle any
---@return number
function GetBoatBoomPositionRatio(vehicle)
end

--- _SET_OPPRESSOR_TRANSFORM_STATE
---Set state to true to extend the wings, false to retract them.
---@param vehicle any
---@param extend boolean
---@return any
function SetOppressorTransformState(vehicle, extend)
end

--- _SET_HYDRAULIC_RAISED
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetHydraulicRaised(vehicle, toggle)
end

--- FORCE_PLAYBACK_RECORDED_VEHICLE_UPDATE
---
--- Often called after START_PLAYBACK_RECORDED_VEHICLE and SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE; similar in use to FORCE_ENTITY_AI_AND_ANIMATION_UPDATE.
--- 
---@param vehicle any
---@param p1 boolean
---@return any
function ForcePlaybackRecordedVehicleUpdate(vehicle, p1)
end

--- _GET_SUBMARINE_IS_BELOW_FIRST_CRUSH_DEPTH
---
--- NativeDB Introduced: v2189
--- 
---@param submarine any
---@return boolean
function GetSubmarineIsBelowFirstCrushDepth(submarine)
end

--- _IS_VEHICLE_SLIPSTREAM_LEADER
---
---@param vehicle any
---@return boolean
function IsVehicleSlipstreamLeader(vehicle)
end

--- GET_VEHICLE_DOOR_LOCK_STATUS
---
--- enum VehicleLockStatus = {
---     None = 0,
---     Unlocked = 1,
---     Locked = 2,
---     LockedForPlayer = 3,
---     StickPlayerInside = 4, -- Doesn't allow players to exit the vehicle with the exit vehicle key.
---     CanBeBrokenInto = 7, -- Can be broken into the car. If the glass is broken, the value will be set to 1
---     CanBeBrokenIntoPersist = 8, -- Can be broken into persist
---     CannotBeTriedToEnter = 10, -- Cannot be tried to enter (Nothing happens when you press the vehicle enter key).
--- }
--- 
---@param vehicle any
---@return any
function GetVehicleDoorLockStatus(vehicle)
end

--- _SET_HELICOPTER_ROLL_PITCH_YAW_MULT
---
--- value between 0.0 and 1.0  
--- 
---@param helicopter any
---@param multiplier number
---@return any
function SetHelicopterRollPitchYawMult(helicopter, multiplier)
end

--- _SET_VEHICLE_HOVER_TRANSFORM_ACTIVE
---
--- NativeDB Introduced: v1290
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleHoverTransformActive(vehicle, toggle)
end

--- SET_VEHICLE_REDUCE_GRIP
---
--- Reduces grip significantly so it's hard to go anywhere.  
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleReduceGrip(vehicle, toggle)
end

--- SET_VEHICLE_TYRE_BURST
---
--- "To burst tyres VEHICLE::SET_VEHICLE_TYRE_BURST(vehicle, 0, true, 1000.0)  
--- to burst all tyres type it 8 times where p1 = 0 to 7.  
--- p3 seems to be how much damage it has taken. 0 doesn't deflate them, 1000 completely deflates them.  
--- '0 = wheel_lf / bike, plane or jet front  
--- '1 = wheel_rf  
--- '2 = wheel_lm / in 6 wheels trailer, plane or jet is first one on left  
--- '3 = wheel_rm / in 6 wheels trailer, plane or jet is first one on right  
--- '4 = wheel_lr / bike rear / in 6 wheels trailer, plane or jet is last one on left  
--- '5 = wheel_rr / in 6 wheels trailer, plane or jet is last one on right  
--- '45 = 6 wheels trailer mid wheel left  
--- '47 = 6 wheels trailer mid wheel right  
--- 
---@param vehicle any
---@param index any
---@param onRim boolean
---@param p3 number
---@return any
function SetVehicleTyreBurst(vehicle, index, onRim, p3)
end

--- DOES_EXTRA_EXIST
---
--- Checks via CVehicleModelInfo  
--- 
---@param vehicle any
---@param extraId any
---@return boolean
function DoesExtraExist(vehicle, extraId)
end

--- GET_RANDOM_VEHICLE_IN_SPHERE
---
--- Gets a random vehicle in a sphere at the specified position, of the specified radius.  
--- x: The X-component of the position of the sphere.  
--- y: The Y-component of the position of the sphere.  
--- z: The Z-component of the position of the sphere.  
--- radius: The radius of the sphere. Max is 9999.9004.  
--- modelHash: The vehicle model to limit the selection to. Pass 0 for any model.  
--- flags: The bitwise flags that modifies the behaviour of this function.  
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param modelHash any
---@param flags any
---@return any
function GetRandomVehicleInSphere(x, y, z, radius, modelHash, flags)
end

--- GET_TOTAL_DURATION_OF_VEHICLE_RECORDING_ID
---
---@param id any
---@return number
function GetTotalDurationOfVehicleRecordingId(id)
end

--- _SET_VEHICLE_XENON_LIGHTS_COLOR
---Paint index goes from 0 to 12.
--- 
--- You can find the list of colors and ids here: [\_GET_VEHICLE_HEADLIGHTS_COLOUR](#\_0x3DFF319A831E0CDB)
---@param vehicle any
---@param color any
---@return any
function SetVehicleXenonLightsColor(vehicle, color)
end

--- ADD_VEHICLE_STUCK_CHECK_WITH_WARP
---
---@param p0 any
---@param p1 number
---@param p2 any
---@param p3 boolean
---@param p4 boolean
---@param p5 boolean
---@param p6 any
---@return any
function AddVehicleStuckCheckWithWarp(p0, p1, p2, p3, p4, p5, p6)
end

--- DETACH_VEHICLE_FROM_ANY_CARGOBOB
---
---@param vehicle any
---@return boolean
function DetachVehicleFromAnyCargobob(vehicle)
end

--- GET_VEHICLE_MODEL_ESTIMATED_MAX_SPEED
---
--- Returns max speed (without mods) of the specified vehicle model in m/s.
--- 
---@param modelHash any
---@return number
function GetVehicleModelEstimatedMaxSpeed(modelHash)
end

--- SET_VEHICLE_EXTRA
---
--- Note: only some vehicle have extras  
--- extra ids are from 1 - 9 depending on the vehicle  
--- -------------------------------------------------  
--- ^ not sure if outdated or simply wrong. Max extra ID for b944 is 14  
--- -------------------------------------------------  
--- p2 is not a on/off toggle. mostly 0 means on and 1 means off.  
--- not sure if it really should be a BOOL.  
--- -------------------------------------------------  
--- Confirmed p2 does not work as a bool. Changed to int. [0=on, 1=off]  
--- 
---@param vehicle any
---@param extraId any
---@param disable boolean
---@return any
function SetVehicleExtra(vehicle, extraId, disable)
end

--- SET_VEHICLE_IS_STOLEN
---
---@param vehicle any
---@param isStolen boolean
---@return any
function SetVehicleIsStolen(vehicle, isStolen)
end

--- STABILISE_ENTITY_ATTACHED_TO_HELI
---
---@param vehicle any
---@param entity number
---@param p2 number
---@return any
function StabiliseEntityAttachedToHeli(vehicle, entity, p2)
end

--- GET_VEHICLE_ESTIMATED_MAX_SPEED
---
---@param vehicle any
---@return number
function GetVehicleEstimatedMaxSpeed(vehicle)
end

--- _SET_HELI_MAIN_ROTOR_HEALTH
---
---@param vehicle any
---@param health number
---@return any
function SetHeliMainRotorHealth(vehicle, health)
end

--- SET_VEHICLE_AUTOMATICALLY_ATTACHES
---
---@param vehicle any
---@param p1 boolean
---@param p2 any
---@return any
function SetVehicleAutomaticallyAttaches(vehicle, p1, p2)
end

--- _SET_VEHICLE_DASHBOARD_COLOR
---
---@param vehicle any
---@param color any
---@return any
function SetVehicleDashboardColor(vehicle, color)
end

--- SET_VEHICLE_DOORS_LOCKED_FOR_PLAYER
---
---@param vehicle any
---@param player number
---@param toggle boolean
---@return any
function SetVehicleDoorsLockedForPlayer(vehicle, player, toggle)
end

--- _SET_VEHICLE_RAMP_LAUNCH_MODIFIER
---
---@param vehicle any
---@param p1 number
---@return any
function SetVehicleRampLaunchModifier(vehicle, p1)
end

--- _SET_VEHICLE_REDUCE_TRACTION
---Often used in conjunction with: [SET_VEHICLE_REDUCE_GRIP](#\_0x222FF6A823D122E2).
--- 
--- 
--- NativeDB Introduced: v1604
--- 
---@param vehicle any
---@param val any
---@return any
function SetVehicleReduceTraction(vehicle, val)
end

--- _IS_VEHICLE_MOD_HSW_EXCLUSIVE
---
--- mpsum2_g9ec
--- 
--- 
--- 
--- NativeDB Introduced: v2699
--- 
---@param vehicle any
---@param modType any
---@param modIndex any
---@return boolean
function IsVehicleModHswExclusive(vehicle, modType, modIndex)
end

--- SET_VEHICLE_CAN_DEFORM_WHEELS
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleCanDeformWheels(vehicle, toggle)
end

--- SET_VEHICLE_CUSTOM_PRIMARY_COLOUR
---
--- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)  
--- 
---@param vehicle any
---@param r any
---@param g any
---@param b any
---@return any
function SetVehicleCustomPrimaryColour(vehicle, r, g, b)
end

--- SET_VEHICLE_CUSTOM_SECONDARY_COLOUR
---
--- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)  
--- 
---@param vehicle any
---@param r any
---@param g any
---@param b any
---@return any
function SetVehicleCustomSecondaryColour(vehicle, r, g, b)
end

--- SET_VEHICLE_FULLBEAM
---
--- It switch to highbeam when p1 is set to true.  
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleFullbeam(vehicle, toggle)
end

--- FIX_VEHICLE_WINDOW
---See eWindowId declared in [IS_VEHICLE_WINDOW_INTACT](#\_0x46E571A0E20D01F1).
--- 
--- This function is coded to not work on vehicles of type: CBike, Bmx, CBoat, CTrain, and CSubmarine.
---@param vehicle any
---@param windowIndex any
---@return any
function FixVehicleWindow(vehicle, windowIndex)
end

--- IS_VEHICLE_ON_ALL_WHEELS
---
--- Public Function isVehicleOnAllWheels(vh As Vehicle) As Boolean  
--- Return Native.Function.Call(Of Boolean)(Hash.IS_VEHICLE_ON_ALL_WHEELS, vh)  
--- 		    End Function  
--- 
---@param vehicle any
---@return boolean
function IsVehicleOnAllWheels(vehicle)
end

--- SET_ALL_VEHICLE_GENERATORS_ACTIVE_IN_AREA
---
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param p6 boolean
---@param p7 boolean
---@return any
function SetAllVehicleGeneratorsActiveInArea(x1, y1, z1, x2, y2, z2, p6, p7)
end

--- _SET_REDUCE_DRIFT_VEHICLE_SUSPENSION
---Lowers the vehicle's stance. Only works for vehicles that support this feature.
--- 
--- 
--- NativeDB Introduced: v2372
--- 
---@param vehicle any
---@param enable boolean
---@return any
function SetReduceDriftVehicleSuspension(vehicle, enable)
end

--- START_PLAYBACK_RECORDED_VEHICLE_USING_AI
---
--- AI abides by the provided driving style (e.g., stopping at red lights or waiting behind traffic) while executing the specificed vehicle recording.
--- 
--- 0x1F2E4E06DEA8992B is a related native that deals with the AI physics for such recordings.
--- 
---@param vehicle any
---@param recording any
---@param script any
---@param speed number
---@param drivingStyle any
---@return any
function StartPlaybackRecordedVehicleUsingAi(vehicle, recording, script, speed, drivingStyle)
end

--- _DOES_VEHICLE_HAVE_SEARCHLIGHT
---
--- NativeDB Introduced: v2189
--- 
---@param vehicle any
---@return boolean
function DoesVehicleHaveSearchlight(vehicle)
end

--- _GET_VEHICLE_MODEL_MAX_KNOTS
---
--- GET_VEHICLE_MODEL_*
--- Function pertains only to aviation vehicles.
--- 
---@param modelHash any
---@return number
function GetVehicleModelMaxKnots(modelHash)
end

--- REMOVE_VEHICLE_ASSET
---
---@param vehicleAsset any
---@return any
function RemoveVehicleAsset(vehicleAsset)
end

--- SET_VEHICLE_EXCLUSIVE_DRIVER
---Incorrectly named SET_VEHICLE_EXCLUSIVE_DRIVER; likely SET_VEHICLE_ALLOW_*.
--- 
--- Toggles a flag related to SET_VEHICLE_EXCLUSIVE_DRIVER, however, doesn't enable that feature (or trigger script events related to it).
--- 
--- See [_SET_VEHICLE_EXCLUSIVE_DRIVER_2](#\_0xB5C51B5502E85E83).
--- 
--- 
--- NativeDB Removed Parameter 2: int index
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleExclusiveDriver(vehicle, toggle)
end

--- _ARE_OUTRIGGER_LEGS_DEPLOYED
---Returns whether the outrigger legs are deployed for the vehicle.
--- The Chernobog is one of the few vehicles with outrigger legs.
--- 
--- 
--- NativeDB Introduced: v1290
--- 
---@param vehicle any
---@return boolean
function AreOutriggerLegsDeployed(vehicle)
end

--- GET_DISPLAY_NAME_FROM_VEHICLE_MODEL
---Returns the display name/text label (gameName in vehicles.meta) for the specified vehicle model.
---@param modelHash any
---@return any
function GetDisplayNameFromVehicleModel(modelHash)
end

--- GET_VEHICLE_LIGHTS_STATE
---
---@param vehicle any
---@param lightsOn any
---@param highbeamsOn any
---@return boolean
function GetVehicleLightsState(vehicle, lightsOn, highbeamsOn)
end

--- SET_VEHICLE_BULLDOZER_ARM_POSITION
---Sets the arm position of a bulldozer. Position must be a value between 0.0 and 1.0. Ignored when p2 is set to false, instead incrementing arm position by 0.1 (or 10%).
---@param vehicle any
---@param position number
---@param p2 boolean
---@return any
function SetVehicleBulldozerArmPosition(vehicle, position, p2)
end

--- SET_VEHICLE_HAS_BEEN_OWNED_BY_PLAYER
---
---@param vehicle any
---@param owned boolean
---@return any
function SetVehicleHasBeenOwnedByPlayer(vehicle, owned)
end

--- IS_THIS_MODEL_A_PLANE
---
---@param model any
---@return boolean
function IsThisModelAPlane(model)
end

--- SET_BIKE_ON_STAND
---
--- Only works on bikes, both X and Y work in the -1 - 1 range.
--- X forces the bike to turn left or right (-1, 1)
--- Y forces the bike to lean to the left or to the right (-1, 1)
--- Example with X -1/Y 1
--- http://i.imgur.com/TgIuAPJ.jpg
--- 
---@param vehicle any
---@param x number
---@param y number
---@return any
function SetBikeOnStand(vehicle, x, y)
end

--- IS_THIS_MODEL_A_BICYCLE
---
---@param model any
---@return boolean
function IsThisModelABicycle(model)
end

--- SET_CARGOBOB_PICKUP_MAGNET_PULL_ROPE_LENGTH
---
---@param cargobob any
---@param p1 number
---@return any
function SetCargobobPickupMagnetPullRopeLength(cargobob, p1)
end

--- CONTROL_LANDING_GEAR
---
--- Works for vehicles with a retractable landing gear  
--- landing gear states:  
--- 0: Deployed  
--- 1: Closing  
--- 2: Opening  
--- 3: Retracted  
--- 
---@param vehicle any
---@param state any
---@return any
function ControlLandingGear(vehicle, state)
end

--- _GET_VEHICLE_HAS_PARACHUTE
---
---@param vehicle any
---@return boolean
function GetVehicleHasParachute(vehicle)
end

--- IS_HELI_LANDING_AREA_BLOCKED
---
---@param vehicle any
---@return boolean
function IsHeliLandingAreaBlocked(vehicle)
end

--- SET_VEHICLE_ALARM
---
---@param vehicle any
---@param state boolean
---@return any
function SetVehicleAlarm(vehicle, state)
end

--- SKIP_TO_END_AND_STOP_PLAYBACK_RECORDED_VEHICLE
---
---@param vehicle any
---@return any
function SkipToEndAndStopPlaybackRecordedVehicle(vehicle)
end

--- GET_VEHICLE_MODEL_NUMBER_OF_SEATS
---
--- Returns max number of passengers (including the driver) for the specified vehicle model.
--- 
---@param modelHash any
---@return any
function GetVehicleModelNumberOfSeats(modelHash)
end

--- HAS_PRELOAD_MODS_FINISHED
---
---@param p0 any
---@return boolean
function HasPreloadModsFinished(p0)
end

--- SET_TASK_VEHICLE_GOTO_PLANE_MIN_HEIGHT_ABOVE_TERRAIN
---
---@param plane any
---@param height any
---@return any
function SetTaskVehicleGotoPlaneMinHeightAboveTerrain(plane, height)
end

--- SET_RENDER_TRAIN_AS_DERAILED
---
--- makes the train all jumbled up and derailed as it moves on the tracks (though that wont stop it from its normal operations)  
--- 
---@param train any
---@param toggle boolean
---@return any
function SetRenderTrainAsDerailed(train, toggle)
end

--- DETACH_VEHICLE_FROM_TOW_TRUCK
---
--- First two parameters swapped. Scripts verify that towTruck is the first parameter, not the second.  
--- 
---@param towTruck any
---@param vehicle any
---@return any
function DetachVehicleFromTowTruck(towTruck, vehicle)
end

--- _EJECT_JB700_ROOF
---
---@param vehicle any
---@param x number
---@param y number
---@param z number
---@return any
function EjectJb700Roof(vehicle, x, y, z)
end

--- GET_VEHICLE_COLOURS
---
---@param vehicle any
---@param colorPrimary any
---@param colorSecondary any
---@return any
function GetVehicleColours(vehicle, colorPrimary, colorSecondary)
end

--- SET_VEHICLE_DOORS_LOCKED_FOR_NON_SCRIPT_PLAYERS
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleDoorsLockedForNonScriptPlayers(vehicle, toggle)
end

--- _SET_VEHICLE_NEON_LIGHTS_COLOR_2
---
--- NativeDB Introduced: v1493
--- 
---@param vehicle any
---@param color any
---@return any
function SetVehicleNeonLightsColor2(vehicle, color)
end

--- _SET_VEHICLE_PARACHUTE_ACTIVE
---
---@param vehicle any
---@param active boolean
---@return any
function SetVehicleParachuteActive(vehicle, active)
end

--- _SET_VEHICLE_ROOF_LIVERY
---Used to set the tornado custom (convertible) rooftop livery.
--- 
--- Livery value that works for tornado custom is between 0 and 9 from what i can tell. Maybe 0-8 even.
--- 
--- Might work on other custom vehicles but im not sure what those might be, only confirmed it working with the tornado custom.
---@param vehicle any
---@param livery any
---@return any
function SetVehicleRoofLivery(vehicle, livery)
end

--- GET_VEHICLE_CLASS_MAX_ACCELERATION
---
---@param vehicleClass any
---@return number
function GetVehicleClassMaxAcceleration(vehicleClass)
end

--- GET_VEHICLE_HEALTH_PERCENTAGE
---
--- NativeDB Added Parameter 2: float maxEngineHealth
--- NativeDB Added Parameter 3: float maxPetrolTankHealth
--- NativeDB Added Parameter 4: float maxBodyHealth
--- NativeDB Added Parameter 5: float maxMainRotorHealth
--- NativeDB Added Parameter 6: float maxTailRotorHealth
--- NativeDB Added Parameter 7: float maxUnkHealth
--- 
---@param vehicle any
---@return number
function GetVehicleHealthPercentage(vehicle)
end

--- GET_VEHICLE_NUMBER_OF_PASSENGERS
---
--- Gets the number of passengers, NOT including the driver. Use IS_VEHICLE_SEAT_FREE(Vehicle, -1) to also check for the driver  
--- 
---@param vehicle any
---@return any
function GetVehicleNumberOfPassengers(vehicle)
end

--- IS_PLAYBACK_USING_AI_GOING_ON_FOR_VEHICLE
---
---@param vehicle any
---@return boolean
function IsPlaybackUsingAiGoingOnForVehicle(vehicle)
end

--- SET_FORCE_HD_VEHICLE
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetForceHdVehicle(vehicle, toggle)
end

--- _FIND_RANDOM_POINT_IN_SPACE
---Native is significantly more complicated than simply generating a random vector & length.
--- 
--- The 'point' is either 400.0 or 250.0 units away from the Ped's current coordinates; and paths into functions like rage::grcViewport\_\__IsSphereVisible.
--- 
--- 
--- NativeDB Introduced: v1290
--- 
---@param ped number
---@return { x: number, y: number, z: number }
function FindRandomPointInSpace(ped)
end

--- _GET_MAKE_NAME_FROM_VEHICLE_MODEL
---Will return a vehicle's manufacturer display label.
--- Returns "CARNOTFOUND" if the hash doesn't match a vehicle hash.
--- 
--- 
--- NativeDB Introduced: v1868
--- 
---@param modelHash any
---@return any
function GetMakeNameFromVehicleModel(modelHash)
end

--- GET_ROTATION_OF_VEHICLE_RECORDING_AT_TIME
---
---@param recording any
---@param time number
---@param script any
---@return { x: number, y: number, z: number }
function GetRotationOfVehicleRecordingAtTime(recording, time, script)
end

--- _GET_VEHICLE_NUMBER_OF_BROKEN_OFF_BONES
---
--- Also includes some "turnOffBones" when vehicle mods are installed.
--- 
---@param vehicle any
---@return any
function GetVehicleNumberOfBrokenOffBones(vehicle)
end

--- SET_VEHICLE_STRONG
---
--- If set to true, vehicle will not take crash damage, but is still susceptible to damage from bullets and explosives  
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleStrong(vehicle, toggle)
end

--- _GET_VEHICLE_INTERIOR_COLOR
---
---@param vehicle any
---@param color any
---@return any
function GetVehicleInteriorColor(vehicle, color)
end

--- GET_VEHICLE_LAYOUT_HASH
---
---@param vehicle any
---@return any
function GetVehicleLayoutHash(vehicle)
end

--- GET_VEHICLE_MOD_COLOR_1
---
---@param vehicle any
---@param paintType any
---@param color any
---@param pearlescentColor any
---@return any
function GetVehicleModColor1(vehicle, paintType, color, pearlescentColor)
end

--- ACTIVATE_PHYSICS
---
---@param entity number
---@return any
function ActivatePhysics(entity)
end

--- ADD_ROPE
---
--- Creates a rope at the specific position, that extends in the specified direction when not attached to any entities.  
--- __  
--- Rope does NOT interact with anything you attach it to, in some cases it make interact with the world AFTER it breaks (seems to occur if you set the type to -1).  
--- Rope will sometimes contract and fall to the ground like you'd expect it to, but since it doesn't interact with the world the effect is just jaring.  
--- 
---@param x number
---@param y number
---@param z number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param maxLength number
---@param ropeType any
---@param initLength number
---@param minLength number
---@param lengthChangeRate number
---@param onlyPPU boolean
---@param collisionOn boolean
---@param lockFromFront boolean
---@param timeMultiplier number
---@param breakable boolean
---@param unkPtr any
---@return any
function AddRope(x, y, z, rotX, rotY, rotZ, maxLength, ropeType, initLength, minLength, lengthChangeRate, onlyPPU, collisionOn, lockFromFront, timeMultiplier, breakable, unkPtr)
end

--- DETACH_ROPE_FROM_ENTITY
---
---@param ropeId any
---@param entity number
---@return any
function DetachRopeFromEntity(ropeId, entity)
end

--- LOAD_ROPE_DATA
---
--- Rope presets can be found in the gamefiles. One example is "ropeFamily3", it is NOT a hash but rather a string.
--- 
---@param ropeId any
---@param rope_preset any
---@return any
function LoadRopeData(ropeId, rope_preset)
end

--- GET_ROPE_VERTEX_COUNT
---
---@param ropeId any
---@return any
function GetRopeVertexCount(ropeId)
end

--- SET_DAMPING
---
---@param entity number
---@param vertex any
---@param value number
---@return any
function SetDamping(entity, vertex, value)
end

--- SET_DISABLE_FRAG_DAMAGE
---
---@param object any
---@param toggle boolean
---@return any
function SetDisableFragDamage(object, toggle)
end

--- STOP_ROPE_UNWINDING_FRONT
---
---@param ropeId any
---@return any
function StopRopeUnwindingFront(ropeId)
end

--- _DOES_ROPE_BELONG_TO_THIS_SCRIPT
---Return if the rope was generated or not by the script where the native is called.
---@param ropeId any
---@return boolean
function DoesRopeBelongToThisScript(ropeId)
end

--- GET_ROPE_LAST_VERTEX_COORD
---
---@param ropeId any
---@return { x: number, y: number, z: number }
function GetRopeLastVertexCoord(ropeId)
end

--- ROPE_SET_UPDATE_PINVERTS
---
---@param ropeId any
---@return any
function RopeSetUpdatePinverts(ropeId)
end

--- ROPE_SET_UPDATE_ORDER
---
---@param ropeId any
---@param p1 any
---@return any
function RopeSetUpdateOrder(ropeId, p1)
end

--- ROPE_UNLOAD_TEXTURES
---
--- Unloads rope textures for all ropes in the current scene.
--- 
---@return any
function RopeUnloadTextures()
end

--- SET_CG_AT_BOUNDCENTER
---
---@param entity number
---@return any
function SetCgAtBoundcenter(entity)
end

--- _SET_LAUNCH_CONTROL_ENABLED
---Related to the lower-end of a vehicles fTractionCurve, e.g., from standing starts and acceleration from low/zero speeds.
--- 
--- 
--- NativeDB Introduced: v1604
--- 
---@param toggle boolean
---@return any
function SetLaunchControlEnabled(toggle)
end

--- START_ROPE_WINDING
---
---@param ropeId any
---@return any
function StartRopeWinding(ropeId)
end

--- DOES_ROPE_EXIST
---
---@param ropeId any
---@return boolean
function DoesRopeExist(ropeId)
end

--- ROPE_DRAW_SHADOW_ENABLED
---
---@param ropeId any
---@param toggle boolean
---@return any
function RopeDrawShadowEnabled(ropeId, toggle)
end

--- _GET_HAS_OBJECT_FRAG_INST
---
--- GET_*
--- 
---@param object any
---@return boolean
function GetHasObjectFragInst(object)
end

--- GET_ROPE_VERTEX_COORD
---
---@param ropeId any
---@param vertex any
---@return { x: number, y: number, z: number }
function GetRopeVertexCoord(ropeId, vertex)
end

--- PIN_ROPE_VERTEX
---
---@param ropeId any
---@param vertex any
---@param x number
---@param y number
---@param z number
---@return any
function PinRopeVertex(ropeId, vertex, x, y, z)
end

--- UNPIN_ROPE_VERTEX
---
---@param ropeId any
---@param vertex any
---@return any
function UnpinRopeVertex(ropeId, vertex)
end

--- DELETE_CHILD_ROPE
---
---@param ropeId any
---@return any
function DeleteChildRope(ropeId)
end

--- ATTACH_ENTITIES_TO_ROPE
---
--- Attaches entity 1 to entity 2.  
--- 
---@param ropeId any
---@param ent1 number
---@param ent2 number
---@param ent1_x number
---@param ent1_y number
---@param ent1_z number
---@param ent2_x number
---@param ent2_y number
---@param ent2_z number
---@param length number
---@param p10 boolean
---@param p11 boolean
---@param boneName1 any
---@param boneName2 any
---@return any
function AttachEntitiesToRope(ropeId, ent1, ent2, ent1_x, ent1_y, ent1_z, ent2_x, ent2_y, ent2_z, length, p10, p11, boneName1, boneName2)
end

--- ROPE_CONVERT_TO_SIMPLE
---
---@param ropeId any
---@return any
function RopeConvertToSimple(ropeId)
end

--- ROPE_FORCE_LENGTH
---
--- Forces a rope to a certain length.
--- 
---@param ropeId any
---@param length number
---@return any
function RopeForceLength(ropeId, length)
end

--- START_ROPE_UNWINDING_FRONT
---
---@param ropeId any
---@return any
function StartRopeUnwindingFront(ropeId)
end

--- STOP_ROPE_WINDING
---
---@param ropeId any
---@return any
function StopRopeWinding(ropeId)
end

--- APPLY_IMPULSE_TO_CLOTH
---
---@param posX number
---@param posY number
---@param posZ number
---@param vecX number
---@param vecY number
---@param vecZ number
---@param impulse number
---@return any
function ApplyImpulseToCloth(posX, posY, posZ, vecX, vecY, vecZ, impulse)
end

--- GET_CGOFFSET
---
---@param entity number
---@return { x: number, y: number, z: number }
function GetCgoffset(entity)
end

--- SET_CGOFFSET
---
---@param entity number
---@param x number
---@param y number
---@param z number
---@return any
function SetCgoffset(entity, x, y, z)
end

--- ATTACH_ROPE_TO_ENTITY
---
--- The position supplied can be anywhere, and the entity should anchor relative to that point from it's origin.  
--- 
---@param ropeId any
---@param entity number
---@param x number
---@param y number
---@param z number
---@param p5 boolean
---@return any
function AttachRopeToEntity(ropeId, entity, x, y, z, p5)
end

--- DELETE_ROPE
---
---@param ropeId any
---@return any
function DeleteRope(ropeId)
end

--- BREAK_ENTITY_GLASS
---
---@param entity number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 number
---@param p7 number
---@param p8 number
---@param p9 any
---@param p10 boolean
---@return any
function BreakEntityGlass(entity, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10)
end

--- ROPE_ARE_TEXTURES_LOADED
---
---@return boolean
function RopeAreTexturesLoaded()
end

--- ROPE_LOAD_TEXTURES
---
--- Loads rope textures for all ropes in the current scene.
--- 
---@return any
function RopeLoadTextures()
end

--- SET_DISABLE_BREAKING
---
---@param object any
---@param toggle boolean
---@return any
function SetDisableBreaking(object, toggle)
end

--- ROPE_GET_DISTANCE_BETWEEN_ENDS
---
---@param ropeId any
---@return number
function RopeGetDistanceBetweenEnds(ropeId)
end

--- ROPE_RESET_LENGTH
---
--- Reset a rope to a certain length.  
--- 
---@param ropeId any
---@param length number
---@return any
function RopeResetLength(ropeId, length)
end

--- _SET_ENTITY_PROOF_UNK
---
---@param entity number
---@param toggle boolean
---@return any
function SetEntityProofUnk(entity, toggle)
end

--- _LOADINGSCREEN_SET_IS_LOADING_FREEMODE
---
---@param toggle boolean
---@return any
function LoadingscreenSetIsLoadingFreemode(toggle)
end

--- _LOADINGSCREEN_SET_LOAD_FREEMODE_WITH_EVENT_NAME
---
--- Only occurrence was false, in maintransition.  
--- 
---@param toggle boolean
---@return any
function LoadingscreenSetLoadFreemodeWithEventName(toggle)
end

--- _LOADINGSCREEN_GET_LOAD_FREEMODE
---
---@return boolean
function LoadingscreenGetLoadFreemode()
end

--- _LOADINGSCREEN_IS_LOADING_FREEMODE
---
---@return boolean
function LoadingscreenIsLoadingFreemode()
end

--- _LOADINGSCREEN_SET_LOAD_FREEMODE
---
---@param toggle boolean
---@return any
function LoadingscreenSetLoadFreemode(toggle)
end

--- _LOADINGSCREEN_GET_LOAD_FREEMODE_WITH_EVENT_NAME
---
---@return boolean
function LoadingscreenGetLoadFreemodeWithEventName()
end

--- NEXT_ONSCREEN_KEYBOARD_RESULT_WILL_DISPLAY_USING_THESE_FONTS
---
--- p0 was always 2 in R* scripts.
--- Called before calling DISPLAY_ONSCREEN_KEYBOARD if the input needs to be saved.
--- 
---@param p0 any
---@return any
function NextOnscreenKeyboardResultWillDisplayUsingTheseFonts(p0)
end

--- REGISTER_ENUM_TO_SAVE
---
---@param p0 any
---@param name any
---@return any
function RegisterEnumToSave(p0, name)
end

--- _SET_RESTART_CUSTOM_POSITION
---
---@param x number
---@param y number
---@param z number
---@param heading number
---@return any
function SetRestartCustomPosition(x, y, z, heading)
end

--- WATER_OVERRIDE_FADE_OUT
---
---@param p0 number
---@return any
function WaterOverrideFadeOut(p0)
end

--- IS_POSITION_OCCUPIED
---The BOOL parameters that are documented have not been confirmed. They are just documented from what I've found during testing. They may not work as expected in all cases.
---@param x number
---@param y number
---@param z number
---@param range number
---@param p4 boolean
---@param checkVehicles boolean
---@param checkPeds boolean
---@param p7 boolean
---@param p8 boolean
---@param ignoreEntity number
---@param p10 boolean
---@return boolean
function IsPositionOccupied(x, y, z, range, p4, checkVehicles, checkPeds, p7, p8, ignoreEntity, p10)
end

--- IS_PROJECTILE_TYPE_IN_ANGLED_AREA
---See [IS_POINT_IN_ANGLED_AREA](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
--- 
--- 
--- NativeDB Removed Parameter 7: float p7
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param width number
---@param p7 number
---@param weaponHash any
---@param ownedByPlayer boolean
---@return boolean
function IsProjectileTypeInAngledArea(x1, y1, z1, x2, y2, z2, width, p7, weaponHash, ownedByPlayer)
end

--- WATER_OVERRIDE_SET_STRENGTH
---
--- This seems to edit the water wave, intensity around your current location.  
--- 0.0f = Normal  
--- 1.0f = So Calm and Smooth, a boat will stay still.  
--- 3.0f = Really Intense.  
--- 
---@param strength number
---@return any
function WaterOverrideSetStrength(strength)
end

--- _CLEANUP_ASYNC_INSTALL
---
---@return any
function CleanupAsyncInstall()
end

--- GET_NUM_SUCCESSFUL_STUNT_JUMPS
---
---@return any
function GetNumSuccessfulStuntJumps()
end

--- DO_AUTO_SAVE
---
---@return any
function DoAutoSave()
end

--- IS_THIS_A_MINIGAME_SCRIPT
---
---@return boolean
function IsThisAMinigameScript()
end

--- CLEAR_AREA
---
--- Example: CLEAR_AREA(0, 0, 0, 30, true, false, false, false);  
--- 
---@param X number
---@param Y number
---@param Z number
---@param radius number
---@param p4 boolean
---@param ignoreCopCars boolean
---@param ignoreObjects boolean
---@param p7 boolean
---@return any
function ClearArea(X, Y, Z, radius, p4, ignoreCopCars, ignoreObjects, p7)
end

--- CLEAR_AREA_OF_PEDS
---
--- Example:       CLEAR_AREA_OF_PEDS(0, 0, 0, 10000, 1);
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param flags any
---@return any
function ClearAreaOfPeds(x, y, z, radius, flags)
end

--- _GET_CLOUD_HAT_OPACITY
---
---@return number
function GetCloudHatOpacity()
end

--- GET_FRAME_COUNT
---
---@return any
function GetFrameCount()
end

--- GET_ONSCREEN_KEYBOARD_RESULT
---
--- Returns NULL unless UPDATE_ONSCREEN_KEYBOARD() returns 1 in the same tick.  
--- 
---@return any
function GetOnscreenKeyboardResult()
end

--- IS_BULLET_IN_AREA
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@param ownedByPlayer boolean
---@return boolean
function IsBulletInArea(x, y, z, radius, ownedByPlayer)
end

--- _ADD_DISPATCH_SPAWN_BLOCKING_AREA
---
---@param x1 number
---@param y1 number
---@param x2 number
---@param y2 number
---@return any
function AddDispatchSpawnBlockingArea(x1, y1, x2, y2)
end

--- REGISTER_FLOAT_TO_SAVE
---
---@param p0 any
---@param name any
---@return any
function RegisterFloatToSave(p0, name)
end

--- LOAD_CLOUD_HAT
---
--- The following cloudhats are useable:
--- altostratus
--- Cirrus
--- cirrocumulus
--- Clear 01
--- Cloudy 01
--- Contrails
--- Horizon
--- horizonband1
--- horizonband2
--- horizonband3
--- horsey
--- Nimbus
--- Puffs
--- RAIN
--- Snowy 01
--- Stormy 01
--- stratoscumulus
--- Stripey
--- shower
--- Wispy
--- 
---@param name any
---@param transitionTime number
---@return any
function LoadCloudHat(name, transitionTime)
end

--- NETWORK_SET_SCRIPT_IS_SAFE_FOR_NETWORK_GAME
---
---@return any
function NetworkSetScriptIsSafeForNetworkGame()
end

--- RESET_DISPATCH_TIME_BETWEEN_SPAWN_ATTEMPTS
---
--- NativeDB Introduced: v323
--- 
---@param p0 any
---@return any
function ResetDispatchTimeBetweenSpawnAttempts(p0)
end

--- SET_EXPLOSIVE_MELEE_THIS_FRAME
---
---@param player number
---@return any
function SetExplosiveMeleeThisFrame(player)
end

--- SET_GAME_PAUSED
---
--- Make sure to call this from the correct thread if you're using multiple threads because all other threads except the one which is calling SET_GAME_PAUSED will be paused which means you will lose control and the game remains in paused mode until you exit GTA5.exe  
--- 
---@param toggle boolean
---@return any
function SetGamePaused(toggle)
end

--- STRING_TO_INT
---
--- Returns false if it's a null or empty string or if the string is too long. outInteger will be set to -999 in that case.  
--- If all checks have passed successfully, the return value will be set to whatever strtol(string, 0i64, 10); returns.  
--- 
---@param string any
---@param outInteger any
---@return boolean
function StringToInt(string, outInteger)
end

--- CREATE_INCIDENT
---
--- enum IncidentTypes  
--- {  
---     FireDepartment = 3,  
---     Paramedics = 5,  
---     Police = 7,  
---     PedsInCavalcades = 11,   
---     Merryweather = 14  
--- };  
--- As for the 'police' incident, it will call police cars to you, but unlike PedsInCavalcades & Merryweather they won't start shooting at you unless you shoot first or shoot at them. The top 2 however seem to cancel theirselves if there is noone dead around you or a fire. I only figured them out as I found out the 3rd param is definately the amountOfPeople and they called incident 3 in scripts with 4 people (which the firetruck has) and incident 5 with 2 people (which the ambulence has). The 4 param I cant say is radius, but for the pedsInCavalcades and Merryweather R* uses 0.0f and for the top 3 (Emergency Services) they use 3.0f.   
--- Side Note: It seems calling the pedsInCavalcades or Merryweather then removing it seems to break you from calling the EmergencyEvents and I also believe pedsInCavalcades. (The V cavalcades of course not IV).  
--- Side Note 2: I say it breaks as if you call this proper,  
--- if(CREATE_INCIDENT) etc it will return false if you do as I said above.  
--- =====================================================  
--- 
--- 
--- 
--- NativeDB Added Parameter 8: Any p7
--- NativeDB Added Parameter 9: Any p8
--- 
---@param dispatchService any
---@param x number
---@param y number
---@param z number
---@param numUnits any
---@param radius number
---@param outIncidentID any
---@return boolean
function CreateIncident(dispatchService, x, y, z, numUnits, radius, outIncidentID)
end

--- IS_STUNT_JUMP_IN_PROGRESS
---
---@return boolean
function IsStuntJumpInProgress()
end

--- PRELOAD_CLOUD_HAT
---
--- Found in the scripts:
--- MISC::_11B56FBBF7224868("CONTRAILS");
--- 
---@param name any
---@return any
function PreloadCloudHat(name)
end

--- SET_RANDOM_EVENT_FLAG
---
--- If the parameter is true, sets the random event flag to true, if the parameter is false, the function does nothing at all.  
--- Does nothing if the mission flag is set.  
--- 
---@param toggle boolean
---@return any
function SetRandomEventFlag(toggle)
end

--- SET_WIND_DIRECTION
---Sets the wind direction.
---@param direction number
---@return any
function SetWindDirection(direction)
end

--- _STOP_BENCHMARK_RECORDING
---
--- Begins with STOP_*. Next character in the name is either D or E.
--- 
---@return any
function StopBenchmarkRecording()
end

--- WATER_OVERRIDE_SET_OCEANWAVEMAXAMPLITUDE
---
---@param maxAmplitude number
---@return any
function WaterOverrideSetOceanwavemaxamplitude(maxAmplitude)
end

--- CLEAR_WEATHER_TYPE_PERSIST
---
---@return any
function ClearWeatherTypePersist()
end

--- WATER_OVERRIDE_SET_SHOREWAVEMINAMPLITUDE
---
---@param minAmplitude number
---@return any
function WaterOverrideSetShorewaveminamplitude(minAmplitude)
end

--- GET_WIND_DIRECTION
---
---@return { x: number, y: number, z: number }
function GetWindDirection()
end

--- SCRIPT_RACE_SHUTDOWN
---
---@return any
function ScriptRaceShutdown()
end

--- SET_SAVE_HOUSE
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function SetSaveHouse(p0, p1, p2)
end

--- UPDATE_ONSCREEN_KEYBOARD
---
--- Returns the current status of the onscreen keyboard, and updates the output.
--- Status Codes:
--- -1: Keyboard isn't active
--- 0: User still editing
--- 1: User has finished editing
--- 2: User has canceled editing
--- 
---@return any
function UpdateOnscreenKeyboard()
end

--- ALLOW_MISSION_CREATOR_WARP
---
---@param toggle boolean
---@return any
function AllowMissionCreatorWarp(toggle)
end

--- GET_BITS_IN_RANGE
---
---@param var any
---@param rangeStart any
---@param rangeEnd any
---@return any
function GetBitsInRange(var, rangeStart, rangeEnd)
end

--- SET_FAKE_WANTED_LEVEL
---
--- Sets a visually fake wanted level on the user interface. Used by Rockstar's scripts to "override" regular wanted levels and make custom ones while the real wanted level and multipliers are still in effect.
--- Max is 6, anything above this makes it just 6. Also the mini-map gets the red & blue flashing effect.
--- 
---@param fakeWantedLevel any
---@return any
function SetFakeWantedLevel(fakeWantedLevel)
end

--- SET_FIRE_AMMO_THIS_FRAME
---
---@param player number
---@return any
function SetFireAmmoThisFrame(player)
end

--- SHOOT_SINGLE_BULLET_BETWEEN_COORDS_IGNORE_ENTITY_NEW
---
--- NativeDB Added Parameter 19: Any p18
--- NativeDB Added Parameter 20: Any p19
--- NativeDB Added Parameter 21: Any p20
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param damage any
---@param p7 boolean
---@param weaponHash any
---@param ownerPed number
---@param isAudible boolean
---@param isInvisible boolean
---@param speed number
---@param entity number
---@param p14 boolean
---@param p15 boolean
---@param p16 boolean
---@param p17 boolean
---@return any
function ShootSingleBulletBetweenCoordsIgnoreEntityNew(x1, y1, z1, x2, y2, z2, damage, p7, weaponHash, ownerPed, isAudible, isInvisible, speed, entity, p14, p15, p16, p17)
end

--- CLEAR_AREA_OF_COPS
---
--- flags appears to always be 0
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param flags any
---@return any
function ClearAreaOfCops(x, y, z, radius, flags)
end

--- _CLEAR_RESTART_CUSTOM_POSITION
---
---@return any
function ClearRestartCustomPosition()
end

--- _IS_POP_MULTIPLIER_AREA_UNK
---
--- NativeDB Introduced: v1290
--- 
---@param id any
---@return boolean
function IsPopMultiplierAreaUnk(id)
end

--- _SET_PLAYER_ROCKSTAR_EDITOR_DISABLED
---
--- SET_PLAYER_*
--- 
---@param toggle boolean
---@return any
function SetPlayerRockstarEditorDisabled(toggle)
end

--- SET_WEATHER_TYPE_PERSIST
---Refer to [SET_WEATHER_TYPE_NOW_PERSIST](#\_0xED712CA327900C8A) for weather types.
---@param weatherType any
---@return any
function SetWeatherTypePersist(weatherType)
end

--- START_SAVE_ARRAY_WITH_SIZE
---
---@param p0 any
---@param size any
---@param arrayName any
---@return any
function StartSaveArrayWithSize(p0, size, arrayName)
end

--- BEGIN_REPLAY_STATS
---
---@param p0 any
---@param p1 any
---@return any
function BeginReplayStats(p0, p1)
end

--- PAUSE_DEATH_ARREST_RESTART
---
---@param toggle boolean
---@return any
function PauseDeathArrestRestart(toggle)
end

--- SET_DISPATCH_IDEAL_SPAWN_DISTANCE
---
---@param p0 number
---@return any
function SetDispatchIdealSpawnDistance(p0)
end

--- _GET_PROJECTILE_NEAR_PED
---
---@param ped number
---@param weaponHash any
---@param distance number
---@param outCoords any
---@param outProjectile any
---@param ownedByPlayer boolean
---@return boolean
function GetProjectileNearPed(ped, weaponHash, distance, outCoords, outProjectile, ownedByPlayer)
end

--- REMOVE_DISPATCH_SPAWN_BLOCKING_AREA
---
---@param p0 any
---@return any
function RemoveDispatchSpawnBlockingArea(p0)
end

--- SET_WEATHER_TYPE_NOW_PERSIST
---Refer to [SET_WEATHER_TYPE_NOW](#0x29B487C359E19889) for weather types.
---@param weatherType any
---@return any
function SetWeatherTypeNowPersist(weatherType)
end

--- GET_NUMBER_OF_FREE_STACKS_OF_THIS_SIZE
---
---@param stackSize any
---@return any
function GetNumberOfFreeStacksOfThisSize(stackSize)
end

--- IS_AREA_OCCUPIED
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 boolean
---@param p7 boolean
---@param p8 boolean
---@param p9 boolean
---@param p10 boolean
---@param p11 any
---@param p12 boolean
---@return boolean
function IsAreaOccupied(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12)
end

--- SET_GRAVITY_LEVEL
---
--- level can be from 0 to 3  
--- 0: 9.8   
--- 1: 2.4   
--- 2: 0.1 - very low  
--- 3: 0.0  
--- 
---@param level any
---@return any
function SetGravityLevel(level)
end

--- SET_WIND_SPEED
---
--- Using this native will clamp the wind speed value to a range of 0.0- 12.0. Using SET_WIND sets the same value but without the restriction.  
--- 
---@param speed number
---@return any
function SetWindSpeed(speed)
end

--- GET_HEADING_FROM_VECTOR_2D
---
--- dx = x1 - x2
--- dy = y1 - y2
--- 
---@param dx number
---@param dy number
---@return number
function GetHeadingFromVector2D(dx, dy)
end

--- FIND_SPAWN_POINT_IN_DIRECTION
---
--- Finds a position ahead of the player by predicting the players next actions.  
--- The positions match path finding node positions.  
--- When roads diverge, the position may rapidly change between two or more positions. This is due to the engine not being certain of which path the player will take.  
--- 
---@param posX number
---@param posY number
---@param posZ number
---@param dirX number
---@param dirY number
---@param dirZ number
---@param distance number
---@param spawnPoint any
---@return boolean
function FindSpawnPointInDirection(posX, posY, posZ, dirX, dirY, dirZ, distance, spawnPoint)
end

--- IS_MEMORY_CARD_IN_USE
---
---@return boolean
function IsMemoryCardInUse()
end

--- IS_STRING_NULL
---
---@param string any
---@return boolean
function IsStringNull(string)
end

--- _LANDING_MENU_IS_ACTIVE
---
--- Returns true if the current frontend menu is FE_MENU_VERSION_LANDING_MENU
--- 
---@return boolean
function LandingMenuIsActive()
end

--- PLAY_TENNIS_SWING_ANIM
---
---@param ped number
---@param animDict any
---@param animName any
---@param p3 number
---@param p4 number
---@param p5 boolean
---@return any
function PlayTennisSwingAnim(ped, animDict, animName, p3, p4, p5)
end

--- SET_CREDITS_ACTIVE
---
---@param toggle boolean
---@return any
function SetCreditsActive(toggle)
end

--- CLEAR_REPLAY_STATS
---
---@return any
function ClearReplayStats()
end

--- WATER_OVERRIDE_SET_OCEANNOISEMINAMPLITUDE
---
---@param minAmplitude number
---@return any
function WaterOverrideSetOceannoiseminamplitude(minAmplitude)
end

--- GET_DISTANCE_BETWEEN_COORDS
---Returns the distance between two three-dimensional points, optionally ignoring the Z values.
--- If useZ is false, only the 2D plane (X-Y) will be considered for calculating the distance.
--- Consider using this faster native instead: SYSTEM::VDIST - DVIST always takes in consideration the 3D coordinates.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param useZ boolean
---@return number
function GetDistanceBetweenCoords(x1, y1, z1, x2, y2, z2, useZ)
end

--- IS_AUTO_SAVE_IN_PROGRESS
---
---@return boolean
function IsAutoSaveInProgress()
end

--- QUEUE_MISSION_REPEAT_LOAD
---
---@return boolean
function QueueMissionRepeatLoad()
end

--- SET_FADE_OUT_AFTER_DEATH
---
--- Sets whether the game should fade out after the player dies.  
--- 
---@param toggle boolean
---@return any
function SetFadeOutAfterDeath(toggle)
end

--- _SET_RAIN_LEVEL
---Controls rain, rain sounds and the creation of puddles.
--- 
--- With an level higher than 0.5f, only the creation of puddles gets faster, rain and rain sound won't increase after that.
--- 
--- With an level of 0.0f rain and rain sounds are disabled and there won't be any new puddles.
--- 
--- To use the rain level of the current weather, call this native with -1f as level.
---@param level number
---@return any
function SetRainLevel(level)
end

--- CLEAR_AREA_OF_OBJECTS
---
--- I looked through the PC scripts that this site provides you with a link to find. It shows the last param mainly uses, (0, 2, 6, 16, and 17) so I am going to assume it is a type of flag.  
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param flags any
---@return any
function ClearAreaOfObjects(x, y, z, radius, flags)
end

--- DISABLE_POLICE_RESTART
---
--- Disables the spawn point at the police house on the specified index.
--- policeIndex: The police house index.
--- toggle: true to enable the spawn point, false to disable.
--- - Nacorpio
--- 
---@param policeIndex any
---@param toggle boolean
---@return any
function DisablePoliceRestart(policeIndex, toggle)
end

--- GET_INDEX_OF_CURRENT_LEVEL
---
---@return any
function GetIndexOfCurrentLevel()
end

--- _GET_GROUND_Z_FOR_3D_COORD_2
---
--- NativeDB Added Parameter 6: BOOL p5
--- 
---@param x number
---@param y number
---@param z number
---@param groundZ any
---@param p4 boolean
---@return boolean
function GetGroundZFor3DCoord2(x, y, z, groundZ, p4)
end

--- REGISTER_BOOL_TO_SAVE
---
---@param p0 any
---@param name any
---@return any
function RegisterBoolToSave(p0, name)
end

--- REGISTER_TEXT_LABEL_TO_SAVE
---
---@param p0 any
---@param name any
---@return any
function RegisterTextLabelToSave(p0, name)
end

--- SET_WIND
---
--- Sets the the raw wind speed value.  
--- 
---@param speed number
---@return any
function SetWind(speed)
end

--- _COPY_MEMORY
---
---@param dst any
---@param src any
---@param size any
---@return any
function CopyMemory(dst, src, size)
end

--- CLEAR_AREA_OF_VEHICLES
---
--- Example: 		CLEAR_AREA_OF_VEHICLES(0, 0, 0, 10000, false, false, false, false, false);  
--- 
--- 
--- 
--- NativeDB Added Parameter 10: BOOL p9
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param p4 boolean
---@param p5 boolean
---@param p6 boolean
---@param p7 boolean
---@param p8 boolean
---@return any
function ClearAreaOfVehicles(x, y, z, radius, p4, p5, p6, p7, p8)
end

--- STOP_SAVE_DATA
---
---@return any
function StopSaveData()
end

--- ARE_PROFILE_SETTINGS_VALID
---
---@return boolean
function AreProfileSettingsValid()
end

--- _REMOVE_STEALTH_KILL
---
--- Appears to remove stealth kill action from memory
--- 
---@param hash any
---@param p1 boolean
---@return any
function RemoveStealthKill(hash, p1)
end

--- SET_RIOT_MODE_ENABLED
---Activates riot mode. All NPCs are being hostile to each other (including player). Also the game will give weapons (pistols, smgs) to random NPCs.
---@param toggle boolean
---@return any
function SetRiotModeEnabled(toggle)
end

--- IS_XBOX360_VERSION
---
---@return boolean
function IsXbox360Version()
end

--- IS_PROJECTILE_IN_AREA
---
--- Determines whether there is a projectile within the specified coordinates. The coordinates form a rectangle.  
--- ownedByPlayer = only projectiles fired by the player will be detected.  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param ownedByPlayer boolean
---@return boolean
function IsProjectileInArea(x1, y1, z1, x2, y2, z2, ownedByPlayer)
end

--- GET_TOTAL_SUCCESSFUL_STUNT_JUMPS
---
---@return any
function GetTotalSuccessfulStuntJumps()
end

--- _CANCEL_ONSCREEN_KEYBOARD
---
--- DO NOT use this as it doesn't clean up the text input box properly and your script will get stuck in the UPDATE_ONSCREEN_KEYBOARD() loop.
--- Use _FORCE_CLOSE_TEXT_INPUT_BOX instead.
--- CANCEL_*
--- 
---@return any
function CancelOnscreenKeyboard()
end

--- ENABLE_STUNT_JUMP_SET
---
---@param p0 any
---@return any
function EnableStuntJumpSet(p0)
end

--- GET_REPLAY_STAT_AT_INDEX
---
---@param index any
---@return any
function GetReplayStatAtIndex(index)
end

--- SET_BITS_IN_RANGE
---
---@param var any
---@param rangeStart any
---@param rangeEnd any
---@param p3 any
---@return any
function SetBitsInRange(var, rangeStart, rangeEnd, p3)
end

--- _SET_WEATHER_TYPE_TRANSITION
---Refer to [SET_WEATHER_TYPE_NOW_PERSIST](#\_0xED712CA327900C8A) for weather types.
--- 
--- 
--- Mixes two weather types. If percentWeather2 is set to 0.0f, then the weather will be entirely of weatherType1, if it is set to 1.0f it will be entirely of weatherType2. If it's set somewhere in between, there will be a mixture of weather behaviors. To test, try this in the RPH console, and change the float to different values between 0 and 1:  
--- execute "NativeFunction.Natives.x578C752848ECFA0C(Game.GetHashKey(""RAIN""), Game.GetHashKey(""SMOG""), 0.50f);  
--- 
---@param weatherType1 any
---@param weatherType2 any
---@param percentWeather2 number
---@return any
function SetWeatherTypeTransition(weatherType1, weatherType2, percentWeather2)
end

--- ADD_POP_MULTIPLIER_SPHERE
---
--- This native is adding a zone, where you can change density settings. For example, you can add a zone on 0.0, 0.0, 0.0 with radius 900.0 and vehicleMultiplier 0.0, and you will not see any new population vehicle spawned in a radius of 900.0 from 0.0, 0.0, 0.0. Returns the id. You can have only 15 zones at the same time. You can remove zone using REMOVE_POP_MULTIPLIER_SPHERE
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param pedMultiplier number
---@param vehicleMultiplier number
---@param p6 boolean
---@param p7 boolean
---@return any
function AddPopMultiplierSphere(x, y, z, radius, pedMultiplier, vehicleMultiplier, p6, p7)
end

--- IS_BULLET_IN_ANGLED_AREA
---See [IS_POINT_IN_ANGLED_AREA](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
--- 
--- For projectiles, see: [IS_PROJECTILE_TYPE_IN_ANGLED_AREA](#\_0xF0BC12401061DEA0)
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param width number
---@param ownedByPlayer boolean
---@return boolean
function IsBulletInAngledArea(x1, y1, z1, x2, y2, z2, width, ownedByPlayer)
end

--- IS_TENNIS_MODE
---
---@param ped number
---@return boolean
function IsTennisMode(ped)
end

--- DISPLAY_ONSCREEN_KEYBOARD
---
--- windowTitle's  
--- -----------------  
--- CELL_EMAIL_BOD	=	"Enter your Eyefind message"  
--- CELL_EMAIL_BODE	=	"Message too long. Try again"  
--- CELL_EMAIL_BODF	=	"Forbidden message. Try again"  
--- CELL_EMAIL_SOD	=	"Enter your Eyefind subject"  
--- CELL_EMAIL_SODE	=	"Subject too long. Try again"  
--- CELL_EMAIL_SODF	=	"Forbidden text. Try again"  
--- CELL_EMASH_BOD	=	"Enter your Eyefind message"  
--- CELL_EMASH_BODE	=	"Message too long. Try again"  
--- CELL_EMASH_BODF	=	"Forbidden message. Try again"  
--- CELL_EMASH_SOD	=	"Enter your Eyefind subject"  
--- CELL_EMASH_SODE	=	"Subject too long. Try again"  
--- CELL_EMASH_SODF	=	"Forbidden Text. Try again"  
--- FMMC_KEY_TIP10	=	"Enter Synopsis"  
--- FMMC_KEY_TIP12	=	"Enter Custom Team Name"  
--- FMMC_KEY_TIP12F	=	"Forbidden Text. Try again"  
--- FMMC_KEY_TIP12N	=	"Custom Team Name"  
--- FMMC_KEY_TIP8	=	"Enter Message"  
--- FMMC_KEY_TIP8F	=	"Forbidden Text. Try again"  
--- FMMC_KEY_TIP8FS	=	"Invalid Message. Try again"  
--- FMMC_KEY_TIP8S	=	"Enter Message"  
--- FMMC_KEY_TIP9	=	"Enter Outfit Name"  
--- FMMC_KEY_TIP9F	=	"Invalid Outfit Name. Try again"  
--- FMMC_KEY_TIP9N	=	"Outfit Name"  
--- PM_NAME_CHALL	=	"Enter Challenge Name"  
--- 
---@param p0 any
---@param windowTitle any
---@param p2 any
---@param defaultText any
---@param defaultConcat1 any
---@param defaultConcat2 any
---@param defaultConcat3 any
---@param maxInputLength any
---@return any
function DisplayOnscreenKeyboard(p0, windowTitle, p2, defaultText, defaultConcat1, defaultConcat2, defaultConcat3, maxInputLength)
end

--- GET_RANDOM_FLOAT_IN_RANGE
---
---@param startRange number
---@param endRange number
---@return number
function GetRandomFloatInRange(startRange, endRange)
end

--- GET_GROUND_Z_FOR_3D_COORD
---
--- Bear in mind this native can only calculate the elevation when the coordinates are within the client's render distance.
--- 
--- 
--- 
--- NativeDB Added Parameter 6: BOOL p5
--- 
---@param x number
---@param y number
---@param z number
---@param groundZ any
---@param ignoreWater boolean
---@return boolean
function GetGroundZFor3DCoord(x, y, z, groundZ, ignoreWater)
end

--- _GET_GLOBAL_CHAR_BUFFER
---
--- Returns pointer to an empty string.
--- GET_C*
--- 
---@return any
function GetGlobalCharBuffer()
end

--- IS_NEXT_WEATHER_TYPE
---Refer to [SET_WEATHER_TYPE_NOW_PERSIST](#\_0xED712CA327900C8A) for weather types.
---@param weatherType any
---@return boolean
function IsNextWeatherType(weatherType)
end

--- SET_DISPATCH_TIME_BETWEEN_SPAWN_ATTEMPTS_MULTIPLIER
---
---@param p0 any
---@param p1 number
---@return any
function SetDispatchTimeBetweenSpawnAttemptsMultiplier(p0, p1)
end

--- SET_WEATHER_TYPE_NOW
---
--- // timecycle_keyframe_data
--- BLIZZARD = 0x27EA2814
--- CLEAR = 0x36A83D84
--- CLEARING = 0x6DB1A50D
--- CLOUDS = 0x30FDAF5C
--- EXTRASUNNY = 0x97AA0A79
--- FOGGY = 0xAE737644
--- HALLOWEEN = 0xC91A3202
--- NEUTRAL = 0xA4CA1326
--- OVERCAST = 0xBB898D2D
--- RAIN = 0x54A69840
--- SMOG = 0x10DCF4B5
--- SNOW = 0xEFB6EFF6
--- SNOWLIGHT = 0x23FB812B
--- THUNDER = 0xB677829F
--- XMAS = 0xAAC9C895
--- 
---@param weatherType any
---@return any
function SetWeatherTypeNow(weatherType)
end

--- _GET_BASE_ELEMENT_METADATA
---
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 boolean
---@return boolean
function GetBaseElementMetadata(p1, p2, p3, p4)
end

--- GET_STATUS_OF_MISSION_REPEAT_SAVE
---
---@return any
function GetStatusOfMissionRepeatSave()
end

--- IS_MINIGAME_IN_PROGRESS
---
---@return boolean
function IsMinigameInProgress()
end

--- REMOVE_POP_MULTIPLIER_SPHERE
---
---@param id any
---@param p1 boolean
---@return any
function RemovePopMultiplierSphere(id, p1)
end

--- _START_BENCHMARK_RECORDING
---
--- Begins with START_*. Next character in the name is either D or E.
--- 
---@return any
function StartBenchmarkRecording()
end

--- START_SAVE_STRUCT_WITH_SIZE
---
---@param p0 any
---@param size any
---@param structName any
---@return any
function StartSaveStructWithSize(p0, size, structName)
end

--- ACOS
---
---@param p0 number
---@return number
function Acos(p0)
end

--- GET_COORDS_OF_PROJECTILE_TYPE_IN_AREA
---
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param projectileHash any
---@param projectilePos any
---@param ownedByPlayer boolean
---@return boolean
function GetCoordsOfProjectileTypeInArea(x1, y1, z1, x2, y2, z2, projectileHash, projectilePos, ownedByPlayer)
end

--- GET_SIZE_OF_SAVE_DATA
---
---@param p0 boolean
---@return any
function GetSizeOfSaveData(p0)
end

--- DISPLAY_ONSCREEN_KEYBOARD_WITH_LONGER_INITIAL_STRING
---
---@param p0 any
---@param windowTitle any
---@param p2 any
---@param defaultText any
---@param defaultConcat1 any
---@param defaultConcat2 any
---@param defaultConcat3 any
---@param defaultConcat4 any
---@param defaultConcat5 any
---@param defaultConcat6 any
---@param defaultConcat7 any
---@param maxInputLength any
---@return any
function DisplayOnscreenKeyboardWithLongerInitialString(p0, windowTitle, p2, defaultText, defaultConcat1, defaultConcat2, defaultConcat3, defaultConcat4, defaultConcat5, defaultConcat6, defaultConcat7, maxInputLength)
end

--- GET_ALLOCATED_STACK_SIZE
---
---@return any
function GetAllocatedStackSize()
end

--- _SAVE_BENCHMARK_RECORDING
---
--- Saves the benchmark recording to %USERPROFILE%\Documents\Rockstar Games\GTA V\Benchmarks and submits some metrics.
--- 
---@return any
function SaveBenchmarkRecording()
end

--- CLEAR_AREA_OF_PROJECTILES
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@param flags any
---@return any
function ClearAreaOfProjectiles(x, y, z, radius, flags)
end

--- SHOOT_SINGLE_BULLET_BETWEEN_COORDS
---Shoots a bullet from the first vector to the second vector. The weapon used as weaponHash should already be loaded via REQUEST_WEAPON_ASSET, otherwise the bullet may fail to materialise.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param damage any
---@param pureAccuracy boolean
---@param weaponHash any
---@param ownerPed number
---@param isAudible boolean
---@param isInvisible boolean
---@param speed number
---@return any
function ShootSingleBulletBetweenCoords(x1, y1, z1, x2, y2, z2, damage, pureAccuracy, weaponHash, ownerPed, isAudible, isInvisible, speed)
end

--- STOP_SAVE_STRUCT
---
---@return any
function StopSaveStruct()
end

--- FORCE_GAME_STATE_PLAYING
---
--- Sets the localplayer playerinfo state back to playing (State 0)  
--- States are:  
--- -1: "Invalid"  
--- 0: "Playing"  
--- 1: "Died"  
--- 2: "Arrested"  
--- 3: "Failed Mission"  
--- 4: "Left Game"  
--- 5: "Respawn"  
--- 6: "In MP Cutscene"  
--- 
---@return any
function ForceGameStatePlaying()
end

--- GET_REPLAY_STAT_MISSION_TYPE
---
---@return any
function GetReplayStatMissionType()
end

--- IS_PREV_WEATHER_TYPE
---Refer to [SET_WEATHER_TYPE_NOW_PERSIST](#\_0xED712CA327900C8A) for weather types.
---@param weatherType any
---@return boolean
function IsPrevWeatherType(weatherType)
end

--- _GET_BENCHMARK_TIME
---
---@return number
function GetBenchmarkTime()
end

--- GET_GROUND_Z_AND_NORMAL_FOR_3D_COORD
---
---@param x number
---@param y number
---@param z number
---@param groundZ any
---@param normal any
---@return boolean
function GetGroundZAndNormalFor3DCoord(x, y, z, groundZ, normal)
end

--- HAVE_CREDITS_REACHED_END
---
---@return boolean
function HaveCreditsReachedEnd()
end

--- IS_POINT_OBSCURED_BY_A_MISSION_ENTITY
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 any
---@return boolean
function IsPointObscuredByAMissionEntity(p0, p1, p2, p3, p4, p5, p6)
end

--- _UI_IS_SINGLEPLAYER_PAUSE_MENU_ACTIVE
---
--- Returns true if the current frontend menu is FE_MENU_VERSION_SP_PAUSE
--- 
--- U*
--- 
---@return boolean
function UiIsSingleplayerPauseMenuActive()
end

--- ASIN
---
---@param p0 number
---@return number
function Asin(p0)
end

--- RESET_DISPATCH_SPAWN_BLOCKING_AREAS
---
---@return any
function ResetDispatchSpawnBlockingAreas()
end

--- _CLEAR_CLOUD_HAT
---
---@return any
function ClearCloudHat()
end

--- COMPARE_STRINGS
---
--- Compares two strings up to a specified number of characters.
--- Parameters:
--- str1 - String to be compared.
--- str2 - String to be compared.
--- matchCase - Comparison will be case-sensitive.
--- maxLength - Maximum number of characters to compare. A value of -1 indicates an infinite length.
--- Returns:
--- A value indicating the relationship between the strings:
--- <0 - The first non-matching character in 'str1' is less than the one in 'str2'. (e.g. 'A' < 'B', so result = -1)
--- 0 - The contents of both strings are equal.
--- >0 - The first non-matching character in 'str1' is less than the one in 'str2'. (e.g. 'B' > 'A', so result = 1)
--- Examples:
--- MISC::COMPARE_STRINGS("STRING", "string", false, -1); // 0; equal
--- MISC::COMPARE_STRINGS("TESTING", "test", false, 4); // 0; equal
--- MISC::COMPARE_STRINGS("R2D2", "R2xx", false, 2); // 0; equal
--- MISC::COMPARE_STRINGS("foo", "bar", false, -1); // 4; 'f' > 'b'
--- MISC::COMPARE_STRINGS("A", "A", true, 1); // 0; equal
--- When comparing case-sensitive strings, lower-case characters are greater than upper-case characters:
--- MISC::COMPARE_STRINGS("A", "a", true, 1); // -1; 'A' < 'a'
--- MISC::COMPARE_STRINGS("a", "A", true, 1); // 1; 'a' > 'A'
--- 
---@param str1 any
---@param str2 any
---@param matchCase boolean
---@param maxLength any
---@return any
function CompareStrings(str1, str2, matchCase, maxLength)
end

--- GET_FRAME_TIME
---Gets the high precision frame time of the last frame in seconds.
--- 
--- *note: the example above is way less precise.*
---@return number
function GetFrameTime()
end

--- SET_THIS_SCRIPT_CAN_REMOVE_BLIPS_CREATED_BY_ANY_SCRIPT
---
---@param toggle boolean
---@return any
function SetThisScriptCanRemoveBlipsCreatedByAnyScript(toggle)
end

--- CLEAR_AREA_LEAVE_VEHICLE_HEALTH
---
--- MISC::_0x957838AAF91BD12D(x, y, z, radius, false, false, false, false); seem to make all objects go away, peds, vehicles etc. All booleans set to true doesn't seem to change anything.
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param p4 boolean
---@param p5 boolean
---@param p6 boolean
---@param p7 boolean
---@return any
function ClearAreaLeaveVehicleHealth(x, y, z, radius, p4, p5, p6, p7)
end

--- SCRIPT_RACE_INIT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function ScriptRaceInit(p0, p1, p2, p3)
end

--- _SET_CLOUD_HAT_OPACITY
---
---@param opacity number
---@return any
function SetCloudHatOpacity(opacity)
end

--- CANCEL_STUNT_JUMP
---
---@return any
function CancelStuntJump()
end

--- FORCE_LIGHTNING_FLASH
---
--- creates single lightning+thunder at random position  
--- 
---@return any
function ForceLightningFlash()
end

--- GET_REPLAY_STAT_COUNT
---
---@return any
function GetReplayStatCount()
end

--- POPULATE_NOW
---
--- spawns a few distant/out-of-sight peds, vehicles, animals etc each time it is called  
--- 
---@return any
function PopulateNow()
end

--- SET_EXPLOSIVE_AMMO_THIS_FRAME
---
---@param player number
---@return any
function SetExplosiveAmmoThisFrame(player)
end

--- SET_FADE_IN_AFTER_LOAD
---
---@param toggle boolean
---@return any
function SetFadeInAfterLoad(toggle)
end

--- ATAN2
---
---@param p0 number
---@param p1 number
---@return number
function Atan2(p0, p1)
end

--- WATER_OVERRIDE_SET_OCEANWAVEMINAMPLITUDE
---
---@param minAmplitude number
---@return any
function WaterOverrideSetOceanwaveminamplitude(minAmplitude)
end

--- CLEAR_BIT
---
--- This sets bit [offset] of [address] to off.
--- Example:
--- MISC::CLEAR_BIT(&bitAddress, 1);
--- To check if this bit has been enabled:
--- MISC::IS_BIT_SET(bitAddress, 1); // will return 0 afterwards
--- 
---@param address any
---@param offset any
---@return any
function ClearBit(address, offset)
end

--- GET_HASH_KEY
---This native converts its past string to hash. It is hashed using jenkins one at a time method.
---@param string any
---@return any
function GetHashKey(string)
end

--- IS_AUSSIE_VERSION
---
--- if (MISC::IS_AUSSIE_VERSION()) {
---     sub_127a9(&l_31, 1024); // l_31 |= 1024
---     l_129 = 3;
---     sub_129d2("AUSSIE VERSION IS TRUE!?!?!"); // DEBUG
--- }
--- Used to block some of the prostitute stuff due to laws in Australia.
--- 
---@return boolean
function IsAussieVersion()
end

--- IS_PS3_VERSION
---
---@return boolean
function IsPs3Version()
end

--- REGISTER_INT_TO_SAVE
---
---@param p0 any
---@param name any
---@return any
function RegisterIntToSave(p0, name)
end

--- STOP_SAVE_ARRAY
---
---@return any
function StopSaveArray()
end

--- ADD_STUNT_JUMP
---See description of [ADD_STUNT_JUMP_ANGLED](#\_0xBBE5D803A5360CBF) for detailed info. The only difference really is this one does not have the radius (or angle, not sure) floats parameters for entry and landing zones.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param x3 number
---@param y3 number
---@param z3 number
---@param x4 number
---@param y4 number
---@param z4 number
---@param camX number
---@param camY number
---@param camZ number
---@param unk1 any
---@param unk2 any
---@param unk3 any
---@return any
function AddStuntJump(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4, camX, camY, camZ, unk1, unk2, unk3)
end

--- WATER_OVERRIDE_SET_SHOREWAVEMAXAMPLITUDE
---
---@param maxAmplitude number
---@return any
function WaterOverrideSetShorewavemaxamplitude(maxAmplitude)
end

--- SET_MISSION_FLAG
---
--- If true, the player can't save the game.   
--- If the parameter is true, sets the mission flag to true, if the parameter is false, the function does nothing at all.  
--- ^ also, if the mission flag is already set, the function does nothing at all  
--- 
---@param toggle boolean
---@return any
function SetMissionFlag(toggle)
end

--- ENABLE_DISPATCH_SERVICE
---Enables or disables the specified 'dispatch service' type. 'Dispatch services' are used for spawning AI response peds/vehicles for events such as a fire in the street (type 3 - DT_FireDepartment), or gunfire in a gang area (type 11 - DT_Gangs).
--- 
--- List of dispatch services:
--- 
--- cpp
--- enum DispatchType
--- {
--- 	DT_Invalid = 0,
--- 	DT_PoliceAutomobile,
--- 	DT_PoliceHelicopter,
--- 	DT_FireDepartment,
--- 	DT_SwatAutomobile,
--- 	DT_AmbulanceDepartment,
--- 	DT_PoliceRiders,
--- 	DT_PoliceVehicleRequest,
--- 	DT_PoliceRoadBlock,
--- 	DT_PoliceAutomobileWaitPulledOver,
--- 	DT_PoliceAutomobileWaitCruising,
--- 	DT_Gangs,
--- 	DT_SwatHelicopter,
--- 	DT_PoliceBoat,
--- 	DT_ArmyVehicle,
--- 	DT_BikerBackup = 15
--- };
--- 
--- 
--- Note that 'dispatch service' has nothing to do with the police scanner (audio), to toggle that, use [SET_AUDIO_FLAG](#\_0xB9EFD5C25018725A) with 'PoliceScannerDisabled'.
---@param dispatchService any
---@param toggle boolean
---@return any
function EnableDispatchService(dispatchService, toggle)
end

--- IS_FRONTEND_FADING
---
--- This function is hard-coded to always return 0.  
--- 
---@return boolean
function IsFrontendFading()
end

--- IS_SNIPER_INVERTED
---
--- This function is hard-coded to always return 0.  
--- 
---@return boolean
function IsSniperInverted()
end

--- SET_DISPATCH_SPAWN_LOCATION
---
---@param x number
---@param y number
---@param z number
---@return any
function SetDispatchSpawnLocation(x, y, z)
end

--- SET_SUPER_JUMP_THIS_FRAME
---
---@param player number
---@return any
function SetSuperJumpThisFrame(player)
end

--- SET_THIS_SCRIPT_CAN_BE_PAUSED
---
---@param toggle boolean
---@return any
function SetThisScriptCanBePaused(toggle)
end

--- DOES_POP_MULTIPLIER_SPHERE_EXIST
---
---@param id any
---@return boolean
function DoesPopMultiplierSphereExist(id)
end

--- WATER_OVERRIDE_SET_OCEANWAVEAMPLITUDE
---
---@param amplitude number
---@return any
function WaterOverrideSetOceanwaveamplitude(amplitude)
end

--- START_SAVE_DATA
---
---@param p0 any
---@param p1 any
---@param p2 boolean
---@return any
function StartSaveData(p0, p1, p2)
end

--- GET_PROFILE_SETTING
---
---@param profileSetting any
---@return any
function GetProfileSetting(profileSetting)
end

--- _SET_BEAST_MODE_ACTIVE
---
---@param player number
---@return any
function SetBeastModeActive(player)
end

--- SET_BIT
---
--- This sets bit [offset] of [address] to on.
--- The offsets used are different bits to be toggled on and off, typically there is only one address used in a script.
--- Example:
--- MISC::SET_BIT(&bitAddress, 1);
--- To check if this bit has been enabled:
--- MISC::IS_BIT_SET(bitAddress, 1); // will return 1 afterwards
--- Please note, this method may assign a value to [address] when used.
--- 
---@param address any
---@param offset any
---@return any
function SetBit(address, offset)
end

--- _SET_INCIDENT_UNK
---
--- SET_INCIDENT_*
--- 
---@param incidentId any
---@param p1 number
---@return any
function SetIncidentUnk(incidentId, p1)
end

--- SLERP_NEAR_QUATERNION
---This native always come right before SET_ENTITY_QUATERNION where its final 4 parameters are SLERP_NEAR_QUATERNION p9 to p12
---@param t number
---@param x number
---@param y number
---@param z number
---@param w number
---@param x1 number
---@param y1 number
---@param z1 number
---@param w1 number
---@param outX any
---@param outY any
---@param outZ any
---@param outW any
---@return any
function SlerpNearQuaternion(t, x, y, z, w, x1, y1, z1, w1, outX, outY, outZ, outW)
end

--- GET_COORDS_OF_PROJECTILE_TYPE_WITHIN_DISTANCE
---
---@param ped number
---@param weaponHash any
---@param distance number
---@param outCoords any
---@param ownedByPlayer boolean
---@return boolean
function GetCoordsOfProjectileTypeWithinDistance(ped, weaponHash, distance, outCoords, ownedByPlayer)
end

--- _HAS_ASYNC_INSTALL_FINISHED
---
--- Hardcoded to always return true.
--- 
---@return boolean
function HasAsyncInstallFinished()
end

--- IS_ORBIS_VERSION
---
---@return boolean
function IsOrbisVersion()
end

--- REGISTER_SAVE_HOUSE
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 any
---@param p5 any
---@param p6 any
---@return any
function RegisterSaveHouse(p0, p1, p2, p3, p4, p5, p6)
end

--- GET_SNOW_LEVEL
---
---@return number
function GetSnowLevel()
end

--- GET_GAME_TIMER
---
---@return any
function GetGameTimer()
end

--- GET_MODEL_DIMENSIONS
---
--- Gets the dimensions of a model.
--- Calculate (maximum - minimum) to get the size, in which case, Y will be how long the model is.
--- Example from the scripts: MISC::GET_MODEL_DIMENSIONS(ENTITY::GET_ENTITY_MODEL(PLAYER::PLAYER_PED_ID()), &v_1A, &v_17);
--- 
---@param modelHash any
---@param minimum any
---@param maximum any
---@return any
function GetModelDimensions(modelHash, minimum, maximum)
end

--- _GET_NUM_DISPATCHED_UNITS_FOR_PLAYER
---
---@param dispatchService any
---@return any
function GetNumDispatchedUnitsForPlayer(dispatchService)
end

--- CLEAR_OVERRIDE_WEATHER
---
---@return any
function ClearOverrideWeather()
end

--- GET_IS_AUTO_SAVE_OFF
---
--- Returns true if profile setting 208 is equal to 0.
--- 
---@return boolean
function GetIsAutoSaveOff()
end

--- GET_RANDOM_EVENT_FLAG
---
---@return boolean
function GetRandomEventFlag()
end

--- GET_RAIN_LEVEL
---
---@return number
function GetRainLevel()
end

--- SET_INSTANCE_PRIORITY_MODE
---Sets the maximum prop density and changes a loading screen flag from 'loading story mode' to 'loading GTA Online'. It causes a loading screen to show as it reloads map data.
---@param toggle any
---@return any
function SetInstancePriorityMode(toggle)
end

--- _FORCE_SOCIAL_CLUB_UPDATE
---
--- Exits the game and downloads a fresh social club update on next restart.  
--- 
---@return any
function ForceSocialClubUpdate()
end

--- _REGISTER_INT64_TO_SAVE
---
---@param p0 any
---@param name any
---@return any
function RegisterInt64ToSave(p0, name)
end

--- GET_TENNIS_SWING_ANIM_COMPLETE
---
---@param ped number
---@return boolean
function GetTennisSwingAnimComplete(ped)
end

--- TAN
---
---@param p0 number
---@return number
function Tan(p0)
end

--- HAS_BULLET_IMPACTED_IN_AREA
---
--- p3 - possibly radius?  
--- 
---@param x number
---@param y number
---@param z number
---@param p3 number
---@param p4 boolean
---@param p5 boolean
---@return boolean
function HasBulletImpactedInArea(x, y, z, p3, p4, p5)
end

--- _HAS_RESUMED_FROM_SUSPEND
---
--- Hardcoded to return false.
--- 
---@return boolean
function HasResumedFromSuspend()
end

--- ABSI
---
---@param value any
---@return any
function Absi(value)
end

--- IS_STUNT_JUMP_MESSAGE_SHOWING
---
---@return boolean
function IsStuntJumpMessageShowing()
end

--- ADD_STUNT_JUMP_ANGLED
---Creates a new stunt jump.
--- 
--- The radius1 and radius2 might actually not be a radius at all, but that's what it seems to me testing them in-game. But they may be 'angle' floats instead, considering this native is named ADD_STUNT_JUMP\_**ANGLED**.
--- 
--- Info about the specific 'parameter sections':
--- 
--- **x1, y1, z1, x2, y2, z2 and radius1:**
--- 
--- First coordinates are for the jump entry area, and the radius that will be checked around that area. So if you're not exactly within the coordinates, but you are within the outter radius limit then it will still register as entering the stunt jump. Note as mentioned above, the radius is just a guess, I'm not really sure about it's exact purpose.
--- 
--- **x3, y3, z3, x4, y4, z4 and radius2:**
--- 
--- Next part is the landing area, again starting with the left bottom (nearest to the stunt jump entry zone) coordinate, and the second one being the top right furthest away part of the landing area. Followed by another (most likely) radius float, this is usually slightly larger than the entry zone 'radius' float value, just because you have quite a lot of places where you can land (I'm guessing).
--- 
--- **camX, camY and camZ:**
--- 
--- The final coordinate in this native is the Camera position. Rotation and zoom/FOV is managed by the game itself, you just need to provide the camera location.
--- 
--- **unk1, unk2 and unk3:**
--- 
--- Not sure what these are for, but they're always 150, 0, 0 in decompiled scripts.
--- 
--- Visualized example in-game:
--- 
--- ![](https://d.fivem.dev/2019-03-15\_18-24\_c7802\_846.png)
--- 
--- Here is a list of almost all of the stunt jumps from GTA V (taken from decompiled scripts): https://pastebin.com/EW1jBPkY
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param radius1 number
---@param x3 number
---@param y3 number
---@param z3 number
---@param x4 number
---@param y4 number
---@param z4 number
---@param radius2 number
---@param camX number
---@param camY number
---@param camZ number
---@param unk1 any
---@param unk2 any
---@param unk3 any
---@return any
function AddStuntJumpAngled(x1, y1, z1, x2, y2, z2, radius1, x3, y3, z3, x4, y4, z4, radius2, camX, camY, camZ, unk1, unk2, unk3)
end

--- END_REPLAY_STATS
---
---@return any
function EndReplayStats()
end

--- _GET_IS_PLAYER_IN_ANIMAL_FORM
---
--- Although we don't have a jenkins hash for this one, the name is 100% confirmed.
--- 
---@return boolean
function GetIsPlayerInAnimalForm()
end

--- _GET_POWER_SAVING_MODE_DURATION
---
--- Returns duration of how long the game has been in power-saving mode (aka "constrained") in milliseconds.
--- 
---@return any
function GetPowerSavingModeDuration()
end

--- IS_PC_VERSION
---
---@return boolean
function IsPcVersion()
end

--- DISABLE_STUNT_JUMP_SET
---
---@param p0 any
---@return any
function DisableStuntJumpSet(p0)
end

--- WATER_OVERRIDE_SET_RIPPLEMAXBUMPINESS
---
---@param maxBumpiness number
---@return any
function WaterOverrideSetRipplemaxbumpiness(maxBumpiness)
end

--- _HAS_BUTTON_COMBINATION_JUST_BEEN_ENTERED
---
--- This native appears on the cheat_controller script and tracks a combination of buttons, which may be used to toggle cheats in-game. Credits to ThreeSocks for the info. The hash contains the combination, while the "amount" represents the amount of buttons used in a combination. The following page can be used to make a button combination: gta5offset.com/ts/hash/
--- INT_SCORES_SCORTED was a hash collision
--- 
---@param hash any
---@param amount any
---@return boolean
function HasButtonCombinationJustBeenEntered(hash, amount)
end

--- IS_PROJECTILE_TYPE_WITHIN_DISTANCE
---
---@param x number
---@param y number
---@param z number
---@param projHash any
---@param radius number
---@param ownedByPlayer boolean
---@return boolean
function IsProjectileTypeWithinDistance(x, y, z, projHash, radius, ownedByPlayer)
end

--- SET_OVERRIDE_WEATHER
---Refer to [SET_WEATHER_TYPE_NOW_PERSIST](#\_0xED712CA327900C8A) for weather types.
---@param weatherType any
---@return any
function SetOverrideWeather(weatherType)
end

--- ADD_POP_MULTIPLIER_AREA
---
--- NativeDB Added Parameter 10: BOOL p9
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param p6 number
---@param p7 number
---@param p8 boolean
---@return any
function AddPopMultiplierArea(x1, y1, z1, x2, y2, z2, p6, p7, p8)
end

--- _GET_WEATHER_TYPE_TRANSITION
---Refer to [SET_WEATHER_TYPE_NOW_PERSIST](#\_0xED712CA327900C8A) for weather types.
---@param weatherType1 any
---@param weatherType2 any
---@param percentWeather2 any
---@return any
function GetWeatherTypeTransition(weatherType1, weatherType2, percentWeather2)
end

--- SET_DISPATCH_TIME_BETWEEN_SPAWN_ATTEMPTS
---
---@param p0 any
---@param p1 number
---@return any
function SetDispatchTimeBetweenSpawnAttempts(p0, p1)
end

--- SET_INCIDENT_REQUESTED_UNITS
---
---@param incidentId any
---@param dispatchService any
---@param numUnits any
---@return any
function SetIncidentRequestedUnits(incidentId, dispatchService, numUnits)
end

--- CLEAR_ANGLED_AREA_OF_VEHICLES
---
--- NativeDB Added Parameter 13: Any p12
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param width number
---@param p7 boolean
---@param p8 boolean
---@param p9 boolean
---@param p10 boolean
---@param p11 boolean
---@return any
function ClearAngledAreaOfVehicles(x1, y1, z1, x2, y2, z2, width, p7, p8, p9, p10, p11)
end

--- GET_MISSION_FLAG
---
---@return boolean
function GetMissionFlag()
end

--- QUEUE_MISSION_REPEAT_SAVE
---Shows the screen which is visible before you redo a mission? The game will make a restoration point where you will cameback when the mission is over.
---@return boolean
function QueueMissionRepeatSave()
end

--- TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME
---
--- For a full list, see here: pastebin.com/yLNWicUi  
--- 
---@param scriptName any
---@return any
function TerminateAllScriptsWithThisName(scriptName)
end

--- UNLOAD_CLOUD_HAT
---
--- Called 4 times in the b617d scripts:
--- MISC::_A74802FB8D0B7814("CONTRAILS", 0);
--- 
---@param name any
---@param p1 number
---@return any
function UnloadCloudHat(name, p1)
end

--- BLOCK_DISPATCH_SERVICE_RESOURCE_CREATION
---
---@param dispatchService any
---@param toggle boolean
---@return any
function BlockDispatchServiceResourceCreation(dispatchService, toggle)
end

--- _IS_COMMAND_LINE_BENCHMARK_VALUE_SET
---
--- Returns true if command line option '-benchmark' is set.
--- 
---@return boolean
function IsCommandLineBenchmarkValueSet()
end

--- _RESET_DISPATCH_SPAWN_LOCATION
---
--- NativeDB Introduced: v1868
--- 
---@return any
function ResetDispatchSpawnLocation()
end

--- SET_FADE_OUT_AFTER_ARREST
---
--- Sets whether the game should fade out after the player is arrested.  
--- 
---@param toggle boolean
---@return any
function SetFadeOutAfterArrest(toggle)
end

--- CREATE_INCIDENT_WITH_ENTITY
---
--- p0 could be type (valueused in scripts: 14, 7, 5, 3, 11)  
--- p1 is a return from get_player_ped() in am_gang_call.c, but player_ped_id() in other (non am) scripts.  
--- p3 is usually 0f or 3f  
--- =====================================================  
--- enum IncidentTypes  
--- {  
---     FireDepartment = 3,  
---     Paramedics = 5,  
---     Police = 7,  
---     PedsInCavalcades = 11,   
---     Merryweather = 14  
--- };  
--- As for the 'police' incident, it will call police cars to you, but unlike PedsInCavalcades & Merryweather they won't start shooting at you unless you shoot first or shoot at them. The top 2 however seem to cancel theirselves if there is noone dead around you or a fire. I only figured them out as I found out the 3rd param is definately the amountOfPeople and they called incident 3 in scripts with 4 people (which the firetruck has) and incident 5 with 2 people (which the ambulence has). The 4 param I cant say is radius, but for the pedsInCavalcades and Merryweather R* uses 0.0f and for the top 3 (Emergency Services) they use 3.0f.   
--- Side Note: It seems calling the pedsInCavalcades or Merryweather then removing it seems to break you from calling the EmergencyEvents and I also believe pedsInCavalcades. (The V cavalcades of course not IV).  
--- Side Note 2: I say it breaks as if you call this proper,  
--- if(CREATE_INCIDENT) etc it will return false if you do as I said above.  
--- =====================================================  
--- 
--- 
--- 
--- NativeDB Added Parameter 6: Any p5
--- NativeDB Added Parameter 7: Any p6
--- 
---@param dispatchService any
---@param ped number
---@param numUnits any
---@param radius number
---@param outIncidentID any
---@return boolean
function CreateIncidentWithEntity(dispatchService, ped, numUnits, radius, outIncidentID)
end

--- DOES_POP_MULTIPLIER_AREA_EXIST
---
---@param id any
---@return boolean
function DoesPopMultiplierAreaExist(id)
end

--- GET_ANGLE_BETWEEN_2D_VECTORS
---
---@param x1 number
---@param y1 number
---@param x2 number
---@param y2 number
---@return number
function GetAngleBetween2DVectors(x1, y1, x2, y2)
end

--- IS_BULLET_IN_BOX
---
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param ownedByPlayer boolean
---@return boolean
function IsBulletInBox(x1, y1, z1, x2, y2, z2, ownedByPlayer)
end

--- _ADD_TACTICAL_ANALYSIS_POINT
---
--- Adds a point related to CTacticalAnalysis
--- 
---@param x number
---@param y number
---@param z number
---@return any
function AddTacticalAnalysisPoint(x, y, z)
end

--- WATER_OVERRIDE_SET_SHOREWAVEAMPLITUDE
---
---@param amplitude number
---@return any
function WaterOverrideSetShorewaveamplitude(amplitude)
end

--- IGNORE_NEXT_RESTART
---
---@param toggle boolean
---@return any
function IgnoreNextRestart(toggle)
end

--- ENABLE_TENNIS_MODE
---
--- Makes the ped jump around like they're in a tennis match  
--- 
---@param ped number
---@param toggle boolean
---@param p2 boolean
---@return any
function EnableTennisMode(ped, toggle, p2)
end

--- GET_PREV_WEATHER_TYPE_HASH_NAME
---Refer to [SET_WEATHER_TYPE_NOW_PERSIST](#\_0xED712CA327900C8A) for weather types.
---@return any
function GetPrevWeatherTypeHashName()
end

--- OVERRIDE_SAVE_HOUSE
---
---@param p0 boolean
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 boolean
---@param p6 number
---@param p7 number
---@return boolean
function OverrideSaveHouse(p0, p1, p2, p3, p4, p5, p6, p7)
end

--- SET_RANDOM_WEATHER_TYPE
---
---@return any
function SetRandomWeatherType()
end

--- SET_STUNT_JUMPS_CAN_TRIGGER
---
---@param toggle boolean
---@return any
function SetStuntJumpsCanTrigger(toggle)
end

--- WATER_OVERRIDE_SET_RIPPLEBUMPINESS
---
---@param bumpiness number
---@return any
function WaterOverrideSetRipplebumpiness(bumpiness)
end

--- WATER_OVERRIDE_SET_RIPPLEDISTURB
---
---@param disturb number
---@return any
function WaterOverrideSetRippledisturb(disturb)
end

--- ABSF
---
---@param value number
---@return number
function Absf(value)
end

--- SET_INSTANCE_PRIORITY_HINT
---
--- Sets an unknown flag used by CScene in determining which entities from CMapData scene nodes to draw, similar to SET_INSTANCE_PRIORITY_MODE.
--- 
---@param flag any
---@return any
function SetInstancePriorityHint(flag)
end

--- SET_RANDOM_SEED
---
---@param seed any
---@return any
function SetRandomSeed(seed)
end

--- _GET_BENCHMARK_ITERATIONS_FROM_COMMAND_LINE
---
--- Returns value of the '-benchmarkIterations' command line option.
--- 
---@return any
function GetBenchmarkIterationsFromCommandLine()
end

--- _RESET_BENCHMARK_RECORDING
---
--- Begins with RESET_*. Next character in the name is either D or E.
--- 
---@return any
function ResetBenchmarkRecording()
end

--- _ADD_DISPATCH_SPAWN_BLOCKING_ANGLED_AREA
---To remove, see: [REMOVE_DISPATCH_SPAWN_BLOCKING_AREA](#\_0x264AC28B01B353A5).
--- 
--- See [IS_POINT_IN_ANGLED_AREA](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param width number
---@return any
function AddDispatchSpawnBlockingAngledArea(x1, y1, z1, x2, y2, z2, width)
end

--- ATAN
---
---@param p0 number
---@return number
function Atan(p0)
end

--- DISABLE_HOSPITAL_RESTART
---
--- The game by default has 5 hospital respawn points. Disabling them all will cause the player to respawn at the last position they were.
--- 
---@param hospitalIndex any
---@param toggle boolean
---@return any
function DisableHospitalRestart(hospitalIndex, toggle)
end

--- DELETE_STUNT_JUMP
---
---@param p0 any
---@return any
function DeleteStuntJump(p0)
end

--- IS_STRING_NULL_OR_EMPTY
---
---@param string any
---@return boolean
function IsStringNullOrEmpty(string)
end

--- _SET_FORCE_PLAYER_TO_JUMP
---
--- NativeDB Introduced: v1180
--- 
---@param player number
---@return any
function SetForcePlayerToJump(player)
end

--- WATER_OVERRIDE_SET_RIPPLEMINBUMPINESS
---
---@param minBumpiness number
---@return any
function WaterOverrideSetRippleminbumpiness(minBumpiness)
end

--- ADD_POLICE_RESTART
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 any
---@return any
function AddPoliceRestart(p0, p1, p2, p3, p4)
end

--- PLAY_TENNIS_DIVE_ANIM
---
---@param ped number
---@param p1 any
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 boolean
---@return any
function PlayTennisDiveAnim(ped, p1, p2, p3, p4, p5)
end

--- SET_FADE_IN_AFTER_DEATH_ARREST
---
--- Sets whether the game should fade in after the player dies or is arrested.  
--- 
---@param toggle boolean
---@return any
function SetFadeInAfterDeathArrest(toggle)
end

--- SHOULD_USE_METRIC_MEASUREMENTS
---Returns true if the game is using the metric measurement system (profile setting 227), false if imperial is used.
---@return boolean
function ShouldUseMetricMeasurements()
end

--- IS_INCIDENT_VALID
---
--- =======================================================  
--- Correction, I have change this to int, instead of int*  
--- as it doesn't use a pointer to the createdIncident.  
--- If you try it you will crash (or) freeze.  
--- =======================================================  
--- 
---@param incidentId any
---@return boolean
function IsIncidentValid(incidentId)
end

--- IS_DURANGO_VERSION
---
---@return boolean
function IsDurangoVersion()
end

--- _HAS_CHEAT_STRING_JUST_BEEN_ENTERED
---
--- Get inputted "Cheat code", for example:
--- while (TRUE)
--- {
---     if (MISC::_557E43C447E700A8(${fugitive}))
---     {
---        // Do something.
---     }
---     SYSTEM::WAIT(0);
--- }
--- Calling this will also set the last saved string hash to zero.
--- 
---@param hash any
---@return boolean
function HasCheatStringJustBeenEntered(hash)
end

--- REMOVE_POP_MULTIPLIER_AREA
---
---@param id any
---@param p1 boolean
---@return any
function RemovePopMultiplierArea(id, p1)
end

--- USING_MISSION_CREATOR
---
---@param toggle boolean
---@return any
function UsingMissionCreator(toggle)
end

--- WATER_OVERRIDE_FADE_IN
---
---@param p0 number
---@return any
function WaterOverrideFadeIn(p0)
end

--- HAS_BULLET_IMPACTED_IN_BOX
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 boolean
---@param p7 boolean
---@return boolean
function HasBulletImpactedInBox(p0, p1, p2, p3, p4, p5, p6, p7)
end

--- SCRIPT_RACE_GET_PLAYER_SPLIT_TIME
---
---@param player number
---@param p1 any
---@param p2 any
---@return boolean
function ScriptRaceGetPlayerSplitTime(player, p1, p2)
end

--- SHOOT_SINGLE_BULLET_BETWEEN_COORDS_IGNORE_ENTITY
---
--- entity - entity to ignore  
--- 
--- 
--- 
--- NativeDB Added Parameter 15: Any p14
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param damage any
---@param p7 boolean
---@param weaponHash any
---@param ownerPed number
---@param isAudible boolean
---@param isInvisible boolean
---@param speed number
---@param entity number
---@return any
function ShootSingleBulletBetweenCoordsIgnoreEntity(x1, y1, z1, x2, y2, z2, damage, p7, weaponHash, ownerPed, isAudible, isInvisible, speed, entity)
end

--- GET_FAKE_WANTED_LEVEL
---
---@return any
function GetFakeWantedLevel()
end

--- GET_RANDOM_INT_IN_RANGE
---
---@param startRange any
---@param endRange any
---@return any
function GetRandomIntInRange(startRange, endRange)
end

--- _GET_RANDOM_INT_IN_RANGE_2
---
--- NativeDB Introduced: v1734
--- 
---@param startRange any
---@param endRange any
---@return any
function GetRandomIntInRange2(startRange, endRange)
end

--- _IS_IN_POWER_SAVING_MODE
---
--- aka "constrained"
--- 
---@return boolean
function IsInPowerSavingMode()
end

--- IS_PROJECTILE_TYPE_IN_AREA
---
--- Determines whether there is a projectile of a specific type within the specified coordinates. The coordinates form a axis-aligned bounding box.  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param type any
---@param ownedByPlayer boolean
---@return boolean
function IsProjectileTypeInArea(x1, y1, z1, x2, y2, z2, type, ownedByPlayer)
end

--- DELETE_INCIDENT
---
--- Delete an incident with a given id.  
--- =======================================================  
--- Correction, I have change this to int, instead of int*  
--- as it doesn't use a pointer to the createdIncident.  
--- If you try it you will crash (or) freeze.  
--- =======================================================  
--- 
---@param incidentId any
---@return any
function DeleteIncident(incidentId)
end

--- IS_BIT_SET
---
--- Returns bit's boolean state from [offset] of [address].
--- Example:
--- MISC::IS_BIT_SET(bitAddress, 1);
--- To enable and disable bits, see:
--- MISC::SET_BIT(&bitAddress, 1);   // enable
--- MISC::CLEAR_BIT(&bitAddress, 1); // disable
--- 
---@param address any
---@param offset any
---@return boolean
function IsBitSet(address, offset)
end

--- _REGISTER_TEXT_LABEL_TO_SAVE_2
---
--- Seems to have the same functionality as REGISTER_TEXT_LABEL_TO_SAVE?
--- MISC::_6F7794F28C6B2535(&a_0._f1, "tlPlateText");
--- MISC::_6F7794F28C6B2535(&a_0._f1C, "tlPlateText_pending");
--- MISC::_6F7794F28C6B2535(&a_0._f10B, "tlCarAppPlateText");
--- "tl" prefix sounds like "Text Label"
--- 
---@param p0 any
---@param name any
---@return any
function RegisterTextLabelToSave2(p0, name)
end

--- SET_MINIGAME_IN_PROGRESS
---
---@param toggle boolean
---@return any
function SetMinigameInProgress(toggle)
end

--- _SET_PLAYER_IS_IN_ANIMAL_FORM
---
--- If toggle is true, the ped's head is shown in the pause menu
--- If toggle is false, the ped's head is not shown in the pause menu
--- 
---@param toggle boolean
---@return any
function SetPlayerIsInAnimalForm(toggle)
end

--- SET_TIME_SCALE
---
--- Maximum value is 1.  
--- At a value of 0 the game will still run at a minimum time scale.  
--- Slow Motion 1: 0.6  
--- Slow Motion 2: 0.4  
--- Slow Motion 3: 0.2  
--- 
---@param timeScale number
---@return any
function SetTimeScale(timeScale)
end

--- SET_WEATHER_TYPE_OVERTIME_PERSIST
---Refer to [SET_WEATHER_TYPE_NOW_PERSIST](#\_0xED712CA327900C8A) for weather types.
---@param weatherType any
---@param time number
---@return any
function SetWeatherTypeOvertimePersist(weatherType, time)
end

--- ADD_HOSPITAL_RESTART
---
--- Returns the index of the newly created hospital spawn point.  
--- p3 might be radius?  
--- 
---@param x number
---@param y number
---@param z number
---@param p3 number
---@param p4 any
---@return any
function AddHospitalRestart(x, y, z, p3, p4)
end

--- ARE_STRINGS_EQUAL
---
---@param string1 any
---@param string2 any
---@return boolean
function AreStringsEqual(string1, string2)
end

--- _CLEAR_TACTICAL_ANALYSIS_POINTS
---
---@return any
function ClearTacticalAnalysisPoints()
end

--- _GET_BENCHMARK_PASS_FROM_COMMAND_LINE
---
--- Returns value of the '-benchmarkPass' command line option.
--- 
---@return any
function GetBenchmarkPassFromCommandLine()
end

--- GET_NEXT_WEATHER_TYPE_HASH_NAME
---Refer to [SET_WEATHER_TYPE_NOW_PERSIST](#\_0xED712CA327900C8A) for weather types.
---@return any
function GetNextWeatherTypeHashName()
end

--- GET_WIND_SPEED
---
---@return number
function GetWindSpeed()
end

--- IS_SNIPER_BULLET_IN_AREA
---
--- Determines whether there is a sniper bullet within the specified coordinates. The coordinates form an axis-aligned bounding box.  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@return boolean
function IsSniperBulletInArea(x1, y1, z1, x2, y2, z2)
end

--- RESET_DISPATCH_IDEAL_SPAWN_DISTANCE
---
---@return any
function ResetDispatchIdealSpawnDistance()
end

--- ADD_REPLAY_STAT_VALUE
---
---@param value any
---@return any
function AddReplayStatValue(value)
end

--- SET_SAVE_MENU_ACTIVE
---
--- ignoreVehicle - bypasses vehicle check of the local player (it will not open if you are in a vehicle and this is set to false)
--- 
---@param ignoreVehicle boolean
---@return any
function SetSaveMenuActive(ignoreVehicle)
end

--- _SET_SNOW_LEVEL
---
--- NativeDB Introduced: v1868
--- 
---@param level number
---@return any
function SetSnowLevel(level)
end

--- _RESTART_GAME
---In singleplayer it does exactly what the name implies. In FiveM / GTA:Online it shows Disconnecting from GTA Online HUD and then quits the game.
---@return any
function RestartGame()
end

--- _RESET_EDITOR_VALUES
---
--- Sets (almost, not sure) all Rockstar Editor values (bIsRecording etc) to 0.  
--- 
---@return any
function ResetEditorValues()
end

--- _ACTIVATE_ROCKSTAR_EDITOR
---Please note that you will need to call DO_SCREEN_FADE_IN after exiting the Rockstar Editor when you call this.
--- 
--- 
--- NativeDB Added Parameter 1: int p0
--- 
---@return any
function ActivateRockstarEditor()
end

--- _IS_INTERIOR_RENDERING_DISABLED
---
--- Returns a bool if interior rendering is disabled, if yes, all "normal" rendered interiors are invisible  
--- 
---@return boolean
function IsInteriorRenderingDisabled()
end

--- GET_ZONE_AT_COORDS
---
---@param x number
---@param y number
---@param z number
---@return any
function GetZoneAtCoords(x, y, z)
end

--- GET_ZONE_SCUMMINESS
---Gets the zone scumminess level, used to calculate the cellphone signal strength.
--- 
--- cpp
--- enum eZoneScumminess
--- {
---     SCUMMINESS_POSH = 0,
---     SCUMMINESS_NICE = 1,
---     SCUMMINESS_ABOVE_AVERAGE = 2,
---     SCUMMINESS_BELOW_AVERAGE = 3,
---     SCUMMINESS_CRAP = 4,
---     SCUMMINESS_SCUM = 5
--- }
--- 
---@param zoneId any
---@return any
function GetZoneScumminess(zoneId)
end

--- GET_NAME_OF_ZONE
---
--- AIRP = Los Santos International Airport  
--- ALAMO = Alamo Sea  
--- ALTA = Alta  
--- ARMYB = Fort Zancudo  
--- BANHAMC = Banham Canyon Dr  
--- BANNING = Banning  
--- BEACH = Vespucci Beach  
--- BHAMCA = Banham Canyon  
--- BRADP = Braddock Pass  
--- BRADT = Braddock Tunnel  
--- BURTON = Burton  
--- CALAFB = Calafia Bridge  
--- CANNY = Raton Canyon  
--- CCREAK = Cassidy Creek  
--- CHAMH = Chamberlain Hills  
--- CHIL = Vinewood Hills  
--- CHU = Chumash  
--- CMSW = Chiliad Mountain State Wilderness  
--- CYPRE = Cypress Flats  
--- DAVIS = Davis  
--- DELBE = Del Perro Beach  
--- DELPE = Del Perro  
--- DELSOL = La Puerta  
--- DESRT = Grand Senora Desert  
--- DOWNT = Downtown  
--- DTVINE = Downtown Vinewood  
--- EAST_V = East Vinewood  
--- EBURO = El Burro Heights  
--- ELGORL = El Gordo Lighthouse  
--- ELYSIAN = Elysian Island  
--- GALFISH = Galilee  
--- GOLF = GWC and Golfing Society  
--- GRAPES = Grapeseed  
--- GREATC = Great Chaparral  
--- HARMO = Harmony  
--- HAWICK = Hawick  
--- HORS = Vinewood Racetrack  
--- HUMLAB = Humane Labs and Research  
--- JAIL = Bolingbroke Penitentiary  
--- KOREAT = Little Seoul  
--- LACT = Land Act Reservoir  
--- LAGO = Lago Zancudo  
--- LDAM = Land Act Dam  
--- LEGSQU = Legion Square  
--- LMESA = La Mesa  
--- LOSPUER = La Puerta  
--- MIRR = Mirror Park  
--- MORN = Morningwood  
--- MOVIE = Richards Majestic  
--- MTCHIL = Mount Chiliad  
--- MTGORDO = Mount Gordo  
--- MTJOSE = Mount Josiah  
--- MURRI = Murrieta Heights  
--- NCHU = North Chumash  
--- NOOSE = N.O.O.S.E  
--- OCEANA = Pacific Ocean  
--- PALCOV = Paleto Cove  
--- PALETO = Paleto Bay  
--- PALFOR = Paleto Forest  
--- PALHIGH = Palomino Highlands  
--- PALMPOW = Palmer-Taylor Power Station  
--- PBLUFF = Pacific Bluffs  
--- PBOX = Pillbox Hill  
--- PROCOB = Procopio Beach  
--- RANCHO = Rancho  
--- RGLEN = Richman Glen  
--- RICHM = Richman  
--- ROCKF = Rockford Hills  
--- RTRAK = Redwood Lights Track  
--- SANAND = San Andreas  
--- SANCHIA = San Chianski Mountain Range  
--- SANDY = Sandy Shores  
--- SKID = Mission Row  
--- SLAB = Stab City  
--- STAD = Maze Bank Arena  
--- STRAW = Strawberry  
--- TATAMO = Tataviam Mountains  
--- TERMINA = Terminal  
--- TEXTI = Textile City  
--- TONGVAH = Tongva Hills  
--- TONGVAV = Tongva Valley  
--- VCANA = Vespucci Canals  
--- VESP = Vespucci  
--- VINE = Vinewood  
--- WINDF = Ron Alternates Wind Farm  
--- WVINE = West Vinewood  
--- ZANCUDO = Zancudo River  
--- ZP_ORT = Port of South Los Santos  
--- ZQ_UAR = Davis Quartz  
--- PROL = Prologue / North Yankton
--- ISHeist = Cayo Perico Island
--- 
---@param x number
---@param y number
---@param z number
---@return any
function GetNameOfZone(x, y, z)
end

--- GET_HASH_OF_MAP_AREA_AT_COORDS
---
--- Returns a hash representing which part of the map the given coords are located.  
--- Possible return values:  
--- (Hash of) city -> -289320599  
--- (Hash of) countryside -> 2072609373  
--- C# Example :  
--- Ped player = Game.Player.Character;  
--- Hash h = Function.Call<Hash>(Hash.GET_HASH_OF_MAP_AREA_AT_COORDS, player.Position.X, player.Position.Y, player.Position.Z);  
--- 
---@param x number
---@param y number
---@param z number
---@return any
function GetHashOfMapAreaAtCoords(x, y, z)
end

--- GET_ZONE_FROM_NAME_ID
---
--- 'zoneName' corresponds to an entry in 'popzone.ipl'.  
--- AIRP = Los Santos International Airport  
--- ALAMO = Alamo Sea  
--- ALTA = Alta  
--- ARMYB = Fort Zancudo  
--- BANHAMC = Banham Canyon Dr  
--- BANNING = Banning  
--- BEACH = Vespucci Beach  
--- BHAMCA = Banham Canyon  
--- BRADP = Braddock Pass  
--- BRADT = Braddock Tunnel  
--- BURTON = Burton  
--- CALAFB = Calafia Bridge  
--- CANNY = Raton Canyon  
--- CCREAK = Cassidy Creek  
--- CHAMH = Chamberlain Hills  
--- CHIL = Vinewood Hills  
--- CHU = Chumash  
--- CMSW = Chiliad Mountain State Wilderness  
--- CYPRE = Cypress Flats  
--- DAVIS = Davis  
--- DELBE = Del Perro Beach  
--- DELPE = Del Perro  
--- DELSOL = La Puerta  
--- DESRT = Grand Senora Desert  
--- DOWNT = Downtown  
--- DTVINE = Downtown Vinewood  
--- EAST_V = East Vinewood  
--- EBURO = El Burro Heights  
--- ELGORL = El Gordo Lighthouse  
--- ELYSIAN = Elysian Island  
--- GALFISH = Galilee  
--- GOLF = GWC and Golfing Society  
--- GRAPES = Grapeseed  
--- GREATC = Great Chaparral  
--- HARMO = Harmony  
--- HAWICK = Hawick  
--- HORS = Vinewood Racetrack  
--- HUMLAB = Humane Labs and Research  
--- JAIL = Bolingbroke Penitentiary  
--- KOREAT = Little Seoul  
--- LACT = Land Act Reservoir  
--- LAGO = Lago Zancudo  
--- LDAM = Land Act Dam  
--- LEGSQU = Legion Square  
--- LMESA = La Mesa  
--- LOSPUER = La Puerta  
--- MIRR = Mirror Park  
--- MORN = Morningwood  
--- MOVIE = Richards Majestic  
--- MTCHIL = Mount Chiliad  
--- MTGORDO = Mount Gordo  
--- MTJOSE = Mount Josiah  
--- MURRI = Murrieta Heights  
--- NCHU = North Chumash  
--- NOOSE = N.O.O.S.E  
--- OCEANA = Pacific Ocean  
--- PALCOV = Paleto Cove  
--- PALETO = Paleto Bay  
--- PALFOR = Paleto Forest  
--- PALHIGH = Palomino Highlands  
--- PALMPOW = Palmer-Taylor Power Station  
--- PBLUFF = Pacific Bluffs  
--- PBOX = Pillbox Hill  
--- PROCOB = Procopio Beach  
--- RANCHO = Rancho  
--- RGLEN = Richman Glen  
--- RICHM = Richman  
--- ROCKF = Rockford Hills  
--- RTRAK = Redwood Lights Track  
--- SANAND = San Andreas  
--- SANCHIA = San Chianski Mountain Range  
--- SANDY = Sandy Shores  
--- SKID = Mission Row  
--- SLAB = Stab City  
--- STAD = Maze Bank Arena  
--- STRAW = Strawberry  
--- TATAMO = Tataviam Mountains  
--- TERMINA = Terminal  
--- TEXTI = Textile City  
--- TONGVAH = Tongva Hills  
--- TONGVAV = Tongva Valley  
--- VCANA = Vespucci Canals  
--- VESP = Vespucci  
--- VINE = Vinewood  
--- WINDF = Ron Alternates Wind Farm  
--- WVINE = West Vinewood  
--- ZANCUDO = Zancudo River  
--- ZP_ORT = Port of South Los Santos  
--- ZQ_UAR = Davis Quartz  
--- 
---@param zoneName any
---@return any
function GetZoneFromNameId(zoneName)
end

--- SET_ZONE_ENABLED
---
---@param zoneId any
---@param toggle boolean
---@return any
function SetZoneEnabled(zoneId, toggle)
end

--- CLEAR_POPSCHEDULE_OVERRIDE_VEHICLE_MODEL
---
--- Only used once in the decompiled scripts. Seems to be related to scripted vehicle generators.  
--- Modified example from "am_imp_exp.c4", line 6418:  
--- /* popSchedules[0] = ZONE::GET_ZONE_POPSCHEDULE(ZONE::GET_ZONE_AT_COORDS(891.3, 807.9, 188.1));  
--- etc.  
--- */  
--- STREAMING::SET_MODEL_AS_NO_LONGER_NEEDED(vehicleHash);  
--- ZONE::CLEAR_POPSCHEDULE_OVERRIDE_VEHICLE_MODEL(popSchedules[index]);  
--- 
---@param scheduleId any
---@return any
function ClearPopscheduleOverrideVehicleModel(scheduleId)
end

--- GET_ZONE_POPSCHEDULE
---
---@param zoneId any
---@return any
function GetZonePopschedule(zoneId)
end

--- OVERRIDE_POPSCHEDULE_VEHICLE_MODEL
---
--- Only used once in the decompiled scripts. Seems to be related to scripted vehicle generators.  
--- Modified example from "am_imp_exp.c4", line 6406:  
--- /* popSchedules[0] = ZONE::GET_ZONE_POPSCHEDULE(ZONE::GET_ZONE_AT_COORDS(891.3, 807.9, 188.1));  
--- etc.  
--- */  
--- ZONE::OVERRIDE_POPSCHEDULE_VEHICLE_MODEL(popSchedules[index], vehicleHash);  
--- STREAMING::REQUEST_MODEL(vehicleHash);  
--- 
---@param scheduleId any
---@param vehicleHash any
---@return any
function OverridePopscheduleVehicleModel(scheduleId, vehicleHash)
end

--- GET_RADIO_STATION_NAME
---
--- Returns String with radio station name.  
--- 
---@param radioStation any
---@return any
function GetRadioStationName(radioStation)
end

--- RESET_TREVOR_RAGE
---
---@return any
function ResetTrevorRage()
end

--- _SET_PED_TALK
---
--- Speech related.  
--- 
---@param ped number
---@return any
function SetPedTalk(ped)
end

--- START_AUDIO_SCENE
---
--- Used to prepare a scene where the surrounding sound is muted or a bit changed. This does not play any sound.  
--- List of all usable scene names found in b617d. Sorted alphabetically and identical names removed: pastebin.com/MtM9N9CC  
--- 
---@param scene any
---@return boolean
function StartAudioScene(scene)
end

--- STOP_STREAM
---
---@return any
function StopStream()
end

--- LOAD_STREAM_WITH_START_OFFSET
---
--- Example:  
--- AUDIO::LOAD_STREAM_WITH_START_OFFSET("STASH_TOXIN_STREAM", 2400, "FBI_05_SOUNDS");  
--- Only called a few times in the scripts.  
--- 
---@param streamName any
---@param startOffset any
---@param soundSet any
---@return boolean
function LoadStreamWithStartOffset(streamName, startOffset, soundSet)
end

--- SET_AMBIENT_ZONE_LIST_STATE_PERSISTENT
---
---@param ambientZone any
---@param p1 boolean
---@param p2 boolean
---@return any
function SetAmbientZoneListStatePersistent(ambientZone, p1, p2)
end

--- GET_PLAYER_RADIO_STATION_NAME
---
--- Returns active radio station name  
--- 
---@return any
function GetPlayerRadioStationName()
end

--- _OVERRIDE_MICROPHONE_SETTINGS
---Sets audio flag "OverrideMicrophoneSettings"
---@param hash any
---@param toggle boolean
---@return any
function OverrideMicrophoneSettings(hash, toggle)
end

--- PLAY_END_CREDITS_MUSIC
---
---@param play boolean
---@return any
function PlayEndCreditsMusic(play)
end

--- _SET_RADIO_STATION_IS_VISIBLE
---Doesn't have an effect in Story Mode.
--- 
--- 
--- NativeDB Introduced: v2372
--- 
---@param radioStation any
---@param toggle boolean
---@return any
function SetRadioStationIsVisible(radioStation, toggle)
end

--- IS_ALARM_PLAYING
---
--- Example:  
--- bool playing = AUDIO::IS_ALARM_PLAYING("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS");  
--- 
---@param alarmName any
---@return boolean
function IsAlarmPlaying(alarmName)
end

--- IS_AMBIENT_SPEECH_DISABLED
---
--- Common in the scripts:  
--- AUDIO::IS_AMBIENT_SPEECH_DISABLED(PLAYER::PLAYER_PED_ID());  
--- 
---@param ped number
---@return boolean
function IsAmbientSpeechDisabled(ped)
end

--- PAUSE_SCRIPTED_CONVERSATION
---
---@param p0 boolean
---@return any
function PauseScriptedConversation(p0)
end

--- RECORD_BROKEN_GLASS
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@return any
function RecordBrokenGlass(x, y, z, radius)
end

--- SET_AUDIO_SCENE_VARIABLE
---
---@param scene any
---@param variable any
---@param value number
---@return any
function SetAudioSceneVariable(scene, variable, value)
end

--- BLOCK_DEATH_JINGLE
---
---@param toggle boolean
---@return any
function BlockDeathJingle(toggle)
end

--- CREATE_NEW_SCRIPTED_CONVERSATION
---
---@return any
function CreateNewScriptedConversation()
end

--- GET_SOUND_ID_FROM_NETWORK_ID
---Counterpart: [GET_NETWORK_ID_FROM_SOUND_ID](#\_0x2DE3F0A134FFBC0D).
---@param netId any
---@return any
function GetSoundIdFromNetworkId(netId)
end

--- _HAS_MULTIPLAYER_AUDIO_DATA_UNLOADED
---
--- HAS_*
--- 
---@return boolean
function HasMultiplayerAudioDataUnloaded()
end

--- SET_ANIMAL_MOOD
---
--- mood can be 0 or 1 (it's not a boolean value!). Effects audio of the animal.  
--- 
---@param animal number
---@param mood any
---@return any
function SetAnimalMood(animal, mood)
end

--- SET_VARIABLE_ON_UNDER_WATER_STREAM
---
--- AUDIO::SET_VARIABLE_ON_UNDER_WATER_STREAM("inTunnel", 1.0);
--- AUDIO::SET_VARIABLE_ON_UNDER_WATER_STREAM("inTunnel", 0.0);
--- 
---@param variableName any
---@param value number
---@return any
function SetVariableOnUnderWaterStream(variableName, value)
end

--- REQUEST_AMBIENT_AUDIO_BANK
---
--- All occurrences and usages found in b617d, sorted alphabetically and identical lines removed: pastebin.com/XZ1tmGEz
--- 
--- 
--- 
--- NativeDB Added Parameter 3: Any p2
--- 
---@param p0 any
---@param p1 boolean
---@return boolean
function RequestAmbientAudioBank(p0, p1)
end

--- DISTANT_COP_CAR_SIRENS
---
--- If value is set to true, and ambient siren sound will be played.
--- Appears to enable/disable an audio flag.
--- 
---@param value boolean
---@return any
function DistantCopCarSirens(value)
end

--- IS_AMBIENT_ZONE_ENABLED
---
---@param ambientZone any
---@return boolean
function IsAmbientZoneEnabled(ambientZone)
end

--- _IS_VEHICLE_RADIO_ENABLED
---
--- IS_VEHICLE_*
--- 
---@param vehicle any
---@return boolean
function IsVehicleRadioEnabled(vehicle)
end

--- _SET_PED_AUDIO_FOOTSTEP_LOUD
---
--- Enables/disables ped's "loud" footstep sound.
--- 
--- 
--- 
--- NativeDB Introduced: v1493
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetPedAudioFootstepLoud(ped, toggle)
end

--- SET_RADIO_TO_STATION_INDEX
---
--- Sets radio station by index.  
--- 
---@param radioStation any
---@return any
function SetRadioToStationIndex(radioStation)
end

--- SET_SIREN_WITH_NO_DRIVER
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetSirenWithNoDriver(vehicle, toggle)
end

--- SKIP_TO_NEXT_SCRIPTED_CONVERSATION_LINE
---
---@return any
function SkipToNextScriptedConversationLine()
end

--- GET_PLAYER_RADIO_STATION_INDEX
---
--- Returns 255 (radio off index) if the function fails.  
--- 
---@return any
function GetPlayerRadioStationIndex()
end

--- REMOVE_ENTITY_FROM_AUDIO_MIX_GROUP
---
---@param entity number
---@param p1 number
---@return any
function RemoveEntityFromAudioMixGroup(entity, p1)
end

--- STOP_PED_SPEAKING
---
---@param ped number
---@param shaking boolean
---@return any
function StopPedSpeaking(ped, shaking)
end

--- TRIGGER_MUSIC_EVENT
---
--- List of all usable event names found in b617d used with this native. Sorted alphabetically and identical names removed: pastebin.com/RzDFmB1W  
--- All music event names found in the b617d scripts: pastebin.com/GnYt0R3P  
--- 
---@param eventName any
---@return boolean
function TriggerMusicEvent(eventName)
end

--- CLEAR_ALL_BROKEN_GLASS
---
---@return any
function ClearAllBrokenGlass()
end

--- GET_PLAYER_RADIO_STATION_GENRE
---
---@return any
function GetPlayerRadioStationGenre()
end

--- SET_AUDIO_FLAG
---
--- Possible flag names:  
--- "ActivateSwitchWheelAudio"  
--- "AllowAmbientSpeechInSlowMo"  
--- "AllowCutsceneOverScreenFade"  
--- "AllowForceRadioAfterRetune"  
--- "AllowPainAndAmbientSpeechToPlayDuringCutscene"  
--- "AllowPlayerAIOnMission"  
--- "AllowPoliceScannerWhenPlayerHasNoControl"  
--- "AllowRadioDuringSwitch"  
--- "AllowRadioOverScreenFade"  
--- "AllowScoreAndRadio"  
--- "AllowScriptedSpeechInSlowMo"  
--- "AvoidMissionCompleteDelay"  
--- "DisableAbortConversationForDeathAndInjury"  
--- "DisableAbortConversationForRagdoll"  
--- "DisableBarks"  
--- "DisableFlightMusic"  
--- "DisableReplayScriptStreamRecording"  
--- "EnableHeadsetBeep"  
--- "ForceConversationInterrupt"  
--- "ForceSeamlessRadioSwitch"  
--- "ForceSniperAudio"  
--- "FrontendRadioDisabled"  
--- "HoldMissionCompleteWhenPrepared"  
--- "IsDirectorModeActive"  
--- "IsPlayerOnMissionForSpeech"  
--- "ListenerReverbDisabled"  
--- "LoadMPData"  
--- "MobileRadioInGame"  
--- "OnlyAllowScriptTriggerPoliceScanner"  
--- "PlayMenuMusic"  
--- "PoliceScannerDisabled"  
--- "ScriptedConvListenerMaySpeak"  
--- "SpeechDucksScore"  
--- "SuppressPlayerScubaBreathing"  
--- "WantedMusicDisabled"  
--- "WantedMusicOnMission"  
--- -------------------------------  
--- No added flag names between b393d and b573d, including b573d.  
--- #######################################################################  
--- "IsDirectorModeActive" is an audio flag which will allow you to play speech infinitely without any pauses like in Director Mode.  
--- -----------------------------------------------------------------------  
--- All flag IDs and hashes:  
--- ID: 01 | Hash: 0x20A7858F  
--- ID: 02 | Hash: 0xA11C2259  
--- ID: 03 | Hash: 0x08DE4700  
--- ID: 04 | Hash: 0x989F652F  
--- ID: 05 | Hash: 0x3C9E76BA  
--- ID: 06 | Hash: 0xA805FEB0  
--- ID: 07 | Hash: 0x4B94EA26  
--- ID: 08 | Hash: 0x803ACD34  
--- ID: 09 | Hash: 0x7C741226  
--- ID: 10 | Hash: 0x31DB9EBD  
--- ID: 11 | Hash: 0xDF386F18  
--- ID: 12 | Hash: 0x669CED42  
--- ID: 13 | Hash: 0x51F22743  
--- ID: 14 | Hash: 0x2052B35C  
--- ID: 15 | Hash: 0x071472DC  
--- ID: 16 | Hash: 0xF9928BCC  
--- ID: 17 | Hash: 0x7ADBDD48  
--- ID: 18 | Hash: 0xA959BA1A  
--- ID: 19 | Hash: 0xBBE89B60  
--- ID: 20 | Hash: 0x87A08871  
--- ID: 21 | Hash: 0xED1057CE  
--- ID: 22 | Hash: 0x1584AD7A  
--- ID: 23 | Hash: 0x8582CFCB  
--- ID: 24 | Hash: 0x7E5E2FB0  
--- ID: 25 | Hash: 0xAE4F72DB  
--- ID: 26 | Hash: 0x5D16D1FA  
--- ID: 27 | Hash: 0x06B2F4B8  
--- ID: 28 | Hash: 0x5D4CDC96  
--- ID: 29 | Hash: 0x8B5A48BA  
--- ID: 30 | Hash: 0x98FBD539  
--- ID: 31 | Hash: 0xD8CB0473  
--- ID: 32 | Hash: 0x5CBB4874  
--- ID: 33 | Hash: 0x2E9F93A9  
--- ID: 34 | Hash: 0xD93BEA86  
--- ID: 35 | Hash: 0x92109B7D  
--- ID: 36 | Hash: 0xB7EC9E4D  
--- ID: 37 | Hash: 0xCABDBB1D  
--- ID: 38 | Hash: 0xB3FD4A52  
--- ID: 39 | Hash: 0x370D94E5  
--- ID: 40 | Hash: 0xA0F7938F  
--- ID: 41 | Hash: 0xCBE1CE81  
--- ID: 42 | Hash: 0xC27F1271  
--- ID: 43 | Hash: 0x9E3258EB  
--- ID: 44 | Hash: 0x551CDA5B  
--- ID: 45 | Hash: 0xCB6D663C  
--- ID: 46 | Hash: 0x7DACE87F  
--- ID: 47 | Hash: 0xF9DE416F  
--- ID: 48 | Hash: 0x882E6E9E  
--- ID: 49 | Hash: 0x16B447E7  
--- ID: 50 | Hash: 0xBD867739  
--- ID: 51 | Hash: 0xA3A58604  
--- ID: 52 | Hash: 0x7E046BBC  
--- ID: 53 | Hash: 0xD95FDB98  
--- ID: 54 | Hash: 0x5842C0ED  
--- ID: 55 | Hash: 0x285FECC6  
--- ID: 56 | Hash: 0x9351AC43  
--- ID: 57 | Hash: 0x50032E75  
--- ID: 58 | Hash: 0xAE6D0D59  
--- ID: 59 | Hash: 0xD6351785  
--- ID: 60 | Hash: 0xD25D71BC  
--- ID: 61 | Hash: 0x1F7F6423  
--- ID: 62 | Hash: 0xE24C3AA6  
--- ID: 63 | Hash: 0xBFFDD2B7  
--- 
---@param flagName any
---@param toggle boolean
---@return any
function SetAudioFlag(flagName, toggle)
end

--- _SET_VARIABLE_ON_CUTSCENE_AUDIO
---
--- SET_VARIABLE_ON_*
--- 
---@param variableName any
---@param value number
---@return any
function SetVariableOnCutsceneAudio(variableName, value)
end

--- _TRIGGER_SIREN
---... When not in a vehicle
--- 
--- 
--- NativeDB Introduced: v1290
--- 
---@param vehicle any
---@return any
function TriggerSiren(vehicle)
end

--- DISABLE_PED_PAIN_AUDIO
---
---@param ped number
---@param toggle boolean
---@return any
function DisablePedPainAudio(ped, toggle)
end

--- IS_SCRIPTED_CONVERSATION_ONGOING
---
---@return boolean
function IsScriptedConversationOngoing()
end

--- SET_AMBIENT_ZONE_STATE_PERSISTENT
---
---@param ambientZone any
---@param p1 boolean
---@param p2 boolean
---@return any
function SetAmbientZoneStatePersistent(ambientZone, p1, p2)
end

--- SET_EMITTER_RADIO_STATION
---
---@param emitterName any
---@param radioStation any
---@return any
function SetEmitterRadioStation(emitterName, radioStation)
end

--- PLAY_VEHICLE_DOOR_OPEN_SOUND
---
---@param vehicle any
---@param doorIndex any
---@return any
function PlayVehicleDoorOpenSound(vehicle, doorIndex)
end

--- RELEASE_MISSION_AUDIO_BANK
---
---@return any
function ReleaseMissionAudioBank()
end

--- STOP_CURRENT_PLAYING_AMBIENT_SPEECH
---
---@param ped number
---@return any
function StopCurrentPlayingAmbientSpeech(ped)
end

--- INTERRUPT_CONVERSATION
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function InterruptConversation(p0, p1, p2)
end

--- PLAY_PED_RINGTONE
---
--- All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/RFb4GTny  
--- AUDIO::PLAY_PED_RINGTONE("Remote_Ring", PLAYER::PLAYER_PED_ID(), 1);  
--- AUDIO::PLAY_PED_RINGTONE("Dial_and_Remote_Ring", PLAYER::PLAYER_PED_ID(), 1);  
--- 
---@param ringtoneName any
---@param ped number
---@param p2 boolean
---@return any
function PlayPedRingtone(ringtoneName, ped, p2)
end

--- HINT_AMBIENT_AUDIO_BANK
---
--- NativeDB Added Parameter 3: Any p2
--- 
---@param p0 any
---@param p1 any
---@return any
function HintAmbientAudioBank(p0, p1)
end

--- SET_RADIO_STATION_MUSIC_ONLY
---
--- 6 calls in the b617d scripts, removed identical lines:
--- AUDIO::SET_RADIO_STATION_MUSIC_ONLY("RADIO_01_CLASS_ROCK", 1);
--- AUDIO::SET_RADIO_STATION_MUSIC_ONLY(AUDIO::GET_RADIO_STATION_NAME(10), 0);
--- AUDIO::SET_RADIO_STATION_MUSIC_ONLY(AUDIO::GET_RADIO_STATION_NAME(10), 1);
--- 
---@param radioStation any
---@param toggle boolean
---@return any
function SetRadioStationMusicOnly(radioStation, toggle)
end

--- ADD_ENTITY_TO_AUDIO_MIX_GROUP
---
--- All found occurrences in b678d:
--- pastebin.com/ceu67jz8
--- 
---@param entity number
---@param groupName any
---@param p2 number
---@return any
function AddEntityToAudioMixGroup(entity, groupName, p2)
end

--- LOAD_STREAM
---
--- Example:  
--- AUDIO::LOAD_STREAM("CAR_STEAL_1_PASSBY", "CAR_STEAL_1_SOUNDSET");  
--- All found occurrences in the b678d decompiled scripts: pastebin.com/3rma6w5w  
--- Stream names often ends with "_MASTER", "_SMALL" or "_STREAM". Also "_IN", "_OUT" and numbers.     
--- soundSet is often set to 0 in the scripts. These are common to end the soundSets: "_SOUNDS", "_SOUNDSET" and numbers.  
--- 
---@param streamName any
---@param soundSet any
---@return boolean
function LoadStream(streamName, soundSet)
end

--- SET_VEHICLE_RADIO_ENABLED
---
--- can't seem to enable radio on cop cars etc  
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleRadioEnabled(vehicle, toggle)
end

--- ADD_LINE_TO_CONVERSATION
---
--- NOTE: ones that are -1, 0 - 35 are determined by a function where it gets a TextLabel from a global then runs,
--- _GET_TEXT_SUBSTRING and depending on what the result is it goes in check order of 0 - 9 then A - Z then z (lowercase). So it will then return 0 - 35 or -1 if it's 'z'. The func to handle that ^^ is func_67 in dialog_handler.c atleast in TU27 Xbox360 scripts.
--- p0 is -1, 0 - 35
--- p1 is a char or string (whatever you wanna call it)
--- p2 is Global 10597 + i * 6. 'i' is a while(i < 70) loop
--- p3 is again -1, 0 - 35
--- p4 is again -1, 0 - 35
--- p5 is either 0 or 1 (bool ?)
--- p6 is either 0 or 1 (The func to determine this is bool)
--- p7 is either 0 or 1 (The func to determine this is bool)
--- p8 is either 0 or 1 (The func to determine this is bool)
--- p9 is 0 - 3 (Determined by func_60 in dialogue_handler.c)
--- p10 is either 0 or 1 (The func to determine this is bool)
--- p11 is either 0 or 1 (The func to determine this is bool)
--- p12 is unknown as in TU27 X360 scripts it only goes to p11.
--- 
---@param index any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 boolean
---@param p6 boolean
---@param p7 boolean
---@param p8 boolean
---@param p9 any
---@param p10 boolean
---@param p11 boolean
---@param p12 boolean
---@return any
function AddLineToConversation(index, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12)
end

--- CLEAR_CUSTOM_RADIO_TRACK_LIST
---
--- 3 calls in the b617d scripts, removed duplicate.
--- AUDIO::CLEAR_CUSTOM_RADIO_TRACK_LIST("RADIO_16_SILVERLAKE");
--- AUDIO::CLEAR_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK");
--- 
---@param radioStation any
---@return any
function ClearCustomRadioTrackList(radioStation)
end

--- _FORCE_RADIO_TRACK_LIST_POSITION
---
--- NativeDB Introduced: v2372
--- 
---@param radioStation any
---@param trackListName any
---@param milliseconds any
---@return any
function ForceRadioTrackListPosition(radioStation, trackListName, milliseconds)
end

--- IS_SCRIPTED_SPEECH_PLAYING
---
---@param p0 any
---@return boolean
function IsScriptedSpeechPlaying(p0)
end

--- STOP_ALARM
---
--- Example:  
--- This will stop the alarm at Fort Zancudo.  
--- AUDIO::STOP_ALARM("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS", 1);  
--- First parameter (char) is the name of the alarm.  
--- Second parameter (bool) has to be true (1) to have any effect.  
--- 
---@param alarmName any
---@param toggle boolean
---@return any
function StopAlarm(alarmName, toggle)
end

--- _CAN_PED_SPEAK
---
--- Checks if the ped can play the speech or has the speech file, last parameter is usually 0  
--- 
---@param ped number
---@param speechName any
---@param unk boolean
---@return boolean
function CanPedSpeak(ped, speechName, unk)
end

--- GET_MUSIC_PLAYTIME
---
---@return any
function GetMusicPlaytime()
end

--- _LINK_STATIC_EMITTER_TO_ENTITY
---
--- L* (LINK_*?)
--- 
---@param emitterName any
---@param entity number
---@return any
function LinkStaticEmitterToEntity(emitterName, entity)
end

--- PREPARE_SYNCHRONIZED_AUDIO_EVENT_FOR_SCENE
---
---@param p0 any
---@param p1 any
---@return boolean
function PrepareSynchronizedAudioEventForScene(p0, p1)
end

--- SET_FRONTEND_RADIO_ACTIVE
---
---@param active boolean
---@return any
function SetFrontendRadioActive(active)
end

--- SET_RADIO_FRONTEND_FADE_TIME
---
---@param fadeTime number
---@return any
function SetRadioFrontendFadeTime(fadeTime)
end

--- SET_VEHICLE_RADIO_LOUD
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleRadioLoud(vehicle, toggle)
end

--- USE_SIREN_AS_HORN
---
---@param vehicle any
---@param toggle boolean
---@return any
function UseSirenAsHorn(vehicle, toggle)
end

--- _CANCEL_CURRENT_POLICE_REPORT
---
---@return any
function CancelCurrentPoliceReport()
end

--- DOES_PLAYER_VEH_HAVE_RADIO
---
---@return boolean
function DoesPlayerVehHaveRadio()
end

--- GET_IS_PRELOADED_CONVERSATION_READY
---
---@return boolean
function GetIsPreloadedConversationReady()
end

--- HINT_SCRIPT_AUDIO_BANK
---
--- NativeDB Added Parameter 3: Any p2
--- 
---@param p0 any
---@param p1 any
---@return any
function HintScriptAudioBank(p0, p1)
end

--- PLAY_PAIN
---**Warning**:
--- 
--- Parameters are wrong after painID. To preserve C-Sharp backwards compatibility, we can't add or remove parameters.
--- 
--- Correct parameters should be:\
--- PLAY_PAIN(Ped ped, int painID, float p3, bool createNetEvent)
--- 
--- Check the *examples* section for the correct usage of this native.
--- 
--- **Description:**
--- 
--- Plays a pain sound. A maximum of 33 pain IDs are allowed.\
--- createNetEvent creates a CPedPlayPainEvent when set to true.
--- 
--- Below is a list of all the pain IDs (Asterisks indicate that sounds can play in a Low, Medium or High fashion), for example: PAIN_LOW_GENERIC. The corresponding pain strings belong to the game exe.
--- 
--- **Pain IDs:**
--- 
--- *   0: PAIN_\*\_GENERIC (Low, Medium, High)
--- *   1: UNUSED
--- *   2: UNUSED
--- *   3: SCREAM_PANIC (Nothing can be heard)
--- *   4: SCREAM_PANIC_SHORT
--- *   5: SCREAM_SCARED
--- *   6: SCREAM_SHOCKED
--- *   7: SCREAM_TERROR
--- *   8: ON_FIRE
--- *   9: UNUSED
--- *   10: UNUSED
--- *   11: INHALE (Nothing can be heard)
--- *   12: EXHALE (Nothing can be heard)
--- *   13: DEATH_HIGH_SHORT
--- *   14: UNUSED
--- *   15: PAIN_HIGH_GENERIC
--- *   16: PAIN_\*\_GENERIC (Low, Medium, High)
--- *   17: PAIN_SHOVE
--- *   18: PAIN_WHEEZE
--- *   19: COUGH
--- *   20: PAIN_TAZER
--- *   21: UNUSED
--- *   22: CLIMB_LARGE (Nothing can be heard)
--- *   23: CLIMB_SMALL (Nothing can be heard)
--- *   24: JUMP (Nothing can be heard)
--- *   25: COWER
--- *   26: WHIMPER
--- *   27: DYING_MOAN
--- *   28: EXHALE_CYCLING (Nothing can be heard)
--- *   29: PAIN_RAPIDS (Nothing can be heard)
--- *   30: SNEEZE
--- *   31: MELEE_SMALL_GRUNT (Nothing can be heard)
--- *   32: MELEE_LARGE_GRUNT (Nothing can be heard)
--- *   33: PAIN_\*\_GENERIC (Low, Medium, High)
---@param ped number
---@param painID any
---@param p1 any
---@return any
function PlayPain(ped, painID, p1)
end

--- SET_AMBIENT_VOICE_NAME
---
--- Audio List  
--- gtaforums.com/topic/795622-audio-for-mods/  
--- All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/FTeAj4yZ  
--- Yes  
--- 
---@param ped number
---@param name any
---@return any
function SetAmbientVoiceName(ped, name)
end

--- IS_HORN_ACTIVE
---
--- Checks whether the horn of a vehicle is currently played.  
--- 
---@param vehicle any
---@return boolean
function IsHornActive(vehicle)
end

--- _IS_RADIO_STATION_VISIBLE
---
--- NativeDB Introduced: v2699
--- 
---@param radioStation any
---@return boolean
function IsRadioStationVisible(radioStation)
end

--- STOP_ALL_ALARMS
---
---@param stop boolean
---@return any
function StopAllAlarms(stop)
end

--- GET_VEHICLE_DEFAULT_HORN_IGNORE_MODS
---
---@param vehicle any
---@return any
function GetVehicleDefaultHornIgnoreMods(vehicle)
end

--- IS_GAME_IN_CONTROL_OF_MUSIC
---
--- Hardcoded to return 1  
--- 
---@return boolean
function IsGameInControlOfMusic()
end

--- PRELOAD_SCRIPT_CONVERSATION
---
---@param p0 boolean
---@param p1 boolean
---@param p2 boolean
---@param p3 boolean
---@return any
function PreloadScriptConversation(p0, p1, p2, p3)
end

--- SET_AMBIENT_ZONE_LIST_STATE
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function SetAmbientZoneListState(p0, p1, p2)
end

--- STOP_SOUND
---
---@param soundId any
---@return any
function StopSound(soundId)
end

--- CANCEL_MUSIC_EVENT
---
--- All music event names found in the b617d scripts: pastebin.com/GnYt0R3P  
--- 
---@param eventName any
---@return boolean
function CancelMusicEvent(eventName)
end

--- _LOCK_RADIO_STATION
---
--- Disables the radio station (hides it from the radio wheel).
--- 
--- NativeDB Introduced: v1493
--- 
---@param radioStationName any
---@param toggle boolean
---@return any
function LockRadioStation(radioStationName, toggle)
end

--- SET_VARIABLE_ON_STREAM
---
--- From the scripts, p0:  
--- "ArmWrestlingIntensity",  
--- "INOUT",  
--- "Monkey_Stream",  
--- "ZoomLevel"  
--- 
---@param p0 any
---@param p1 number
---@return any
function SetVariableOnStream(p0, p1)
end

--- STOP_SCRIPTED_CONVERSATION
---
---@param p0 boolean
---@return any
function StopScriptedConversation(p0)
end

--- IS_RADIO_RETUNING
---
---@return boolean
function IsRadioRetuning()
end

--- SET_VEHICLE_BOOST_ACTIVE
---
--- SET_VEHICLE_BOOST_ACTIVE(vehicle, 1, 0);  
--- SET_VEHICLE_BOOST_ACTIVE(vehicle, 0, 0);   
--- Will give a boost-soundeffect.  
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetVehicleBoostActive(vehicle, toggle)
end

--- IS_AUDIO_SCENE_ACTIVE
---
---@param scene any
---@return boolean
function IsAudioSceneActive(scene)
end

--- IS_MOBILE_PHONE_CALL_ONGOING
---
---@return boolean
function IsMobilePhoneCallOngoing()
end

--- PLAY_VEHICLE_DOOR_CLOSE_SOUND
---
---@param vehicle any
---@param doorIndex any
---@return any
function PlayVehicleDoorCloseSound(vehicle, doorIndex)
end

--- _SET_RADIO_TRACK_MIX
---
--- NativeDB Introduced: v1493
--- 
---@param radioStationName any
---@param mixName any
---@param p2 any
---@return any
function SetRadioTrackMix(radioStationName, mixName, p2)
end

--- AUDIO_IS_SCRIPTED_MUSIC_PLAYING
---
---@return boolean
function AudioIsScriptedMusicPlaying()
end

--- IS_MOBILE_PHONE_RADIO_ACTIVE
---
---@return boolean
function IsMobilePhoneRadioActive()
end

--- IS_RADIO_FADED_OUT
---
---@return boolean
function IsRadioFadedOut()
end

--- SET_PLAYER_ANGRY
---
---@param ped number
---@param toggle boolean
---@return any
function SetPlayerAngry(ped, toggle)
end

--- _UPDATE_LSUR
---
--- NativeDB Introduced: v1493
--- 
---@param enableMixes boolean
---@return any
function UpdateLsur(enableMixes)
end

--- SET_MICROPHONE_POSITION
---
--- If this is the correct name, what microphone? I know your TV isn't going to reach out and adjust your headset so..  
--- 
---@param p0 boolean
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param x3 number
---@param y3 number
---@param z3 number
---@return any
function SetMicrophonePosition(p0, x1, y1, z1, x2, y2, z2, x3, y3, z3)
end

--- SET_VEHICLE_AUDIO_ENGINE_DAMAGE_FACTOR
---
---@param vehicle any
---@param damageFactor number
---@return any
function SetVehicleAudioEngineDamageFactor(vehicle, damageFactor)
end

--- IS_ANIMAL_VOCALIZATION_PLAYING
---
---@param pedHandle number
---@return boolean
function IsAnimalVocalizationPlaying(pedHandle)
end

--- PLAY_POLICE_REPORT
---
--- Plays the given police radio message.
--- All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/GBnsQ5hr
--- 
---@param name any
---@param p1 number
---@return any
function PlayPoliceReport(name, p1)
end

--- RESET_PED_AUDIO_FLAGS
---
---@param ped number
---@return any
function ResetPedAudioFlags(ped)
end

--- _SET_PED_VOICE_GROUP
---
--- From the scripts:
--- AUDIO::_SET_PED_VOICE_GROUP(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("PAIGE_PVG"));
--- AUDIO::_SET_PED_VOICE_GROUP(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("TALINA_PVG"));
--- AUDIO::_SET_PED_VOICE_GROUP(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("FEMALE_LOST_BLACK_PVG"));
--- AUDIO::_SET_PED_VOICE_GROUP(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("FEMALE_LOST_WHITE_PVG"));
--- 
---@param ped number
---@param voiceGroupHash any
---@return any
function SetPedVoiceGroup(ped, voiceGroupHash)
end

--- IS_STREAM_PLAYING
---
---@return boolean
function IsStreamPlaying()
end

--- FIND_RADIO_STATION_INDEX
---
---@param stationNameHash any
---@return any
function FindRadioStationIndex(stationNameHash)
end

--- PLAY_PED_AMBIENT_SPEECH_AND_CLONE_NATIVE
---See [PLAY_PED_AMBIENT_SPEECH_NATIVE](#\_0x8E04FEDD28D42462) for parameter specifications.
--- 
--- 
--- NativeDB Added Parameter 4: Any p3
--- 
---@param ped number
---@param speechName any
---@param speechParam any
---@return any
function PlayPedAmbientSpeechAndCloneNative(ped, speechName, speechParam)
end

--- PLAY_PED_AMBIENT_SPEECH_WITH_VOICE_NATIVE
---
--- This is the same as PLAY_PED_AMBIENT_SPEECH_NATIVE and PLAY_PED_AMBIENT_SPEECH_AND_CLONE_NATIVE but it will allow you to play a speech file from a specific voice file. It works on players and all peds, even animals.
--- EX (C#):
--- GTA.Native.Function.Call(Hash._0x3523634255FC3318, Game.Player.Character, "GENERIC_INSULT_HIGH", "s_m_y_sheriff_01_white_full_01", "SPEECH_PARAMS_FORCE_SHOUTED", 0);
--- The first param is the ped you want to play it on, the second is the speech name, the third is the voice name, the fourth is the speech param, and the last param is usually always 0.
--- 
---@param ped number
---@param speechName any
---@param voiceName any
---@param speechParam any
---@param p4 boolean
---@return any
function PlayPedAmbientSpeechWithVoiceNative(ped, speechName, voiceName, speechParam, p4)
end

--- SET_AUDIO_VEHICLE_PRIORITY
---
---@param vehicle any
---@param p1 any
---@return any
function SetAudioVehiclePriority(vehicle, p1)
end

--- HAS_SOUND_FINISHED
---
---@param soundId any
---@return boolean
function HasSoundFinished(soundId)
end

--- PLAY_DEFERRED_SOUND_FRONTEND
---
--- Only call found in the b617d scripts:
--- AUDIO::PLAY_DEFERRED_SOUND_FRONTEND("BACK", "HUD_FREEMODE_SOUNDSET");
--- 
---@param soundName any
---@param soundsetName any
---@return any
function PlayDeferredSoundFrontend(soundName, soundsetName)
end

--- PLAY_PED_AMBIENT_SPEECH_NATIVE
---Plays ambient speech; see also [PLAY_PED_AMBIENT_SPEECH_AND_CLONE_NATIVE](#\_0xC6941B4A3A8FBBB9).
--- 
--- 
--- speechParam: Can be one of the following:
--- SPEECH_PARAMS_STANDARD
--- SPEECH_PARAMS_ALLOW_REPEAT
--- SPEECH_PARAMS_BEAT
--- SPEECH_PARAMS_FORCE
--- SPEECH_PARAMS_FORCE_FRONTEND
--- SPEECH_PARAMS_FORCE_NO_REPEAT_FRONTEND
--- SPEECH_PARAMS_FORCE_NORMAL
--- SPEECH_PARAMS_FORCE_NORMAL_CLEAR
--- SPEECH_PARAMS_FORCE_NORMAL_CRITICAL
--- SPEECH_PARAMS_FORCE_SHOUTED
--- SPEECH_PARAMS_FORCE_SHOUTED_CLEAR
--- SPEECH_PARAMS_FORCE_SHOUTED_CRITICAL
--- SPEECH_PARAMS_FORCE_PRELOAD_ONLY
--- SPEECH_PARAMS_MEGAPHONE
--- SPEECH_PARAMS_HELI
--- SPEECH_PARAMS_FORCE_MEGAPHONE
--- SPEECH_PARAMS_FORCE_HELI
--- SPEECH_PARAMS_INTERRUPT
--- SPEECH_PARAMS_INTERRUPT_SHOUTED
--- SPEECH_PARAMS_INTERRUPT_SHOUTED_CLEAR
--- SPEECH_PARAMS_INTERRUPT_SHOUTED_CRITICAL
--- SPEECH_PARAMS_INTERRUPT_NO_FORCE
--- SPEECH_PARAMS_INTERRUPT_FRONTEND
--- SPEECH_PARAMS_INTERRUPT_NO_FORCE_FRONTEND
--- SPEECH_PARAMS_ADD_BLIP
--- SPEECH_PARAMS_ADD_BLIP_ALLOW_REPEAT
--- SPEECH_PARAMS_ADD_BLIP_FORCE
--- SPEECH_PARAMS_ADD_BLIP_SHOUTED
--- SPEECH_PARAMS_ADD_BLIP_SHOUTED_FORCE
--- SPEECH_PARAMS_ADD_BLIP_INTERRUPT
--- SPEECH_PARAMS_ADD_BLIP_INTERRUPT_FORCE
--- SPEECH_PARAMS_FORCE_PRELOAD_ONLY_SHOUTED
--- SPEECH_PARAMS_FORCE_PRELOAD_ONLY_SHOUTED_CLEAR
--- SPEECH_PARAMS_FORCE_PRELOAD_ONLY_SHOUTED_CRITICAL
--- SPEECH_PARAMS_SHOUTED
--- SPEECH_PARAMS_SHOUTED_CLEAR
--- SPEECH_PARAMS_SHOUTED_CRITICAL
--- Note: A list of Name and Parameters can be found here pastebin.com/1GZS5dCL
--- 
--- 
--- 
--- NativeDB Added Parameter 4: Any p3
--- 
---@param ped number
---@param speechName any
---@param speechParam any
---@return any
function PlayPedAmbientSpeechNative(ped, speechName, speechParam)
end

--- RELEASE_AMBIENT_AUDIO_BANK
---
---@return any
function ReleaseAmbientAudioBank()
end

--- SET_VEH_RADIO_STATION
---
--- For a full list, see here: pastebin.com/Kj9t38KF  
--- 
---@param vehicle any
---@param radioStation any
---@return any
function SetVehRadioStation(vehicle, radioStation)
end

--- ADD_PED_TO_CONVERSATION
---
--- 4 calls in the b617d scripts. The only one with p0 and p2 in clear text:
--- AUDIO::ADD_PED_TO_CONVERSATION(5, l_AF, "DINAPOLI");
--- =================================================
--- One of the 2 calls in dialogue_handler.c p0 is in a while-loop, and so is determined to also possibly be 0 - 15.
--- 
---@param index any
---@param ped number
---@param p2 any
---@return any
function AddPedToConversation(index, ped, p2)
end

--- ENABLE_VEHICLE_EXHAUST_POPS
---Sets whether the vehicle passed has exhaust pops.
---@param vehicle any
---@param toggle boolean
---@return any
function EnableVehicleExhaustPops(vehicle, toggle)
end

--- GET_NUM_UNLOCKED_RADIO_STATIONS
---
---@return any
function GetNumUnlockedRadioStations()
end

--- RELEASE_NAMED_SCRIPT_AUDIO_BANK
---
---@param audioBank any
---@return any
function ReleaseNamedScriptAudioBank(audioBank)
end

--- SET_STATIC_EMITTER_ENABLED
---
--- Example:
--- AUDIO::SET_STATIC_EMITTER_ENABLED((Any*)"LOS_SANTOS_VANILLA_UNICORN_01_STAGE", false);    AUDIO::SET_STATIC_EMITTER_ENABLED((Any*)"LOS_SANTOS_VANILLA_UNICORN_02_MAIN_ROOM", false);    AUDIO::SET_STATIC_EMITTER_ENABLED((Any*)"LOS_SANTOS_VANILLA_UNICORN_03_BACK_ROOM", false);
--- This turns off surrounding sounds not connected directly to peds.
--- 
---@param emitterName any
---@param toggle boolean
---@return any
function SetStaticEmitterEnabled(emitterName, toggle)
end

--- GET_CURRENT_SCRIPTED_CONVERSATION_LINE
---
---@return any
function GetCurrentScriptedConversationLine()
end

--- OVERRIDE_VEH_HORN
---Overrides the vehicle's horn hash.
--- 
--- When changing this hash on a vehicle, [_GET_VEHICLE_HORN_HASH](#\_0xACB5DCCA1EC76840) will **not** return the 'overwritten' hash. It will still always return the default horn hash (same as [GET_VEHICLE_DEFAULT_HORN](#\_0x02165D55000219AC)).
--- 
--- List of possible hashes (found in decompiled scripts):
--- 
--- |        signed |     unsigned |      hex     |
--- |--------------:|-------------:|:------------:|
--- |  1604822495 | 1604822495 | 0x5FA7A5DF |
--- | -1262465009 | 3032502287 | 0xB4C0500F |
--- |  -889553789 | 3405413507 | 0xCAFA7C83 |
--- | -1557943086 | 2737024210 | 0xA323ACD2 |
--- | -1318696617 | 2976270679 | 0xB1664957 |
--- |    -7740003 | 4287227293 | 0xFF89E59D |
--- | -1815146967 | 2479820329 | 0x93CF0E29 |
--- |  -339919356 | 3955047940 | 0xEBBD3E04 |
---@param vehicle any
---@param override boolean
---@param hornHash any
---@return any
function OverrideVehHorn(vehicle, override, hornHash)
end

--- SET_USER_RADIO_CONTROL_ENABLED
---
---@param toggle boolean
---@return any
function SetUserRadioControlEnabled(toggle)
end

--- START_SCRIPT_PHONE_CONVERSATION
---
---@param p0 boolean
---@param p1 boolean
---@return any
function StartScriptPhoneConversation(p0, p1)
end

--- DEACTIVATE_AUDIO_SLOWMO_MODE
---
---@param p0 any
---@return any
function DeactivateAudioSlowmoMode(p0)
end

--- PLAY_STREAM_FRONTEND
---
---@return any
function PlayStreamFrontend()
end

--- SET_AUDIO_SPECIAL_EFFECT_MODE
---Needs to be called every frame.
--- Audio mode to apply this frame: https://alloc8or.re/gta5/doc/enums/audSpecialEffectMode.txt
---@param mode any
---@return any
function SetAudioSpecialEffectMode(mode)
end

--- SET_VEHICLE_STARTUP_REV_SOUND
---Overrides the vehicle's startup engine rev sound.
--- 
--- 2 calls found in the b617d scripts:
--- 
--- cpp
--- AUDIO::SET_VEHICLE_STARTUP_REV_SOUND(l_A42, "Franklin_Bike_Rev", "BIG_SCORE_3A_SOUNDS");  
--- AUDIO::SET_VEHICLE_STARTUP_REV_SOUND(l_166, "Trevor_Revs_Off", "PALETO_SCORE_SETUP_SOUNDS");
--- 
---@param vehicle any
---@param p1 any
---@param p2 any
---@return any
function SetVehicleStartupRevSound(vehicle, p1, p2)
end

--- STOP_CUTSCENE_AUDIO
---
---@return any
function StopCutsceneAudio()
end

--- FREEZE_RADIO_STATION
---
---@param radioStation any
---@return any
function FreezeRadioStation(radioStation)
end

--- REMOVE_PORTAL_SETTINGS_OVERRIDE
---
---  Found in the b617d scripts, duplicates removed:
---  AUDIO::_B4BBFD9CD8B3922B("V_CARSHOWROOM_PS_WINDOW_UNBROKEN");
---  AUDIO::_B4BBFD9CD8B3922B("V_CIA_PS_WINDOW_UNBROKEN");
---  AUDIO::_B4BBFD9CD8B3922B("V_DLC_HEIST_APARTMENT_DOOR_CLOSED");
---  AUDIO::_B4BBFD9CD8B3922B("V_FINALEBANK_PS_VAULT_INTACT");
---  AUDIO::_B4BBFD9CD8B3922B("V_MICHAEL_PS_BATHROOM_WITH_WINDOW");
--- 
---@param p0 any
---@return any
function RemovePortalSettingsOverride(p0)
end

--- _SET_AMBIENT_VOICE_NAME_HASH
---
---@param ped number
---@param hash any
---@return any
function SetAmbientVoiceNameHash(ped, hash)
end

--- SET_MOBILE_RADIO_ENABLED_DURING_GAMEPLAY
---
---@param toggle boolean
---@return any
function SetMobileRadioEnabledDuringGameplay(toggle)
end

--- IS_MISSION_COMPLETE_READY_FOR_UI
---
---@return boolean
function IsMissionCompleteReadyForUi()
end

--- _LOCK_RADIO_STATION_TRACK_LIST
---
--- NativeDB Introduced: v2372
--- 
---@param radioStation any
---@param trackListName any
---@return any
function LockRadioStationTrackList(radioStation, trackListName)
end

--- PLAY_AMBIENT_SPEECH_FROM_POSITION_NATIVE
---
---@param speechName any
---@param voiceName any
---@param x number
---@param y number
---@param z number
---@param speechParam any
---@return any
function PlayAmbientSpeechFromPositionNative(speechName, voiceName, x, y, z, speechParam)
end

--- PLAY_SOUND_FROM_COORD
---
--- All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/eeFc5DiW  
--- gtaforums.com/topic/795622-audio-for-mods  
--- 
---@param soundId any
---@param audioName any
---@param x number
---@param y number
---@param z number
---@param audioRef any
---@param isNetwork boolean
---@param range any
---@param p8 boolean
---@return any
function PlaySoundFromCoord(soundId, audioName, x, y, z, audioRef, isNetwork, range, p8)
end

--- _SET_PED_VOICE_GROUP_RACE
---
--- Dat151RelType == 29
--- 
--- 
--- 
--- NativeDB Introduced: v2699
--- 
---@param ped number
---@param voiceGroupHash any
---@return any
function SetPedVoiceGroupRace(ped, voiceGroupHash)
end

--- SKIP_RADIO_FORWARD
---
---@return any
function SkipRadioForward()
end

--- PREPARE_SYNCHRONIZED_AUDIO_EVENT
---
---@param p0 any
---@param p1 any
---@return any
function PrepareSynchronizedAudioEvent(p0, p1)
end

--- SET_HORN_ENABLED
---
---@param vehicle any
---@param toggle boolean
---@return any
function SetHornEnabled(vehicle, toggle)
end

--- SET_PED_IS_DRUNK
---
--- Sets the ped drunk sounds.  Only works with PLAYER_PED_ID
--- ====================================================
--- As mentioned above, this only sets the drunk sound to ped/player.
--- To give the Ped a drunk effect with drunk walking animation try using SET_PED_MOVEMENT_CLIPSET
--- Below is an example
--- if (!Function.Call<bool>(Hash.HAS_ANIM_SET_LOADED, "move_m@drunk@verydrunk"))
---                 {
---                     Function.Call(Hash.REQUEST_ANIM_SET, "move_m@drunk@verydrunk");
---                 }
---                 Function.Call(Hash.SET_PED_MOVEMENT_CLIPSET, Ped.Handle, "move_m@drunk@verydrunk", 0x3E800000);
--- And to stop the effect use
--- RESET_PED_MOVEMENT_CLIPSET
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetPedIsDrunk(ped, toggle)
end

--- _SET_VEHICLE_HORN_VARIATION
---
--- NativeDB Introduced: v1365
--- 
---@param vehicle any
---@param value any
---@return any
function SetVehicleHornVariation(vehicle, value)
end

--- STOP_SYNCHRONIZED_AUDIO_EVENT
---
---@param p0 any
---@return boolean
function StopSynchronizedAudioEvent(p0)
end

--- _GET_CURRENT_RADIO_TRACK_NAME
---
--- Return the hash of the radio stations current track.
--- 
--- NativeDB Introduced: v1493
--- 
---@param radioStationName any
---@return any
function GetCurrentRadioTrackName(radioStationName)
end

--- IS_MUSIC_ONESHOT_PLAYING
---
---@return boolean
function IsMusicOneshotPlaying()
end

--- PLAY_SOUND_FRONTEND
---
--- List: https://pastebin.com/DCeRiaLJ
--- All occurrences as of Cayo Perico Heist DLC (b2189), sorted alphabetically and identical lines removed: https://git.io/JtLxM
--- 
---@param soundId any
---@param audioName any
---@param audioRef any
---@param p3 boolean
---@return any
function PlaySoundFrontend(soundId, audioName, audioRef, p3)
end

--- START_PRELOADED_CONVERSATION
---
---@return any
function StartPreloadedConversation()
end

--- IS_MISSION_COMPLETE_PLAYING
---
---@return boolean
function IsMissionCompletePlaying()
end

--- PLAY_ANIMAL_VOCALIZATION
---
--- Plays sounds from a ped with chop model. For example it used to play bark or sniff sounds. p1 is always 3 or 4294967295 in decompiled scripts. By a quick disassembling I can assume that this arg is unused.
--- This native is works only when you call it on the ped with right model (ac_chop only ?)
--- Speech Name can be: CHOP_SNIFF_SEQ CHOP_WHINE CHOP_LICKS_MOUTH CHOP_PANT bark GROWL SNARL BARK_SEQ
--- 
---@param pedHandle number
---@param p1 any
---@param speechName any
---@return any
function PlayAnimalVocalization(pedHandle, p1, speechName)
end

--- _SET_PED_AUDIO_FOOTSTEP_QUIET
---
--- Enables/disables ped's "quiet" footstep sound.
--- 
--- 
--- 
--- NativeDB Introduced: v1493
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetPedAudioFootstepQuiet(ped, toggle)
end

--- STOP_CURRENT_PLAYING_SPEECH
---
---@param ped number
---@return any
function StopCurrentPlayingSpeech(ped)
end

--- PLAY_SOUND_FROM_ENTITY
---
--- All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/f2A7vTj0   
--- No changes made in b678d.  
--- gtaforums.com/topic/795622-audio-for-mods  
--- 
---@param soundId any
---@param audioName any
---@param entity number
---@param audioRef any
---@param isNetwork boolean
---@param p5 any
---@return any
function PlaySoundFromEntity(soundId, audioName, entity, audioRef, isNetwork, p5)
end

--- SET_RADIO_AUTO_UNFREEZE
---
---@param toggle boolean
---@return any
function SetRadioAutoUnfreeze(toggle)
end

--- ACTIVATE_AUDIO_SLOWMO_MODE
---
---@param p0 any
---@return any
function ActivateAudioSlowmoMode(p0)
end

--- _GET_VEHICLE_DEFAULT_HORN_VARIATION
---
--- NativeDB Introduced: v1365
--- 
---@param vehicle any
---@return any
function GetVehicleDefaultHornVariation(vehicle)
end

--- SET_VARIABLE_ON_SOUND
---
---@param soundId any
---@param variableName any
---@param value number
---@return any
function SetVariableOnSound(soundId, variableName, value)
end

--- GET_STREAM_PLAY_TIME
---
---@return any
function GetStreamPlayTime()
end

--- IS_AMBIENT_SPEECH_PLAYING
---
---@param ped number
---@return boolean
function IsAmbientSpeechPlaying(ped)
end

--- PLAY_STREAM_FROM_PED
---
---@param ped number
---@return any
function PlayStreamFromPed(ped)
end

--- RELEASE_SOUND_ID
---
---@param soundId any
---@return any
function ReleaseSoundId(soundId)
end

--- REGISTER_SCRIPT_WITH_AUDIO
---**This native does absolutely nothing, just a nullsub**
---@param p0 any
---@return any
function RegisterScriptWithAudio(p0)
end

--- REQUEST_SCRIPT_AUDIO_BANK
---
--- All occurrences and usages found in b617d, sorted alphabetically and identical lines removed: pastebin.com/AkmDAVn6  
--- 
--- 
--- 
--- NativeDB Added Parameter 3: int p2
--- 
---@param p0 any
---@param p1 boolean
---@return boolean
function RequestScriptAudioBank(p0, p1)
end

--- STOP_AUDIO_SCENES
---
--- ??  
--- 
---@return any
function StopAudioScenes()
end

--- _FORCE_VEHICLE_ENGINE_AUDIO
---
--- This native sets the audio of the specified vehicle to the audioName (p1).
--- Use the audioNameHash found in vehicles.meta
--- Example:
--- _SET_VEHICLE_AUDIO(veh, "ADDER");
--- The selected vehicle will now have the audio of the Adder.
--- FORCE_VEHICLE_???
--- 
---@param vehicle any
---@param audioName any
---@return any
function ForceVehicleEngineAudio(vehicle, audioName)
end

--- IS_SCRIPTED_CONVERSATION_LOADED
---
---@return boolean
function IsScriptedConversationLoaded()
end

--- IS_VEHICLE_AUDIBLY_DAMAGED
---
---@param vehicle any
---@return boolean
function IsVehicleAudiblyDamaged(vehicle)
end

--- SET_AGGRESSIVE_HORNS
---
--- Makes pedestrians sound their horn longer, faster and more agressive when they use their horn.  
--- 
---@param toggle boolean
---@return any
function SetAggressiveHorns(toggle)
end

--- SET_AMBIENT_ZONE_STATE
---
---@param zoneName any
---@param p1 boolean
---@param p2 boolean
---@return any
function SetAmbientZoneState(zoneName, p1, p2)
end

--- _SET_PED_AUDIO_GENDER
---
---@param ped number
---@param p1 boolean
---@return any
function SetPedAudioGender(ped, p1)
end

--- UNLOCK_MISSION_NEWS_STORY
---
---@param newsStory any
---@return any
function UnlockMissionNewsStory(newsStory)
end

--- _GET_AMBIENT_VOICE_NAME_HASH
---
---@param ped number
---@return any
function GetAmbientVoiceNameHash(ped)
end

--- IS_PED_IN_CURRENT_CONVERSATION
---
---@param ped number
---@return boolean
function IsPedInCurrentConversation(ped)
end

--- CLEAR_AMBIENT_ZONE_LIST_STATE
---
---@param p0 any
---@param p1 boolean
---@return any
function ClearAmbientZoneListState(p0, p1)
end

--- IS_MISSION_NEWS_STORY_UNLOCKED
---
---@param newsStory any
---@return boolean
function IsMissionNewsStoryUnlocked(newsStory)
end

--- OVERRIDE_PLAYER_GROUND_MATERIAL
---
---@param hash any
---@param toggle boolean
---@return any
function OverridePlayerGroundMaterial(hash, toggle)
end

--- PLAY_MISSION_COMPLETE_AUDIO
---
--- Called 38 times in the scripts. There are 5 different audioNames used.
---  One unknown removed below.
--- AUDIO::PLAY_MISSION_COMPLETE_AUDIO("DEAD");
--- AUDIO::PLAY_MISSION_COMPLETE_AUDIO("FRANKLIN_BIG_01");
--- AUDIO::PLAY_MISSION_COMPLETE_AUDIO("GENERIC_FAILED");
--- AUDIO::PLAY_MISSION_COMPLETE_AUDIO("TREVOR_SMALL_01");
--- 
---@param audioName any
---@return any
function PlayMissionCompleteAudio(audioName)
end

--- START_ALARM
---
--- Example:
--- This will start the alarm at Fort Zancudo.
--- AUDIO::START_ALARM("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS", 1);
--- First parameter (char) is the name of the alarm.
--- Second parameter (bool) is unknown, it does not seem to make a difference if this one is 0 or 1.
--- ----------
--- It DOES make a difference but it has to do with the duration or something I dunno yet
--- ----------
---  Found in the b617d scripts:
---  AUDIO::START_ALARM("AGENCY_HEIST_FIB_TOWER_ALARMS", 0);
---  AUDIO::START_ALARM("AGENCY_HEIST_FIB_TOWER_ALARMS_UPPER", 1);
---  AUDIO::START_ALARM("AGENCY_HEIST_FIB_TOWER_ALARMS_UPPER_B", 0);
---  AUDIO::START_ALARM("BIG_SCORE_HEIST_VAULT_ALARMS", a_0);
---  AUDIO::START_ALARM("FBI_01_MORGUE_ALARMS", 1);
---  AUDIO::START_ALARM("FIB_05_BIOTECH_LAB_ALARMS", 0);
---  AUDIO::START_ALARM("JEWEL_STORE_HEIST_ALARMS", 0);
---  AUDIO::START_ALARM("PALETO_BAY_SCORE_ALARM", 1);
---  AUDIO::START_ALARM("PALETO_BAY_SCORE_CHICKEN_FACTORY_ALARM", 0);
---  AUDIO::START_ALARM("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS", 1);
---  AUDIO::START_ALARM("PORT_OF_LS_HEIST_SHIP_ALARMS", 0);
---  AUDIO::START_ALARM("PRISON_ALARMS", 0);
---  AUDIO::START_ALARM("PROLOGUE_VAULT_ALARMS", 0);
--- 
---@param alarmName any
---@param p2 boolean
---@return any
function StartAlarm(alarmName, p2)
end

--- CLEAR_AMBIENT_ZONE_STATE
---
--- This function also has a p2, unknown. Signature AUDIO::CLEAR_AMBIENT_ZONE_STATE(const char* zoneName, bool p1, Any p2);
--- Still needs more research.
--- 
---@param zoneName any
---@param p1 boolean
---@return any
function ClearAmbientZoneState(zoneName, p1)
end

--- IS_ANY_SPEECH_PLAYING
---
---@param ped number
---@return boolean
function IsAnySpeechPlaying(ped)
end

--- OVERRIDE_UNDERWATER_STREAM
---
---@param p0 any
---@param p1 boolean
---@return any
function OverrideUnderwaterStream(p0, p1)
end

--- UNFREEZE_RADIO_STATION
---
---@param radioStation any
---@return any
function UnfreezeRadioStation(radioStation)
end

--- GET_AUDIBLE_MUSIC_TRACK_TEXT_ID
---
---@return any
function GetAudibleMusicTrackTextId()
end

--- GET_NETWORK_ID_FROM_SOUND_ID
---
--- Could this be used alongside either,   
--- SET_NETWORK_ID_EXISTS_ON_ALL_MACHINES or _SET_NETWORK_ID_SYNC_TO_PLAYER to make it so other players can hear the sound while online? It'd be a bit troll-fun to be able to play the Zancudo UFO creepy sounds globally.  
--- 
---@param soundId any
---@return any
function GetNetworkIdFromSoundId(soundId)
end

--- PLAY_STREAM_FROM_POSITION
---
---@param x number
---@param y number
---@param z number
---@return any
function PlayStreamFromPosition(x, y, z)
end

--- PLAY_SYNCHRONIZED_AUDIO_EVENT
---
---@param p0 any
---@return boolean
function PlaySynchronizedAudioEvent(p0)
end

--- SET_CUSTOM_RADIO_TRACK_LIST
---
--- Examples:
--- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_MICHAEL", 1);
--- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_MICHAEL", 1);
--- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_TREVOR", 1);
--- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "END_CREDITS_SAVE_MICHAEL_TREVOR", 1);
--- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "OFF_ROAD_RADIO_ROCK_LIST", 1);
--- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_06_COUNTRY", "MAGDEMO2_RADIO_DINGHY", 1);
--- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_16_SILVERLAKE", "SEA_RACE_RADIO_PLAYLIST", 1);
--- AUDIO::SET_CUSTOM_RADIO_TRACK_LIST("RADIO_01_CLASS_ROCK", "OFF_ROAD_RADIO_ROCK_LIST", 1);
--- 
---@param radioStation any
---@param trackListName any
---@param p2 boolean
---@return any
function SetCustomRadioTrackList(radioStation, trackListName, p2)
end

--- SET_RADIO_TRACK
---
--- Only found this one in the decompiled scripts:  
--- AUDIO::SET_RADIO_TRACK("RADIO_03_HIPHOP_NEW", "ARM1_RADIO_STARTS");  
--- 
---@param radioStation any
---@param radioTrack any
---@return any
function SetRadioTrack(radioStation, radioTrack)
end

--- INTERRUPT_CONVERSATION_AND_PAUSE
---
--- One call found in the b617d scripts:
--- AUDIO::_8A694D7A68F8DC38(NETWORK::NET_TO_PED(l_3989._f26F[0/*1*/]), "CONV_INTERRUPT_QUIT_IT", "LESTER");
--- 
---@param ped number
---@param p1 any
---@param p2 any
---@return any
function InterruptConversationAndPause(ped, p1, p2)
end

--- IS_PED_RINGTONE_PLAYING
---
---@param ped number
---@return boolean
function IsPedRingtonePlaying(ped)
end

--- PLAY_STREAM_FROM_VEHICLE
---
---@param vehicle any
---@return any
function PlayStreamFromVehicle(vehicle)
end

--- SET_MOBILE_PHONE_RADIO_STATE
---
---@param state boolean
---@return any
function SetMobilePhoneRadioState(state)
end

--- STOP_PED_RINGTONE
---
---@param ped number
---@return any
function StopPedRingtone(ped)
end

--- BLIP_SIREN
---
--- Plays the siren sound of a vehicle which is otherwise activated when fastly double-pressing the horn key.  
--- Only works on vehicles with a police siren.  
--- 
---@param vehicle any
---@return any
function BlipSiren(vehicle)
end

--- PREPARE_ALARM
---
--- Example:  
--- bool prepareAlarm = AUDIO::PREPARE_ALARM("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS");  
--- 
---@param alarmName any
---@return boolean
function PrepareAlarm(alarmName)
end

--- RESTART_SCRIPTED_CONVERSATION
---
---@return any
function RestartScriptedConversation()
end

--- _SET_VEH_HAS_RADIO_OVERRIDE
---
--- NativeDB Introduced: v2372
--- 
---@param vehicle any
---@return any
function SetVehHasRadioOverride(vehicle)
end

--- SET_INITIAL_PLAYER_STATION
---
---@param radioStation any
---@return any
function SetInitialPlayerStation(radioStation)
end

--- RELEASE_WEAPON_AUDIO
---
--- NativeDB Introduced: v323
--- 
---@return any
function ReleaseWeaponAudio()
end

--- REQUEST_MISSION_AUDIO_BANK
---
--- All occurrences and usages found in b617d: pastebin.com/NzZZ2Tmm  
--- 
--- 
--- 
--- NativeDB Added Parameter 3: Any p2
--- 
---@param p0 any
---@param p1 boolean
---@return boolean
function RequestMissionAudioBank(p0, p1)
end

--- SET_CUTSCENE_AUDIO_OVERRIDE
---
--- All occurrences found in b617d, sorted alphabetically and identical lines removed:   
--- AUDIO::SET_CUTSCENE_AUDIO_OVERRIDE("_AK");  
--- AUDIO::SET_CUTSCENE_AUDIO_OVERRIDE("_CUSTOM");  
--- AUDIO::SET_CUTSCENE_AUDIO_OVERRIDE("_TOOTHLESS");  
--- 
---@param name any
---@return any
function SetCutsceneAudioOverride(name)
end

--- IS_PLAYER_VEH_RADIO_ENABLE
---
---@return boolean
function IsPlayerVehRadioEnable()
end

--- SET_RADIO_TO_STATION_NAME
---
--- For a full list, see here: pastebin.com/Kj9t38KF  
--- 
---@param stationName any
---@return any
function SetRadioToStationName(stationName)
end

--- _SOUND_VEHICLE_HORN_THIS_FRAME
---
--- SET_*
--- 
---@param vehicle any
---@return any
function SoundVehicleHornThisFrame(vehicle)
end

--- FREEZE_MICROPHONE
---
---@return any
function FreezeMicrophone()
end

--- SET_SCRIPT_UPDATE_DOOR_AUDIO
---
---@param doorHash any
---@param toggle boolean
---@return any
function SetScriptUpdateDoorAudio(doorHash, toggle)
end

--- START_SCRIPT_CONVERSATION
---
---@param p0 boolean
---@param p1 boolean
---@param p2 boolean
---@param p3 boolean
---@return any
function StartScriptConversation(p0, p1, p2, p3)
end

--- _SET_SYNCHRONIZED_AUDIO_EVENT_POSITION_THIS_FRAME
---
--- Sets the position of the audio event to the entity's position for one frame(?)
--- if (l_8C3 == 0) {
---     sub_27fd1(0, -1, 1);
---     if (PED::IS_SYNCHRONIZED_SCENE_RUNNING(l_87D)) {
---         AUDIO::STOP_SYNCHRONIZED_AUDIO_EVENT(l_87D);
---     }
---     if (sub_7dd(l_A00)) {
---         AUDIO::_950A154B8DAB6185("PAP2_IG1_POPPYSEX", l_A00);
---     }
---     sub_91c("TK************ SETTING SYNCH SCENE AUDIO POSITION THIS FRAME ************TK");
---     l_8C3 = 1;
--- }
--- --
--- Found in the b617d scripts, duplicates removed:
--- AUDIO::_950A154B8DAB6185("CAR_5_IG_6", l_7FE[1/*1*/]);
--- AUDIO::_950A154B8DAB6185("EX03_TRAIN_BIKE_LAND",   PLAYER::PLAYER_PED_ID());
--- AUDIO::_950A154B8DAB6185("FBI_2_MCS_1_LeadIn", l_40[2/*1*/]);
--- AUDIO::_950A154B8DAB6185("FIN_C2_MCS_1", l_24C[0/*1*/]);
--- AUDIO::_950A154B8DAB6185("MNT_DNC", l_5F);
--- AUDIO::_950A154B8DAB6185("PAP2_IG1_POPPYSEX", l_A00);
--- 
---@param p0 any
---@param p1 number
---@return any
function SetSynchronizedAudioEventPositionThisFrame(p0, p1)
end

--- STOP_AUDIO_SCENE
---
---@param scene any
---@return any
function StopAudioScene(scene)
end

--- UNREGISTER_SCRIPT_WITH_AUDIO
---**This native does absolutely nothing, just a nullsub**
--- 
--- 
--- On last-gen this just runs blr and this func is called by several other functions other then the native's table.  
--- 
---@return any
function UnregisterScriptWithAudio()
end

--- _PRELOAD_VEHICLE_AUDIO
---
--- NativeDB Introduced: v1180
--- 
---@param model any
---@return any
function PreloadVehicleAudio(model)
end

--- RELEASE_SCRIPT_AUDIO_BANK
---
---@return any
function ReleaseScriptAudioBank()
end

--- SET_AUDIO_SCRIPT_CLEANUP_TIME
---
---@param time any
---@return any
function SetAudioScriptCleanupTime(time)
end

--- _SET_PED_SCREAM
---
--- Assigns some ambient voice to the ped.  
--- 
---@param ped number
---@return any
function SetPedScream(ped)
end

--- GET_SOUND_ID
---
---@return any
function GetSoundId()
end

--- _GET_CURRENT_RADIO_TRACK_PLAYBACK_TIME
---
--- Return the playback time (in milliseconds) of the radio stations current track. 
--- 
--- NativeDB Introduced: v1493
--- 
---@param radioStationName any
---@return any
function GetCurrentRadioTrackPlaybackTime(radioStationName)
end

--- _HAS_MULTIPLAYER_AUDIO_DATA_LOADED
---
--- HAS_*
--- 
---@return boolean
function HasMultiplayerAudioDataLoaded()
end

--- PREPARE_MUSIC_EVENT
---
--- All music event names found in the b617d scripts: pastebin.com/GnYt0R3P  
--- 
---@param eventName any
---@return boolean
function PrepareMusicEvent(eventName)
end

--- SET_VEHICLE_AUDIO_BODY_DAMAGE_FACTOR
---Vehicle will make a 'rattling' noise when decelerating
---@param vehicle any
---@param intensity number
---@return any
function SetVehicleAudioBodyDamageFactor(vehicle, intensity)
end

--- GET_VEHICLE_DEFAULT_HORN
---
--- Returns hash of default vehicle horn  
--- Hash is stored in audVehicleAudioEntity  
--- 
---@param vehicle any
---@return any
function GetVehicleDefaultHorn(vehicle)
end

--- _IS_VEHICLE_RADIO_LOUD
---
---@param vehicle any
---@return boolean
function IsVehicleRadioLoud(vehicle)
end

--- _SET_SIREN_KEEP_ON
---
--- NativeDB Introduced: v2372
--- 
---@param vehicle any
---@param toggle boolean
---@return any
function SetSirenKeepOn(vehicle, toggle)
end

--- UNLOCK_RADIO_STATION_TRACK_LIST
---
--- AUDIO::UNLOCK_RADIO_STATION_TRACK_LIST("RADIO_16_SILVERLAKE", "MIRRORPARK_LOCKED");
--- 
---@param radioStation any
---@param trackListName any
---@return any
function UnlockRadioStationTrackList(radioStation, trackListName)
end

--- ENABLE_STALL_WARNING_SOUNDS
---
---@param vehicle any
---@param toggle boolean
---@return any
function EnableStallWarningSounds(vehicle, toggle)
end

--- OVERRIDE_TREVOR_RAGE
---This native enables the audio flag "TrevorRageIsOverridden" and sets the voice effect to voiceEffect
---@param voiceEffect any
---@return any
function OverrideTrevorRage(voiceEffect)
end

--- PLAY_SOUND
---
--- All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/A8Ny8AHZ  
--- 
---@param soundId any
---@param audioName any
---@param audioRef any
---@param p3 boolean
---@param p4 any
---@param p5 boolean
---@return any
function PlaySound(soundId, audioName, audioRef, p3, p4, p5)
end

--- PLAY_STREAM_FROM_OBJECT
---
--- Used with AUDIO::LOAD_STREAM
--- Example from finale_heist2b.c4:
--- TASK::TASK_SYNCHRONIZED_SCENE(l_4C8[2/*14*/], l_4C8[2/*14*/]._f7, l_30A, "push_out_vault_l", 4.0, -1.5, 5, 713, 4.0, 0);
---                     PED::SET_SYNCHRONIZED_SCENE_PHASE(l_4C8[2/*14*/]._f7, 0.0);
---                     PED::_2208438012482A1A(l_4C8[2/*14*/], 0, 0);
---                     PED::SET_PED_COMBAT_ATTRIBUTES(l_4C8[2/*14*/], 38, 1);
---                     PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(l_4C8[2/*14*/], 1);
---                     if (AUDIO::LOAD_STREAM("Gold_Cart_Push_Anim_01", "BIG_SCORE_3B_SOUNDS")) {
---                         AUDIO::PLAY_STREAM_FROM_OBJECT(l_36F[0/*1*/]);
---                     }
--- 
---@param object any
---@return any
function PlayStreamFromObject(object)
end

--- PRELOAD_SCRIPT_PHONE_CONVERSATION
---
---@param p0 boolean
---@param p1 boolean
---@return any
function PreloadScriptPhoneConversation(p0, p1)
end

--- SET_GPS_ACTIVE
---
---@param active boolean
---@return any
function SetGpsActive(active)
end

--- SET_PORTAL_SETTINGS_OVERRIDE
---
--- Found in the b617d scripts, duplicates removed:
--- AUDIO::_044DBAD7A7FA2BE5("V_CARSHOWROOM_PS_WINDOW_UNBROKEN", "V_CARSHOWROOM_PS_WINDOW_BROKEN");
---  AUDIO::_044DBAD7A7FA2BE5("V_CIA_PS_WINDOW_UNBROKEN", "V_CIA_PS_WINDOW_BROKEN");
---  AUDIO::_044DBAD7A7FA2BE5("V_DLC_HEIST_APARTMENT_DOOR_CLOSED", "V_DLC_HEIST_APARTMENT_DOOR_OPEN");
---  AUDIO::_044DBAD7A7FA2BE5("V_FINALEBANK_PS_VAULT_INTACT", "V_FINALEBANK_PS_VAULT_BLOWN");
---  AUDIO::_044DBAD7A7FA2BE5("V_MICHAEL_PS_BATHROOM_WITH_WINDOW", "V_MICHAEL_PS_BATHROOM_WITHOUT_WINDOW");
--- 
---@param p0 any
---@param p1 any
---@return any
function SetPortalSettingsOverride(p0, p1)
end

--- ADD_PETROL_TRAIL_DECAL_INFO
---
---@param x number
---@param y number
---@param z number
---@param p3 number
---@return any
function AddPetrolTrailDecalInfo(x, y, z, p3)
end

--- DRAW_DEBUG_BOX
---
--- NOTE: Debugging functions are not present in the retail version of the game.  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param r any
---@param g any
---@param b any
---@param a any
---@return any
function DrawDebugBox(x1, y1, z1, x2, y2, z2, r, g, b, a)
end

--- DRAW_DEBUG_CROSS
---
--- NOTE: Debugging functions are not present in the retail version of the game.  
--- 
---@param x number
---@param y number
---@param z number
---@param size number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function DrawDebugCross(x, y, z, size, red, green, blue, alpha)
end

--- GET_DECAL_WASH_LEVEL
---
---@param decal any
---@return number
function GetDecalWashLevel(decal)
end

--- GET_TIMECYCLE_TRANSITION_MODIFIER_INDEX
---
---@return any
function GetTimecycleTransitionModifierIndex()
end

--- GOLF_TRAIL_SET_FACING
---
---@param p0 boolean
---@return any
function GolfTrailSetFacing(p0)
end

--- _IS_PLAYLIST_UNK
---
--- NativeDB Introduced: v1604
--- 
---@param tvChannel any
---@param p1 any
---@return boolean
function IsPlaylistUnk(tvChannel, p1)
end

--- REMOVE_DECALS_FROM_OBJECT
---
---@param obj any
---@return any
function RemoveDecalsFromObject(obj)
end

--- _RESET_EXTRA_TIMECYCLE_MODIFIER_STRENGTH
---Resets the extra timecycle modifier strength normally set with [SetExtraTimecycleModifierStrength](#\_0x2C328AF17210F009)
---@return any
function ResetExtraTimecycleModifierStrength()
end

--- SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT
---
--- Pushes an integer for the Scaleform function onto the stack.  
--- 
---@param value any
---@return any
function ScaleformMovieMethodAddParamInt(value)
end

--- SCALEFORM_MOVIE_METHOD_ADD_PARAM_LATEST_BRIEF_STRING
---Values:
--- 0 - Dialogue Brief
--- 1 - Help Text Brief
--- 2 - Mission Objective Brief
---@param value any
---@return any
function ScaleformMovieMethodAddParamLatestBriefString(value)
end

--- SET_CURRENT_PLAYER_TCMODIFIER
---
---@param modifierName any
---@return any
function SetCurrentPlayerTcmodifier(modifierName)
end

--- START_PARTICLE_FX_LOOPED_ON_PED_BONE
---
---@param effectName any
---@param ped number
---@param xOffset number
---@param yOffset number
---@param zOffset number
---@param xRot number
---@param yRot number
---@param zRot number
---@param boneIndex any
---@param scale number
---@param xAxis boolean
---@param yAxis boolean
---@param zAxis boolean
---@return any
function StartParticleFxLoopedOnPedBone(effectName, ped, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis)
end

--- CASCADE_SHADOWS_SET_ENTITY_TRACKER_SCALE
---
---@param p0 number
---@return any
function CascadeShadowsSetEntityTrackerScale(p0)
end

--- _DRAW_INTERACTIVE_SPRITE
---Similar to [\_DRAW_SPRITE](#\_0xE7FFAE5EBF23D890), but seems to be some kind of "interactive" sprite, at least used by render targets.
--- These seem to be the only dicts ever requested by this native:
--- 
--- 
--- prop_screen_biker_laptop
--- Prop_Screen_GR_Disruption
--- Prop_Screen_TaleOfUs
--- prop_screen_nightclub
--- Prop_Screen_IE_Adhawk
--- prop_screen_sm_free_trade_shipping
--- prop_screen_hacker_truck
--- MPDesktop
--- Prop_Screen_Nightclub
--- And a few others
--- 
---@param textureDict any
---@param textureName any
---@param screenX number
---@param screenY number
---@param width number
---@param height number
---@param heading number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function DrawInteractiveSprite(textureDict, textureName, screenX, screenY, width, height, heading, red, green, blue, alpha)
end

--- _DRAW_SPHERE
---Draws a 3D sphere, typically seen in the GTA:O freemode event "Penned In".
--- 
--- Example [image](https://imgur.com/nCbtS4H):
--- 
--- lua
--- DrawSphere(35.45, 172.66, 126.22, 1.0, 0, 0, 255, 0.2)
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param r any
---@param g any
---@param b any
---@param opacity number
---@return any
function DrawSphere(x, y, z, radius, r, g, b, opacity)
end

--- TERRAINGRID_SET_COLOURS
---This native is used along with these two natives: [0xa356990e161c9e65](https://runtime.fivem.net/doc/reference.html#\_0xA356990E161C9E65) and [0x1c4fc5752bcd8e48](https://runtime.fivem.net/doc/reference.html#\_0x1C4FC5752BCD8E48).
--- This native sets the colors for the golf putting grid. the 'min...' values are for the lower areas that the grid covers, the 'max...' values are for the higher areas that the grid covers, all remaining values are for the 'normal' ground height.
--- All those natives combined they will output something like this: https://i.imgur.com/TC6cku6.png
--- 
--- Old description:
--- Only called in golf and golf_mp\
--- parameters used are\
--- GRAPHICS::\_0x5CE62918F8D703C7(255, 0, 0, 64, 255, 255, 255, 5, 255, 255, 0, 64);
---@param lowR any
---@param lowG any
---@param lowB any
---@param lowAlpha any
---@param R any
---@param G any
---@param B any
---@param Alpha any
---@param highR any
---@param highG any
---@param highB any
---@param highAlpha any
---@return any
function TerraingridSetColours(lowR, lowG, lowB, lowAlpha, R, G, B, Alpha, highR, highG, highB, highAlpha)
end

--- END_PETROL_TRAIL_DECALS
---
---@return any
function EndPetrolTrailDecals()
end

--- _SEETHROUGH_GET_MAX_THICKNESS
---
--- NativeDB Introduced: v1290
--- 
---@return number
function SeethroughGetMaxThickness()
end

--- SET_TV_CHANNEL
---
---@param channel any
---@return any
function SetTvChannel(channel)
end

--- SET_TV_CHANNEL_PLAYLIST_AT_HOUR
---
---@param tvChannel any
---@param playlistName any
---@param hour any
---@return any
function SetTvChannelPlaylistAtHour(tvChannel, playlistName, hour)
end

--- BEGIN_TEXT_COMMAND_SCALEFORM_STRING
---
--- Called prior to adding a text component to the UI. After doing so, GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING is called.
--- Examples:
--- GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("NUMBER");
--- HUD::ADD_TEXT_COMPONENT_INTEGER(MISC::ABSI(a_1));
--- GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();
--- GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING");
--- HUD::_ADD_TEXT_COMPONENT_STRING(a_2);
--- GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();
--- GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRTNM2");
--- HUD::_0x17299B63C7683A2B(v_3);
--- HUD::_0x17299B63C7683A2B(v_4);
--- GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();
--- GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRTNM1");
--- HUD::_0x17299B63C7683A2B(v_3);
--- GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();
--- 
---@param textLabel any
---@return any
function BeginTextCommandScaleformString(textLabel)
end

--- END_SCALEFORM_MOVIE_METHOD
---
--- Pops and calls the Scaleform function on the stack  
--- 
---@return any
function EndScaleformMovieMethod()
end

--- GET_STATUS_OF_SAVE_HIGH_QUALITY_PHOTO
---
---@return any
function GetStatusOfSaveHighQualityPhoto()
end

--- GOLF_TRAIL_SET_PATH
---
--- p8 seems to always be false.  
--- 
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 number
---@param p7 number
---@param p8 boolean
---@return any
function GolfTrailSetPath(p0, p1, p2, p3, p4, p5, p6, p7, p8)
end

--- HAS_SCALEFORM_CONTAINER_MOVIE_LOADED_INTO_PARENT
---
---@param scaleformHandle any
---@return boolean
function HasScaleformContainerMovieLoadedIntoParent(scaleformHandle)
end

--- POP_TIMECYCLE_MODIFIER
---
---@return any
function PopTimecycleModifier()
end

--- SET_PARTICLE_FX_LOOPED_COLOUR
---
--- only works on some fx's  
--- p4 = 0  
--- 
---@param ptfxHandle any
---@param r number
---@param g number
---@param b number
---@param p4 boolean
---@return any
function SetParticleFxLoopedColour(ptfxHandle, r, g, b, p4)
end

--- GET_SCREEN_COORD_FROM_WORLD_COORD
---
--- Convert a world coordinate into its relative screen coordinate.  (WorldToScreen)
--- Returns a boolean; whether or not the operation was successful. It will return false if the coordinates given are not visible to the rendering camera.
--- For .NET users...
--- VB:
--- Public Shared Function World3DToScreen2d(pos as vector3) As Vector2
---         Dim x2dp, y2dp As New Native.OutputArgument
---         Native.Function.Call(Of Boolean)(Native.Hash.GET_SCREEN_COORD_FROM_WORLD_COORD , pos.x, pos.y, pos.z, x2dp, y2dp)
---         Return New Vector2(x2dp.GetResult(Of Single), y2dp.GetResult(Of Single))
--- 
---     End Function
--- C#:
--- Vector2 World3DToScreen2d(Vector3 pos)
---     {
---         var x2dp = new OutputArgument();
---         var y2dp = new OutputArgument();
---         Function.Call<bool>(Hash.GET_SCREEN_COORD_FROM_WORLD_COORD , pos.X, pos.Y, pos.Z, x2dp, y2dp);
---         return new Vector2(x2dp.GetResult<float>(), y2dp.GetResult<float>());
---     }
--- //USE VERY SMALL VALUES FOR THE SCALE OF RECTS/TEXT because it is dramatically larger on screen than in 3D, e.g '0.05' small.
--- Used to be called _WORLD3D_TO_SCREEN2D
--- I thought we lost you from the scene forever. It does seem however that calling SET_DRAW_ORIGIN then your natives, then ending it. Seems to work better for certain things such as keeping boxes around people for a predator missile e.g.
--- 
---@param worldX number
---@param worldY number
---@param worldZ number
---@param screenX any
---@param screenY any
---@return boolean
function GetScreenCoordFromWorldCoord(worldX, worldY, worldZ, screenX, screenY)
end

--- GOLF_TRAIL_SET_RADIUS
---
---@param p0 number
---@param p1 number
---@param p2 number
---@return any
function GolfTrailSetRadius(p0, p1, p2)
end

--- _PLAY_BINK_MOVIE
---
--- NativeDB Introduced: v1290
--- 
---@param binkMovie any
---@return any
function PlayBinkMovie(binkMovie)
end

--- SET_NEXT_PLAYER_TCMODIFIER
---
---@param modifierName any
---@return any
function SetNextPlayerTcmodifier(modifierName)
end

--- _SET_PARTICLE_FX_NON_LOOPED_EMITTER_SCALE
---
--- NativeDB Introduced: v2699
--- 
---@param p0 number
---@param p1 number
---@param scale number
---@return any
function SetParticleFxNonLoopedEmitterScale(p0, p1, scale)
end

--- DOES_PARTICLE_FX_LOOPED_EXIST
---
---@param ptfxHandle any
---@return boolean
function DoesParticleFxLoopedExist(ptfxHandle)
end

--- _DRAW_MARKER_2
---
--- NativeDB Added Parameter 26: BOOL p25
--- 
---@param type any
---@param posX number
---@param posY number
---@param posZ number
---@param dirX number
---@param dirY number
---@param dirZ number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param scaleX number
---@param scaleY number
---@param scaleZ number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@param bobUpAndDown boolean
---@param faceCamera boolean
---@param p19 any
---@param rotate boolean
---@param textureDict any
---@param textureName any
---@param drawOnEnts boolean
---@param p24 boolean
---@return any
function DrawMarker2(type, posX, posY, posZ, dirX, dirY, dirZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, red, green, blue, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts, p24)
end

--- _END_TEXT_COMMAND_SCALEFORM_STRING_2
---
--- Same as END_TEXT_COMMAND_SCALEFORM_STRING but does not perform HTML conversion for text tokens.
--- 
---@return any
function EndTextCommandScaleformString2()
end

--- FORCE_RENDER_IN_GAME_UI
---
---@param toggle boolean
---@return any
function ForceRenderInGameUi(toggle)
end

--- SET_CHECKPOINT_CYLINDER_HEIGHT
---
--- Sets the cylinder height of the checkpoint.  
--- Parameters:  
--- * nearHeight - The height of the checkpoint when inside of the radius.  
--- * farHeight - The height of the checkpoint when outside of the radius.  
--- * radius - The radius of the checkpoint.  
--- 
---@param checkpoint any
---@param nearHeight number
---@param farHeight number
---@param radius number
---@return any
function SetCheckpointCylinderHeight(checkpoint, nearHeight, farHeight, radius)
end

--- DISABLE_VEHICLE_DISTANTLIGHTS
---
---@param toggle boolean
---@return any
function DisableVehicleDistantlights(toggle)
end

--- GET_IS_PETROL_DECAL_IN_RANGE
---
---@param xCoord number
---@param yCoord number
---@param zCoord number
---@param radius number
---@return boolean
function GetIsPetrolDecalInRange(xCoord, yCoord, zCoord, radius)
end

--- STOP_PARTICLE_FX_LOOPED
---
--- p1 is always 0 in the native scripts  
--- 
---@param ptfxHandle any
---@param p1 boolean
---@return any
function StopParticleFxLooped(ptfxHandle, p1)
end

--- CASCADE_SHADOWS_SET_AIRCRAFT_MODE
---
---@param p0 boolean
---@return any
function CascadeShadowsSetAircraftMode(p0)
end

--- DESTROY_TRACKED_POINT
---
---@param point any
---@return any
function DestroyTrackedPoint(point)
end

--- GET_VEHICLE_CREW_EMBLEM_REQUEST_STATE
---
---@param vehicle any
---@param p1 any
---@return any
function GetVehicleCrewEmblemRequestState(vehicle, p1)
end

--- REMOVE_DECALS_FROM_OBJECT_FACING
---
---@param obj any
---@param x number
---@param y number
---@param z number
---@return any
function RemoveDecalsFromObjectFacing(obj, x, y, z)
end

--- _DISABLE_SCRIPT_AMBIENT_EFFECTS
---
---@param p0 any
---@return any
function DisableScriptAmbientEffects(p0)
end

--- GET_MAXIMUM_NUMBER_OF_PHOTOS
---
--- This function is hard-coded to always return 0.
--- 
---@return any
function GetMaximumNumberOfPhotos()
end

--- REMOVE_VEHICLE_CREW_EMBLEM
---
---@param vehicle any
---@param p1 any
---@return any
function RemoveVehicleCrewEmblem(vehicle, p1)
end

--- _SET_CHECKPOINT_ICON_HEIGHT
---This multiplies the height of the icon inside a checkpoint with the default height of about 2 units above the checkpoint's coordinates.
---@param checkpoint any
---@param height_multiplier number
---@return any
function SetCheckpointIconHeight(checkpoint, height_multiplier)
end

--- SET_FLASH
---
--- Purpose of p0 and p1 unknown.  
--- 
---@param p0 number
---@param p1 number
---@param fadeIn number
---@param duration number
---@param fadeOut number
---@return any
function SetFlash(p0, p1, fadeIn, duration, fadeOut)
end

--- SET_PARTICLE_FX_CAM_INSIDE_NONPLAYER_VEHICLE
---
---@param vehicle any
---@param p1 boolean
---@return any
function SetParticleFxCamInsideNonplayerVehicle(vehicle, p1)
end

--- _CASCADE_SHADOWS_CLEAR_SHADOW_SAMPLE_TYPE
---
---@return any
function CascadeShadowsClearShadowSampleType()
end

--- SET_PARTICLE_FX_OVERRIDE
---
---@param oldAsset any
---@param newAsset any
---@return any
function SetParticleFxOverride(oldAsset, newAsset)
end

--- SET_SCRIPT_GFX_ALIGN_PARAMS
---Sets the draw offset/calculated size for SET_SCRIPT_GFX_ALIGN. If using any alignment other than left/top, the game
--- expects the width/height to be configured using this native in order to get a proper starting position for the draw
--- command.
---@param x number
---@param y number
---@param w number
---@param h number
---@return any
function SetScriptGfxAlignParams(x, y, w, h)
end

--- SET_SEETHROUGH
---
--- Toggles Heatvision on/off.  
--- 
---@param toggle boolean
---@return any
function SetSeethrough(toggle)
end

--- START_PARTICLE_FX_LOOPED_ON_ENTITY
---
---@param effectName any
---@param entity number
---@param xOffset number
---@param yOffset number
---@param zOffset number
---@param xRot number
---@param yRot number
---@param zRot number
---@param scale number
---@param xAxis boolean
---@param yAxis boolean
---@param zAxis boolean
---@return any
function StartParticleFxLoopedOnEntity(effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis)
end

--- CALL_SCALEFORM_MOVIE_METHOD_WITH_NUMBER
---
--- Calls the Scaleform function and passes the parameters as floats.  
--- The number of parameters passed to the function varies, so the end of the parameter list is represented by -1.0.  
--- 
---@param scaleform any
---@param methodName any
---@param param1 number
---@param param2 number
---@param param3 number
---@param param4 number
---@param param5 number
---@return any
function CallScaleformMovieMethodWithNumber(scaleform, methodName, param1, param2, param3, param4, param5)
end

--- DRAW_LINE
---
--- Draws a depth-tested line from one point to another.
--- ----------------
--- x1, y1, z1 : Coordinates for the first point
--- x2, y2, z2 : Coordinates for the second point
--- r, g, b, alpha : Color with RGBA-Values
--- I recommend using a predefined function to call this.
--- [VB.NET]
--- Public Sub DrawLine(from As Vector3, [to] As Vector3, col As Color)
---     [Function].Call(Hash.DRAW_LINE, from.X, from.Y, from.Z, [to].X, [to].Y, [to].Z, col.R, col.G, col.B, col.A)
--- End Sub
--- [C#]
--- public void DrawLine(Vector3 from, Vector3 to, Color col)
--- {
---     Function.Call(Hash.DRAW_LINE, from.X, from.Y, from.Z, to.X, to.Y, to.Z, col.R, col.G, col.B, col.A);
--- }
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function DrawLine(x1, y1, z1, x2, y2, z2, red, green, blue, alpha)
end

--- _DRAW_SPOT_LIGHT_WITH_SHADOW
---
---@param posX number
---@param posY number
---@param posZ number
---@param dirX number
---@param dirY number
---@param dirZ number
---@param colorR any
---@param colorG any
---@param colorB any
---@param distance number
---@param brightness number
---@param roundness number
---@param radius number
---@param falloff number
---@param shadowId any
---@return any
function DrawSpotLightWithShadow(posX, posY, posZ, dirX, dirY, dirZ, colorR, colorG, colorB, distance, brightness, roundness, radius, falloff, shadowId)
end

--- _START_NETWORKED_PARTICLE_FX_NON_LOOPED_ON_ENTITY_BONE
---
--- NativeDB Introduced: v2189
--- 
---@param effectName any
---@param entity number
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param boneIndex any
---@param scale number
---@param axisX boolean
---@param axisY boolean
---@param axisZ boolean
---@return boolean
function StartNetworkedParticleFxNonLoopedOnEntityBone(effectName, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, boneIndex, scale, axisX, axisY, axisZ)
end

--- CASCADE_SHADOWS_INIT_SESSION
---
---@return any
function CascadeShadowsInitSession()
end

--- CASCADE_SHADOWS_SET_DYNAMIC_DEPTH_VALUE
---
---@param p0 number
---@return any
function CascadeShadowsSetDynamicDepthValue(p0)
end

--- CLEAR_DRAW_ORIGIN
---Resets the screen's draw-origin which was changed by the function [SET_DRAW_ORIGIN](#\_0xAA0008F3BBB8F416) back to x=0, y=0. See [SET_DRAW_ORIGIN](#\_0xAA0008F3BBB8F416) for further information.
---@return any
function ClearDrawOrigin()
end

--- SET_NOISEOVERIDE
---
---@param toggle boolean
---@return any
function SetNoiseoveride(toggle)
end

--- SET_PARTICLE_FX_LOOPED_EVOLUTION
---
---@param ptfxHandle any
---@param propertyName any
---@param amount number
---@param noNetwork boolean
---@return any
function SetParticleFxLoopedEvolution(ptfxHandle, propertyName, amount, noNetwork)
end

--- _GET_EXTRA_TIMECYCLE_MODIFIER_INDEX
---See [GET_TIMECYCLE_MODIFIER_INDEX](#\_0xFDF3D97C674AFB66) for use, works the same just for the secondary timecycle modifier.
---@return any
function GetExtraTimecycleModifierIndex()
end

--- SET_SCALEFORM_MOVIE_TO_USE_SYSTEM_TIME
---
---@param scaleform any
---@param toggle boolean
---@return any
function SetScaleformMovieToUseSystemTime(scaleform, toggle)
end

--- SET_TRACKED_POINT_INFO
---
---@param point any
---@param x number
---@param y number
---@param z number
---@param radius number
---@return any
function SetTrackedPointInfo(point, x, y, z, radius)
end

--- TRIGGER_SCREENBLUR_FADE_IN
---
---@param transitionTime number
---@return boolean
function TriggerScreenblurFadeIn(transitionTime)
end

--- SET_NIGHTVISION
---
--- Enables Night Vision.  
--- Example:  
--- C#: Function.Call(Hash.SET_NIGHTVISION, true);  
--- C++: GRAPHICS::SET_NIGHTVISION(true);  
--- BOOL toggle:  
--- true = turns night vision on for your player.  
--- false = turns night vision off for your player.  
--- 
---@param toggle boolean
---@return any
function SetNightvision(toggle)
end

--- START_NETWORKED_PARTICLE_FX_LOOPED_ON_ENTITY_BONE
---
--- network fx  
--- 
--- 
--- 
--- NativeDB Added Parameter 14: Any p13
--- NativeDB Added Parameter 15: Any p14
--- NativeDB Added Parameter 16: Any p15
--- NativeDB Added Parameter 17: Any p16
--- 
---@param effectName any
---@param entity number
---@param xOffset number
---@param yOffset number
---@param zOffset number
---@param xRot number
---@param yRot number
---@param zRot number
---@param boneIndex any
---@param scale number
---@param xAxis boolean
---@param yAxis boolean
---@param zAxis boolean
---@return any
function StartNetworkedParticleFxLoopedOnEntityBone(effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis)
end

--- START_PARTICLE_FX_NON_LOOPED_AT_COORD
---
--- GRAPHICS::START_PARTICLE_FX_NON_LOOPED_AT_COORD("scr_paleto_roof_impact", -140.8576f, 6420.789f, 41.1391f, 0f, 0f, 267.3957f, 0x3F800000, 0, 0, 0);  
--- Axis - Invert Axis Flags  
--- list: pastebin.com/N9unUFWY  
--- -------------------------------------------------------------------  
--- C#  
--- Function.Call<int>(Hash.START_PARTICLE_FX_NON_LOOPED_AT_COORD, = you are calling this function.  
--- char *effectname = This is an in-game effect name, for e.g. "scr_fbi4_trucks_crash" is used to give the effects when truck crashes etc  
--- float x, y, z pos = this one is Simple, you just have to declare, where do you want this effect to take place at, so declare the ordinates  
--- float xrot, yrot, zrot = Again simple? just mention the value in case if you want the effect to rotate.  
--- float scale = is declare the scale of the effect, this may vary as per the effects for e.g 1.0f  
--- bool xaxis, yaxis, zaxis = To bool the axis values.  
--- example:  
--- Function.Call<int>(Hash.START_PARTICLE_FX_NON_LOOPED_AT_COORD, "scr_fbi4_trucks_crash", GTA.Game.Player.Character.Position.X, GTA.Game.Player.Character.Position.Y, GTA.Game.Player.Character.Position.Z + 4f, 0, 0, 0, 5.5f, 0, 0, 0);  
--- 
---@param effectName any
---@param xPos number
---@param yPos number
---@param zPos number
---@param xRot number
---@param yRot number
---@param zRot number
---@param scale number
---@param xAxis boolean
---@param yAxis boolean
---@param zAxis boolean
---@return any
function StartParticleFxNonLoopedAtCoord(effectName, xPos, yPos, zPos, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis)
end

--- DRAW_LIGHT_WITH_RANGE
---
---@param posX number
---@param posY number
---@param posZ number
---@param colorR any
---@param colorG any
---@param colorB any
---@param range number
---@param intensity number
---@return any
function DrawLightWithRange(posX, posY, posZ, colorR, colorG, colorB, range, intensity)
end

--- GET_USINGSEETHROUGH
---
---@return boolean
function GetUsingseethrough()
end

--- OVERRIDE_INTERIOR_SMOKE_LEVEL
---
---@param level number
---@return any
function OverrideInteriorSmokeLevel(level)
end

--- SET_ARTIFICIAL_LIGHTS_STATE
---Does not affect weapons, particles, fire/explosions, flashlights or the sun.
--- 
--- When set to true, all emissive textures (including ped components that have light effects), street lights, building lights, vehicle lights, etc will all be turned off.
--- 
--- Used in Humane Labs Heist for EMP.
---@param state boolean
---@return any
function SetArtificialLightsState(state)
end

--- UI3DSCENE_PUSH_PRESET
---
--- All presets can be found in common\data\ui\uiscenes.meta
--- 
---@param presetName any
---@return boolean
function Ui3dscenePushPreset(presetName)
end

--- REMOVE_PARTICLE_FX_FROM_ENTITY
---
---@param entity number
---@return any
function RemoveParticleFxFromEntity(entity)
end

--- REQUEST_SCALEFORM_MOVIE
---
---@param scaleformName any
---@return any
function RequestScaleformMovie(scaleformName)
end

--- RESET_PAUSED_RENDERPHASES
---
---@return any
function ResetPausedRenderphases()
end

--- SET_PARTICLE_FX_SHOOTOUT_BOAT
---
---@param p0 any
---@return any
function SetParticleFxShootoutBoat(p0)
end

--- _ANIMPOSTFX_GET_UNK
---See [ANIMPOSTFX_PLAY](#\_0x2206BF9A37B7F724)
---@param effectName any
---@return number
function AnimpostfxGetUnk(effectName)
end

--- CASCADE_SHADOWS_SET_CASCADE_BOUNDS
---
---@param p0 any
---@param p1 boolean
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 boolean
---@param p7 number
---@return any
function CascadeShadowsSetCascadeBounds(p0, p1, p2, p3, p4, p5, p6, p7)
end

--- DRAW_DEBUG_TEXT_2D
---
--- NOTE: Debugging functions are not present in the retail version of the game.  
--- 
---@param text any
---@param x number
---@param y number
---@param z number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function DrawDebugText2D(text, x, y, z, red, green, blue, alpha)
end

--- FREE_MEMORY_FOR_HIGH_QUALITY_PHOTO
---
---@return any
function FreeMemoryForHighQualityPhoto()
end

--- REMOVE_DECAL
---
---@param decal any
---@return any
function RemoveDecal(decal)
end

--- _REQUEST_SCALEFORM_MOVIE_2
---Another [REQUEST_SCALEFORM_MOVIE](#\_0x11FE353CF9733E6F) equivalent.
---@param scaleformName any
---@return any
function RequestScaleformMovie2(scaleformName)
end

--- SET_PARTICLE_FX_LOOPED_ALPHA
---
---@param ptfxHandle any
---@param alpha number
---@return any
function SetParticleFxLoopedAlpha(ptfxHandle, alpha)
end

--- _STOP_BINK_MOVIE
---
--- NativeDB Introduced: v1290
--- 
---@param binkMovie any
---@return any
function StopBinkMovie(binkMovie)
end

--- TRIGGER_SCREENBLUR_FADE_OUT
---
---@param transitionTime number
---@return boolean
function TriggerScreenblurFadeOut(transitionTime)
end

--- CLEAR_TV_CHANNEL_PLAYLIST
---
---@param tvChannel any
---@return any
function ClearTvChannelPlaylist(tvChannel)
end

--- CLEAR_TIMECYCLE_MODIFIER
---
---@return any
function ClearTimecycleModifier()
end

--- GET_SAFE_ZONE_SIZE
---
--- Gets the scale of safe zone. if the safe zone size scale is max, it will return 1.0.  
--- 
---@return number
function GetSafeZoneSize()
end

--- GOLF_TRAIL_GET_MAX_HEIGHT
---
---@return number
function GolfTrailGetMaxHeight()
end

--- QUERY_MOVIE_MESH_SET_STATE
---
---@param p0 any
---@return any
function QueryMovieMeshSetState(p0)
end

--- _SEETHROUGH_SET_NOISE_AMOUNT_MAX
---
---@param amount number
---@return any
function SeethroughSetNoiseAmountMax(amount)
end

--- DRAW_TV_CHANNEL
---
--- All calls to this native are preceded by calls to GRAPHICS::_0x61BB1D9B3A95D802 and GRAPHICS::_0xC6372ECD45D73BCD, respectively.
--- "act_cinema.ysc", line 1483:
--- HUD::SET_HUD_COMPONENT_POSITION(15, 0.0, -0.0375);
--- HUD::SET_TEXT_RENDER_ID(l_AE);
--- GRAPHICS::_0x61BB1D9B3A95D802(4);
--- GRAPHICS::_0xC6372ECD45D73BCD(1);
--- if (GRAPHICS::_0x0AD973CA1E077B60(${movie_arthouse})) {
---     GRAPHICS::DRAW_TV_CHANNEL(0.5, 0.5, 0.7375, 1.0, 0.0, 255, 255, 255, 255);
--- } else {
---     GRAPHICS::DRAW_TV_CHANNEL(0.5, 0.5, 1.0, 1.0, 0.0, 255, 255, 255, 255);
--- }
--- "am_mp_property_int.ysc", line 102545:
--- if (ENTITY::DOES_ENTITY_EXIST(a_2._f3)) {
---     if (HUD::IS_NAMED_RENDERTARGET_LINKED(ENTITY::GET_ENTITY_MODEL(a_2._f3))) {
---         HUD::SET_TEXT_RENDER_ID(a_2._f1);
---         GRAPHICS::_0x61BB1D9B3A95D802(4);
---         GRAPHICS::_0xC6372ECD45D73BCD(1);
---         GRAPHICS::DRAW_TV_CHANNEL(0.5, 0.5, 1.0, 1.0, 0.0, 255, 255, 255, 255);
---         if (GRAPHICS::GET_TV_CHANNEL() == -1) {
---             sub_a8fa5(a_2, 1);
---         } else {
---             sub_a8fa5(a_2, 1);
---             GRAPHICS::ATTACH_TV_AUDIO_TO_ENTITY(a_2._f3);
---         }
---         HUD::SET_TEXT_RENDER_ID(HUD::GET_DEFAULT_SCRIPT_RENDERTARGET_RENDER_ID());
---     }
--- }
--- 
---@param xPos number
---@param yPos number
---@param xScale number
---@param yScale number
---@param rotation number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function DrawTvChannel(xPos, yPos, xScale, yScale, rotation, red, green, blue, alpha)
end

--- ENABLE_ALIEN_BLOOD_VFX
---Creates a motion-blur sort of effect, this native does not seem to work, however by using the [START_SCREEN_EFFECT](#\_0x2206BF9A37B7F724) native with "DrugsMichaelAliensFight" as the effect parameter, you should be able to get the effect.
--- 
--- This native does not seem to work, however by using the [START_SCREEN_EFFECT](https://runtime.fivem.net/doc/natives/#\_0x2206BF9A37B7F724) native with "DrugsMichaelAliensFight" as the effect parameter, you should be able to get the effect.
---@param toggle boolean
---@return any
function EnableAlienBloodVfx(toggle)
end

--- GET_TOGGLE_PAUSED_RENDERPHASES_STATUS
---
---@return boolean
function GetTogglePausedRenderphasesStatus()
end

--- WASH_DECALS_IN_RANGE
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function WashDecalsInRange(p0, p1, p2, p3, p4)
end

--- _CLEAR_EXTRA_TIMECYCLE_MODIFIER
---Clears the secondary timecycle modifier usually set with [SetExtraTimecycleModifier](#\_0x5096FD9CCB49056D)
---@return any
function ClearExtraTimecycleModifier()
end

--- ENABLE_CLOWN_BLOOD_VFX
---
--- Creates cartoon effect when Michel smokes the weed  
--- 
---@param toggle boolean
---@return any
function EnableClownBloodVfx(toggle)
end

--- GOLF_TRAIL_SET_TESSELLATION
---
---@param p0 any
---@param p1 any
---@return any
function GolfTrailSetTessellation(p0, p1)
end

--- DRAW_SCALEFORM_MOVIE
---
---@param scaleformHandle any
---@param x number
---@param y number
---@param width number
---@param height number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@param unk any
---@return any
function DrawScaleformMovie(scaleformHandle, x, y, width, height, red, green, blue, alpha, unk)
end

--- _SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING_2
---GRAPHICS::\_0x77FE3402004CD1B0(HUD::\_GET_LABEL_TEXT("YACHT_GSY"));
--- GRAPHICS::\_0x77FE3402004CD1B0(PLAYER::GET_PLAYER_NAME(PLAYER::PLAYER_ID()));
--- 
--- Both \_0xBA7148484BD90365 / \_0x77FE3402004CD1B0 works, but \_0x77FE3402004CD1B0 is usually used for "name" (organisation, players..).
---@param string any
---@return any
function ScaleformMovieMethodAddParamTextureNameString2(string)
end

--- CASCADE_SHADOWS_SET_CASCADE_BOUNDS_SCALE
---
---@param p0 number
---@return any
function CascadeShadowsSetCascadeBoundsScale(p0)
end

--- GET_CURRENT_NUMBER_OF_CLOUD_PHOTOS
---
---@return any
function GetCurrentNumberOfCloudPhotos()
end

--- GET_USINGNIGHTVISION
---
---@return boolean
function GetUsingnightvision()
end

--- SEETHROUGH_SET_HEATSCALE
---
---@param index any
---@param heatScale number
---@return any
function SeethroughSetHeatscale(index, heatScale)
end

--- _SEETHROUGH_SET_MAX_THICKNESS
---
---@param thickness number
---@return any
function SeethroughSetMaxThickness(thickness)
end

--- SET_DRAW_ORIGIN
---Sets the on-screen drawing origin for draw-functions in world coordinates.
--- 
--- The effect can be reset by calling [CLEAR_DRAW_ORIGIN](#\_0xFF0B610F6BE0D7AF) and is limited to 32 different origins each frame.
---@param x number
---@param y number
---@param z number
---@param p3 any
---@return any
function SetDrawOrigin(x, y, z, p3)
end

--- FREE_MEMORY_FOR_LOW_QUALITY_PHOTO
---
---@return any
function FreeMemoryForLowQualityPhoto()
end

--- _GET_ASPECT_RATIO
---
---@param b boolean
---@return number
function GetAspectRatio(b)
end

--- _GRASS_LOD_RESET_SCRIPT_AREAS
---
---@return any
function GrassLodResetScriptAreas()
end

--- SET_SCALEFORM_MOVIE_AS_NO_LONGER_NEEDED
---
---@param scaleformHandle any
---@return any
function SetScaleformMovieAsNoLongerNeeded(scaleformHandle)
end

--- DRAW_LOW_QUALITY_PHOTO_TO_PHONE
---
---@param p0 boolean
---@param p1 boolean
---@return any
function DrawLowQualityPhotoToPhone(p0, p1)
end

--- GET_MAXIMUM_NUMBER_OF_CLOUD_PHOTOS
---
--- This function is hard-coded to always return 96.
--- 
---@return any
function GetMaximumNumberOfCloudPhotos()
end

--- GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_STRING
---Used to get a return value from a scaleform function. Returns a string in the same way GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT returns an int.
---@param method_return any
---@return any
function GetScaleformMovieMethodReturnValueString(method_return)
end

--- _SET_BINK_MOVIE_UNK_2
---
--- NativeDB Introduced: v1868
--- 
---@param binkMovie any
---@param p1 boolean
---@return any
function SetBinkMovieUnk2(binkMovie, p1)
end

--- _SET_CHECKPOINT_ICON_SCALE
---
---@param checkpoint any
---@param scale number
---@return any
function SetCheckpointIconScale(checkpoint, scale)
end

--- HAS_SCALEFORM_SCRIPT_HUD_MOVIE_LOADED
---
---@param hudComponent any
---@return boolean
function HasScaleformScriptHudMovieLoaded(hudComponent)
end

--- SET_TIMECYCLE_MODIFIER
---
--- Loads the specified timecycle modifier. Modifiers are defined separately in another file (e.g. "timecycle_mods_1.xml")
--- Parameters:
--- modifierName - The modifier to load (e.g. "V_FIB_IT3", "scanline_cam", etc.)
--- 
---@param modifierName any
---@return any
function SetTimecycleModifier(modifierName)
end

--- CALL_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING
---
--- Calls the Scaleform function and passes both float and string parameters (in their respective order).  
--- The number of parameters passed to the function varies, so the end of the float parameters is represented by -1.0, and the end of the string parameters is represented by 0 (NULL).  
--- NOTE: The order of parameters in the function prototype is important! All float parameters must come first, followed by the string parameters.  
--- Examples:  
--- // function MY_FUNCTION(floatParam1, floatParam2, stringParam)  
--- GRAPHICS::_CALL_SCALEFORM_MOVIE_FUNCTION_MIXED_PARAMS(scaleform, "MY_FUNCTION", 10.0, 20.0, -1.0, -1.0, -1.0, "String param", 0, 0, 0, 0);  
--- // function MY_FUNCTION_2(floatParam, stringParam1, stringParam2)  
--- GRAPHICS::_CALL_SCALEFORM_MOVIE_FUNCTION_MIXED_PARAMS(scaleform, "MY_FUNCTION_2", 10.0, -1.0, -1.0, -1.0, -1.0, "String param #1", "String param #2", 0, 0, 0);  
--- 
---@param scaleform any
---@param methodName any
---@param floatParam1 number
---@param floatParam2 number
---@param floatParam3 number
---@param floatParam4 number
---@param floatParam5 number
---@param stringParam1 any
---@param stringParam2 any
---@param stringParam3 any
---@param stringParam4 any
---@param stringParam5 any
---@return any
function CallScaleformMovieMethodWithNumberAndString(scaleform, methodName, floatParam1, floatParam2, floatParam3, floatParam4, floatParam5, stringParam1, stringParam2, stringParam3, stringParam4, stringParam5)
end

--- DELETE_CHECKPOINT
---
---@param checkpoint any
---@return any
function DeleteCheckpoint(checkpoint)
end

--- DRAW_MARKER
---Draws a marker with the specified appearance at the target location. This has to be called every frame, e.g. in a Wait(0) loop.
--- 
--- There's a [list of markers](https://docs.fivem.net/game-references/markers/) on the FiveM documentation site.
---@param type any
---@param posX number
---@param posY number
---@param posZ number
---@param dirX number
---@param dirY number
---@param dirZ number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param scaleX number
---@param scaleY number
---@param scaleZ number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@param bobUpAndDown boolean
---@param faceCamera boolean
---@param p19 any
---@param rotate boolean
---@param textureDict any
---@param textureName any
---@param drawOnEnts boolean
---@return any
function DrawMarker(type, posX, posY, posZ, dirX, dirY, dirZ, rotX, rotY, rotZ, scaleX, scaleY, scaleZ, red, green, blue, alpha, bobUpAndDown, faceCamera, p19, rotate, textureDict, textureName, drawOnEnts)
end

--- DRAW_SCALEFORM_MOVIE_FULLSCREEN_MASKED
---
---@param scaleform1 any
---@param scaleform2 any
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function DrawScaleformMovieFullscreenMasked(scaleform1, scaleform2, red, green, blue, alpha)
end

--- DRAW_SCALEFORM_MOVIE_3D_SOLID
---
---@param scaleform any
---@param posX number
---@param posY number
---@param posZ number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param p7 number
---@param p8 number
---@param p9 number
---@param scaleX number
---@param scaleY number
---@param scaleZ number
---@param p13 any
---@return any
function DrawScaleformMovie3DSolid(scaleform, posX, posY, posZ, rotX, rotY, rotZ, p7, p8, p9, scaleX, scaleY, scaleZ, p13)
end

--- LOAD_MISSION_CREATOR_PHOTO
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 boolean
---@return boolean
function LoadMissionCreatorPhoto(p0, p1, p2, p3)
end

--- SET_PARTICLE_FX_LOOPED_FAR_CLIP_DIST
---
---@param ptfxHandle any
---@param range number
---@return any
function SetParticleFxLoopedFarClipDist(ptfxHandle, range)
end

--- SET_TV_CHANNEL_PLAYLIST
---Loads specified video sequence into the TV Channel
--- TV_Channel ranges from 0-2
--- VideoSequence can be any of the following:
--- "PL_STD_CNT" CNT Standard Channel
--- "PL_STD_WZL" Weazel Standard Channel
--- "PL_LO_CNT"
--- "PL_LO_WZL"
--- "PL_SP_WORKOUT"
--- "PL_SP_INV" - Jay Norris Assassination Mission Fail
--- "PL_SP_INV_EXP" - Jay Norris Assassination Mission Success
--- "PL_LO_RS" - Righteous Slaughter Ad
--- "PL_LO_RS_CUTSCENE" - Righteous Slaughter Cut-scene
--- "PL_SP_PLSH1\_INTRO"
--- "PL_LES1\_FAME_OR_SHAME"
--- "PL_STD_WZL_FOS_EP2"
--- "PL_MP_WEAZEL" - Weazel Logo on loop
--- "PL_MP_CCTV" - Generic CCTV loop
--- Restart:
--- 0=video sequence continues as normal
--- 1=sequence restarts from beginning every time that channel is selected
--- The above playlists work as intended, and are commonly used, but there are many more playlists, as seen in tvplaylists.xml. A pastebin below outlines all playlists, they will be surronded by the name tag I.E. (<Name>PL_STD_CNT</Name> = PL_STD_CNT).
--- https://pastebin.com/zUzGB6h7
---@param tvChannel any
---@param playlistName any
---@param restart boolean
---@return any
function SetTvChannelPlaylist(tvChannel, playlistName, restart)
end

--- ADD_TCMODIFIER_OVERRIDE
---
---@param modifierName1 any
---@param modifierName2 any
---@return any
function AddTcmodifierOverride(modifierName1, modifierName2)
end

--- BEGIN_SCALEFORM_SCRIPT_HUD_MOVIE_METHOD
---
--- Pushes a function from the Hud component Scaleform onto the stack. Same behavior as GRAPHICS::BEGIN_SCALEFORM_MOVIE_METHOD, just a hud component id instead of a Scaleform.
--- Known components:
--- 19 - MP_RANK_BAR
--- 20 - HUD_DIRECTOR_MODE
--- This native requires more research - all information can be found inside of 'hud.gfx'. Using a decompiler, the different components are located under "scripts\__Packages\com\rockstargames\gtav\hud\hudComponents" and "scripts\__Packages\com\rockstargames\gtav\Multiplayer".
--- 
---@param hudComponent any
---@param methodName any
---@return boolean
function BeginScaleformScriptHudMovieMethod(hudComponent, methodName)
end

--- DRAW_SCALEFORM_MOVIE_3D
---
---@param scaleform any
---@param posX number
---@param posY number
---@param posZ number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param p7 number
---@param sharpness number
---@param p9 number
---@param scaleX number
---@param scaleY number
---@param scaleZ number
---@param p13 any
---@return any
function DrawScaleformMovie3D(scaleform, posX, posY, posZ, rotX, rotY, rotZ, p7, sharpness, p9, scaleX, scaleY, scaleZ, p13)
end

--- REMOVE_DECALS_FROM_VEHICLE
---
---@param vehicle any
---@return any
function RemoveDecalsFromVehicle(vehicle)
end

--- SET_ENTITY_ICON_COLOR
---
---@param entity number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function SetEntityIconColor(entity, red, green, blue, alpha)
end

--- START_PETROL_TRAIL_DECALS
---
---@param p0 number
---@return any
function StartPetrolTrailDecals(p0)
end

--- _DRAW_BINK_MOVIE
---
--- NativeDB Introduced: v1290
--- 
---@param binkMovie any
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param r any
---@param g any
---@param b any
---@param a any
---@return any
function DrawBinkMovie(binkMovie, p1, p2, p3, p4, p5, r, g, b, a)
end

--- ENABLE_MOVIE_SUBTITLES
---
---@param toggle boolean
---@return any
function EnableMovieSubtitles(toggle)
end

--- _OVERRIDE_PED_BADGE_TEXTURE
---
--- Overriding ped badge texture to a passed texture. It's synced between players (even custom textures!), don't forget to request used dict on *all* clients to make it sync properly. Can be removed by passing empty strings.
--- 
---@param ped number
---@param txd any
---@param txn any
---@return boolean
function OverridePedBadgeTexture(ped, txd, txn)
end

--- _SET_ARTIFICIAL_LIGHTS_STATE_AFFECTS_VEHICLES
---If "blackout" is enabled, this native allows you to ignore "blackout" for vehicles.
--- 
--- 
--- NativeDB Introduced: v2060
--- 
---@param toggle boolean
---@return any
function SetArtificialLightsStateAffectsVehicles(toggle)
end

--- SET_SCRIPT_GFX_ALIGN
---This function anchors script draws to a side of the safe zone. This needs to be called to make the interface
--- independent of the player's safe zone configuration.
--- 
--- These values are equivalent to alignX and alignY in common:/data/ui/frontend.xml, which can be used as a baseline
--- for default alignment.
--- 
--- Valid values for horizontalAlign, from original documentation:
--- 
--- *   **C (67)** - Center: DRAW_TEXT starts in the middle of the screen, while DRAW_RECT starts on the right; both move with
---     the right side of the screen.
--- *   **L (76)** - Left: Anchors to the left side, DRAW_RECT starts on the left side of the screen, same as DRAW_TEXT when
---     centered.
--- *   **R (82)** - Right: DRAW_TEXT starts on the left side (normal 0,0), while DRAW_RECT starts some short distance away
---     from the right side of the screen, both move with the right side of the screen.
--- 
--- Valid values for verticalAlign, from original documentation:
--- 
--- *   **B (66)** - Bottom: DRAW_RECT starts about as far as the middle of the map from the bottom, while DRAW_TEXT is about
---     rather centered.
--- *   **C (67)** - Center: It starts at a certain distance from the bottom, but the distance is fixed, the distance is
---     different from 66.
--- *   **T (84)** - Top: Anchors to the top, DRAW_RECT starts on the top of the screen, DRAW_TEXT just below it.
--- 
--- Using any other value (including 0) will result in the safe zone not being taken into account for this draw. The
--- canonical value for this is 'I' (73).
--- 
--- For example, you can use SET_SCRIPT_GFX_ALIGN(0, 84) to only scale on the Y axis (to the top), but not change the X
--- axis.
--- 
--- To reset the value, use RESET_SCRIPT_GFX_ALIGN.
---@param horizontalAlign any
---@param verticalAlign any
---@return any
function SetScriptGfxAlign(horizontalAlign, verticalAlign)
end

--- START_NETWORKED_PARTICLE_FX_NON_LOOPED_AT_COORD
---NOTE: the [USE_PARTICLE_FX_ASSET](#\_0x6C38AF3693A69A91) needs to be called before EVERY StartNetworkedParticleFxNonLoopedAtCoord(....) call!
--- 
--- List with lots of particle effects: https://vespura.com/fivem/particle-list/
--- 
--- Note: Not all particles on this list are for non looped and vice versa, neither are all of them suited/meant to have SetParticleFxNonLoopedColour(....) called on them.
--- 
--- 
--- NativeDB Added Parameter 12: BOOL p11
--- 
---@param effectName any
---@param xPos number
---@param yPos number
---@param zPos number
---@param xRot number
---@param yRot number
---@param zRot number
---@param scale number
---@param xAxis boolean
---@param yAxis boolean
---@param zAxis boolean
---@return boolean
function StartNetworkedParticleFxNonLoopedAtCoord(effectName, xPos, yPos, zPos, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis)
end

--- GET_STATUS_OF_TAKE_MISSION_CREATOR_PHOTO
---
---@return any
function GetStatusOfTakeMissionCreatorPhoto()
end

--- _SET_BINK_MOVIE_VOLUME
---
--- binkMovie: Is return value from _SET_BINK_MOVIE. Has something to do with bink volume? (audRequestedSettings::SetVolumeCurveScale)
--- 
--- 
--- 
--- NativeDB Introduced: v1290
--- 
---@param binkMovie any
---@param value number
---@return any
function SetBinkMovieVolume(binkMovie, value)
end

--- END_TEXT_COMMAND_SCALEFORM_STRING
---
---@return any
function EndTextCommandScaleformString()
end

--- _IS_TV_PLAYLIST_ITEM_PLAYING
---
--- IS_*
--- 
---@param videoCliphash any
---@return boolean
function IsTvPlaylistItemPlaying(videoCliphash)
end

--- _SET_EXTRA_TIMECYCLE_MODIFIER_STRENGTH
---The same as [SetTimecycleModifierStrength](#\_0x82E7FFCD5B2326B3) but for the secondary tiemcycle modifier.
---@param strength number
---@return any
function SetExtraTimecycleModifierStrength(strength)
end

--- SET_SCRIPT_GFX_DRAW_BEHIND_PAUSEMENU
---Sets a flag defining whether or not script draw commands should continue being drawn behind the pause menu. This is usually used for TV channels and other draw commands that are used with a world render target.
---@param flag boolean
---@return any
function SetScriptGfxDrawBehindPausemenu(flag)
end

--- REMOVE_TCMODIFIER_OVERRIDE
---
---@param p0 any
---@return any
function RemoveTcmodifierOverride(p0)
end

--- SET_PARTICLE_FX_LOOPED_SCALE
---
---@param ptfxHandle any
---@param scale number
---@return any
function SetParticleFxLoopedScale(ptfxHandle, scale)
end

--- DRAW_SCALEFORM_MOVIE_FULLSCREEN
---
--- unk is not used so no need  
--- 
---@param scaleform any
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@param unk any
---@return any
function DrawScaleformMovieFullscreen(scaleform, red, green, blue, alpha, unk)
end

--- GET_STATUS_OF_SORTED_LIST_OPERATION
---
--- 3 matches across 3 scripts. First 2 were 0, 3rd was 1. Possibly a bool.
--- appcamera, appmedia, and cellphone_controller.
--- 
---@param p0 boolean
---@return any
function GetStatusOfSortedListOperation(p0)
end

--- _SEETHROUGH_SET_FADE_START_DISTANCE
---
---@param distance number
---@return any
function SeethroughSetFadeStartDistance(distance)
end

--- DRAW_DEBUG_SPHERE
---
--- NOTE: Debugging functions are not present in the retail version of the game.  
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function DrawDebugSphere(x, y, z, radius, red, green, blue, alpha)
end

--- DRAW_POLY
---
--- x/y/z - Location of a vertex (in world coords), presumably.  
--- ----------------  
--- x1, y1, z1     : Coordinates for the first point  
--- x2, y2, z2     : Coordinates for the second point  
--- x3, y3, z3     : Coordinates for the third point  
--- r, g, b, alpha : Color with RGBA-Values  
--- Keep in mind that only one side of the drawn triangle is visible: It's the side, in which the vector-product of the vectors heads to: (b-a)x(c-a) Or (b-a)x(c-b).  
--- But be aware: The function seems to work somehow differently. I have trouble having them drawn in rotated orientation. Try it yourself and if you somehow succeed, please edit this and post your solution.  
--- I recommend using a predefined function to call this.  
--- [VB.NET]  
--- Public Sub DrawPoly(a As Vector3, b As Vector3, c As Vector3, col As Color)  
---     [Function].Call(Hash.DRAW_POLY, a.X, a.Y, a.Z, b.X, b.Y, b.Z, c.X, c.Y, c.Z, col.R, col.G, col.B, col.A)  
--- End Sub  
--- [C#]  
--- public void DrawPoly(Vector3 a, Vector3 b, Vector3 c, Color col)  
--- {  
---     Function.Call(Hash.DRAW_POLY, a.X, a.Y, a.Z, b.X, b.Y, b.Z, c.X, c.Y, c.Z, col.R, col.G, col.B, col.A);  
--- }  
--- BTW: Intersecting triangles are not supported: They overlap in the order they were called.  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param x3 number
---@param y3 number
---@param z3 number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function DrawPoly(x1, y1, z1, x2, y2, z2, x3, y3, z3, red, green, blue, alpha)
end

--- GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT
---Used to get a return value from a scaleform function. Returns an int in the same way GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_STRING returns a string.
---@param method_return any
---@return any
function GetScaleformMovieMethodReturnValueInt(method_return)
end

--- GOLF_TRAIL_SET_ENABLED
---
---@param toggle boolean
---@return any
function GolfTrailSetEnabled(toggle)
end

--- HAS_SCALEFORM_MOVIE_FILENAME_LOADED
---
--- Only values used in the scripts are:
--- "heist_mp"
--- "heistmap_mp"
--- "instructional_buttons"
--- "heist_pre"
--- 
---@param scaleformName any
---@return boolean
function HasScaleformMovieFilenameLoaded(scaleformName)
end

--- CASCADE_SHADOWS_ENABLE_ENTITY_TRACKER
---
--- When this is set to ON, shadows only draw as you get nearer.
--- When OFF, they draw from a further distance.
--- 
---@param toggle boolean
---@return any
function CascadeShadowsEnableEntityTracker(toggle)
end

--- DRAW_DEBUG_LINE
---
--- NOTE: Debugging functions are not present in the retail version of the game.  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param r any
---@param g any
---@param b any
---@param a any
---@return any
function DrawDebugLine(x1, y1, z1, x2, y2, z2, r, g, b, a)
end

--- OVERRIDE_INTERIOR_SMOKE_NAME
---
---@param name any
---@return any
function OverrideInteriorSmokeName(name)
end

--- REQUEST_SCALEFORM_MOVIE_INSTANCE
---Same as [REQUEST_SCALEFORM_MOVIE](#\_0x11FE353CF9733E6F), except it seems to fix stretched scaleforms on ultrawide.
---@param scaleformName any
---@return any
function RequestScaleformMovieInstance(scaleformName)
end

--- _SET_BINK_SHOULD_SKIP
---
--- NativeDB Introduced: v1290
--- 
---@param binkMovie any
---@param shouldSkip boolean
---@return any
function SetBinkShouldSkip(binkMovie, shouldSkip)
end

--- UI3DSCENE_IS_AVAILABLE
---
---@return boolean
function Ui3dsceneIsAvailable()
end

--- DRAW_SPRITE
---
--- Draws a 2D sprite on the screen.  
--- Parameters:  
--- textureDict - Name of texture dictionary to load texture from (e.g. "CommonMenu", "MPWeaponsCommon", etc.)  
--- textureName - Name of texture to load from texture dictionary (e.g. "last_team_standing_icon", "tennis_icon", etc.)  
--- screenX/Y - Screen offset (0.5 = center)  
--- scaleX/Y - Texture scaling. Negative values can be used to flip the texture on that axis. (0.5 = half)  
--- heading - Texture rotation in degrees (default = 0.0) positive is clockwise, measured in degrees  
--- red,green,blue - Sprite color (default = 255/255/255)  
--- alpha - opacity level  
--- 
--- 
--- 
--- NativeDB Added Parameter 12: BOOL p11
--- 
---@param textureDict any
---@param textureName any
---@param screenX number
---@param screenY number
---@param width number
---@param height number
---@param heading number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function DrawSprite(textureDict, textureName, screenX, screenY, width, height, heading, red, green, blue, alpha)
end

--- _GET_ACTIVE_SCREEN_RESOLUTION
---
--- Returns current screen resolution.  
--- 
---@param x any
---@param y any
---@return any
function GetActiveScreenResolution(x, y)
end

--- SCALEFORM_MOVIE_METHOD_ADD_PARAM_FLOAT
---
--- Pushes a float for the Scaleform function onto the stack.  
--- 
---@param value number
---@return any
function ScaleformMovieMethodAddParamFloat(value)
end

--- SET_PARTICLE_FX_NON_LOOPED_COLOUR
---Only works on some fx's, while on others it might SEEM to work "properly", but the colors can be "strange" or even completly different from what you've expected. Reason for this is that those fx's might already have colors "baked into them" which then start to act as a "mixing palette", resulting in a different color than expected. A hypothetical example of this would be if the fx itself is already full (bright) red (RGB: 1.0, 0.0, 0.0) and you then set the color to (bright) green (RGB: 0.0, 1.0, 0.0), that it MIGHT result in Yellow (RGB: 1.0, 1.0, 0.0).
--- 
--- This doc previously stated that the set color is **NOT** networked, however it does actually turns out to be networked. Tested with all fireworks effects and several other FX effects resulted in colored fx effects on all clients when used in combination with [START_NETWORKED_PARTICLE_FX_NON_LOOPED_AT_COORD](#\_0xF56B8137DF10135D).
--- This might however not be the case for all types of particle fx's, so it's recommended to test this thoroughly with multiple clients before releasing your script for example.
---@param r number
---@param g number
---@param b number
---@return any
function SetParticleFxNonLoopedColour(r, g, b)
end

--- SET_TV_VOLUME
---
---@param volume number
---@return any
function SetTvVolume(volume)
end

--- DONT_RENDER_IN_GAME_UI
---
---@param p0 boolean
---@return any
function DontRenderInGameUi(p0)
end

--- _DRAW_SPRITE_UV
---Similar to DRAW_SPRITE, but allows to specify the texture coordinates used to draw the sprite.
--- u1, v1 - texture coordinates for the top-left corner
--- u2, v2 - texture coordinates for the bottom-right corner
--- 
--- 
--- NativeDB Introduced: v1868
--- 
---@param textureDict any
---@param textureName any
---@param x number
---@param y number
---@param width number
---@param height number
---@param u1 number
---@param v1 number
---@param u2 number
---@param v2 number
---@param heading number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function DrawSpriteUv(textureDict, textureName, x, y, width, height, u1, v1, u2, v2, heading, red, green, blue, alpha)
end

--- GET_REQUESTINGNIGHTVISION
---
---@return boolean
function GetRequestingnightvision()
end

--- ADD_ENTITY_ICON
---
--- Example:  
--- GRAPHICS::ADD_ENTITY_ICON(a_0, "MP_Arrow");  
--- I tried this and nothing happened...  
--- 
---@param entity number
---@param icon any
---@return any
function AddEntityIcon(entity, icon)
end

--- GET_SCREEN_RESOLUTION
---Hardcoded to always return 1280x720. Use [_GET_ACTIVE_SCREEN_RESOLUTION](?\_0x873C9F3104101DD3) to retrieve the correct screen resolution.
---@param x any
---@param y any
---@return any
function GetScreenResolution(x, y)
end

--- SET_CHECKPOINT_RGBA
---
--- Sets the checkpoint color.  
--- 
---@param checkpoint any
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function SetCheckpointRgba(checkpoint, red, green, blue, alpha)
end

--- IS_DECAL_ALIVE
---
---@param decal any
---@return boolean
function IsDecalAlive(decal)
end

--- PRESET_INTERIOR_AMBIENT_CACHE
---
--- Only one match in the scripts:
--- GRAPHICS::PRESET_INTERIOR_AMBIENT_CACHE("int_carrier_hanger");
--- 
---@param timecycleModifierName any
---@return any
function PresetInteriorAmbientCache(timecycleModifierName)
end

--- _SEETHROUGH_SET_HI_LIGHT_NOISE
---
---@param noise number
---@return any
function SeethroughSetHiLightNoise(noise)
end

--- SET_NOISINESSOVERIDE
---
---@param value number
---@return any
function SetNoisinessoveride(value)
end

--- START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE
---
--- GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_sh_bong_smoke", PLAYER::PLAYER_PED_ID(), -0.025f, 0.13f, 0f, 0f, 0f, 0f, 31086, 0x3F800000, 0, 0, 0);  
--- Axis - Invert Axis Flags  
--- list: pastebin.com/N9unUFWY  
--- 
---@param effectName any
---@param ped number
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param boneIndex any
---@param scale number
---@param axisX boolean
---@param axisY boolean
---@param axisZ boolean
---@return boolean
function StartParticleFxNonLoopedOnPedBone(effectName, ped, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, boneIndex, scale, axisX, axisY, axisZ)
end

--- BEGIN_SCALEFORM_MOVIE_METHOD
---
--- Push a function from the Scaleform onto the stack  
--- 
---@param scaleform any
---@param methodName any
---@return boolean
function BeginScaleformMovieMethod(scaleform, methodName)
end

--- DISABLE_OCCLUSION_THIS_FRAME
---
---@return any
function DisableOcclusionThisFrame()
end

--- FADE_DECALS_IN_RANGE
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@param duration number
---@return any
function FadeDecalsInRange(x, y, z, radius, duration)
end

--- _GRASS_LOD_SHRINK_SCRIPT_AREAS
---
--- Wraps 0xAAE9BE70EC7C69AB with FLT_MAX as p7, Jenkins: 0x73E96210?
--- 
---@param x number
---@param y number
---@param z number
---@param radius number
---@param p4 number
---@param p5 number
---@param p6 number
---@return any
function GrassLodShrinkScriptAreas(x, y, z, radius, p4, p5, p6)
end

--- _SEETHROUGH_SET_HI_LIGHT_INTENSITY
---
---@param intensity number
---@return any
function SeethroughSetHiLightIntensity(intensity)
end

--- GET_SCREENBLUR_FADE_CURRENT_TIME
---
---@return number
function GetScreenblurFadeCurrentTime()
end

--- SEETHROUGH_RESET
---
--- NativeDB Introduced: v323
--- 
---@return any
function SeethroughReset()
end

--- TERRAINGRID_ACTIVATE
---This native enables/disables the gold putting grid display (https://i.imgur.com/TC6cku6.png).
--- This requires these two natives to be called as well to configure the grid: [0x1c4fc5752bcd8e48](https://runtime.fivem.net/doc/reference.html#\_0x1C4FC5752BCD8E48) and [0x5ce62918f8d703c7](https://runtime.fivem.net/doc/reference.html#\_0x5CE62918F8D703C7).
---@param toggle boolean
---@return any
function TerraingridActivate(toggle)
end

--- CALL_SCALEFORM_MOVIE_METHOD_WITH_STRING
---
--- Calls the Scaleform function and passes the parameters as strings.  
--- The number of parameters passed to the function varies, so the end of the parameter list is represented by 0 (NULL).  
--- 
---@param scaleform any
---@param methodName any
---@param param1 any
---@param param2 any
---@param param3 any
---@param param4 any
---@param param5 any
---@return any
function CallScaleformMovieMethodWithString(scaleform, methodName, param1, param2, param3, param4, param5)
end

--- _DRAW_SHOWROOM
---
--- It's called after 0xD3A10FC7FD8D98CD and 0xF1CEA8A4198D8E9A  
--- p0 was always "CELEBRATION_WINNER"  
--- 
---@param p0 any
---@param ped number
---@param p2 any
---@param posX number
---@param posY number
---@param posZ number
---@return boolean
function DrawShowroom(p0, ped, p2, posX, posY, posZ)
end

--- GET_IS_WIDESCREEN
---
--- Setting Aspect Ratio Manually in game will return:  
--- false - for Narrow format Aspect Ratios (3:2, 4:3, 5:4, etc. )  
--- true - for Wide format Aspect Ratios (5:3, 16:9, 16:10, etc. )  
--- Setting Aspect Ratio to "Auto" in game will return "false" or "true" based on the actual set Resolution Ratio.  
--- 
---@return boolean
function GetIsWidescreen()
end

--- GOLF_TRAIL_SET_SHADER_PARAMS
---
--- Only appeared in Golf & Golf_mp. Parameters were all ptrs  
--- 
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@return any
function GolfTrailSetShaderParams(p0, p1, p2, p3, p4)
end

--- TOGGLE_PAUSED_RENDERPHASES
---
---@param toggle boolean
---@return any
function TogglePausedRenderphases(toggle)
end

--- SET_TIMECYCLE_MODIFIER_STRENGTH
---
---@param strength number
---@return any
function SetTimecycleModifierStrength(strength)
end

--- DRAW_RECT
---
--- Draws a rectangle on the screen.  
--- -x: The relative X point of the center of the rectangle. (0.0-1.0, 0.0 is the left edge of the screen, 1.0 is the right edge of the screen)  
--- -y: The relative Y point of the center of the rectangle. (0.0-1.0, 0.0 is the top edge of the screen, 1.0 is the bottom edge of the screen)  
--- -width: The relative width of the rectangle. (0.0-1.0, 1.0 means the whole screen width)  
--- -height: The relative height of the rectangle. (0.0-1.0, 1.0 means the whole screen height)  
--- -R: Red part of the color. (0-255)  
--- -G: Green part of the color. (0-255)  
--- -B: Blue part of the color. (0-255)  
--- -A: Alpha part of the color. (0-255, 0 means totally transparent, 255 means totally opaque)  
--- The total number of rectangles to be drawn in one frame is apparently limited to 399.  
--- 
--- 
--- 
--- NativeDB Added Parameter 9: BOOL p8
--- 
---@param x number
---@param y number
---@param width number
---@param height number
---@param r any
---@param g any
---@param b any
---@param a any
---@return any
function DrawRect(x, y, width, height, r, g, b, a)
end

--- SET_BACKFACECULLING
---
---@param toggle boolean
---@return any
function SetBackfaceculling(toggle)
end

--- SET_PARTICLE_FX_LOOPED_OFFSETS
---
---@param ptfxHandle any
---@param x number
---@param y number
---@param z number
---@param rotX number
---@param rotY number
---@param rotZ number
---@return any
function SetParticleFxLoopedOffsets(ptfxHandle, x, y, z, rotX, rotY, rotZ)
end

--- _GET_BINK_MOVIE_TIME
---In percentage: 0.0 - 100.0
--- 
--- 
--- NativeDB Introduced: v1734
--- 
---@param binkMovie any
---@return number
function GetBinkMovieTime(binkMovie)
end

--- HAS_STREAMED_TEXTURE_DICT_LOADED
---
---@param textureDict any
---@return boolean
function HasStreamedTextureDictLoaded(textureDict)
end

--- _ANIMPOSTFX_STOP_AND_DO_UNK
---Stops the effect and sets a value (bool) in its data (+0x199) to false; See [ANIMPOSTFX_PLAY](#\_0x2206BF9A37B7F724).
---@param effectName any
---@return any
function AnimpostfxStopAndDoUnk(effectName)
end

--- _DRAW_SPRITE_POLY
---Used for drawling Deadline trailing lights, see deadline.ytd
--- 
--- For UVW mapping (u,v,w parameters), reference your favourite internet resource for more details.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param x3 number
---@param y3 number
---@param z3 number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@param textureDict any
---@param textureName any
---@param u1 number
---@param v1 number
---@param w1 number
---@param u2 number
---@param v2 number
---@param w2 number
---@param u3 number
---@param v3 number
---@param w3 number
---@return any
function DrawSpritePoly(x1, y1, z1, x2, y2, z2, x3, y3, z3, red, green, blue, alpha, textureDict, textureName, u1, v1, w1, u2, v2, w2, u3, v3, w3)
end

--- GOLF_TRAIL_SET_COLOUR
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@param p7 any
---@param p8 any
---@param p9 any
---@param p10 any
---@param p11 any
---@return any
function GolfTrailSetColour(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11)
end

--- _SET_FORCE_VEHICLE_TRAILS
---
--- Forces vehicle trails on all surfaces.
--- USE_/USING_*
--- 
---@param toggle boolean
---@return any
function SetForceVehicleTrails(toggle)
end

--- START_PARTICLE_FX_LOOPED_ON_ENTITY_BONE
---
---@param effectName any
---@param entity number
---@param xOffset number
---@param yOffset number
---@param zOffset number
---@param xRot number
---@param yRot number
---@param zRot number
---@param boneIndex any
---@param scale number
---@param xAxis boolean
---@param yAxis boolean
---@param zAxis boolean
---@return any
function StartParticleFxLoopedOnEntityBone(effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, boneIndex, scale, xAxis, yAxis, zAxis)
end

--- IS_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_READY
---methodReturn: The return value of this native: END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE
--- Returns true if the return value of a scaleform function is ready to be collected (using GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_STRING or GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT).
---@param method_return any
---@return boolean
function IsScaleformMovieMethodReturnValueReady(method_return)
end

--- _RETURN_TWO
---
---@param p0 any
---@return any
function ReturnTwo(p0)
end

--- CASCADE_SHADOWS_SET_SHADOW_SAMPLE_TYPE
---
--- Possible values:
--- "CSM_ST_POINT"
--- "CSM_ST_LINEAR"
--- "CSM_ST_TWOTAP"
--- "CSM_ST_BOX3x3"
--- "CSM_ST_BOX4x4"
--- "CSM_ST_DITHER2_LINEAR"
--- "CSM_ST_CUBIC"
--- "CSM_ST_DITHER4"
--- "CSM_ST_DITHER16"
--- "CSM_ST_SOFT16"
--- "CSM_ST_DITHER16_RPDB"
--- "CSM_ST_POISSON16_RPDB_GNORM"
--- "CSM_ST_HIGHRES_BOX4x4"
--- "CSM_ST_CLOUDS_SIMPLE"
--- "CSM_ST_CLOUDS_LINEAR"
--- "CSM_ST_CLOUDS_TWOTAP"
--- "CSM_ST_CLOUDS_BOX3x3"
--- "CSM_ST_CLOUDS_BOX4x4"
--- "CSM_ST_CLOUDS_DITHER2_LINEAR"
--- "CSM_ST_CLOUDS_SOFT16"
--- "CSM_ST_CLOUDS_DITHER16_RPDB"
--- "CSM_ST_CLOUDS_POISSON16_RPDB_GNORM"
--- 
---@param type any
---@return any
function CascadeShadowsSetShadowSampleType(type)
end

--- GET_TV_VOLUME
---
---@return number
function GetTvVolume()
end

--- DRAW_DEBUG_LINE_WITH_TWO_COLOURS
---
--- NOTE: Debugging functions are not present in the retail version of the game.  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param r1 any
---@param g1 any
---@param b1 any
---@param r2 any
---@param g2 any
---@param b2 any
---@param alpha1 any
---@param alpha2 any
---@return any
function DrawDebugLineWithTwoColours(x1, y1, z1, x2, y2, z2, r1, g1, b1, r2, g2, b2, alpha1, alpha2)
end

--- END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE
---
---@return any
function EndScaleformMovieMethodReturnValue()
end

--- IS_SCREENBLUR_FADE_RUNNING
---
--- Returns whether screen transition to blur/from blur is running.
--- 
---@return boolean
function IsScreenblurFadeRunning()
end

--- _REQUEST_SCALEFORM_MOVIE_INTERACTIVE
---
--- Similar to REQUEST_SCALEFORM_MOVIE, but seems to be some kind of "interactive" scaleform movie?  
--- These seem to be the only scaleforms ever requested by this native:  
--- "breaking_news"  
--- "desktop_pc"  
--- "ECG_MONITOR"  
--- "Hacking_PC"  
--- "TEETH_PULLING"  
--- Note: Unless this hash is out-of-order, this native is next-gen only.  
--- 
---@param scaleformName any
---@return any
function RequestScaleformMovieInteractive(scaleformName)
end

--- CASCADE_SHADOWS_SET_DYNAMIC_DEPTH_MODE
---
---@param p0 boolean
---@return any
function CascadeShadowsSetDynamicDepthMode(p0)
end

--- DRAW_BOX
---
--- x,y,z = start pos  
--- x2,y2,z2 = end pos  
--- Draw's a 3D Box between the two x,y,z coords.  
--- --------------  
--- Keep in mind that the edges of the box do only align to the worlds base-vectors. Therefore something like rotation cannot be applied. That means this function is pretty much useless, unless you want a static unicolor box somewhere.  
--- I recommend using a predefined function to call this.  
--- [VB.NET]  
--- Public Sub DrawBox(a As Vector3, b As Vector3, col As Color)  
---     [Function].Call(Hash.DRAW_BOX,a.X, a.Y, a.Z,b.X, b.Y, b.Z,col.R, col.G, col.B, col.A)  
--- End Sub  
--- [C#]  
--- public void DrawBox(Vector3 a, Vector3 b, Color col)  
--- {  
---     Function.Call(Hash.DRAW_BOX,a.X, a.Y, a.Z,b.X, b.Y, b.Z,col.R, col.G, col.B, col.A);  
--- }  
--- 
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function DrawBox(x1, y1, z1, x2, y2, z2, red, green, blue, alpha)
end

--- MOVE_VEHICLE_DECALS
---
---@param p0 any
---@param p1 any
---@return any
function MoveVehicleDecals(p0, p1)
end

--- REQUEST_SCALEFORM_SCRIPT_HUD_MOVIE
---
---@param hudComponent any
---@return any
function RequestScaleformScriptHudMovie(hudComponent)
end

--- CREATE_CHECKPOINT
---
--- Creates a checkpoint. Returns the handle of the checkpoint.  
--- 20/03/17 : Attention, checkpoints are already handled by the game itself, so you must not loop it like markers.
--- Parameters:  
--- * type - The type of checkpoint to create. See below for a list of checkpoint types.  
--- * pos1 - The position of the checkpoint.  
--- * pos2 - The position of the next checkpoint to point to.  
--- * diameter - The diameter of the checkpoint.
--- * color - The color of the checkpoint.  
--- * reserved - Special parameter, see below for details. Usually set to 0 in the scripts.  
--- Checkpoint types (prior to game build 2189):  
--- 0-4---------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker  
--- 5-9---------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker  
--- 10-14-------Ring: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker  
--- 15-19-------1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker        
--- 20-24-------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker   
--- 25-29-------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker      
--- 30-34-------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker   
--- 35-38-------Ring: Airplane Up, Left, Right, UpsideDown  
--- 39----------?  
--- 40----------Ring: just a ring  
--- 41----------?  
--- 42-44-------Cylinder w/ number (uses 'reserved' parameter)  
--- 45-47-------Cylinder no arrow or number  
--- If using type 42-44, reserved sets number / number and shape to display  
--- 0-99------------Just numbers (0-99)  
--- 100-109-----------------Arrow (0-9)  
--- 110-119------------Two arrows (0-9)  
--- 120-129----------Three arrows (0-9)  
--- 130-139----------------Circle (0-9)  
--- 140-149------------CycleArrow (0-9)  
--- 150-159----------------Circle (0-9)  
--- 160-169----Circle  w/ pointer (0-9)  
--- 170-179-------Perforated ring (0-9)  
--- 180-189----------------Sphere (0-9)  
--- 
--- 
--- [Checkpoint Types](https://docs.fivem.net/docs/game-references/checkpoints/) as of game build 2189
---@param type any
---@param posX1 number
---@param posY1 number
---@param posZ1 number
---@param posX2 number
---@param posY2 number
---@param posZ2 number
---@param diameter number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@param reserved any
---@return any
function CreateCheckpoint(type, posX1, posY1, posZ1, posX2, posY2, posZ2, diameter, red, green, blue, alpha, reserved)
end

--- _RELEASE_BINK_MOVIE
---
--- NativeDB Introduced: v1290
--- 
---@param binkMovie any
---@return any
function ReleaseBinkMovie(binkMovie)
end

--- _SEETHROUGH_SET_NOISE_AMOUNT_MIN
---
---@param amount number
---@return any
function SeethroughSetNoiseAmountMin(amount)
end

--- SET_DISABLE_DECAL_RENDERING_THIS_FRAME
---
---@return any
function SetDisableDecalRenderingThisFrame()
end

--- SET_HIDOF_OVERRIDE
---
---@param p0 boolean
---@param p1 boolean
---@param nearplaneOut number
---@param nearplaneIn number
---@param farplaneOut number
---@param farplaneIn number
---@return any
function SetHidofOverride(p0, p1, nearplaneOut, nearplaneIn, farplaneOut, farplaneIn)
end

--- ADD_PETROL_DECAL
---
---@param x number
---@param y number
---@param z number
---@param groundLvl number
---@param width number
---@param transparency number
---@return any
function AddPetrolDecal(x, y, z, groundLvl, width, transparency)
end

--- ADD_VEHICLE_CREW_EMBLEM
---
--- boneIndex is always chassis_dummy in the scripts. The x/y/z params are location relative to the chassis bone.
--- 
---@param vehicle any
---@param ped number
---@param boneIndex any
---@param x1 number
---@param x2 number
---@param x3 number
---@param y1 number
---@param y2 number
---@param y3 number
---@param z1 number
---@param z2 number
---@param z3 number
---@param scale number
---@param p13 any
---@param alpha any
---@return boolean
function AddVehicleCrewEmblem(vehicle, ped, boneIndex, x1, x2, x3, y1, y2, y3, z1, z2, z3, scale, p13, alpha)
end

--- ANIMPOSTFX_PLAY
---
--- duration - is how long to play the effect for in milliseconds. If 0, it plays the default length
--- if loop is true, the effect won't stop until you call ANIMPOSTFX_STOP on it. (only loopable effects)
--- 
---@param effectName any
---@param duration any
---@param looped boolean
---@return any
function AnimpostfxPlay(effectName, duration, looped)
end

--- ANIMPOSTFX_STOP
---See [ANIMPOSTFX_PLAY](#\_0x2206BF9A37B7F724).
---@param effectName any
---@return any
function AnimpostfxStop(effectName)
end

--- BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND
---Starts frontend (pause menu) scaleform movie methods.
--- This can be used when you want to make custom frontend menus, and customize things like images or text in the menus etc.
--- 
--- Use [BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND_HEADER](#\_0xB9449845F73F5E9C) for header scaleform functions.
---@param functionName any
---@return boolean
function BeginScaleformMovieMethodOnFrontend(functionName)
end

--- BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND_HEADER
---Starts frontend (pause menu) scaleform movie methods for header options.
--- 
--- Use [BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND](#\_0xAB58C27C2E6123C6) to customize the content inside the frontend menus.
---@param functionName any
---@return boolean
function BeginScaleformMovieMethodOnFrontendHeader(functionName)
end

--- DRAW_SPOT_LIGHT
---
--- Parameters:  
--- * pos - coordinate where the spotlight is located  
--- * dir - the direction vector the spotlight should aim at from its current position  
--- * r,g,b - color of the spotlight  
--- * distance - the maximum distance the light can reach  
--- * brightness - the brightness of the light  
--- * roundness - "smoothness" of the circle edge  
--- * radius - the radius size of the spotlight  
--- * falloff - the falloff size of the light's edge (example: www.i.imgur.com/DemAWeO.jpg)  
--- Example in C# (spotlight aims at the closest vehicle):  
--- Vector3 myPos = Game.Player.Character.Position;  
--- Vehicle nearest = World.GetClosestVehicle(myPos , 1000f);  
--- Vector3 destinationCoords = nearest.Position;  
--- Vector3 dirVector = destinationCoords - myPos;  
--- dirVector.Normalize();  
--- Function.Call(Hash.DRAW_SPOT_LIGHT, pos.X, pos.Y, pos.Z, dirVector.X, dirVector.Y, dirVector.Z, 255, 255, 255, 100.0f, 1f, 0.0f, 13.0f, 1f);  
--- 
---@param posX number
---@param posY number
---@param posZ number
---@param dirX number
---@param dirY number
---@param dirZ number
---@param colorR any
---@param colorG any
---@param colorB any
---@param distance number
---@param brightness number
---@param hardness number
---@param radius number
---@param falloff number
---@return any
function DrawSpotLight(posX, posY, posZ, dirX, dirY, dirZ, colorR, colorG, colorB, distance, brightness, hardness, radius, falloff)
end

--- FREE_MEMORY_FOR_MISSION_CREATOR_PHOTO
---
---@return any
function FreeMemoryForMissionCreatorPhoto()
end

--- GET_IS_HIDEF
---
--- false = Any resolution < 1280x720  
--- true = Any resolution >= 1280x720  
--- 
---@return boolean
function GetIsHidef()
end

--- REQUEST_STREAMED_TEXTURE_DICT
---
--- This function can requests texture dictonaries from following RPFs:
--- scaleform_generic.rpf
--- scaleform_minigames.rpf
--- scaleform_minimap.rpf
--- scaleform_web.rpf
--- last param isnt a toggle
--- 
---@param textureDict any
---@param p1 boolean
---@return any
function RequestStreamedTextureDict(textureDict, p1)
end

--- _SET_EXTRA_TIMECYCLE_MODIFIER
---
---@param modifierName any
---@return any
function SetExtraTimecycleModifier(modifierName)
end

--- START_NETWORKED_PARTICLE_FX_LOOPED_ON_ENTITY
---
--- network fx  
--- 
--- 
--- 
--- NativeDB Added Parameter 13: Any p12
--- NativeDB Added Parameter 14: Any p13
--- NativeDB Added Parameter 15: Any p14
--- NativeDB Added Parameter 16: Any p15
--- 
---@param effectName any
---@param entity number
---@param xOffset number
---@param yOffset number
---@param zOffset number
---@param xRot number
---@param yRot number
---@param zRot number
---@param scale number
---@param xAxis boolean
---@param yAxis boolean
---@param zAxis boolean
---@return any
function StartNetworkedParticleFxLoopedOnEntity(effectName, entity, xOffset, yOffset, zOffset, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis)
end

--- USE_PARTICLE_FX_ASSET
---
--- From the b678d decompiled scripts:
---  GRAPHICS::_SET_PTFX_ASSET_NEXT_CALL("FM_Mission_Controler");
---  GRAPHICS::_SET_PTFX_ASSET_NEXT_CALL("scr_apartment_mp");
---  GRAPHICS::_SET_PTFX_ASSET_NEXT_CALL("scr_indep_fireworks");
---  GRAPHICS::_SET_PTFX_ASSET_NEXT_CALL("scr_mp_cig_plane");
---  GRAPHICS::_SET_PTFX_ASSET_NEXT_CALL("scr_mp_creator");
---  GRAPHICS::_SET_PTFX_ASSET_NEXT_CALL("scr_ornate_heist");
---  GRAPHICS::_SET_PTFX_ASSET_NEXT_CALL("scr_prison_break_heist_station");
--- 
---@param name any
---@return any
function UseParticleFxAsset(name)
end

--- CALL_SCALEFORM_MOVIE_METHOD
---
--- Calls the Scaleform function.  
--- 
---@param scaleform any
---@param method any
---@return any
function CallScaleformMovieMethod(scaleform, method)
end

--- GET_TEXTURE_RESOLUTION
---
--- Returns the texture resolution of the passed texture dict+name.  
--- Note: Most texture resolutions are doubled compared to the console version of the game.  
--- 
---@param textureDict any
---@param textureName any
---@return { x: number, y: number, z: number }
function GetTextureResolution(textureDict, textureName)
end

--- _REGISTER_NOIR_SCREEN_EFFECT_THIS_FRAME
---Used with 'NG_filmnoir_BW{01,02}' timecycles and the "NOIR_FILTER_SOUNDS" audioref.
---@return any
function RegisterNoirScreenEffectThisFrame()
end

--- REMOVE_PARTICLE_FX_IN_RANGE
---
---@param X number
---@param Y number
---@param Z number
---@param radius number
---@return any
function RemoveParticleFxInRange(X, Y, Z, radius)
end

--- REMOVE_SCALEFORM_SCRIPT_HUD_MOVIE
---
---@param hudComponent any
---@return any
function RemoveScaleformScriptHudMovie(hudComponent)
end

--- SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL
---
--- Pushes a boolean for the Scaleform function onto the stack.  
--- 
---@param value boolean
---@return any
function ScaleformMovieMethodAddParamBool(value)
end

--- _SET_BINK_MOVIE_TIME
---
--- In percentage: 0.0 - 100.0
--- 
--- NativeDB Introduced: v1290
--- 
---@param binkMovie any
---@param progress number
---@return any
function SetBinkMovieTime(binkMovie, progress)
end

--- SET_SCRIPT_GFX_DRAW_ORDER
---Sets the draw order for script draw commands.
--- Examples from decompiled scripts:
--- GRAPHICS::SET_SCRIPT_GFX_DRAW_ORDER(7);
--- GRAPHICS::DRAW_RECT(0.5, 0.5, 3.0, 3.0, v\_4, v\_5, v\_6, a\_0.\_f172, 0);
--- GRAPHICS::SET_SCRIPT_GFX_DRAW_ORDER(1);
--- GRAPHICS::DRAW_RECT(0.5, 0.5, 1.5, 1.5, 0, 0, 0, 255, 0);
---@param order any
---@return any
function SetScriptGfxDrawOrder(order)
end

--- SET_TV_AUDIO_FRONTEND
---
--- Probably changes tvs from being a 3d audio to being "global" audio
--- 
---@param toggle boolean
---@return any
function SetTvAudioFrontend(toggle)
end

--- START_PARTICLE_FX_LOOPED_AT_COORD
---
--- GRAPHICS::START_PARTICLE_FX_LOOPED_AT_COORD("scr_fbi_falling_debris", 93.7743f, -749.4572f, 70.86904f, 0f, 0f, 0f, 0x3F800000, 0, 0, 0, 0)  
--- p11 seems to be always 0  
--- 
---@param effectName any
---@param x number
---@param y number
---@param z number
---@param xRot number
---@param yRot number
---@param zRot number
---@param scale number
---@param xAxis boolean
---@param yAxis boolean
---@param zAxis boolean
---@param p11 boolean
---@return any
function StartParticleFxLoopedAtCoord(effectName, x, y, z, xRot, yRot, zRot, scale, xAxis, yAxis, zAxis, p11)
end

--- CREATE_TRACKED_POINT
---Creates a tracked point: useful for checking the visibility of a 3D point on screen.
--- 
--- Tracked points must be manually managed and will not be destroyed on resource stop (they are not an instance of CScriptResource). See [DESTROY_TRACKED_POINT](#\_0xB25DC90BAD56CA42) and [onResourceStop](https://docs.fivem.net/docs/scripting-reference/events/list/onResourceStop/).
--- 
--- Only 64 points may be tracked at a given time.
---@return any
function CreateTrackedPoint()
end

--- _DRAW_LIGHT_WITH_RANGE_AND_SHADOW
---
---@param x number
---@param y number
---@param z number
---@param r any
---@param g any
---@param b any
---@param range number
---@param intensity number
---@param shadow number
---@return any
function DrawLightWithRangeAndShadow(x, y, z, r, g, b, range, intensity, shadow)
end

--- ENABLE_MOVIE_KEYFRAME_WAIT
---
---@param toggle boolean
---@return any
function EnableMovieKeyframeWait(toggle)
end

--- HAS_SCALEFORM_MOVIE_LOADED
---
---@param scaleformHandle any
---@return boolean
function HasScaleformMovieLoaded(scaleformHandle)
end

--- PATCH_DECAL_DIFFUSE_MAP
---
--- REQUEST_STREAMED_TEXTURE_DICT("MPOnMissMarkers", false);  
--- *uParam0.f_809 = add_decal(9120, vParam1, vVar4, vVar7, 2f, 2f, to_float(iVar0) / 255f, to_float(iVar1) / 255f, to_float(iVar2) / 255f, 1f, -1f, 1, 0, 0);  
--- PATCH_DECAL_DIFFUSE_MAP(9120, "MPOnMissMarkers", "Capture_The_Flag_Base_Icon");  
--- 
---@param decalType any
---@param textureDict any
---@param textureName any
---@return any
function PatchDecalDiffuseMap(decalType, textureDict, textureName)
end

--- RELEASE_MOVIE_MESH_SET
---
---@param movieMeshSet any
---@return any
function ReleaseMovieMeshSet(movieMeshSet)
end

--- _SET_BINK_MOVIE
---
--- NativeDB Introduced: v1290
--- 
---@param name any
---@return any
function SetBinkMovie(name)
end

--- SET_TRANSITION_TIMECYCLE_MODIFIER
---This native doesn't work like [SetWeatherTypeTransition](#\_0x578C752848ECFA0C).
---@param modifierName any
---@param transition number
---@return any
function SetTransitionTimecycleModifier(modifierName, transition)
end

--- START_PARTICLE_FX_NON_LOOPED_ON_ENTITY
---
--- Starts a particle effect on an entity for example your player.  
--- List: pastebin.com/N9unUFWY  
--- Example:  
--- C#:  
--- Function.Call(Hash.REQUEST_NAMED_PTFX_ASSET, "scr_rcbarry2");                     Function.Call(Hash._SET_PTFX_ASSET_NEXT_CALL, "scr_rcbarry2");                             Function.Call(Hash.START_PARTICLE_FX_NON_LOOPED_ON_ENTITY, "scr_clown_appears", Game.Player.Character, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, 1.0, false, false, false);  
--- Internally this calls the same function as GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE  
--- however it uses -1 for the specified bone index, so it should be possible to start a non looped fx on an entity bone using that native  
--- 
---@param effectName any
---@param entity number
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param scale number
---@param axisX boolean
---@param axisY boolean
---@param axisZ boolean
---@return boolean
function StartParticleFxNonLoopedOnEntity(effectName, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, scale, axisX, axisY, axisZ)
end

--- ANIMPOSTFX_IS_RUNNING
---See [ANIMPOSTFX_PLAY](#\_0x2206BF9A37B7F724).
---@param effectName any
---@return boolean
function AnimpostfxIsRunning(effectName)
end

--- DOES_LATEST_BRIEF_STRING_EXIST
---Used in pi_menu.c. Checks if there is a brief entry for specified value.
--- Values:
--- 0 - Dialogue brief
--- 1 - Help text brief
--- 2 - Mission Objective brief
---@param briefValue any
---@return boolean
function DoesLatestBriefStringExist(briefValue)
end

--- _GET_SCRIPT_GFX_POSITION
---Calculates the effective X/Y fractions when applying the values set by SET_SCRIPT_GFX_ALIGN and
--- SET_SCRIPT_GFX_ALIGN_PARAMS.
---@param x number
---@param y number
---@param calculatedX any
---@param calculatedY any
---@return any
function GetScriptGfxPosition(x, y, calculatedX, calculatedY)
end

--- RESET_PARTICLE_FX_OVERRIDE
---
--- Resets the effect of SET_PARTICLE_FX_OVERRIDE
--- 
---@param name any
---@return any
function ResetParticleFxOverride(name)
end

--- _SEETHROUGH_SET_FADE_END_DISTANCE
---
---@param distance number
---@return any
function SeethroughSetFadeEndDistance(distance)
end

--- BEGIN_TAKE_HIGH_QUALITY_PHOTO
---
---@return boolean
function BeginTakeHighQualityPhoto()
end

--- FADE_UP_PED_LIGHT
---
---@param p0 number
---@return any
function FadeUpPedLight(p0)
end

--- REMOVE_DECALS_IN_RANGE
---
--- Removes all decals in range from a position, it includes the bullet holes, blood pools, petrol...  
--- 
---@param x number
---@param y number
---@param z number
---@param range number
---@return any
function RemoveDecalsInRange(x, y, z, range)
end

--- ADD_DECAL
---
--- decal types:  
--- public enum DecalTypes  
--- {  
---     splatters_blood = 1010,  
---     splatters_blood_dir = 1015,  
---     splatters_blood_mist = 1017,  
---     splatters_mud = 1020,  
---     splatters_paint = 1030,  
---     splatters_water = 1040,  
---     splatters_water_hydrant = 1050,  
---     splatters_blood2 = 1110,  
---     weapImpact_metal = 4010,  
---     weapImpact_concrete = 4020,  
---     weapImpact_mattress = 4030,  
---     weapImpact_mud = 4032,  
---     weapImpact_wood = 4050,  
---     weapImpact_sand = 4053,  
---     weapImpact_cardboard = 4040,  
---     weapImpact_melee_glass = 4100,  
---     weapImpact_glass_blood = 4102,  
---     weapImpact_glass_blood2 = 4104,  
---     weapImpact_shotgun_paper = 4200,  
---     weapImpact_shotgun_mattress,  
---     weapImpact_shotgun_metal,  
---     weapImpact_shotgun_wood,  
---     weapImpact_shotgun_dirt,  
---     weapImpact_shotgun_tvscreen,  
---     weapImpact_shotgun_tvscreen2,  
---     weapImpact_shotgun_tvscreen3,  
---     weapImpact_melee_concrete = 4310,  
---     weapImpact_melee_wood = 4312,  
---     weapImpact_melee_metal = 4314,  
---     burn1 = 4421,  
---     burn2,  
---     burn3,  
---     burn4,  
---     burn5,  
---     bang_concrete_bang = 5000,  
---     bang_concrete_bang2,  
---     bang_bullet_bang,  
---     bang_bullet_bang2 = 5004,  
---     bang_glass = 5031,  
---     bang_glass2,  
---     solidPool_water = 9000,  
---     solidPool_blood,  
---     solidPool_oil,  
---     solidPool_petrol,  
---     solidPool_mud,  
---     porousPool_water,  
---     porousPool_blood,  
---     porousPool_oil,  
---     porousPool_petrol,  
---     porousPool_mud,  
---     porousPool_water_ped_drip,  
---     liquidTrail_water = 9050  
--- }  
--- 
---@param decalType any
---@param posX number
---@param posY number
---@param posZ number
---@param p4 number
---@param p5 number
---@param p6 number
---@param p7 number
---@param p8 number
---@param p9 number
---@param width number
---@param height number
---@param rCoef number
---@param gCoef number
---@param bCoef number
---@param opacity number
---@param timeout number
---@param p17 boolean
---@param p18 boolean
---@param p19 boolean
---@return any
function AddDecal(decalType, posX, posY, posZ, p4, p5, p6, p7, p8, p9, width, height, rCoef, gCoef, bCoef, opacity, timeout, p17, p18, p19)
end

--- DRAW_DEBUG_TEXT
---
--- NOTE: Debugging functions are not present in the retail version of the game.  
--- 
---@param text any
---@param x number
---@param y number
---@param z number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function DrawDebugText(text, x, y, z, red, green, blue, alpha)
end

--- IS_TRACKED_POINT_VISIBLE
---
---@param point any
---@return boolean
function IsTrackedPointVisible(point)
end

--- LOAD_MOVIE_MESH_SET
---
---@param movieMeshSetName any
---@return any
function LoadMovieMeshSet(movieMeshSetName)
end

--- RESET_SCRIPT_GFX_ALIGN
---This function resets the alignment set using SET_SCRIPT_GFX_ALIGN and SET_SCRIPT_GFX_ALIGN_PARAMS to the default
--- values ('I', 'I'; 0, 0, 0, 0). This should be used after having used the aforementioned functions in order to not affect
--- any other scripts attempting to draw.
---@return any
function ResetScriptGfxAlign()
end

--- SET_PARTICLE_FX_BULLET_IMPACT_SCALE
---
---@param scale number
---@return any
function SetParticleFxBulletImpactScale(scale)
end

--- _SET_SCALEFORM_FIT_RENDERTARGET
---This native is used in some casino scripts to fit the scaleform in the rendertarget.
---@param scaleformHandle any
---@param toggle boolean
---@return any
function SetScaleformFitRendertarget(scaleformHandle, toggle)
end

--- _DRAW_SPRITE_POLY_2
---Used for drawling Deadline trailing lights, see deadline.ytd
--- 
--- Each vertex has its own colour that is blended/illuminated on the texture. Additionally, the R, G, and B components are floats that are int-casted internally.
--- 
--- For UVW mapping (u,v,w parameters), reference your favourite internet resource for more details.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param x3 number
---@param y3 number
---@param z3 number
---@param red1 number
---@param green1 number
---@param blue1 number
---@param alpha1 any
---@param red2 number
---@param green2 number
---@param blue2 number
---@param alpha2 any
---@param red3 number
---@param green3 number
---@param blue3 number
---@param alpha3 any
---@param textureDict any
---@param textureName any
---@param u1 number
---@param v1 number
---@param w1 number
---@param u2 number
---@param v2 number
---@param w2 number
---@param u3 number
---@param v3 number
---@param w3 number
---@return any
function DrawSpritePoly2(x1, y1, z1, x2, y2, z2, x3, y3, z3, red1, green1, blue1, alpha1, red2, green2, blue2, alpha2, red3, green3, blue3, alpha3, textureDict, textureName, u1, v1, w1, u2, v2, w2, u3, v3, w3)
end

--- _GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_BOOL
---
--- methodReturn: The return value of this native: END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE
--- 
---@param methodReturn any
---@return boolean
function GetScaleformMovieMethodReturnValueBool(methodReturn)
end

--- GET_STATUS_OF_LOAD_MISSION_CREATOR_PHOTO
---
---@param p0 any
---@return any
function GetStatusOfLoadMissionCreatorPhoto(p0)
end

--- GET_TV_CHANNEL
---
---@return any
function GetTvChannel()
end

--- GOLF_TRAIL_GET_VISUAL_CONTROL_POINT
---
---@param p0 any
---@return { x: number, y: number, z: number }
function GolfTrailGetVisualControlPoint(p0)
end

--- SEETHROUGH_SET_COLOR_NEAR
---
---@param red any
---@param green any
---@param blue any
---@return any
function SeethroughSetColorNear(red, green, blue)
end

--- SET_CHECKPOINT_RGBA2
---
--- Sets the checkpoint icon color.
--- 
---@param checkpoint any
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function SetCheckpointRgba2(checkpoint, red, green, blue, alpha)
end

--- PUSH_TIMECYCLE_MODIFIER
---
---@return any
function PushTimecycleModifier()
end

--- _SET_FORCE_PED_FOOTSTEPS_TRACKS
---
--- Forces footstep tracks on all surfaces.
--- USE_/USING_*
--- 
---@param toggle boolean
---@return any
function SetForcePedFootstepsTracks(toggle)
end

--- SET_STREAMED_TEXTURE_DICT_AS_NO_LONGER_NEEDED
---
---@param textureDict any
---@return any
function SetStreamedTextureDictAsNoLongerNeeded(textureDict)
end

--- TERRAINGRID_SET_PARAMS
---This native is used along with these two natives: [0xa356990e161c9e65](https://runtime.fivem.net/doc/reference.html#\_0xA356990E161C9E65) and [0x5ce62918f8d703c7](https://runtime.fivem.net/doc/reference.html#\_0x5CE62918F8D703C7).
--- 
--- This native configures the location, size, rotation, normal height, and the difference ratio between min, normal and max.
--- 
--- All those natives combined they will output something like this: https://i.imgur.com/TC6cku6.png
---@param x number
---@param y number
---@param z number
---@param p3 number
---@param rotation number
---@param p5 number
---@param width number
---@param height number
---@param p8 number
---@param scale number
---@param glowIntensity number
---@param normalHeight number
---@param heightDiff number
---@return any
function TerraingridSetParams(x, y, z, p3, rotation, p5, width, height, p8, scale, glowIntensity, normalHeight, heightDiff)
end

--- UPDATE_LIGHTS_ON_ENTITY
---
---@param entity number
---@return any
function UpdateLightsOnEntity(entity)
end

--- UNPATCH_DECAL_DIFFUSE_MAP
---
--- GRAPHICS::UNPATCH_DECAL_DIFFUSE_MAP(9123);  
--- GRAPHICS::SET_STREAMED_TEXTURE_DICT_AS_NO_LONGER_NEEDED("MPMissMarkers256");  
--- 
---@param decalType any
---@return any
function UnpatchDecalDiffuseMap(decalType)
end

--- WASH_DECALS_FROM_VEHICLE
---
---@param vehicle any
---@param p1 number
---@return any
function WashDecalsFromVehicle(vehicle, p1)
end

--- _ADD_OIL_DECAL
---
--- NativeDB Introduced: v2699
--- 
---@param x number
---@param y number
---@param z number
---@param groundLvl number
---@param width number
---@param transparency number
---@return any
function AddOilDecal(x, y, z, groundLvl, width, transparency)
end

--- ANIMPOSTFX_STOP_ALL
---
---@return any
function AnimpostfxStopAll()
end

--- ATTACH_TV_AUDIO_TO_ENTITY
---
--- Might be more appropriate in AUDIO?  
--- 
---@param entity number
---@return any
function AttachTvAudioToEntity(entity)
end

--- DISABLE_SCREENBLUR_FADE
---
---@return any
function DisableScreenblurFade()
end

--- OVERRIDE_INTERIOR_SMOKE_END
---
---@return any
function OverrideInteriorSmokeEnd()
end

--- REMOVE_PARTICLE_FX
---
---@param ptfxHandle any
---@param p1 boolean
---@return any
function RemoveParticleFx(ptfxHandle, p1)
end

--- START_NETWORKED_PARTICLE_FX_NON_LOOPED_ON_ENTITY
---
---@param effectName any
---@param entity number
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param scale number
---@param axisX boolean
---@param axisY boolean
---@param axisZ boolean
---@return boolean
function StartNetworkedParticleFxNonLoopedOnEntity(effectName, entity, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, scale, axisX, axisY, axisZ)
end

--- BEGIN_TAKE_MISSION_CREATOR_PHOTO
---
---@return boolean
function BeginTakeMissionCreatorPhoto()
end

--- GET_STATUS_OF_TAKE_HIGH_QUALITY_PHOTO
---
---@return any
function GetStatusOfTakeHighQualityPhoto()
end

--- GOLF_TRAIL_SET_FIXED_CONTROL_POINT
---
--- 12 matches across 4 scripts. All 4 scripts were job creators.
--- type ranged from 0 - 2.
--- p4 was always 0.2f. Likely scale.
--- assuming p5 - p8 is RGBA, the graphic is always yellow (255, 255, 0, 255).
--- Tested but noticed nothing.
--- 
---@param type any
---@param xPos number
---@param yPos number
---@param zPos number
---@param p4 number
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function GolfTrailSetFixedControlPoint(type, xPos, yPos, zPos, p4, red, green, blue, alpha)
end

--- SAVE_HIGH_QUALITY_PHOTO
---
---@param unused any
---@return boolean
function SaveHighQualityPhoto(unused)
end

--- SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME_STRING
---
--- This method is the equivalent to PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_STRING when using it to add a new button (like "INSTRUCTIONAL_BUTTONS").  
--- When switching with a controller, the icons update and become the controller's icons.  
--- 
---@param string any
---@return any
function ScaleformMovieMethodAddParamPlayerNameString(string)
end

--- SET_PARTICLE_FX_CAM_INSIDE_VEHICLE
---
---@param p0 boolean
---@return any
function SetParticleFxCamInsideVehicle(p0)
end

--- SET_PLAYER_TCMODIFIER_TRANSITION
---
---@param value number
---@return any
function SetPlayerTcmodifierTransition(value)
end

--- START_NETWORKED_PARTICLE_FX_NON_LOOPED_ON_PED_BONE
---
---@param effectName any
---@param ped number
---@param offsetX number
---@param offsetY number
---@param offsetZ number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param boneIndex any
---@param scale number
---@param axisX boolean
---@param axisY boolean
---@param axisZ boolean
---@return boolean
function StartNetworkedParticleFxNonLoopedOnPedBone(effectName, ped, offsetX, offsetY, offsetZ, rotX, rotY, rotZ, boneIndex, scale, axisX, axisY, axisZ)
end

--- DOES_VEHICLE_HAVE_CREW_EMBLEM
---
---@param vehicle any
---@param p1 any
---@return boolean
function DoesVehicleHaveCrewEmblem(vehicle, p1)
end

--- GET_TIMECYCLE_MODIFIER_INDEX
---
--- Only use for this in the PC scripts is:
--- if (GRAPHICS::GET_TIMECYCLE_MODIFIER_INDEX() != -1)
--- For a full list, see here: pastebin.com/cnk7FTF2
--- 
---@return any
function GetTimecycleModifierIndex()
end

--- SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING
---
---@param string any
---@return any
function ScaleformMovieMethodAddParamTextureNameString(string)
end

--- SET_DEBUG_LINES_AND_SPHERES_DRAWING_ACTIVE
---
--- NOTE: Debugging functions are not present in the retail version of the game.  
--- 
---@param enabled boolean
---@return any
function SetDebugLinesAndSpheresDrawingActive(enabled)
end

--- SET_ENTITY_ICON_VISIBILITY
---
---@param entity number
---@param toggle boolean
---@return any
function SetEntityIconVisibility(entity, toggle)
end

--- SET_PARTICLE_FX_NON_LOOPED_ALPHA
---
--- Usage example for C#:  
--- Function.Call(Hash.SET_PARTICLE_FX_NON_LOOPED_ALPHA, new InputArgument[] { 0.1f });  
--- 		Note: the argument alpha ranges from 0.0f-1.0f !  
--- 
---@param alpha number
---@return any
function SetParticleFxNonLoopedAlpha(alpha)
end

--- FORCE_CLOSE_REPORTUGC_MENU
---
---@return any
function ForceCloseReportugcMenu()
end

--- SET_BLIP_BRIGHT
---
---@param blip any
---@param toggle boolean
---@return any
function SetBlipBright(blip, toggle)
end

--- ADD_BLIP_FOR_PICKUP
---
---@param pickup any
---@return any
function AddBlipForPickup(pickup)
end

--- END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_WITH_CREW_TAG_AND_ADDITIONAL_ICON
---
--- List of picNames: pastebin.com/XdpJVbHz  
--- flash is a bool for fading in.  
--- iconTypes:  
--- 1 : Chat Box  
--- 2 : Email  
--- 3 : Add Friend Request  
--- 4 : Nothing  
--- 5 : Nothing  
--- 6 : Nothing  
--- 7 : Right Jumping Arrow  
--- 8 : RP Icon  
--- 9 : $ Icon  
--- "sender" is the very top header. This can be any old string.  
--- "subject" is the header under the sender.  
--- "duration" is a multiplier, so 1.0 is normal, 2.0 is twice as long (very slow), and 0.5 is half as long.  
--- "clanTag" shows a crew tag in the "sender" header, after the text. You need to use 3 underscores as padding. Maximum length of this field seems to be 7. (e.g. "MK" becomes "___MK", "ACE" becomes "___ACE", etc.)  
--- iconType2 is a mirror of iconType. It shows in the "subject" line, right under the original iconType.  
--- int IconNotification(char *text, char *text2, char *Subject)  
--- {  
--- 	_SET_NOTIFICATION_TEXT_ENTRY("STRING");  
--- 	ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);  
--- 	_SET_NOTIFICATION_MESSAGE_CLAN_TAG_2("CHAR_SOCIAL_CLUB", "CHAR_SOCIAL_CLUB", 1, 7, text2, Subject, 1.0f, "__EXAMPLE", 7);  
--- 	return _DRAW_NOTIFICATION(1, 1);  
--- }  
--- 
---@param picTxd any
---@param picTxn any
---@param flash boolean
---@param iconType1 any
---@param nameStr any
---@param subtitleStr any
---@param duration number
---@param crewPackedStr any
---@param iconType2 any
---@param textColor any
---@return any
function EndTextCommandThefeedPostMessagetextWithCrewTagAndAdditionalIcon(picTxd, picTxn, flash, iconType1, nameStr, subtitleStr, duration, crewPackedStr, iconType2, textColor)
end

--- _SET_HELP_MESSAGE_TEXT_STYLE
---
---@param style any
---@param hudColor any
---@param alpha any
---@param p3 any
---@param p4 any
---@return any
function SetHelpMessageTextStyle(style, hudColor, alpha, p3, p4)
end

--- _SET_PED_AI_BLIP_SPRITE
---
---@param ped number
---@param spriteId any
---@return any
function SetPedAiBlipSprite(ped, spriteId)
end

--- _CLEAR_ALL_BLIP_ROUTES
---Clears all active blip routes that have been set with [SetBlipRoute](#\_0x3E160C90).
---@return any
function ClearAllBlipRoutes()
end

--- SET_WARNING_MESSAGE_WITH_HEADER
---
--- You can only use text entries. No custom text.  
--- C# Example :  
--- Function.Call(Hash._SET_WARNING_MESSAGE_2, "HUD_QUIT", "HUD_CGIGNORE", 2, "HUD_CGINVITE", 0, -1, 0, 0, 1);  
--- you can recreate this easily with scaleforms  
--- ---------------  
--- Fixed native name, from before nativedb restoration.  
--- 
--- 
--- 
--- NativeDB Added Parameter 10: Any p9
--- 
---@param titleMsg any
---@param entryLine1 any
---@param flags any
---@param promptMsg any
---@param p4 boolean
---@param p5 any
---@param background boolean
---@param p7 any
---@param showBg boolean
---@return any
function SetWarningMessageWithHeader(titleMsg, entryLine1, flags, promptMsg, p4, p5, background, p7, showBg)
end

--- TOGGLE_STEALTH_RADAR
---
---@param toggle boolean
---@return any
function ToggleStealthRadar(toggle)
end

--- _ALLOW_PAUSE_MENU_WHEN_DEAD_THIS_FRAME
---Allows opening the pause menu this frame, when the player is dead.
---@return any
function AllowPauseMenuWhenDeadThisFrame()
end

--- _GET_TEXT_SUBSTRING_SAFE
---
--- Returns a substring of a specified length starting at a specified position. The result is guaranteed not to exceed the specified max length.
--- NOTE: The 'maxLength' parameter might actually be the size of the buffer that is returned. More research is needed. -CL69
--- Example:
--- // Condensed example of how Rockstar uses this function
--- strLen = HUD::GET_LENGTH_OF_LITERAL_STRING(MISC::GET_ONSCREEN_KEYBOARD_RESULT());
--- subStr = HUD::_GET_TEXT_SUBSTRING_SAFE(MISC::GET_ONSCREEN_KEYBOARD_RESULT(), 0, strLen, 63);
--- --
--- "fm_race_creator.ysc", line 85115:
--- // parameters modified for clarity
--- BOOL sub_8e5aa(char *text, int length) {
---     for (i = 0; i <= (length - 2); i += 1) {
---         if (!MISC::ARE_STRINGS_EQUAL(HUD::_GET_TEXT_SUBSTRING_SAFE(text, i, i + 1, 1), " ")) {
---             return FALSE;
---         }
---     }
---     return TRUE;
--- }
--- 
---@param text any
---@param position any
---@param length any
---@param maxLength any
---@return any
function GetTextSubstringSafe(text, position, length, maxLength)
end

--- _SET_MINIMAP_ALTITUDE_INDICATOR_LEVEL
---
--- Argument must be 0.0f or above 38.0f, or it will be ignored.  
--- 
--- 
--- 
--- NativeDB Added Parameter 3: Any p2
--- 
---@param altitude number
---@param p1 boolean
---@return any
function SetMinimapAltitudeIndicatorLevel(altitude, p1)
end

--- THEFEED_RESET_ALL_PARAMETERS
---
---@return any
function ThefeedResetAllParameters()
end

--- _SET_MP_GAMER_TAG_USE_VEHICLE_HEALTH
---Sets the health bar of a gamer tag to show the health of the last (or current) vehicle of the ped the gamer tag is attached to.
--- The vehicle health value is stored separate from the player health and using it won't clear any player health overrides.
---@param gamerTagId any
---@param toggle boolean
---@return any
function SetMpGamerTagUseVehicleHealth(gamerTagId, toggle)
end

--- _SET_USE_WAYPOINT_AS_DESTINATION
---Sets a global mode which makes the pause menu map show 'Destination' instead of 'Waypoint' in the key legend on the
--- bottom of the screen.
--- 
--- <!--
--- 
--- Name guess:
--- 
---   - alphabetical function order, below [SET_USER_RADIO_CONTROL_ENABLED, SET_USE_HI_DOF], above SET_VARIABLE_ON_SOUND.
--- 
--- -->
---@param toggle boolean
---@return any
function SetUseWaypointAsDestination(toggle)
end

--- SET_ABILITY_BAR_VALUE
---
---@param value number
---@param maxValue number
---@return any
function SetAbilityBarValue(value, maxValue)
end

--- SET_TEXT_PROPORTIONAL
---**This native does absolutely nothing, just a nullsub**
---@param p0 boolean
---@return any
function SetTextProportional(p0)
end

--- _THEFEED_DISPLAY_LOADING_SCREEN_TIPS
---Displays loading screen tips, requires 0x56C8B608CFD49854 to be called beforehand.
---@return any
function ThefeedDisplayLoadingScreenTips()
end

--- ADD_POINT_TO_GPS_MULTI_ROUTE
---
---@param x number
---@param y number
---@param z number
---@return any
function AddPointToGpsMultiRoute(x, y, z)
end

--- CLEAR_DYNAMIC_PAUSE_MENU_ERROR_MESSAGE
---
---@return any
function ClearDynamicPauseMenuErrorMessage()
end

--- END_TEXT_COMMAND_THEFEED_POST_CREWTAG_WITH_GAME_NAME
---
--- p0 = 1 or 0  
--- crashes my game...  
--- this is for sending invites to network players - jobs/apartment/ect...   
--- return notification handle  
--- int invite(Player player)  
--- 	{  
--- networkHandleMgr netHandle;  
--- networkClanMgr clan;  
--- char *playerName = GET_PLAYER_NAME(player);  
--- _SET_NOTIFICATION_TEXT_ENTRY("STRING");  
--- _SET_NOTIFACTION_COLOR_NEXT(1);  
--- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(playerName);  
--- NETWORK_HANDLE_FROM_PLAYER(player, &netHandle.netHandle, 13);  
--- if (NETWORK_CLAN_PLAYER_IS_ACTIVE(&netHandle.netHandle))  
--- {  
--- 	NETWORK_CLAN_PLAYER_GET_DESC(&clan.clanHandle, 35, &netHandle.netHandle);  
--- 	_DRAW_NOTIFICATION_CLAN_INVITE(0, _0x54E79E9C(&clan.clanHandle, 35), &clan.unk17, clan.isLeader, 0, 0, clan.clanHandle, playerName, 0, 0, 0);  
--- }  
--- 	}  
--- 
---@param crewTypeIsPrivate boolean
---@param crewTagContainsRockstar boolean
---@param crewTag any
---@param rank any
---@param isLeader boolean
---@param isImportant boolean
---@param clanHandle any
---@param gamerStr any
---@param r any
---@param g any
---@param b any
---@return any
function EndTextCommandThefeedPostCrewtagWithGameName(crewTypeIsPrivate, crewTagContainsRockstar, crewTag, rank, isLeader, isImportant, clanHandle, gamerStr, r, g, b)
end

--- GET_LENGTH_OF_STRING_WITH_THIS_TEXT_LABEL
---
--- Returns the string length of the string from the gxt string .  
--- 
---@param gxt any
---@return any
function GetLengthOfStringWithThisTextLabel(gxt)
end

--- GIVE_PED_TO_PAUSE_MENU
---
--- p1 is either 1 or 2 in the PC scripts.  
--- 
--- 
--- This native is used to "give"/duplicate a player ped to a frontend menu as configured via the ACTIVATE_FRONTEND_MENU native, you first must utilize the CLONE_PED ( https://runtime.fivem.net/doc/natives/#\_0xEF29A16337FACADB ) to clone said ped.
---@param ped number
---@param p1 any
---@return any
function GivePedToPauseMenu(ped, p1)
end

--- _THEFEED_SET_ANIMPOSTFX_COUNT
---Related to notification color flashing, setting p0 to 0 invalidates a _SET_NOTIFICATION_FLASH_COLOR call for the target notification.
---@param count any
---@return any
function ThefeedSetAnimpostfxCount(count)
end

--- SET_BLIP_ROUTE
---
--- Enable / disable showing route for the Blip-object.  
--- 
---@param blip any
---@param enabled boolean
---@return any
function SetBlipRoute(blip, enabled)
end

--- END_TEXT_COMMAND_OVERRIDE_BUTTON_TEXT
---
---@param buttonIndex any
---@return any
function EndTextCommandOverrideButtonText(buttonIndex)
end

--- IS_BLIP_SHORT_RANGE
---
---@param blip any
---@return boolean
function IsBlipShortRange(blip)
end

--- IS_NAMED_RENDERTARGET_LINKED
---
---@param modelHash any
---@return boolean
function IsNamedRendertargetLinked(modelHash)
end

--- REQUEST_ADDITIONAL_TEXT
---
--- Request a gxt into the passed slot.  
--- 
---@param gxt any
---@param slot any
---@return any
function RequestAdditionalText(gxt, slot)
end

--- SET_MINIMAP_GOLF_COURSE
---Not much is known so far on what it does *exactly*.
--- All I know for sure is that it draws the specified hole ID on the pause menu map as well as on the mini-map/radar. This native also seems to change some other things related to the pause menu map's behaviour, for example: you can no longer set waypoints, the pause menu map starts up in a 'zoomed in' state. This native does not need to be executed every tick.
--- 
--- You need to center the minimap manually as well as change/lock it's zoom and angle in order for it to appear correctly on the minimap.
--- You'll also need to use the GOLF scaleform in order to get the correct minmap border to show up.
--- 
--- Use [N_0x35edd5b2e3ff01c0()](https://runtime.fivem.net/doc/reference.html#\_0x35EDD5B2E3FF01C0) to reset the map when you no longer want to display any golf holes (you still need to unlock zoom, position and angle of the radar manually after calling this).
---@param hole any
---@return any
function SetMinimapGolfCourse(hole)
end

--- SET_TEXT_DROP_SHADOW
---
---@return any
function SetTextDropShadow()
end

--- OPEN_ONLINE_POLICIES_MENU
---
---@return any
function OpenOnlinePoliciesMenu()
end

--- SHOW_HEIGHT_ON_BLIP
---
---@param blip any
---@param toggle boolean
---@return any
function ShowHeightOnBlip(blip, toggle)
end

--- _END_TEXT_COMMAND_GET_WIDTH
---
--- END_TEXT_COMMAND_*
--- In scripts font most of the time is passed as 1.
--- Use _BEGIN_TEXT_GET_COMMAND_GET_WIDTH
--- param is not font from what i've tested
--- 
---@param p0 boolean
---@return number
function EndTextCommandGetWidth(p0)
end

--- SET_MINIMAP_GOLF_COURSE_OFF
---
---@return any
function SetMinimapGolfCourseOff()
end

--- _SET_WARNING_MESSAGE_LIST_ROW
---
--- Param names copied from the corresponding scaleform function "SET_LIST_ROW"
--- 
---@param index any
---@param name any
---@param cash any
---@param rp any
---@param lvl any
---@param colour any
---@return boolean
function SetWarningMessageListRow(index, name, cash, rp, lvl, colour)
end

--- IS_SUBTITLE_PREFERENCE_SWITCHED_ON
---
---@return boolean
function IsSubtitlePreferenceSwitchedOn()
end

--- SET_NEW_WAYPOINT
---
---@param x number
---@param y number
---@return any
function SetNewWaypoint(x, y)
end

--- _SET_SCRIPT_VARIABLE_2_HUD_COLOUR
---
--- Sets the color of HUD_COLOUR_SCRIPT_VARIABLE_2
--- 
---@param r any
---@param g any
---@param b any
---@param a any
---@return any
function SetScriptVariable2HudColour(r, g, b, a)
end

--- CLEAR_GPS_PLAYER_WAYPOINT
---
---@return any
function ClearGpsPlayerWaypoint()
end

--- END_TEXT_COMMAND_THEFEED_POST_AWARD
---Shows an "award" notification above the minimap, lua example result:
--- 
--- ![](https://i.imgur.com/e2DNaKX.png)
--- 
--- Old description:
--- 
--- 
--- Example:  
--- UI::_SET_NOTIFICATION_TEXT_ENTRY("HUNT");  
--- UI::_0xAA295B6F28BD587D("Hunting", "Hunting_Gold_128", 0, 109, "HUD_MED_UNLKED");  
--- 
---@param textureDict any
---@param textureName any
---@param rpBonus any
---@param colorOverlay any
---@param titleLabel any
---@return any
function EndTextCommandThefeedPostAward(textureDict, textureName, rpBonus, colorOverlay, titleLabel)
end

--- PAUSE_MENU_SET_WARN_ON_TAB_CHANGE
---Shows this warning message when trying to switch pause menu header tabs: https://i.imgur.com/8qmfztu.png
---@param setWarn boolean
---@return any
function PauseMenuSetWarnOnTabChange(setWarn)
end

--- _SET_MP_GAMER_TAG_OVERRIDE_PLAYER_HEALTH
---Manually sets the player health value for a gamer tag, using the maximum health to calculate what percentage of the bar should be filled.
--- Has no effect unless [\_SET_MP_GAMER_TAG_DISABLE_PLAYER_HEALTH_SYNC](#\_0xD29EC58C2F6B5014) has been called prior to disable synchronisation with the attached ped.
---@param gamerTagId any
---@param health any
---@param maximumHealth any
---@return any
function SetMpGamerTagOverridePlayerHealth(gamerTagId, health, maximumHealth)
end

--- SET_SOCIAL_CLUB_TOUR
---
--- HUD::SET_SOCIAL_CLUB_TOUR("Gallery");
--- HUD::SET_SOCIAL_CLUB_TOUR("Missions");
--- HUD::SET_SOCIAL_CLUB_TOUR("General");
--- HUD::SET_SOCIAL_CLUB_TOUR("Playlists");
--- 
---@param name any
---@return any
function SetSocialClubTour(name)
end

--- _END_TEXT_COMMAND_THEFEED_POST_REPLAY_ICON
---
--- returns a notification handle, prints out a notification like below:  
--- type range: 0   
--- if you set type to 1, image goes from 0 - 39 - Xbox you can add text to  
--- example:   
--- UI::_0xD202B92CBF1D816F(1, 20, "Who you trynna get crazy with, ese? Don't you know I'm LOCO?!");  
--- 
---@param eType any
---@param iIcon any
---@param sTitle any
---@return any
function EndTextCommandThefeedPostReplayIcon(eType, iIcon, sTitle)
end

--- GET_BLIP_INFO_ID_PICKUP_INDEX
---
--- This function is hard-coded to always return 0.  
--- 
---@param blip any
---@return any
function GetBlipInfoIdPickupIndex(blip)
end

--- OPEN_REPORTUGC_MENU
---
--- Shows a menu for reporting UGC content.
--- 
---@return any
function OpenReportugcMenu()
end

--- OPEN_SOCIAL_CLUB_MENU
---Uses the SOCIAL_CLUB2 scaleform.
---@return any
function OpenSocialClubMenu()
end

--- BEGIN_TEXT_COMMAND_BUSYSPINNER_ON
---
--- Initializes the text entry for the the text next to a loading prompt. All natives for for building UI texts can be used here  
--- BEGIN_TEXT_COMMAND_PRINT  
--- e.g  
--- void StartLoadingMessage(char *text, int spinnerType = 3)  
--- 	{  
--- _SET_LOADING_PROMPT_TEXT_ENTRY("STRING");  
--- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);  
--- _SHOW_LOADING_PROMPT(spinnerType);  
--- 	}  
--- /*OR*/  
--- 	void ShowLoadingMessage(char *text, int spinnerType = 3, int timeMs = 10000)  
--- 	{  
--- _SET_LOADING_PROMPT_TEXT_ENTRY("STRING");  
--- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);  
--- _SHOW_LOADING_PROMPT(spinnerType);  
--- WAIT(timeMs);  
--- _REMOVE_LOADING_PROMPT();  
--- 	}  
--- These are some localized strings used in the loading spinner.  
--- "PM_WAIT"                   = Please Wait  
--- "CELEB_WPLYRS"              = Waiting For Players.  
--- "CELL_SPINNER2"             = Scanning storage.  
--- "ERROR_CHECKYACHTNAME" = Registering your yacht's name. Please wait.  
--- "ERROR_CHECKPROFANITY"   = Checking your text for profanity. Please wait.  
--- "FM_COR_AUTOD"                        = Just spinner no text  
--- "FM_IHELP_WAT2"                        = Waiting for other players  
--- "FM_JIP_WAITO"                            = Game options are being set  
--- "FMMC_DOWNLOAD"                    = Downloading  
--- "FMMC_PLYLOAD"                         = Loading  
--- "FMMC_STARTTRAN"                    = Launching session  
--- "HUD_QUITTING"                           =  Quiting session  
--- "KILL_STRIP_IDM"                         = Waiting for to accept  
--- "MP_SPINLOADING"                      = Loading  
--- 
---@param string any
---@return any
function BeginTextCommandBusyspinnerOn(string)
end

--- GET_WAYPOINT_BLIP_ENUM_ID
---
---@return any
function GetWaypointBlipEnumId()
end

--- _SHOW_SCRIPTED_HUD_COMPONENT_THIS_FRAME
---SHOW_\*
--- 
--- 
--- NativeDB Introduced: v1734
--- 
---@param id any
---@return any
function ShowScriptedHudComponentThisFrame(id)
end

--- THEFEED_UPDATE_ITEM_TEXTURE
---
--- Used in the native scripts to reference "GET_PEDHEADSHOT_TXD_STRING" and "CHAR_DEFAULT".
--- 
--- NativeDB Introduced: v323
--- 
---@param txdString1 any
---@param txnString1 any
---@param txdString2 any
---@param txnString2 any
---@return any
function ThefeedUpdateItemTexture(txdString1, txnString1, txdString2, txnString2)
end

--- END_TEXT_COMMAND_DISPLAY_TEXT
---
--- After applying the properties to the text (See UI::SET_TEXT_), this will draw the text in the applied position. Also 0.0f < x, y < 1.0f, percentage of the axis.  
--- 
--- 
--- 
--- NativeDB Added Parameter 3: int p2
--- 
---@param x number
---@param y number
---@return any
function EndTextCommandDisplayText(x, y)
end

--- _IS_WARNING_MESSAGE_ACTIVE_2
---
--- IS_WARNING_MESSAGE_*
--- 
---@return boolean
function IsWarningMessageActive2()
end

--- _BEGIN_TEXT_COMMAND_GET_WIDTH
---
--- BEGIN_TEXT_COMMAND_*
--- Example:
--- _BEGIN_TEXT_COMMAND_GET_WIDTH("NUMBER");
--- ADD_TEXT_COMPONENT_FLOAT(69.420f, 2);
--- float width = _END_TEXT_COMMAND_GET_WIDTH(1);
--- 
---@param text any
---@return any
function BeginTextCommandGetWidth(text)
end

--- _HUD_WEAPON_WHEEL_IGNORE_CONTROL_INPUT
---
--- Sets a global that disables many weapon input tasks (shooting, aiming, etc.). Does not work with vehicle weapons, only used in selector.ysc
--- 
---@param toggle boolean
---@return any
function HudWeaponWheelIgnoreControlInput(toggle)
end

--- SET_GPS_CUSTOM_ROUTE_RENDER
---
---@param toggle boolean
---@param radarThickness any
---@param mapThickness any
---@return any
function SetGpsCustomRouteRender(toggle, radarThickness, mapThickness)
end

--- IS_HUD_HIDDEN
---
---@return boolean
function IsHudHidden()
end

--- _SET_ALLOW_ABILITY_BAR_IN_MULTIPLAYER
---
--- NativeDB Introduced: v1868
--- 
---@param toggle boolean
---@return any
function SetAllowAbilityBarInMultiplayer(toggle)
end

--- CLEAR_THIS_PRINT
---
--- p0: found arguments in the b617d scripts: pastebin.com/X5akCN7z  
--- 
---@param p0 any
---@return any
function ClearThisPrint(p0)
end

--- END_TEXT_COMMAND_THEFEED_POST_UNLOCK
---
---@param chTitle any
---@param iconType any
---@param chSubtitle any
---@return any
function EndTextCommandThefeedPostUnlock(chTitle, iconType, chSubtitle)
end

--- FLASH_ABILITY_BAR
---
---@param millisecondsToFlash any
---@return any
function FlashAbilityBar(millisecondsToFlash)
end

--- GET_BLIP_INFO_ID_ENTITY_INDEX
---
---@param blip any
---@return number
function GetBlipInfoIdEntityIndex(blip)
end

--- GET_CURRENT_WEBSITE_ID
---
---@return any
function GetCurrentWebsiteId()
end

--- HIDE_HELP_TEXT_THIS_FRAME
---
---@return any
function HideHelpTextThisFrame()
end

--- PAUSE_MENUCEPTION_THE_KICK
---Forces the Pause Menu to back out of unique pages such as Awards, Unlocks, Key Bindings etc
---@return any
function PauseMenuceptionTheKick()
end

--- _THEFEED_SET_ANIMPOSTFX_COLOR
---
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function ThefeedSetAnimpostfxColor(red, green, blue, alpha)
end

--- SET_BLIP_CATEGORY
---Examples result:
--- 
--- ![](https://i.imgur.com/skY6vAJ.png)
--- 
--- **index:**
--- 
--- 
--- 1 = No distance shown in legend
--- 2 = Distance shown in legend
--- 7 = "Other Players" category, also shows distance in legend
--- 10 = "Property" category
--- 11 = "Owned Property" category
--- 
--- 
--- Any other value behaves like index = 1, index wraps around after 255
--- 
--- Blips with categories 7, 10 or 11 will all show under the specific categories listing in the map legend, regardless of sprite or name.
--- 
--- **Legend entries**
--- 
--- | index | Legend entry | Label |
--- | --- | --- | --- |
--- | 7 | Other Players | BLIP_OTHPLYR |
--- | 10 | Property | BLIP_PROPCAT |
--- | 11 | Owned Property | BLIP_APARTCAT |
---@param blip any
---@param index any
---@return any
function SetBlipCategory(blip, index)
end

--- _SET_BLIP_SQUARED_ROTATION
---
--- Does not require whole number/integer rotations.
--- 
---@param blip any
---@param heading number
---@return any
function SetBlipSquaredRotation(blip, heading)
end

--- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME
---Adds an arbitrary string as a text component placeholder, replacing ~a~ in the current text command's text label.
--- 
--- See the documentation on text formatting for more information.
---@param text any
---@return any
function AddTextComponentSubstringPlayerName(text)
end

--- BEGIN_TEXT_COMMAND_CLEAR_PRINT
---
--- clears a print text command with this text  
--- 
---@param text any
---@return any
function BeginTextCommandClearPrint(text)
end

--- BEGIN_TEXT_COMMAND_IS_MESSAGE_DISPLAYED
---
--- nothin doin.   
--- BOOL Message(char* text)  
--- 	{  
--- BEGIN_TEXT_COMMAND_IS_MESSAGE_DISPLAYED("STRING");  
--- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);  
--- return END_TEXT_COMMAND_IS_MESSAGE_DISPLAYED();  
--- 	}  
--- 
---@param text any
---@return any
function BeginTextCommandIsMessageDisplayed(text)
end

--- GET_BLIP_INFO_ID_COORD
---
---@param blip any
---@return { x: number, y: number, z: number }
function GetBlipInfoIdCoord(blip)
end

--- IS_HUD_PREFERENCE_SWITCHED_ON
---
---@return boolean
function IsHudPreferenceSwitchedOn()
end

--- SET_HUD_COMPONENT_POSITION
---
---@param id any
---@param x number
---@param y number
---@return any
function SetHudComponentPosition(id, x, y)
end

--- _SET_MP_GAMER_TAG_DISABLE_PLAYER_HEALTH_SYNC
---By default, the player health value shown by a gamer tag's health bar is synchronised with the health of the ped it is attached to.
--- This native disables that behaviour, allowing [_SET_MP_GAMER_TAG_OVERRIDE_PLAYER_HEALTH](#\_0x1563FE35E9928E67) to have an effect.
---@param gamerTagId any
---@param toggle boolean
---@return any
function SetMpGamerTagDisablePlayerHealthSync(gamerTagId, toggle)
end

--- ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL_HASH_KEY
---
--- It adds the localized text of the specified GXT entry name. Eg. if the argument is GET_HASH_KEY("ES_HELP"), adds "Continue". Just uses a text labels hash key  
--- 
---@param gxtEntryHash any
---@return any
function AddTextComponentSubstringTextLabelHashKey(gxtEntryHash)
end

--- GET_BLIP_SPRITE
---
--- Blips Images + IDs:  
--- gtaxscripting.blogspot.com/2016/05/gta-v-blips-id-and-image.html  
--- 
---@param blip any
---@return any
function GetBlipSprite(blip)
end

--- _SET_MAIN_PLAYER_BLIP_COLOUR
---
---@param color any
---@return any
function SetMainPlayerBlipColour(color)
end

--- THEFEED_GET_FIRST_VISIBLE_DELETE_REMAINING
---
--- Returns the handle for the notification currently displayed on the screen. Name may be a hash collision, but describes the function accurately.
--- 
---@return any
function ThefeedGetFirstVisibleDeleteRemaining()
end

--- _SHOW_HAS_COMPLETED_INDICATOR_ON_BLIP
---
--- Adds a orange checkmark on top of a given blip handle: https://imgur.com/a/aw5OTMF
--- _SHOW_FRIEND_INDICATOR_ON_BLIP* - _SHOW_HEADING_INDICATOR_ON_BLIP*
--- 
--- 
--- 
--- NativeDB Introduced: v2699
--- 
---@param blip any
---@param toggle boolean
---@return any
function ShowHasCompletedIndicatorOnBlip(blip, toggle)
end

--- CLEAR_ADDITIONAL_TEXT
---
---@param p0 any
---@param p1 boolean
---@return any
function ClearAdditionalText(p0, p1)
end

--- END_TEXT_COMMAND_THEFEED_POST_MPTICKER
---
---@param blink boolean
---@param bHasTokens boolean
---@return any
function EndTextCommandThefeedPostMpticker(blink, bHasTokens)
end

--- GET_HUD_COMPONENT_POSITION
---
---@param id any
---@return { x: number, y: number, z: number }
function GetHudComponentPosition(id)
end

--- SET_GPS_FLASHES
---
---@param toggle boolean
---@return any
function SetGpsFlashes(toggle)
end

--- SET_RADAR_AS_INTERIOR_THIS_FRAME
---
--- List of interior hashes: pastebin.com/1FUyXNqY  
--- Not for every interior zoom > 0 available.  
--- 
---@param interior any
---@param x number
---@param y number
---@param heading any
---@param zoom any
---@return any
function SetRadarAsInteriorThisFrame(interior, x, y, heading, zoom)
end

--- GET_BLIP_COLOUR
---
---@param blip any
---@return any
function GetBlipColour(blip)
end

--- HUD_SET_WEAPON_WHEEL_TOP_SLOT
---
--- Set the active slotIndex in the wheel weapon to the slot associated with the provided Weapon hash
--- 
---@param weaponHash any
---@return any
function HudSetWeaponWheelTopSlot(weaponHash)
end

--- RESET_GLOBAL_ACTIONSCRIPT_FLAG
---
---@param flagIndex any
---@return any
function ResetGlobalActionscriptFlag(flagIndex)
end

--- SHOW_OUTLINE_INDICATOR_ON_BLIP
---Toggles a cyan outline around the blip.
--- 
--- Color can be changed with [SET_BLIP_SECONDARY_COLOUR](#\_0x14892474891E09EB). Enabling this circle will override the "crew" and "friend" half-circles (see [SHOW_CREW_INDICATOR_ON_BLIP](#\_0xDCFB5D4DB8BF367E) and [SHOW_FRIEND_INDICATOR_ON_BLIP](#\_0x23C3EB807312F01A)).
---@param blip any
---@param toggle boolean
---@return any
function ShowOutlineIndicatorOnBlip(blip, toggle)
end

--- _END_TEXT_COMMAND_THEFEED_POST_REPLAY_INPUT
---
--- returns a notification handle, prints out a notification like below:
--- type range: 0 - 2
--- if you set type to 1, button accepts "~INPUT_SOMETHING~"
--- example:
--- HUD::_0xDD6CB2CCE7C2735C(1, "~INPUT_TALK~", "Who you trynna get crazy with, ese? Don't you know I'm LOCO?!");
--- - imgur.com/UPy0Ial
--- Examples from the scripts:
--- l_D1[1/*1*/]=HUD::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING~","");
--- l_D1[2/*1*/]=HUD::_DD6CB2CCE7C2735C(1,"~INPUT_SAVE_REPLAY_CLIP~","");
--- l_D1[1/*1*/]=HUD::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING~","");
--- l_D1[2/*1*/]=HUD::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING_SECONDARY~","");
--- 
---@param type any
---@param button any
---@param text any
---@return any
function EndTextCommandThefeedPostReplayInput(type, button, text)
end

--- IS_FLOATING_HELP_TEXT_ON_SCREEN
---
---@param hudIndex any
---@return boolean
function IsFloatingHelpTextOnScreen(hudIndex)
end

--- _SET_MOUSE_CURSOR_VISIBLE_IN_MENUS
---Shows/hides the frontend cursor on the pause menu or similar menus.
--- Clicking off and then on the game window will show it again.
---@param enable boolean
---@return any
function SetMouseCursorVisibleInMenus(enable)
end

--- END_TEXT_COMMAND_THEFEED_POST_UNLOCK_TU_WITH_COLOR
---
---@param chTitle any
---@param iconType any
---@param chSubtitle any
---@param isImportant boolean
---@param titleColor any
---@param p5 boolean
---@return any
function EndTextCommandThefeedPostUnlockTuWithColor(chTitle, iconType, chSubtitle, isImportant, titleColor, p5)
end

--- _GET_SCALEFORM_MOVIE_CURSOR_SELECTION
---Gets mouse selection data from scaleforms with mouse support. Must be checked every frame.
--- Returns item index if using the COLOUR_SWITCHER\_02 scaleform.
--- Selection types, found in MOUSE_EVENTS.as:
--- MOUSE_DRAG_OUT = 0;
--- MOUSE_DRAG_OVER = 1;
--- MOUSE_DOWN = 2;
--- MOUSE_MOVE = 3;
--- MOUSE_UP = 4;
--- MOUSE_PRESS = 5;
--- MOUSE_RELEASE = 6;
--- MOUSE_RELEASE_OUTSIDE = 7;
--- MOUSE_ROLL_OUT = 8;
--- MOUSE_ROLL_OVER = 9;
--- MOUSE_WHEEL_UP = 10;
--- MOUSE_WHEEL_DOWN = 11;
--- 
--- Scaleforms that this works with:
--- 
--- *   COLOUR_SWITCHER\_02
--- *   MP_RESULTS_PANEL
--- *   MP_NEXT_JOB_SELECTION
--- *   SC_LEADERBOARD
---     Probably works with other scaleforms, needs more research.
---     In order to use this Native you MUST have controls 239, 240, 237, 238 enabled!
---     This native, due to its erroneous redundancy of the returned boolean value, works differently in C#: shifting the parameters (where received becomes selectionType and so on making the fourth parameter unused and always 0).
---@param scaleformHandle any
---@param received any
---@param selectionType any
---@param context any
---@param slotIndex any
---@return boolean
function GetScaleformMovieCursorSelection(scaleformHandle, received, selectionType, context, slotIndex)
end

--- _SET_INTERIOR_ZOOM_LEVEL_DECREASED
---
--- NativeDB Introduced: v2372
--- 
---@param toggle boolean
---@return any
function SetInteriorZoomLevelDecreased(toggle)
end

--- _THEFEED_SET_NEXT_POST_BACKGROUND_COLOR
---
--- From the decompiled scripts:
--- HUD::_92F0DA1E27DB96DC(6);
--- HUD::_92F0DA1E27DB96DC(184);
--- HUD::_92F0DA1E27DB96DC(190);
--- sets background color for the next notification
--- 6 = red
--- 184 = green
--- 190 = yellow
--- Here is a list of some colors that can be used: gyazo.com/68bd384455fceb0a85a8729e48216e15
--- 
---@param hudColorIndex any
---@return any
function ThefeedSetNextPostBackgroundColor(hudColorIndex)
end

--- DONT_TILT_MINIMAP_THIS_FRAME
---
--- When calling this, the current frame will have the players "arrow icon" be focused on the dead center of the radar.
--- 
---@return any
function DontTiltMinimapThisFrame()
end

--- _GET_TEXT_SUBSTRING
---
--- Returns a substring of a specified length starting at a specified position.
--- Example:
--- // Get "STRING" text from "MY_STRING"
--- subStr = HUD::_GET_TEXT_SUBSTRING("MY_STRING", 3, 6);
--- 
---@param text any
---@param position any
---@param length any
---@return any
function GetTextSubstring(text, position, length)
end

--- _GET_TEXT_SUBSTRING_SLICE
---
--- Returns a substring that is between two specified positions. The length of the string will be calculated using (endPosition - startPosition).
--- Example:
--- // Get "STRING" text from "MY_STRING"
--- subStr = HUD::_GET_TEXT_SUBSTRING_SLICE("MY_STRING", 3, 9);
--- // Overflows are possibly replaced with underscores (needs verification)
--- subStr = HUD::_GET_TEXT_SUBSTRING_SLICE("MY_STRING", 3, 10); // "STRING_"?
--- 
---@param text any
---@param startPosition any
---@param endPosition any
---@return any
function GetTextSubstringSlice(text, startPosition, endPosition)
end

--- BEGIN_TEXT_COMMAND_PRINT
---
--- Used to be known as _SET_TEXT_ENTRY_2  
--- void ShowSubtitle(char *text)  
--- {  
--- 	BEGIN_TEXT_COMMAND_PRINT("STRING");  
--- 	ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);  
--- 	END_TEXT_COMMAND_PRINT(2000, 1);  
--- }  
--- 
---@param GxtEntry any
---@return any
function BeginTextCommandPrint(GxtEntry)
end

--- GET_BLIP_FROM_ENTITY
---
--- Returns the Blip handle of given Entity.  
--- 
---@param entity number
---@return any
function GetBlipFromEntity(entity)
end

--- SET_BLIP_AS_FRIENDLY
---Allows the user to set a blip as friendly or enemy based on the toggle.
---@param blip any
---@param toggle boolean
---@return any
function SetBlipAsFriendly(blip, toggle)
end

--- SET_TEXT_RIGHT_JUSTIFY
---
---@param toggle boolean
---@return any
function SetTextRightJustify(toggle)
end

--- _SET_WARNING_MESSAGE_WITH_ALERT
---instructionalKey enum list:
--- 
--- 
--- Buttons = {
---       Empty = 0,
---       Select = 1, -- (RETURN)
---       Ok = 2, -- (RETURN)
---       Yes = 4, -- (RETURN)
---       Back = 8, -- (ESC)
---       Cancel = 16, -- (ESC)
---       No = 32, -- (ESC)
---       RetrySpace = 64, -- (SPACE)
---       Restart = 128, -- (SPACE)
---       Skip = 256, -- (SPACE)
---       Quit = 512, -- (ESC)
---       Adjust = 1024, -- (ARROWS)
---       SpaceKey = 2048, -- (SPACE)
---       Share = 4096, -- (SPACE)
---       SignIn = 8192, -- (SPACE)
---       Continue = 16384, -- (RETURN)
---       AdjustLeftRight = 32768, -- (SCROLL L/R)
---       AdjustUpDown = 65536, -- (SCROLL U/D)
---       Overwrite = 131072, -- (SPACE)
---       SocialClubSignup = 262144, -- (RETURN)
---       Confirm = 524288, -- (RETURN)
---       Queue = 1048576, -- (RETURN)
---       RetryReturn = 2097152, -- (RETURN)
---       BackEsc = 4194304, -- (ESC)
---       SocialClub = 8388608, -- (RETURN)
---       Spectate = 16777216, -- (SPACE)
---       OkEsc = 33554432, -- (ESC)
---       CancelTransfer = 67108864, -- (ESC)
---       LoadingSpinner = 134217728,
---       NoReturnToGTA = 268435456, -- (ESC)
---       CancelEsc = 536870912, -- (ESC)
--- }
--- 
--- Alt = {
---       Empty = 0,
---       No = 1, -- (SPACE)
---       Host = 2, -- (ESC)
---       SearchForJob = 4, -- (RETURN)
---       ReturnKey = 8, -- (TURN)
---       Freemode = 16, -- (ESC)
--- }
--- 
--- 
--- **Result of the example code:** <https://i.imgur.com/TvmNF4k.png>
---@param labelTitle any
---@param labelMsg any
---@param p2 any
---@param p3 any
---@param labelMsg2 any
---@param p5 boolean
---@param p6 any
---@param p7 any
---@param p8 any
---@param p9 any
---@param background boolean
---@param errorCode any
---@return any
function SetWarningMessageWithAlert(labelTitle, labelMsg, p2, p3, labelMsg2, p5, p6, p7, p8, p9, background, errorCode)
end

--- BEGIN_TEXT_COMMAND_THEFEED_POST
---Declares the entry type of a notification, for example "STRING".
--- int ShowNotification(char \*text)
--- {
--- BEGIN_TEXT_COMMAND_THEFEED_POST("STRING");
--- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);
--- return \_DRAW_NOTIFICATION(1, 1);
--- }
---@param text any
---@return any
function BeginTextCommandThefeedPost(text)
end

--- CREATE_MP_GAMER_TAG_WITH_CREW_COLOR
---Creates a gamer tag for the specified local player ID, automatically attached to the player's current ped.
--- The created gamer tag will have the same ID as the player. You can use [IS_MP_GAMER_TAG_ACTIVE](#\_0x4E929E7A5796FD26) to check if a gamer tag already exists for a player.
--- After the gamer tag is created, all components will be set as invisible. Use [SET_MP_GAMER_TAG_VISIBILITY](#\_0x63BB75ABEDC1F6A0) to change the visibility of individual components or [\_SET_MP_GAMER_TAG_VISIBILITY_ALL](#\_0xEE76FF7E6A0166B0) to set all of them at once.
--- 
--- To create a gamer tag for a ped that is not a player, see [CREATE_FAKE_MP_GAMER_TAG](#\_0xBFEFE3321A3F5015).
---@param player number
---@param username any
---@param crewIsPrivate boolean
---@param crewIsRockstar boolean
---@param crewName any
---@param crewRank any
---@param crewR any
---@param crewG any
---@param crewB any
---@return any
function CreateMpGamerTagWithCrewColor(player, username, crewIsPrivate, crewIsRockstar, crewName, crewRank, crewR, crewG, crewB)
end

--- DISPLAY_AREA_NAME
---
---@param toggle boolean
---@return any
function DisplayAreaName(toggle)
end

--- GET_PAUSE_MENU_STATE
---
--- Returns:
--- 0
--- 5
--- 10
--- 15
--- 20
--- 25
--- 30
--- 35
--- 
---@return any
function GetPauseMenuState()
end

--- _SET_ABILITY_BAR_VISIBILITY_IN_MULTIPLAYER
---
--- NativeDB Introduced: v1493
--- 
---@param visible boolean
---@return any
function SetAbilityBarVisibilityInMultiplayer(visible)
end

--- END_TEXT_COMMAND_DISPLAY_HELP
---
---@param shape any
---@param loop boolean
---@param beep boolean
---@param duration any
---@return any
function EndTextCommandDisplayHelp(shape, loop, beep, duration)
end

--- SET_GPS_MULTI_ROUTE_RENDER
---
---@param toggle boolean
---@return any
function SetGpsMultiRouteRender(toggle)
end

--- SET_MP_GAMER_TAG_WANTED_LEVEL
---
--- displays wanted star above head  
--- 
---@param gamerTagId any
---@param wantedlvl any
---@return any
function SetMpGamerTagWantedLevel(gamerTagId, wantedlvl)
end

--- _SET_PED_HAS_AI_BLIP_WITH_COLOR
---
---@param ped number
---@param hasCone boolean
---@param color any
---@return any
function SetPedHasAiBlipWithColor(ped, hasCone, color)
end

--- _GET_CLOSEST_BLIP_OF_TYPE
---
--- NativeDB Introduced: v1180
--- 
---@param blipSprite any
---@return any
function GetClosestBlipOfType(blipSprite)
end

--- IS_NAMED_RENDERTARGET_REGISTERED
---
---@param name any
---@return boolean
function IsNamedRendertargetRegistered(name)
end

--- SET_BLIP_ALPHA
---
--- Sets alpha-channel for blip color.
--- Example:
--- Blip blip = HUD::ADD_BLIP_FOR_ENTITY(entity);
--- HUD::SET_BLIP_COLOUR(blip , 3);
--- HUD::SET_BLIP_ALPHA(blip , 64);
--- 
---@param blip any
---@param alpha any
---@return any
function SetBlipAlpha(blip, alpha)
end

--- SHOW_FRIEND_INDICATOR_ON_BLIP
---Highlights a blip by a half cyan circle on the right side of the blip. ![](https://i.imgur.com/FrV9M4e.png) Indicating that that player is a friend (in GTA:O). This color can not be changed.
--- 
--- To toggle the left side (crew member indicator) of the half circle around the blip, use: [SHOW_CREW_INDICATOR_ON_BLIP](#\_0xDCFB5D4DB8BF367E).
---@param blip any
---@param toggle boolean
---@return any
function ShowFriendIndicatorOnBlip(blip, toggle)
end

--- _THEFEED_DISABLE_LOADING_SCREEN_TIPS
---Stops loading screen tips shown by invoking either 0x488043841BBE156F or 0x15CFA549788D35EF
---@return any
function ThefeedDisableLoadingScreenTips()
end

--- FLAG_PLAYER_CONTEXT_IN_TOURNAMENT
---
---@param toggle boolean
---@return any
function FlagPlayerContextInTournament(toggle)
end

--- FLASH_MINIMAP_DISPLAY_WITH_COLOR
---
---@param hudColorIndex any
---@return any
function FlashMinimapDisplayWithColor(hudColorIndex)
end

--- GET_LENGTH_OF_LITERAL_STRING_IN_BYTES
---
---@param string any
---@return any
function GetLengthOfLiteralStringInBytes(string)
end

--- SET_PED_HAS_AI_BLIP
---
--- This native turns on the AI blip on the specified ped. It also disappears automatically when the ped is too far or if the ped is dead. You don't need to control it with other natives.
--- See gtaforums.com/topic/884370-native-research-ai-blips for further information.
--- 
---@param ped number
---@param hasCone boolean
---@return any
function SetPedHasAiBlip(ped, hasCone)
end

--- BEGIN_TEXT_COMMAND_DISPLAY_TEXT
---
--- The following were found in the decompiled script files:  
--- STRING, TWOSTRINGS, NUMBER, PERCENTAGE, FO_TWO_NUM, ESMINDOLLA, ESDOLLA, MTPHPER_XPNO, AHD_DIST, CMOD_STAT_0, CMOD_STAT_1, CMOD_STAT_2, CMOD_STAT_3, DFLT_MNU_OPT, F3A_TRAFDEST, ES_HELP_SOC3  
--- ESDOLLA   
--- ESMINDOLLA - cash (negative)  
--- Used to be known as _SET_TEXT_ENTRY  
--- 
---@param text any
---@return any
function BeginTextCommandDisplayText(text)
end

--- _DISABLE_MULTIPLAYER_CHAT
---If true is passed, the player won't be able to open the multiplayer chat
---@param disable boolean
---@return any
function DisableMultiplayerChat(disable)
end

--- RELEASE_CONTROL_OF_FRONTEND
---Enables frontend (works in custom frontends, not sure about regular pause menu) navigation keys on keyboard if they were disabled using the native below.
--- 
--- To disable the keys, use [0xEC9264727EEC0F28](#\_0xEC9264727EEC0F28).
---@return any
function ReleaseControlOfFrontend()
end

--- SET_BLIP_COLOUR
---See https://docs.fivem.net/docs/game-references/blips/#BlipColors
---@param blip any
---@param color any
---@return any
function SetBlipColour(blip, color)
end

--- SET_BLIP_ROUTE_COLOUR
---
---@param blip any
---@param colour any
---@return any
function SetBlipRouteColour(blip, colour)
end

--- DOES_BLIP_EXIST
---
---@param blip any
---@return boolean
function DoesBlipExist(blip)
end

--- END_TEXT_COMMAND_THEFEED_POST_TICKER
---Example output preview:
--- 
--- ![](https://i.imgur.com/TJvqkYq.png)
---@param isImportant boolean
---@param bHasTokens boolean
---@return any
function EndTextCommandThefeedPostTicker(isImportant, bHasTokens)
end

--- HAS_ADDITIONAL_TEXT_LOADED
---
---@param slot any
---@return boolean
function HasAdditionalTextLoaded(slot)
end

--- THEFEED_FORCE_RENDER_OFF
---Enables loading screen tips to be be shown (_0x15CFA549788D35EF and _0x488043841BBE156F), blocks other kinds of notifications from being displayed (at least from current script). Call 0xADED7F5748ACAFE6 to display those again.
---@return any
function ThefeedForceRenderOff()
end

--- SET_PAUSE_MENU_PED_LIGHTING
---Toggles the light state for the pause menu ped in frontend menus.
--- 
--- This is used by R\* in combination with [SET_PAUSE_MENU_PED_SLEEP_STATE](#\_0xECF128344E9FF9F1) to toggle the "offline" or "online" state in the "friends" tab of the pause menu in GTA Online.
--- 
--- Example:
--- On: ![lights on](https://vespura.com/hi/i/2019-04-01\_16-09\_540ee\_1015.png)
--- Off: ![lights off](https://vespura.com/hi/i/2019-04-01\_16-10\_8b5e7\_1016.png)
---@param state boolean
---@return any
function SetPauseMenuPedLighting(state)
end

--- THEFEED_FLUSH_QUEUE
---
---@return any
function ThefeedFlushQueue()
end

--- DISABLE_FRONTEND_THIS_FRAME
---
---@return any
function DisableFrontendThisFrame()
end

--- _GET_WARNING_MESSAGE_TITLE_HASH
---
--- NativeDB Introduced: v1290
--- 
---@return any
function GetWarningMessageTitleHash()
end

--- SET_MINIMAP_COMPONENT
---This native is used to colorize certain map components like the army base at the top of the map.
--- 
--- An incomplete list of components ID:
--- 
--- 0: Los Santos' air port yellow lift-off markers.
--- 1: Sandy Shore's air port yellow lift-off markers.
--- 2: Trevor's air port yellow lift-off markers.
--- 6: Vespucci Beach lifeguard building.
--- 15: Army base.
--- 
--- [List of hud colors](https://pastebin.com/d9aHPbXN)
---@param componentID any
---@param toggle boolean
---@param hudColor any
---@return any
function SetMinimapComponent(componentID, toggle, hudColor)
end

--- THEFEED_FORCE_RENDER_ON
---
---@return any
function ThefeedForceRenderOn()
end

--- ADD_TEXT_COMPONENT_FLOAT
---Adds a float to a text component placeholder, replacing ~1~ in the current text command's text label.
--- 
--- ![Example output](https://i.imgur.com/jvuQ0II.png)
---@param value number
---@param decimalPlaces any
---@return any
function AddTextComponentFloat(value, decimalPlaces)
end

--- IS_WARNING_MESSAGE_ACTIVE
---Returns true if a Warning Message or ReportUGC menu is active.
---@return boolean
function IsWarningMessageActive()
end

--- PULSE_BLIP
---
---@param blip any
---@return any
function PulseBlip(blip)
end

--- THEFEED_SPS_EXTEND_WIDESCREEN_ON
---
---@return any
function ThefeedSpsExtendWidescreenOn()
end

--- _END_TEXT_COMMAND_LINE_COUNT
---
--- END_TEXT_COMMAND_*
--- Determines how many lines the text string will use when drawn on screen.
--- Must use 0x521FB041D93DD0E4 for setting up
--- 
---@param x number
---@param y number
---@return any
function EndTextCommandLineCount(x, y)
end

--- SET_BLIP_AS_SHORT_RANGE
---Sets whether or not the specified blip should only be displayed when nearby, or on the minimap.
---@param blip any
---@param toggle boolean
---@return any
function SetBlipAsShortRange(blip, toggle)
end

--- HIDE_HUD_AND_RADAR_THIS_FRAME
---
--- I think this works, but seems to prohibit switching to other weapons (or accessing the weapon wheel)  
--- 
---@return any
function HideHudAndRadarThisFrame()
end

--- SET_FLOATING_HELP_TEXT_WORLD_POSITION
---
---@param hudIndex any
---@param x number
---@param y number
---@param z number
---@return any
function SetFloatingHelpTextWorldPosition(hudIndex, x, y, z)
end

--- _CLOSE_MULTIPLAYER_CHAT
---
---@return any
function CloseMultiplayerChat()
end

--- DISPLAY_HUD
---
--- If Hud should be displayed  
--- 
---@param toggle boolean
---@return any
function DisplayHud(toggle)
end

--- _HUD_WEAPON_WHEEL_GET_SELECTED_HASH
---
--- Returns the weapon hash to the selected/highlighted weapon in the wheel
--- 
---@return any
function HudWeaponWheelGetSelectedHash()
end

--- IS_REPORTUGC_MENU_OPEN
---
---@return boolean
function IsReportugcMenuOpen()
end

--- IS_WAYPOINT_ACTIVE
---
---@return boolean
function IsWaypointActive()
end

--- IS_MP_GAMER_TAG_MOVIE_ACTIVE
---
---@return boolean
function IsMpGamerTagMovieActive()
end

--- PAUSE_MENU_ACTIVATE_CONTEXT
---Activates the specified frontend menu context.
--- 
--- pausemenu.xml defines some specific menu options using 'context'. Context is basically a 'condition'.
--- 
--- The *ALL* part of the context means that whatever is being defined, will be active when any or all of those conditions after *ALL* are met.
--- 
--- The *NONE* part of the context section means that whatever is being defined, will NOT be active if any or all of the conditions after *NONE* are met.
--- 
--- This basically allows you to hide certain menu sections, or things like instructional buttons.
--- 
--- See the old description below for more info.
--- 
--- ***
--- 
--- > Seems to add/set the current menu context (to show/hide buttons?)
--- > Pausemenu.xml:
--- > <Contexts>*ALL*, DISPLAY_CORONA_BUTTONS, *NONE*, BET_LOCKED, BET_AVAILABLE, SCROLL_OPTION</Contexts>
--- > Code:
--- >
--- > 
--- > if (...) {
--- >     sub_bbd34(a_0, 0, "FM_BET_HELP");
--- >     UI::PAUSE_MENU_ACTIVATE_CONTEXT(${bet_available}); // This native
--- >     UI::OBJECT_DECAL_TOGGLE(${bet_locked});
--- > } else {
--- >     sub_bbd34(a_0, 0, "");
--- >     UI::OBJECT_DECAL_TOGGLE(${bet_available});
--- >     UI::PAUSE_MENU_ACTIVATE_CONTEXT(${bet_locked}); // This native
--- > }
--- > 
--- >
--- > OBJECT_DECAL_TOGGLE seems to remove a context, It also has a hash collision
--- > // Old
--- > Scripts do not make this native's purpose clear. However, this native most likely has something to do with decals since in nearly every instance, "OBJECT_DECAL_TOGGLE" is called prior.
---@param hash any
---@return any
function PauseMenuActivateContext(hash)
end

--- _IS_MINIMAP_IN_INTERIOR
---
---@return boolean
function IsMinimapInInterior()
end

--- USE_FAKE_MP_CASH
---
--- Related to displaying cash on the HUD
--- Always called before HUD::CHANGE_FAKE_MP_CASH in decompiled scripts
--- 
---@param p0 boolean
---@return any
function UseFakeMpCash(p0)
end

--- UNLOCK_MINIMAP_POSITION
---
---@return any
function UnlockMinimapPosition()
end

--- DOES_PED_HAVE_AI_BLIP
---
--- Returns whether the ped's blip is controlled by the game.   
--- It's the default blip you can see on enemies during freeroam in singleplayer (the one that fades out quickly).  
--- 
---@param ped number
---@return boolean
function DoesPedHaveAiBlip(ped)
end

--- SET_TEXT_CENTRE
---
---@param align boolean
---@return any
function SetTextCentre(align)
end

--- SET_TEXT_OUTLINE
---
---@return any
function SetTextOutline()
end

--- HIDE_LOADING_ON_FADE_THIS_FRAME
---
---@return any
function HideLoadingOnFadeThisFrame()
end

--- IS_BLIP_FLASHING
---
---@param blip any
---@return boolean
function IsBlipFlashing(blip)
end

--- _IS_VALID_MP_GAMER_TAG_MOVIE
---
--- IS_*
--- 
---@param gamerTagId any
---@return boolean
function IsValidMpGamerTagMovie(gamerTagId)
end

--- _REMOVE_WARNING_MESSAGE_LIST_ITEMS
---
---@return any
function RemoveWarningMessageListItems()
end

--- REMOVE_BLIP
---Removes the blip from your map.
---@param blip any
---@return any
function RemoveBlip(blip)
end

--- REGISTER_NAMED_RENDERTARGET
---
---@param name any
---@param p1 boolean
---@return boolean
function RegisterNamedRendertarget(name, p1)
end

--- BEGIN_TEXT_COMMAND_DISPLAY_HELP
---
--- Used to be known as _SET_TEXT_COMPONENT_FORMAT  
--- 
---@param inputType any
---@return any
function BeginTextCommandDisplayHelp(inputType)
end

--- CLEAR_PED_IN_PAUSE_MENU
---
---@return any
function ClearPedInPauseMenu()
end

--- IS_HOVERING_OVER_MISSION_CREATOR_BLIP
---
---@return boolean
function IsHoveringOverMissionCreatorBlip()
end

--- IS_RADAR_HIDDEN
---
---@return boolean
function IsRadarHidden()
end

--- SET_RADAR_ZOOM
---
--- zoomLevel ranges from 0 to 200  
--- 
---@param zoomLevel any
---@return any
function SetRadarZoom(zoomLevel)
end

--- _ADD_BLIP_FOR_AREA
---Adds a rectangular blip for the specified coordinates/area.
--- 
--- It is recommended to use [SET_BLIP_ROTATION](#\_0xF87683CDF73C3F6E) and [SET_BLIP_COLOUR](#\_0x03D7FB09E75D6B7E) to make the blip not rotate along with the camera.
--- 
--- By default, the blip will show as a *regular* blip with the specified color/sprite if it is outside of the minimap view.
--- 
--- Example image:
--- ![minimap](https://w.wew.wtf/pdcjig.png)
--- ![big map](https://w.wew.wtf/zgcjcm.png)
--- 
--- (Native name is *likely* to actually be ADD_BLIP_FOR_AREA, but due to the usual reasons this can't be confirmed)
---@param x number
---@param y number
---@param z number
---@param width number
---@param height number
---@return any
function AddBlipForArea(x, y, z, width, height)
end

--- ADD_TEXT_COMPONENT_FORMATTED_INTEGER
---
---@param value any
---@param commaSeparated boolean
---@return any
function AddTextComponentFormattedInteger(value, commaSeparated)
end

--- CREATE_FAKE_MP_GAMER_TAG
---As per the name, this native creates a "fake" gamer tag that is attached to a specific ped.
--- Unlike "real" gamer tags, you cannot set the crew colour of these gamer tags.
--- 
--- To create gamer tags for actual players and for more gamer tag information, see [CREATE_MP_GAMER_TAG_WITH_CREW_COLOR](#\_0x6DD05E9D83EFA4C9).
---@param ped number
---@param username any
---@param crewIsPrivate boolean
---@param crewIsRockstar boolean
---@param crewName any
---@param crewRank any
---@return any
function CreateFakeMpGamerTag(ped, username, crewIsPrivate, crewIsRockstar, crewName, crewRank)
end

--- SET_MINIMAP_FOW_REVEAL_COORDINATE
---
---@param x number
---@param y number
---@param z number
---@return any
function SetMinimapFowRevealCoordinate(x, y, z)
end

--- THEFEED_REMOVE_ITEM
---
--- Removes a notification instantly instead of waiting for it to disappear  
--- 
---@param notificationId any
---@return any
function ThefeedRemoveItem(notificationId)
end

--- ACTIVATE_FRONTEND_MENU
---Does stuff like this:\
--- gyazo.com/7fcb78ea3520e3dbc5b2c0c0f3712617\
--- Example:\
--- int GetHash = GET_HASH_KEY("fe_menu_version_corona_lobby");\
--- ACTIVATE_FRONTEND_MENU(GetHash, 0, -1);\
--- BOOL p1 is a toggle to define the game in pause.\
--- int p2 is unknown but -1 always works, not sure why though.\
--- \[30/03/2017] ins1de :\
--- the int p2 is actually a component variable. When the pause menu is visible, it opens the tab related to it.\
--- Example : Function.Call(Hash.ACTIVATE_FRONTEND_MENU,-1171018317, 0, 42);\
--- Result : Opens the "Online" tab without pausing the menu, with -1 it opens the map.
--- 
--- Below is a list of all known Frontend Menu Hashes.
--- 
--- *   FE_MENU_VERSION_SP_PAUSE
--- *   FE_MENU_VERSION_MP_PAUSE
--- *   FE_MENU_VERSION_CREATOR_PAUSE
--- *   FE_MENU_VERSION_CUTSCENE_PAUSE
--- *   FE_MENU_VERSION_SAVEGAME
--- *   FE_MENU_VERSION_PRE_LOBBY
--- *   FE_MENU_VERSION_LOBBY
--- *   FE_MENU_VERSION_MP_CHARACTER_SELECT
--- *   FE_MENU_VERSION_MP_CHARACTER_CREATION
--- *   FE_MENU_VERSION_EMPTY
--- *   FE_MENU_VERSION_EMPTY_NO_BACKGROUND
--- *   FE_MENU_VERSION_TEXT_SELECTION
--- *   FE_MENU_VERSION_CORONA
--- *   FE_MENU_VERSION_CORONA_LOBBY
--- *   FE_MENU_VERSION_CORONA_JOINED_PLAYERS
--- *   FE_MENU_VERSION_CORONA_INVITE_PLAYERS
--- *   FE_MENU_VERSION_CORONA_INVITE_FRIENDS
--- *   FE_MENU_VERSION_CORONA_INVITE_CREWS
--- *   FE_MENU_VERSION_CORONA_INVITE_MATCHED_PLAYERS
--- *   FE_MENU_VERSION_CORONA_INVITE_LAST_JOB_PLAYERS
--- *   FE_MENU_VERSION_CORONA_RACE
--- *   FE_MENU_VERSION_CORONA_BETTING
--- *   FE_MENU_VERSION_JOINING_SCREEN
--- *   FE_MENU_VERSION_LANDING_MENU
--- *   FE_MENU_VERSION_LANDING_KEYMAPPING_MENU
---@param menuhash any
---@param togglePause boolean
---@param component any
---@return any
function ActivateFrontendMenu(menuhash, togglePause, component)
end

--- END_TEXT_COMMAND_THEFEED_POST_CREW_RANKUP
---
---@param chTitle any
---@param clanTxd any
---@param clanTxn any
---@param isImportant boolean
---@param showSubtitle boolean
---@return any
function EndTextCommandThefeedPostCrewRankup(chTitle, clanTxd, clanTxn, isImportant, showSubtitle)
end

--- SET_RADAR_ZOOM_PRECISE
---
---@param zoom number
---@return any
function SetRadarZoomPrecise(zoom)
end

--- SET_MP_GAMER_TAG_ALPHA
---
--- Sets flag's sprite transparency. 0-255.  
--- 
---@param gamerTagId any
---@param component any
---@param alpha any
---@return any
function SetMpGamerTagAlpha(gamerTagId, component, alpha)
end

--- GET_BLIP_COORDS
---
---@param blip any
---@return { x: number, y: number, z: number }
function GetBlipCoords(blip)
end

--- LOCK_MINIMAP_ANGLE
---
--- Locks the minimap to the specified angle in integer degrees.  
--- angle: The angle in whole degrees. If less than 0 or greater than 360, unlocks the angle.  
--- 
---@param angle any
---@return any
function LockMinimapAngle(angle)
end

--- _RACE_GALLERY_NEXT_BLIP_SPRITE
---
--- Sets the sprite of the next BLIP_GALLERY blip, values used in the native scripts: 143 (ObjectiveBlue), 144 (ObjectiveGreen), 145 (ObjectiveRed), 146 (ObjectiveYellow).
--- 
---@param spriteId any
---@return any
function RaceGalleryNextBlipSprite(spriteId)
end

--- _SET_MINIMAP_SONAR_ENABLED
---
--- NativeDB Introduced: v2189
--- 
---@param toggle boolean
---@return any
function SetMinimapSonarEnabled(toggle)
end

--- GET_BLIP_INFO_ID_DISPLAY
---
---@param blip any
---@return any
function GetBlipInfoIdDisplay(blip)
end

--- PAUSE_MENU_DEACTIVATE_CONTEXT
---
---@param contextHash any
---@return any
function PauseMenuDeactivateContext(contextHash)
end

--- SET_BLIP_COORDS
---
---@param blip any
---@param posX number
---@param posY number
---@param posZ number
---@return any
function SetBlipCoords(blip, posX, posY, posZ)
end

--- PAUSE_MENU_IS_CONTEXT_MENU_ACTIVE
---
---@return any
function PauseMenuIsContextMenuActive()
end

--- SET_MINIMAP_IN_SPECTATOR_MODE
---
---@param toggle boolean
---@param ped number
---@return any
function SetMinimapInSpectatorMode(toggle, ped)
end

--- SET_MP_GAMER_TAG_HEALTH_BAR_COLOUR
---Should be enabled as component (2). Has 0 alpha by default.
---@param gamerTagId any
---@param hudColorIndex any
---@return any
function SetMpGamerTagHealthBarColour(gamerTagId, hudColorIndex)
end

--- START_GPS_CUSTOM_ROUTE
---Starts a new GPS custom-route, allowing you to plot lines on the map.
--- Lines are drawn directly between points.
--- The GPS custom route works like the GPS multi route, except it does not follow roads.
--- 
--- **Example result:**
--- 
--- ![](https://i.imgur.com/BDm5pzt.png)
---@param hudColor any
---@param displayOnFoot boolean
---@param followPlayer boolean
---@return any
function StartGpsCustomRoute(hudColor, displayOnFoot, followPlayer)
end

--- DISPLAY_RADAR
---
--- If Minimap / Radar should be displayed.
--- 
---@param toggle boolean
---@return any
function DisplayRadar(toggle)
end

--- GET_CURRENT_FRONTEND_MENU_VERSION
---
--- if (HUD::GET_CURRENT_FRONTEND_MENU_VERSION() == joaat("fe_menu_version_empty_no_background"))
--- 
---@return any
function GetCurrentFrontendMenuVersion()
end

--- IS_ONLINE_POLICIES_MENU_ACTIVE
---Returns the same as IS_SOCIAL_CLUB_ACTIVE.
---@return boolean
function IsOnlinePoliciesMenuActive()
end

--- THEFEED_COMMENT_TELEPORT_POOL_ON
---
--- Enables loading screen tips to be be shown (_0x15CFA549788D35EF and _0x488043841BBE156F), blocks other kinds of notifications from being displayed (at least from current script). Call 0xADED7F5748ACAFE6 to display those again.
--- 
---@return any
function ThefeedCommentTeleportPoolOn()
end

--- GET_LENGTH_OF_LITERAL_STRING
---
--- Returns the length of the string passed (much like strlen).  
--- 
---@param string any
---@return any
function GetLengthOfLiteralString(string)
end

--- FLASH_MINIMAP_DISPLAY
---
--- adds a short flash to the Radar/Minimap  
--- Usage: UI.FLASH_MINIMAP_DISPLAY  
--- 
---@return any
function FlashMinimapDisplay()
end

--- REMOVE_MULTIPLAYER_HUD_CASH
---
--- Removes multiplayer cash hud each frame  
--- 
---@return any
function RemoveMultiplayerHudCash()
end

--- SET_FLOATING_HELP_TEXT_STYLE
---
---@param hudIndex any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@return any
function SetFloatingHelpTextStyle(hudIndex, p1, p2, p3, p4, p5)
end

--- SET_WARNING_MESSAGE
---**instructionalKey enum list**:
--- 
--- 
--- enum INSTRUCTIONAL_BUTTON_TYPES
--- {
---     NONE = 0,
---     SELECT = 1,
---     OK = 2,
---     YES = 4,
---     BACK = 8,
---     BACK_SELECT = 9,
---     BACK_OK = 10,
---     BACK_YES = 12,
---     CANCEL = 16,
---     CANCEL_SELECT = 17,
---     CANCEL_OK = 18,
---     CANCEL_YES = 20,
---     NO = 32,
---     NO_SELECT = 33,
---     NO_OK = 34,
---     YES_NO = 36,
---     RETRY = 64,
---     RETRY_SELECT = 65,
---     RETRY_OK = 66,
---     RETRY_YES = 68,
---     RETRY_BACK = 72,
---     RETRY_BACK_SELECT = 73,
---     RETRY_BACK_OK = 74,
---     RETRY_BACK_YES = 76,
---     RETRY_CANCEL = 80,
---     RETRY_CANCEL_SELECT = 81,
---     RETRY_CANCEL_OK = 82,
---     RETRY_CANCEL_YES = 84,
---     SKIP = 256,
---     SKIP_SELECT = 257,
---     SKIP_OK = 258,
---     SKIP_YES = 260,
---     SKIP_BACK = 264,
---     SKIP_BACK_SELECT = 265,
---     SKIP_BACK_OK = 266,
---     SKIP_BACK_YES = 268,
---     SKIP_CANCEL = 272,
---     SKIP_CANCEL_SELECT = 273,
---     SKIP_CANCEL_OK = 274,
---     SKIP_CANCEL_YES = 276,
---     CONTINUE = 16384,
---     BACK_CONTINUE = 16392,
---     CANCEL_CONTINUE = 16400,
---     LOADING_SPINNER = 134217728,
---     SELECT_LOADING_SPINNER = 134217729,
---     OK_LOADING_SPINNER = 134217730,
---     YES_LOADING_SPINNER = 134217732,
---     BACK_LOADING_SPINNER = 134217736,
---     BACK_SELECT_LOADING_SPINNER = 134217737,
---     BACK_OK_LOADING_SPINNER = 134217738,
---     BACK_YES_LOADING_SPINNER = 134217740,
---     CANCEL_LOADING_SPINNER = 134217744,
---     CANCEL_SELECT_LOADING_SPINNER = 134217745,
---     CANCEL_OK_LOADING_SPINNER = 134217746,
---     CANCEL_YES_LOADING_SPINNER = 134217748
--- }
--- 
--- 
--- Note: this list is definitely NOT complete, but these are the ones I've been able to find before giving up because it's such a boring thing to look for 'good' combinations.
--- 
--- **Result of the example code:**
--- <https://i.imgur.com/imwoimm.png>
---@param entryLine1 any
---@param instructionalKey any
---@param entryLine2 any
---@param p3 boolean
---@param p4 any
---@param background any
---@param p6 any
---@param showBg boolean
---@param errorCode any
---@return any
function SetWarningMessage(entryLine1, instructionalKey, entryLine2, p3, p4, background, p6, showBg, errorCode)
end

--- SET_WIDESCREEN_FORMAT
---
---@param p0 any
---@return any
function SetWidescreenFormat(p0)
end

--- SET_MP_GAMER_TAG_VISIBILITY
---cpp
--- enum eMpGamerTagComponent
--- {
--- 	MP_TAG_GAMER_NAME,
--- 	MP_TAG_CREW_TAG,
--- 	MP_TAG_HEALTH_ARMOUR,
--- 	MP_TAG_BIG_TEXT,
--- 	MP_TAG_AUDIO_ICON,
--- 	MP_TAG_USING_MENU,
--- 	MP_TAG_PASSIVE_MODE,
--- 	MP_TAG_WANTED_STARS,
--- 	MP_TAG_DRIVER,
--- 	MP_TAG_CO_DRIVER,
--- 	MP_TAG_TAGGED,
--- 	MP_TAG_GAMER_NAME_NEARBY,
--- 	MP_TAG_ARROW,
--- 	MP_TAG_PACKAGES,
--- 	MP_TAG_INV_IF_PED_FOLLOWING,
--- 	MP_TAG_RANK_TEXT,
--- 	MP_TAG_TYPING,
--- 	MP_TAG_BAG_LARGE,
--- 	MP_TAG_ARROW,
--- 	MP_TAG_GANG_CEO,
--- 	MP_TAG_GANG_BIKER,
--- 	MP_TAG_BIKER_ARROW,
--- 	MP_TAG_MC_ROLE_PRESIDENT,
--- 	MP_TAG_MC_ROLE_VICE_PRESIDENT,
--- 	MP_TAG_MC_ROLE_ROAD_CAPTAIN,
--- 	MP_TAG_MC_ROLE_SARGEANT,
--- 	MP_TAG_MC_ROLE_ENFORCER,
--- 	MP_TAG_MC_ROLE_PROSPECT,
--- 	MP_TAG_TRANSMITTER,
--- 	MP_TAG_BOMB
--- };
--- 
--- 
--- 
--- NativeDB Added Parameter 4: Any p3
--- 
---@param gamerTagId any
---@param component any
---@param toggle boolean
---@return any
function SetMpGamerTagVisibility(gamerTagId, component, toggle)
end

--- _CLEAR_RACE_GALLERY_BLIPS
---
---@return any
function ClearRaceGalleryBlips()
end

--- GET_NUMBER_OF_ACTIVE_BLIPS
---
---@return any
function GetNumberOfActiveBlips()
end

--- _HUD_DISPLAY_LOADING_SCREEN_TIPS
---Displays loading screen tips, requires _0x56C8B608CFD49854 to be called beforehand.
---@return any
function HudDisplayLoadingScreenTips()
end

--- PAUSE_MENUCEPTION_GO_DEEPER
---Sets current pause menu page/component to the specified value.
--- Available page IDs: https://pastebin.com/qxuhwjPT
---@param pageId any
---@return any
function PauseMenuceptionGoDeeper(pageId)
end

--- DISPLAY_PLAYER_NAME_TAGS_ON_BLIPS
---Toggles whether or not name labels are shown on the expanded minimap next to player blips, like in GTA:O.
--- Doesn't need to be called every frame.
--- Preview: https://i.imgur.com/DfqKWfJ.png
--- Make sure to call SET_BLIP_CATEGORY with index 7 for this to work on the desired blip.
---@param toggle boolean
---@return any
function DisplayPlayerNameTagsOnBlips(toggle)
end

--- END_TEXT_COMMAND_THEFEED_POST_TICKER_WITH_TOKENS
---
---@param isImportant boolean
---@param bHasTokens boolean
---@return any
function EndTextCommandThefeedPostTickerWithTokens(isImportant, bHasTokens)
end

--- _PAUSE_MENU_DISABLE_BUSYSPINNER
---Disables the loading spinner in Pause Menu when switching from one header tab to another.
---@param toggle boolean
---@return any
function PauseMenuDisableBusyspinner(toggle)
end

--- SET_BLIP_FLASH_INTERVAL
---Sets the interval in milliseconds before flashing the blip.
---@param blip any
---@param interval any
---@return any
function SetBlipFlashInterval(blip, interval)
end

--- SET_RADAR_AS_EXTERIOR_THIS_FRAME
---
---@return any
function SetRadarAsExteriorThisFrame()
end

--- ADD_NEXT_MESSAGE_TO_PREVIOUS_BRIEFS
---
---@param p0 boolean
---@return any
function AddNextMessageToPreviousBriefs(p0)
end

--- ADD_TEXT_COMPONENT_SUBSTRING_BLIP_NAME
---
---@param blip any
---@return any
function AddTextComponentSubstringBlipName(blip)
end

--- GET_BLIP_HUD_COLOUR
---
---@param blip any
---@return any
function GetBlipHudColour(blip)
end

--- _SET_MP_GAMER_TAG_MP_BAG_LARGE_COUNT
---
--- displays wanted star above head  
--- 
---@param gamerTagId any
---@param count any
---@return any
function SetMpGamerTagMpBagLargeCount(gamerTagId, count)
end

--- SET_PED_AI_BLIP_HAS_CONE
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedAiBlipHasCone(ped, toggle)
end

--- ADD_POINT_TO_GPS_CUSTOM_ROUTE
---
---@param x number
---@param y number
---@param z number
---@return any
function AddPointToGpsCustomRoute(x, y, z)
end

--- GET_MAIN_PLAYER_BLIP_ID
---
---@return any
function GetMainPlayerBlipId()
end

--- IS_RADAR_PREFERENCE_SWITCHED_ON
---
---@return boolean
function IsRadarPreferenceSwitchedOn()
end

--- DOES_TEXT_LABEL_EXIST
---
--- Checks if the passed gxt name exists in the game files.  
--- 
---@param gxt any
---@return boolean
function DoesTextLabelExist(gxt)
end

--- GET_HUD_COLOUR
---
--- HUD colors and their values: pastebin.com/d9aHPbXN  
--- 
---@param hudColorIndex any
---@param r any
---@param g any
---@param b any
---@param a any
---@return any
function GetHudColour(hudColorIndex, r, g, b, a)
end

--- SHOW_TICK_ON_BLIP
---
--- Adds a green checkmark on top of a blip.  
--- 
---@param blip any
---@param toggle boolean
---@return any
function ShowTickOnBlip(blip, toggle)
end

--- END_TEXT_COMMAND_THEFEED_POST_STATS
---[List of picture names](https://pastebin.com/XdpJVbHz)
--- 
--- Example result:
--- 
--- ![](https://i.imgur.com/SdEZ22m.png)
---@param statTitle any
---@param iconEnum any
---@param stepVal boolean
---@param barValue any
---@param isImportant boolean
---@param picTxd any
---@param picTxn any
---@return any
function EndTextCommandThefeedPostStats(statTitle, iconEnum, stepVal, barValue, isImportant, picTxd, picTxn)
end

--- _SHOW_SIGNIN_UI
---
---@return any
function ShowSigninUi()
end

--- DISPLAY_AMMO_THIS_FRAME
---
---@param display boolean
---@return any
function DisplayAmmoThisFrame(display)
end

--- _SET_BLIP_SCALE_TRANSFORMATION
---See https://imgur.com/a/lLkEsMN
--- 
--- 
--- NativeDB Introduced: v1734
--- 
---@param blip any
---@param xScale number
---@param yScale number
---@return any
function SetBlipScaleTransformation(blip, xScale, yScale)
end

--- SET_PED_AI_BLIP_GANG_ID
---
---@param ped number
---@param gangId any
---@return any
function SetPedAiBlipGangId(ped, gangId)
end

--- SET_RADIUS_BLIP_EDGE
---
--- Enabling this on a radius blip will make it outline only. See https://cdn.discordapp.com/attachments/553235301632573459/575132227935928330/unknown.png
--- 
---@param blip any
---@param toggle boolean
---@return any
function SetRadiusBlipEdge(blip, toggle)
end

--- SHOW_START_MISSION_INSTRUCTIONAL_BUTTON
---
---@param p0 boolean
---@return any
function ShowStartMissionInstructionalButton(p0)
end

--- CLOSE_SOCIAL_CLUB_MENU
---
---@return any
function CloseSocialClubMenu()
end

--- HIDE_MINIMAP_EXTERIOR_MAP_THIS_FRAME
---
---@return any
function HideMinimapExteriorMapThisFrame()
end

--- SET_SCRIPT_VARIABLE_HUD_COLOUR
---
--- Sets the color of HUD_COLOUR_SCRIPT_VARIABLE
--- 
---@param r any
---@param g any
---@param b any
---@param a any
---@return any
function SetScriptVariableHudColour(r, g, b, a)
end

--- SET_WAYPOINT_OFF
---
--- This native removes the current waypoint from the map.
--- Example:
--- C#:
--- Function.Call(Hash.SET_WAYPOINT_OFF);
--- C++:
--- HUD::SET_WAYPOINT_OFF();
--- 
---@return any
function SetWaypointOff()
end

--- _SET_TOGGLE_MINIMAP_HEIST_ISLAND
---Toggles the Cayo Perico map.
--- 
--- 
--- NativeDB Introduced: v2189
--- 
---@param toggle boolean
---@return any
function SetToggleMinimapHeistIsland(toggle)
end

--- END_TEXT_COMMAND_IS_MESSAGE_DISPLAYED
---
---@return boolean
function EndTextCommandIsMessageDisplayed()
end

--- END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_WITH_CREW_TAG
---
--- List of picNames pastebin.com/XdpJVbHz  
--- flash is a bool for fading in.  
--- iconTypes:  
--- 1 : Chat Box  
--- 2 : Email  
--- 3 : Add Friend Request  
--- 4 : Nothing  
--- 5 : Nothing  
--- 6 : Nothing  
--- 7 : Right Jumping Arrow  
--- 8 : RP Icon  
--- 9 : $ Icon  
--- "sender" is the very top header. This can be any old string.  
--- "subject" is the header under the sender.  
--- "duration" is a multiplier, so 1.0 is normal, 2.0 is twice as long (very slow), and 0.5 is half as long.  
--- "clanTag" shows a crew tag in the "sender" header, after the text. You need to use 3 underscores as padding. Maximum length of this field seems to be 7. (e.g. "MK" becomes "___MK", "ACE" becomes "___ACE", etc.)  
--- 
---@param picTxd any
---@param picTxn any
---@param flash boolean
---@param iconType any
---@param nameStr any
---@param subtitleStr any
---@param duration number
---@param crewPackedStr any
---@return any
function EndTextCommandThefeedPostMessagetextWithCrewTag(picTxd, picTxn, flash, iconType, nameStr, subtitleStr, duration, crewPackedStr)
end

--- IS_HELP_MESSAGE_FADING_OUT
---
---@return boolean
function IsHelpMessageFadingOut()
end

--- DISPLAY_SNIPER_SCOPE_THIS_FRAME
---
--- Displays the crosshair for this frame.  
--- 
---@return any
function DisplaySniperScopeThisFrame()
end

--- GET_CURRENT_WEBPAGE_ID
---
---@return any
function GetCurrentWebpageId()
end

--- REFRESH_WAYPOINT
---
---@return any
function RefreshWaypoint()
end

--- SET_TEXT_DROPSHADOW
---distance - shadow distance in pixels, both horizontal and vertical
--- r, g, b, a - color
---@param distance any
---@param r any
---@param g any
---@param b any
---@param a any
---@return any
function SetTextDropshadow(distance, r, g, b, a)
end

--- SET_TEXT_COLOUR
---
--- colors you input not same as you think?
--- A: for some reason its R B G A
--- 
---@param red any
---@param green any
---@param blue any
---@param alpha any
---@return any
function SetTextColour(red, green, blue, alpha)
end

--- ADD_BLIP_FOR_ENTITY
---Create a blip that by default is red (enemy), you can use [SET_BLIP_AS_FRIENDLY](#\_0xC6F43D0E) to make it blue (friend).\
--- Can be used for objects, vehicles and peds.
--- 
--- Example of enemy:
--- ![enemy](https://i.imgur.com/fl78svv.png)
--- Example of friend:
--- ![friend](https://i.imgur.com/Q16ho5d.png)
---@param entity number
---@return any
function AddBlipForEntity(entity)
end

--- CHANGE_FAKE_MP_CASH
---
--- Displays cash change notifications on HUD.  
--- 
---@param cash any
---@param bank any
---@return any
function ChangeFakeMpCash(cash, bank)
end

--- DISPLAY_HUD_WHEN_PAUSED_THIS_FRAME
---
---@return any
function DisplayHudWhenPausedThisFrame()
end

--- _HIDE_AREA_AND_VEHICLE_NAME_THIS_FRAME
---
--- HIDE_*_THIS_FRAME
--- 
--- Hides area and vehicle name HUD components for one frame.
--- 
---@return any
function HideAreaAndVehicleNameThisFrame()
end

--- REMOVE_MULTIPLAYER_BANK_CASH
---
---@return any
function RemoveMultiplayerBankCash()
end

--- _GET_NORTH_RADAR_BLIP
---
---@return any
function GetNorthRadarBlip()
end

--- HAS_THIS_ADDITIONAL_TEXT_LOADED
---
--- Checks if the specified gxt has loaded into the passed slot.  
--- 
---@param gxt any
---@param slot any
---@return boolean
function HasThisAdditionalTextLoaded(gxt, slot)
end

--- _LOG_DEBUG_INFO
---
--- Not present in retail version of the game, actual definiton seems to be
--- _LOG_DEBUG_INFO(const char* category, const char* debugText);
--- 
---@param p0 any
---@return any
function LogDebugInfo(p0)
end

--- SHOW_HEADING_INDICATOR_ON_BLIP
---
--- Adds the GTA: Online player heading indicator to a blip.  
--- 
---@param blip any
---@param toggle boolean
---@return any
function ShowHeadingIndicatorOnBlip(blip, toggle)
end

--- _GET_AI_BLIP_2
---
---@param ped number
---@return any
function GetAiBlip2(ped)
end

--- GET_RENDERED_CHARACTER_HEIGHT
---
--- This gets the height of the FONT and not the total text. You need to get the number of lines your text uses, and get the height of a newline (I'm using a smaller value) to get the total text height.
--- Old name: _GET_TEXT_SCALE_HEIGHT
--- 
---@param size number
---@param font any
---@return number
function GetRenderedCharacterHeight(size, font)
end

--- IS_STREAMING_ADDITIONAL_TEXT
---
---@param p0 any
---@return boolean
function IsStreamingAdditionalText(p0)
end

--- TRIGGER_SONAR_BLIP
---
---@param posX number
---@param posY number
---@param posZ number
---@param radius number
---@param p4 any
---@return any
function TriggerSonarBlip(posX, posY, posZ, radius, p4)
end

--- BEGIN_TEXT_COMMAND_OVERRIDE_BUTTON_TEXT
---
---@param gxtEntry any
---@return any
function BeginTextCommandOverrideButtonText(gxtEntry)
end

--- _DELETE_WAYPOINT
---
---@return any
function DeleteWaypoint()
end

--- SET_BLIP_FLASH_TIMER
---Flashes blip for time in milliseconds before stopping.
---@param blip any
---@param duration any
---@return any
function SetBlipFlashTimer(blip, duration)
end

--- TAKE_CONTROL_OF_FRONTEND
---Disables frontend (works in custom frontends, not sure about regular pause menu) navigation keys on keyboard. Not sure about controller. Does not disable mouse controls. No need to call this every tick.
--- 
--- To enable the keys again, use [0x14621BB1DF14E2B2](#\_0x14621BB1DF14E2B2).
---@return any
function TakeControlOfFrontend()
end

--- SET_PAUSE_MENU_PED_SLEEP_STATE
---Toggles the pause menu ped sleep state for frontend menus.
--- 
--- [Example GIF](https://vespura.com/hi/i/2019-04-01\_15-51\_8ed38\_1014.gif)
---@param state boolean
---@return any
function SetPauseMenuPedSleepState(state)
end

--- GET_FIRST_BLIP_INFO_ID
---
---@param blipSprite any
---@return any
function GetFirstBlipInfoId(blipSprite)
end

--- REMOVE_MULTIPLAYER_WALLET_CASH
---
---@return any
function RemoveMultiplayerWalletCash()
end

--- _SET_BLIP_DISPLAY_INDICATOR_ON_BLIP
---
--- Must be toggled before being queued for animation
--- 
---@param blip any
---@param toggle boolean
---@return any
function SetBlipDisplayIndicatorOnBlip(blip, toggle)
end

--- SET_BLIP_FLASHES
---
---@param blip any
---@param toggle boolean
---@return any
function SetBlipFlashes(blip, toggle)
end

--- _SET_MP_GAMER_TAG_VISIBILITY_ALL
---Sets the visibility of all components of the gamer tag to the specified value.
---@param gamerTagId any
---@param toggle boolean
---@return any
function SetMpGamerTagVisibilityAll(gamerTagId, toggle)
end

--- RELEASE_NAMED_RENDERTARGET
---
---@param name any
---@return boolean
function ReleaseNamedRendertarget(name)
end

--- _THEFEED_SET_ANIMPOSTFX_SOUND
---
--- Requires GAME_STREAM_ENUMS.MSGTEXT. Default sounds: "DPAD_WEAPON_SCROLL" and "HUD_FRONTEND_DEFAULT_SOUNDSET"
--- 
---@param toggle boolean
---@return any
function ThefeedSetAnimpostfxSound(toggle)
end

--- FLASH_WANTED_DISPLAY
---
---@param p0 boolean
---@return any
function FlashWantedDisplay(p0)
end

--- HIDE_MINIMAP_INTERIOR_MAP_THIS_FRAME
---
---@return any
function HideMinimapInteriorMapThisFrame()
end

--- PAUSE_MENU_IS_CONTEXT_ACTIVE
---
---@param contextHash any
---@return boolean
function PauseMenuIsContextActive(contextHash)
end

--- IS_MP_GAMER_TAG_FREE
---
---@param gamerTagId any
---@return boolean
function IsMpGamerTagFree(gamerTagId)
end

--- THEFEED_FREEZE_NEXT_POST
---
--- Requires manual management of game stream handles (i.e., 0xBE4390CB40B3E627).
--- 
---@return any
function ThefeedFreezeNextPost()
end

--- ADD_TEXT_COMPONENT_INTEGER
---
---@param value any
---@return any
function AddTextComponentInteger(value)
end

--- IS_PAUSE_MENU_ACTIVE
---
---@return boolean
function IsPauseMenuActive()
end

--- SET_BLIP_PRIORITY
---
--- See this topic for more details : gtaforums.com/topic/717612-v-scriptnative-documentation-and-research/page-35?p=1069477935  
--- 
---@param blip any
---@param priority any
---@return any
function SetBlipPriority(blip, priority)
end

--- CLEAR_PRINTS
---
---@return any
function ClearPrints()
end

--- THEFEED_CLEAR_FROZEN_POST
---
---@return any
function ThefeedClearFrozenPost()
end

--- RESET_HUD_COMPONENT_VALUES
---
---@param id any
---@return any
function ResetHudComponentValues(id)
end

--- SET_BLIP_DISPLAY
---**displayId Behaviour** <br>
--- 0 = Doesn't show up, ever, anywhere. <br>
--- 1 = Doesn't show up, ever, anywhere. <br>
--- 2 = Shows on both main map and minimap. (Selectable on map) <br>
--- 3 = Shows on main map only. (Selectable on map) <br>
--- 4 = Shows on main map only. (Selectable on map) <br>
--- 5 = Shows on minimap only. <br>
--- 6 = Shows on both main map and minimap. (Selectable on map) <br>
--- 7 = Doesn't show up, ever, anywhere. <br>
--- 8 = Shows on both main map and minimap. (Not selectable on map) <br>
--- 9 = Shows on minimap only. <br>
--- 10 = Shows on both main map and minimap. (Not selectable on map) <br>
--- Anything higher than 10 seems to be exactly the same as 10. <br>
--- <br>
--- Rockstar seem to only use 0, 2, 3, 4, 5 and 8 in the decompiled scripts.
---@param blip any
---@param displayId any
---@return any
function SetBlipDisplay(blip, displayId)
end

--- SET_BLIP_HIGH_DETAIL
---
---@param blip any
---@param toggle boolean
---@return any
function SetBlipHighDetail(blip, toggle)
end

--- _SET_DIRECTOR_MODE_CLEAR_TRIGGERED_FLAG
---
--- SET_*
--- 
---@return any
function SetDirectorModeClearTriggeredFlag()
end

--- SET_TEXT_WRAP
---
--- It sets the text in a specified box and wraps the text if it exceeds the boundries. Both values are for X axis. Useful when positioning text set to center or aligned to the right.  
--- start - left boundry on screen position (0.0 - 1.0)  
--- end - right boundry on screen position (0.0 - 1.0)  
--- 
---@param start number
---@param stop number
---@return any
function SetTextWrap(start, stop)
end

--- CLEAR_FLOATING_HELP
---
---@param hudIndex any
---@param p1 boolean
---@return any
function ClearFloatingHelp(hudIndex, p1)
end

--- IS_HELP_MESSAGE_BEING_DISPLAYED
---
---@return boolean
function IsHelpMessageBeingDisplayed()
end

--- SET_GPS_FLAGS
---
--- Only the script that originally called SET_GPS_FLAGS can set them again. Another script cannot set the flags, until the first script that called it has called CLEAR_GPS_FLAGS.
--- Doesn't seem like the flags are actually read by the game at all.
--- 
---@param p0 any
---@param p1 number
---@return any
function SetGpsFlags(p0, p1)
end

--- ALLOW_SONAR_BLIPS
---
---@param toggle boolean
---@return any
function AllowSonarBlips(toggle)
end

--- _IS_MOUSE_CURSOR_ABOVE_INSTRUCTIONAL_BUTTONS
---Returns true if the cursor is hovering above instructional buttons.
--- Note: The buttons need to support mouse (with the TOGGLE_MOUSE_SUPPORT scaleform movie method) for it to return true.
---@return boolean
function IsMouseCursorAboveInstructionalButtons()
end

--- _OVERRIDE_MULTIPLAYER_CHAT_PREFIX
---
---@param gxtEntryHash any
---@return any
function OverrideMultiplayerChatPrefix(gxtEntryHash)
end

--- _RACE_GALLERY_FULLSCREEN
---
--- If toggle is true, the map is shown in full screen
--- If toggle is false, the map is shown in normal mode
--- 
---@param toggle boolean
---@return any
function RaceGalleryFullscreen(toggle)
end

--- SET_PAUSE_MENU_ACTIVE
---
---@param toggle boolean
---@return any
function SetPauseMenuActive(toggle)
end

--- _BEGIN_TEXT_COMMAND_OBJECTIVE
---
---@param p0 any
---@return any
function BeginTextCommandObjective(p0)
end

--- END_TEXT_COMMAND_THEFEED_POST_VERSUS_TU
---
--- NativeDB Added Parameter 7: int hudColorIndex1
--- NativeDB Added Parameter 8: int hudColorIndex2
--- 
---@param ch1TXD any
---@param ch1TXN any
---@param val1 any
---@param ch2TXD any
---@param ch2TXN any
---@param val2 any
---@return any
function EndTextCommandThefeedPostVersusTu(ch1TXD, ch1TXN, val1, ch2TXD, ch2TXN, val2)
end

--- SET_HEALTH_HUD_DISPLAY_VALUES
---
---@param health any
---@param capacity any
---@param wasAdded boolean
---@return any
function SetHealthHudDisplayValues(health, capacity, wasAdded)
end

--- THEFEED_SET_SCRIPTED_MENU_HEIGHT
---
---@param pos number
---@return any
function ThefeedSetScriptedMenuHeight(pos)
end

--- SET_BLIP_SCALE
---
---@param blip any
---@param scale number
---@return any
function SetBlipScale(blip, scale)
end

--- THEFEED_ONLY_SHOW_TOOLTIPS
---
---@param toggle boolean
---@return any
function ThefeedOnlyShowTooltips(toggle)
end

--- BUSYSPINNER_IS_DISPLAYING
---
---@return boolean
function BusyspinnerIsDisplaying()
end

--- DISPLAY_CASH
---
--- "DISPLAY_CASH(true);" makes the cash amount render on the screen when appropriate  
--- "DISPLAY_CASH(false);" disables cash amount rendering  
--- 
---@param display boolean
---@return any
function DisplayCash(display)
end

--- DISPLAY_HELP_TEXT_THIS_FRAME
---
--- The messages are localized strings.  
--- Examples:  
--- "No_bus_money"  
--- "Enter_bus"  
--- "Tour_help"  
--- "LETTERS_HELP2"  
--- "Dummy"  
--- **The bool appears to always be false (if it even is a bool, as it's represented by a zero)**  
--- --------  
--- p1 doesn't seem to make a difference, regardless of the state it's in.   
--- picture of where on the screen this is displayed?  
--- 
---@param message any
---@param p1 boolean
---@return any
function DisplayHelpTextThisFrame(message, p1)
end

--- GET_MINIMAP_FOW_DISCOVERY_RATIO
---
---@return number
function GetMinimapFowDiscoveryRatio()
end

--- SET_BLIP_FLASHES_ALTERNATE
---
---@param blip any
---@param toggle boolean
---@return any
function SetBlipFlashesAlternate(blip, toggle)
end

--- GET_MENU_PED_MASKED_INT_STAT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return boolean
function GetMenuPedMaskedIntStat(p0, p1, p2, p3)
end

--- SET_BIGMAP_ACTIVE
---Toggles the big minimap state like in GTA:Online.
--- 
--- To get the current state of the minimap, use [IS_BIGMAP_ACTIVE](#\_0xFFF65C63).
---@param toggleBigMap boolean
---@param showFullMap boolean
---@return any
function SetBigmapActive(toggleBigMap, showFullMap)
end

--- SET_COLOUR_OF_NEXT_TEXT_COMPONENT
---
---@param hudColor any
---@return any
function SetColourOfNextTextComponent(hudColor)
end

--- SHOW_CREW_INDICATOR_ON_BLIP
---Enables or disables the blue half circle ![](https://i.imgur.com/iZes9Ec.png) around the specified blip on the left side of the blip. This is used to indicate that the player is in your crew in GTA:O. Color is changeable by using [SET_BLIP_SECONDARY_COLOUR](#\_0x14892474891E09EB).
--- 
--- To toggle the right side of the circle use: [SHOW_FRIEND_INDICATOR_ON_BLIP](#\_0x23C3EB807312F01A).
--- 
--- Example code result:
--- ![](https://i.imgur.com/iZ9tNWl.png)
---@param blip any
---@param toggle boolean
---@return any
function ShowCrewIndicatorOnBlip(blip, toggle)
end

--- _GET_PAUSE_MENU_CURSOR_POSITION
---Name between GET_ONSCREEN_KEYBOARD_RESULT and GET_PAUSE_MENU_STATE. Likely, GET_PAUSE_MENU_*.
---@return { x: number, y: number, z: number }
function GetPauseMenuCursorPosition()
end

--- IS_FRONTEND_READY_FOR_CONTROL
---
---@return boolean
function IsFrontendReadyForControl()
end

--- LINK_NAMED_RENDERTARGET
---
---@param modelHash any
---@return any
function LinkNamedRendertarget(modelHash)
end

--- SET_BLIP_SPRITE
---<!--
--- _loc1_.map((name, idx) => | ${idx} | ${name} | ![${name}](https://runtime.fivem.net/blips/${name}.svg) |).join('\n')
--- -->
--- 
--- Sets the displayed sprite for a specific blip.
--- 
--- There's a [list of sprites](https://docs.fivem.net/game-references/blips/) on the FiveM documentation site.
---@param blip any
---@param spriteId any
---@return any
function SetBlipSprite(blip, spriteId)
end

--- IS_PAUSE_MENU_RESTARTING
---
---@return boolean
function IsPauseMenuRestarting()
end

--- SET_MP_GAMER_TAG_NAME
---
---@param gamerTagId any
---@param string any
---@return any
function SetMpGamerTagName(gamerTagId, string)
end

--- _IS_MULTIPLAYER_CHAT_ACTIVE
---
--- Returns whether or not the text chat (MULTIPLAYER_CHAT Scaleform component) is active.  
--- 
---@return boolean
function IsMultiplayerChatActive()
end

--- _OVERRIDE_MULTIPLAYER_CHAT_COLOUR
---
---@param p0 any
---@param hudColor any
---@return any
function OverrideMultiplayerChatColour(p0, hudColor)
end

--- SET_TEXT_EDGE
---**This native does absolutely nothing, just a nullsub**
---@param p0 any
---@param r any
---@param g any
---@param b any
---@param a any
---@return any
function SetTextEdge(p0, r, g, b, a)
end

--- BUSYSPINNER_IS_ON
---
---@return boolean
function BusyspinnerIsOn()
end

--- END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT
---Sets some extra options for a notification. It adds an image (or icon type) and sets a notification title (sender) and subtitle (subject).
--- 
--- Texture dictionary and texture name parameters are usually the same exact value.
--- 
--- Example result:
--- 
--- ![](https://i.imgur.com/LviutDl.png)
--- 
--- Old description with list of possible icons and texture names:
--- 
--- 
--- List of picNames: pastebin.com/XdpJVbHz  
--- flash is a bool for fading in.  
--- iconTypes:  
--- 1 : Chat Box  
--- 2 : Email  
--- 3 : Add Friend Request  
--- 4 : Nothing  
--- 5 : Nothing  
--- 6 : Nothing  
--- 7 : Right Jumping Arrow  
--- 8 : RP Icon  
--- 9 : $ Icon  
--- "sender" is the very top header. This can be any old string.  
--- "subject" is the header under the sender.  
--- 
---@param textureDict any
---@param textureName any
---@param flash boolean
---@param iconType any
---@param sender any
---@param subject any
---@return any
function EndTextCommandThefeedPostMessagetext(textureDict, textureName, flash, iconType, sender, subject)
end

--- GET_MENU_PED_BOOL_STAT
---
--- p0 was always 0xAE2602A3.
--- 
---@param p0 any
---@param p1 any
---@return boolean
function GetMenuPedBoolStat(p0, p1)
end

--- GET_NEW_SELECTED_MISSION_CREATOR_BLIP
---
---@return any
function GetNewSelectedMissionCreatorBlip()
end

--- _HAS_DIRECTOR_MODE_BEEN_TRIGGERED
---
--- HAS_*
--- 
---@return boolean
function HasDirectorModeBeenTriggered()
end

--- IS_BLIP_ON_MINIMAP
---
---@param blip any
---@return boolean
function IsBlipOnMinimap(blip)
end

--- _SET_INTERIOR_ZOOM_LEVEL_INCREASED
---
--- NativeDB Introduced: v1493
--- 
---@param toggle boolean
---@return any
function SetInteriorZoomLevelIncreased(toggle)
end

--- ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL
---
---@param labelName any
---@return any
function AddTextComponentSubstringTextLabel(labelName)
end

--- _PAUSE_MENU_GET_INDEX_OF_MOUSE_HOVERED_SLOT
---If mouse is hovering on a slot, it returns the slot's index, else it returns -1.
---@return any
function PauseMenuGetIndexOfMouseHoveredSlot()
end

--- _SET_PLAYER_BLIP_POSITION_THIS_FRAME
---
--- Sets the position of the arrow icon representing the player on both the minimap and world map.  
--- Too bad this wouldn't work over the network (obviously not). Could spoof where we would be.  
--- 
---@param x number
---@param y number
---@return any
function SetPlayerBlipPositionThisFrame(x, y)
end

--- UNLOCK_MINIMAP_ANGLE
---
---@return any
function UnlockMinimapAngle()
end

--- ADD_TEXT_COMPONENT_SUBSTRING_WEBSITE
---
--- This native (along with 0x5F68520888E69014 and 0x6C188BE134E074AA) do not actually filter anything. They simply add the provided text (as of 944)  
--- 
---@param website any
---@return any
function AddTextComponentSubstringWebsite(website)
end

--- CLEAR_BRIEF
---
---@return any
function ClearBrief()
end

--- GET_STREET_NAME_FROM_HASH_KEY
---Converts the hash of a street name into a readable string. To retrieve a hash for a given (street) coordinate, see [GET_STREET_NAME_AT_COORD](#\_0x2EB41072B4C1E4C0).
---@param hash any
---@return any
function GetStreetNameFromHashKey(hash)
end

--- _RACE_GALLERY_ADD_BLIP
---
--- Add a BLIP_GALLERY at the specific coordinate. Used in fm_maintain_transition_players to display race track points.
--- 
---@param x number
---@param y number
---@param z number
---@return any
function RaceGalleryAddBlip(x, y, z)
end

--- SET_TEXT_FONT
---
--- fonts that mess up your text where made for number values/misc stuff  
--- 
---@param fontType any
---@return any
function SetTextFont(fontType)
end

--- _SET_MOUSE_CURSOR_SPRITE
---
--- Changes the mouse cursor's sprite.   
--- public enum CursorType  
--- {  
---     None = 0,  
---     Normal = 1,  
---     TransparentNormal = 2,  
---     PreGrab = 3,  
---     Grab = 4,  
---     MiddleFinger = 5,  
---     LeftArrow = 6,  
---     RightArrow = 7,  
---     UpArrow = 8,  
---     DownArrow = 9,  
---     HorizontalExpand = 10,  
---     Add = 11,  
---     Remove = 12,  
--- }  
--- 
---@param spriteId any
---@return any
function SetMouseCursorSprite(spriteId)
end

--- SET_MULTIPLAYER_BANK_CASH
---Preview image:
--- 
--- ![](https://i.imgur.com/1BTmdyv.png)
--- 
--- To change the bank balance use [STAT_SET_INT](#\_0xB3271D7AB655B441) with "BANK_BALANCE" to whatever value you need to.
---@return any
function SetMultiplayerBankCash()
end

--- THEFEED_HIDE_THIS_FRAME
---Once called each frame hides all above radar notifications.
---@return any
function ThefeedHideThisFrame()
end

--- START_GPS_MULTI_ROUTE
---Starts a new GPS multi-route, allowing you to create custom GPS paths.
--- GPS functions like the waypoint, except it can contain multiple points it's forced to go through.
--- Once the player has passed a point, the GPS will no longer force its path through it.
--- 
--- Works independently from the player-placed waypoint and blip routes.
--- 
--- **Example result:**
--- 
--- ![](https://i.imgur.com/ZZHQatX.png)
---@param hudColor any
---@param routeFromPlayer boolean
---@param displayOnFoot boolean
---@return any
function StartGpsMultiRoute(hudColor, routeFromPlayer, displayOnFoot)
end

--- IS_MESSAGE_BEING_DISPLAYED
---
---@return boolean
function IsMessageBeingDisplayed()
end

--- SET_MINIMAP_IN_PROLOGUE
---
--- Toggles the North Yankton map
--- 
---@param toggle boolean
---@return any
function SetMinimapInPrologue(toggle)
end

--- THEFEED_PAUSE
---
---@return any
function ThefeedPause()
end

--- SET_TEXT_LEADING
---
---@param p0 any
---@return any
function SetTextLeading(p0)
end

--- SUPPRESS_FRONTEND_RENDERING_THIS_FRAME
---
---@return any
function SuppressFrontendRenderingThisFrame()
end

--- ADD_TEXT_COMPONENT_SUBSTRING_KEYBOARD_DISPLAY
---
---@param string any
---@return any
function AddTextComponentSubstringKeyboardDisplay(string)
end

--- BEGIN_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED
---
--- BOOL IsContextActive(char *ctx)  
--- {  
--- 	BEGIN_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED(ctx);  
--- 	return END_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED(0);  
--- }  
--- 
---@param labelName any
---@return any
function BeginTextCommandIsThisHelpMessageBeingDisplayed(labelName)
end

--- GET_MENU_PED_INT_STAT
---
---@param p0 any
---@param p1 any
---@return boolean
function GetMenuPedIntStat(p0, p1)
end

--- HIDE_HUD_COMPONENT_THIS_FRAME
---This function hides various HUD (Heads-up Display) components.
--- 
--- Listed below are the integers and the corresponding HUD component.
--- 
--- *   1 : WANTED_STARS
--- *   2 : WEAPON_ICON
--- *   3 : CASH
--- *   4 : MP_CASH
--- *   5 : MP_MESSAGE
--- *   6 : VEHICLE_NAME
--- *   7 : AREA_NAME
--- *   8 : VEHICLE_CLASS
--- *   9 : STREET_NAME
--- *   10 : HELP_TEXT
--- *   11 : FLOATING_HELP_TEXT\_1
--- *   12 : FLOATING_HELP_TEXT\_2
--- *   13 : CASH_CHANGE
--- *   14 : RETICLE
--- *   15 : SUBTITLE_TEXT
--- *   16 : RADIO_STATIONS
--- *   17 : SAVING_GAME
--- *   18 : GAME_STREAM
--- *   19 : WEAPON_WHEEL
--- *   20 : WEAPON_WHEEL_STATS
--- *   21 : HUD_COMPONENTS
--- *   22 : HUD_WEAPONS
--- 
--- These integers also work for the [SHOW_HUD_COMPONENT_THIS_FRAME](#\_0x0B4DF1FA60C0E664) native, but instead shows the HUD Component.
---@param id any
---@return any
function HideHudComponentThisFrame(id)
end

--- HIDE_SCRIPTED_HUD_COMPONENT_THIS_FRAME
---
---@param id any
---@return any
function HideScriptedHudComponentThisFrame(id)
end

--- ADD_TEXT_COMPONENT_SUBSTRING_TIME
---
--- Adds a timer (e.g. "00:00:00:000"). The appearance of the timer depends on the flags, which needs more research.  
--- 
---@param timestamp any
---@param flags any
---@return any
function AddTextComponentSubstringTime(timestamp, flags)
end

--- CLEAR_SMALL_PRINTS
---
---@return any
function ClearSmallPrints()
end

--- END_TEXT_COMMAND_PRINT
---
--- Draws the subtitle at middle center of the screen.  
--- int duration = time in milliseconds to show text on screen before disappearing  
--- drawImmediately = If true, the text will be drawn immediately, if false, the text will be drawn after the previous subtitle has finished  
--- Used to be known as _DRAW_SUBTITLE_TIMED  
--- 
---@param duration any
---@param drawImmediately boolean
---@return any
function EndTextCommandPrint(duration, drawImmediately)
end

--- END_TEXT_COMMAND_SET_BLIP_NAME
---Finalizes a text command started with [BEGIN_TEXT_COMMAND_SET_BLIP_NAME](#\_0xF9113A30DE5C6670), setting the name
--- of the specified blip.
---@param blip any
---@return any
function EndTextCommandSetBlipName(blip)
end

--- RESTART_FRONTEND_MENU
---
--- Before using this native click the native above and look at the decription.  
--- Example:  
--- int GetHash = Function.Call<int>(Hash.GET_HASH_KEY, "fe_menu_version_corona_lobby");  
--- Function.Call(Hash.ACTIVATE_FRONTEND_MENU, GetHash, 0, -1);  
--- Function.Call(Hash.RESTART_FRONTEND_MENU(GetHash, -1);  
--- This native refreshes the frontend menu.  
--- p1 = Hash of Menu  
--- p2 = Unknown but always works with -1.  
--- 
---@param menuHash any
---@param p1 any
---@return any
function RestartFrontendMenu(menuHash, p1)
end

--- GET_MENU_PED_FLOAT_STAT
---
---@param p0 any
---@param p1 any
---@return boolean
function GetMenuPedFloatStat(p0, p1)
end

--- GET_MINIMAP_FOW_COORDINATE_IS_REVEALED
---
---@param x number
---@param y number
---@param z number
---@return boolean
function GetMinimapFowCoordinateIsRevealed(x, y, z)
end

--- SET_MAX_ARMOUR_HUD_DISPLAY
---
---@param maximumValue any
---@return any
function SetMaxArmourHudDisplay(maximumValue)
end

--- THEFEED_IS_PAUSED
---
---@return boolean
function ThefeedIsPaused()
end

--- ADD_BLIP_FOR_RADIUS
---Create a blip with a radius for the specified coordinates (it doesnt create the blip sprite, so you need to use [AddBlipCoords](#\_0xC6F43D0E))
--- 
--- Example image:
--- ![example](https://i.imgur.com/9hQl3DB.png)
---@param posX number
---@param posY number
---@param posZ number
---@param radius number
---@return any
function AddBlipForRadius(posX, posY, posZ, radius)
end

--- END_TEXT_COMMAND_CLEAR_PRINT
---
---@return any
function EndTextCommandClearPrint()
end

--- END_TEXT_COMMAND_THEFEED_POST_CREWTAG
---
--- This function and the one below it are for after you receive an invite, not sending it.  
--- p0 = 1 or 0  
--- nothin doin.   
--- int invite(Player player)  
--- 	{  
--- int iVar2, iVar3;  
--- networkHandleMgr handle;  
--- NETWORK_HANDLE_FROM_PLAYER(player, &handle.netHandle, 13);  
--- networkClanMgr clan;  
--- char *playerName = GET_PLAYER_NAME(player);  
--- _SET_NOTIFICATION_TEXT_ENTRY("STRING");  
--- _SET_NOTIFACTION_COLOR_NEXT(0);  
--- ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(playerName);  
--- if (NETWORK_CLAN_PLAYER_GET_DESC(&clan, 35, &handle.netHandle))  
--- {  
--- 	iVar2 = 0;  
--- 	if (ARE_STRINGS_EQUAL(clan.unk22, "Leader") && clan.unk30 == 0)  
--- 	{  
--- iVar2 = 1;  
--- 	}  
--- 	if (clan.unk21 > 0)  
--- 	{  
--- iVar3 = 0;  
--- 	}  
--- 	else  
--- 	{  
--- iVar3 = 1;  
--- 	}  
--- 	BOOL unused = _0x54E79E9C(&clan.clanHandle, 35);  
--- 	return _DRAW_NOTIFICATION_APARTMENT_INVITE(iVar3, 0 /*unused*/, &clan.unk17, clan.unk30, iVar2, 0, clan.clanHandle, 0, 0, 0);  
--- }  
--- 	}  
--- 
---@param crewTypeIsPrivate boolean
---@param crewTagContainsRockstar boolean
---@param crewTag any
---@param rank any
---@param hasFounderStatus boolean
---@param isImportant boolean
---@param clanHandle any
---@param r any
---@param g any
---@param b any
---@return any
function EndTextCommandThefeedPostCrewtag(crewTypeIsPrivate, crewTagContainsRockstar, crewTag, rank, hasFounderStatus, isImportant, clanHandle, r, g, b)
end

--- _THEFEED_SET_FLUSH_ANIMPOSTFX
---
--- If true, remove all feed components instantly. Otherwise tween/animate close each component
--- 
---@param toggle boolean
---@return any
function ThefeedSetFlushAnimpostfx(toggle)
end

--- ADD_BLIP_FOR_COORD
---Creates a blip for the specified coordinates. You can use SET_BLIP_ natives to change the blip.
---@param x number
---@param y number
---@param z number
---@return any
function AddBlipForCoord(x, y, z)
end

--- DOES_BLIP_HAVE_GPS_ROUTE
---
---@param blip any
---@return boolean
function DoesBlipHaveGpsRoute(blip)
end

--- IS_SCRIPTED_HUD_COMPONENT_ACTIVE
---
---@param id any
---@return boolean
function IsScriptedHudComponentActive(id)
end

--- SET_BLIP_FADE
---
---@param blip any
---@param opacity any
---@param duration any
---@return any
function SetBlipFade(blip, opacity, duration)
end

--- SET_TEXT_RENDER_ID
---
---@param renderId any
---@return any
function SetTextRenderId(renderId)
end

--- END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_TU
---NOTE: 'duration' is a multiplier, so 1.0 is normal, 2.0 is twice as long (very slow), and 0.5 is half as long.
--- 
--- Example, only occurrence in the scripts:
--- 
--- 
--- v_8 = UI::END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_TU("CHAR_SOCIAL_CLUB", "CHAR_SOCIAL_CLUB", 0, 0, &v_9, "", a_5);
--- 
--- 
--- Example result:
--- 
--- ![](https://i.imgur.com/YrN4Bcm.png)
---@param picTxd any
---@param picTxn any
---@param flash boolean
---@param iconType any
---@param nameStr any
---@param subtitleStr any
---@param duration number
---@return any
function EndTextCommandThefeedPostMessagetextTu(picTxd, picTxn, flash, iconType, nameStr, subtitleStr, duration)
end

--- CLEAR_GPS_MULTI_ROUTE
---Does the same as [SET_GPS_MULTI_ROUTE_RENDER(false)](https://runtime.fivem.net/doc/reference.html#\_0x3DDA37128DD1ACA8)
---@return any
function ClearGpsMultiRoute()
end

--- SET_BLIP_NAME_TO_PLAYER_NAME
---
---@param blip any
---@param player number
---@return any
function SetBlipNameToPlayerName(blip, player)
end

--- _END_TEXT_COMMAND_OBJECTIVE
---
---@param p0 boolean
---@return any
function EndTextCommandObjective(p0)
end

--- _GET_AI_BLIP
---
--- Returns the current AI BLIP for the specified ped  
--- 
---@param ped number
---@return any
function GetAiBlip(ped)
end

--- RESET_RETICULE_VALUES
---
---@return any
function ResetReticuleValues()
end

--- THEFEED_RESUME
---
---@return any
function ThefeedResume()
end

--- SET_RACE_TRACK_RENDER
---
---@param toggle boolean
---@return any
function SetRaceTrackRender(toggle)
end

--- THEFEED_SPS_EXTEND_WIDESCREEN_OFF
---
---@return any
function ThefeedSpsExtendWidescreenOff()
end

--- SET_MISSION_NAME
---
---@param p0 boolean
---@param name any
---@return any
function SetMissionName(p0, name)
end

--- SET_MP_GAMER_TAG_BIG_TEXT
---
---@param gamerTagId any
---@param string any
---@return any
function SetMpGamerTagBigText(gamerTagId, string)
end

--- CLEAR_GPS_CUSTOM_ROUTE
---
---@return any
function ClearGpsCustomRoute()
end

--- CLEAR_REMINDER_MESSAGE
---**This native does absolutely nothing, just a nullsub**
---@return any
function ClearReminderMessage()
end

--- IS_MINIMAP_RENDERING
---
---@return boolean
function IsMinimapRendering()
end

--- IS_SCRIPTED_HUD_COMPONENT_HIDDEN_THIS_FRAME
---
---@param id any
---@return boolean
function IsScriptedHudComponentHiddenThisFrame(id)
end

--- LOCK_MINIMAP_POSITION
---
--- Locks the minimap to the specified world position.  
--- 
---@param x number
---@param y number
---@return any
function LockMinimapPosition(x, y)
end

--- SET_RADAR_ZOOM_TO_DISTANCE
---
---@param zoom number
---@return any
function SetRadarZoomToDistance(zoom)
end

--- CLEAR_HELP
---
---@param toggle boolean
---@return any
function ClearHelp(toggle)
end

--- CLEAR_ALL_HELP_MESSAGES
---
---@return any
function ClearAllHelpMessages()
end

--- CLEAR_GPS_FLAGS
---
--- Clears the GPS flags. Only the script that originally called SET_GPS_FLAGS can clear them.  
--- Doesn't seem like the flags are actually read by the game at all.  
--- 
---@return any
function ClearGpsFlags()
end

--- DOES_TEXT_BLOCK_EXIST
---
---@param gxt any
---@return boolean
function DoesTextBlockExist(gxt)
end

--- GET_HUD_SCREEN_POSITION_FROM_WORLD_POSITION
---
--- World to relative screen coords
--- this world to screen will keep the text on screen. it will keep it in the screen pos
--- 
---@param worldX number
---@param worldY number
---@param worldZ number
---@param screenX any
---@param screenY any
---@return boolean
function GetHudScreenPositionFromWorldPosition(worldX, worldY, worldZ, screenX, screenY)
end

--- _HUD_WEAPON_WHEEL_GET_SLOT_HASH
---
--- Returns the weapon hash active in a specific weapon wheel slotList
--- 
---@param weaponTypeIndex any
---@return any
function HudWeaponWheelGetSlotHash(weaponTypeIndex)
end

--- SET_BLIP_SHOW_CONE
---
--- NativeDB Added Parameter 3: Any p2
--- 
---@param blip any
---@param toggle boolean
---@return any
function SetBlipShowCone(blip, toggle)
end

--- REPLACE_HUD_COLOUR
---
--- HUD colors and their values: pastebin.com/d9aHPbXN  
--- --------------------------------------------------  
--- makes hudColorIndex2 color into hudColorIndex color  
--- 
---@param hudColorIndex any
---@param hudColorIndex2 any
---@return any
function ReplaceHudColour(hudColorIndex, hudColorIndex2)
end

--- SET_BLIP_HIDDEN_ON_LEGEND
---
---@param blip any
---@param toggle boolean
---@return any
function SetBlipHiddenOnLegend(blip, toggle)
end

--- SET_MP_GAMER_TAG_COLOUR
---Sets a gamer tag's component colour
---@param gamerTagId any
---@param component any
---@param hudColorIndex any
---@return any
function SetMpGamerTagColour(gamerTagId, component, hudColorIndex)
end

--- GET_NEXT_BLIP_INFO_ID
---
---@param blipSprite any
---@return any
function GetNextBlipInfoId(blipSprite)
end

--- IS_HUD_COMPONENT_ACTIVE
---
--- Full list of components below  
--- HUD = 0;  
--- HUD_WANTED_STARS = 1;  
--- HUD_WEAPON_ICON = 2;  
--- HUD_CASH = 3;  
--- HUD_MP_CASH = 4;  
--- HUD_MP_MESSAGE = 5;  
--- HUD_VEHICLE_NAME = 6;  
--- HUD_AREA_NAME = 7;  
--- HUD_VEHICLE_CLASS = 8;  
--- HUD_STREET_NAME = 9;  
--- HUD_HELP_TEXT = 10;  
--- HUD_FLOATING_HELP_TEXT_1 = 11;  
--- HUD_FLOATING_HELP_TEXT_2 = 12;  
--- HUD_CASH_CHANGE = 13;  
--- HUD_RETICLE = 14;  
--- HUD_SUBTITLE_TEXT = 15;  
--- HUD_RADIO_STATIONS = 16;  
--- HUD_SAVING_GAME = 17;  
--- HUD_GAME_STREAM = 18;  
--- HUD_WEAPON_WHEEL = 19;  
--- HUD_WEAPON_WHEEL_STATS = 20;  
--- MAX_HUD_COMPONENTS = 21;  
--- MAX_HUD_WEAPONS = 22;  
--- MAX_SCRIPTED_HUD_COMPONENTS = 141;  
--- 
---@param id any
---@return boolean
function IsHudComponentActive(id)
end

--- PAUSE_MENU_SET_BUSY_SPINNER
---
---@param p0 boolean
---@param p1 any
---@param p2 any
---@return any
function PauseMenuSetBusySpinner(p0, p1, p2)
end

--- _GET_LABEL_TEXT
---
--- Gets a string literal from a label name.
--- GET_F*
--- 
---@param labelName any
---@return any
function GetLabelText(labelName)
end

--- PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS
---Updates instructional buttons in Pause Menu after menu contexts have been toggled. p0 purpose is currently unknown, only 0 is used in scripts.
---@param p0 any
---@return any
function PauseMenuRedrawInstructionalButtons(p0)
end

--- END_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED
---
---@param p0 any
---@return boolean
function EndTextCommandIsThisHelpMessageBeingDisplayed(p0)
end

--- SET_MAX_HEALTH_HUD_DISPLAY
---
---@param maximumValue any
---@return any
function SetMaxHealthHudDisplay(maximumValue)
end

--- SET_TEXT_SCALE
---
--- Size range : 0F to 1.0F
--- p0 is unknown and doesn't seem to have an effect, yet in the game scripts it changes to 1.0F sometimes.
--- 
---@param scale number
---@param size number
---@return any
function SetTextScale(scale, size)
end

--- IS_HELP_MESSAGE_ON_SCREEN
---
---@return boolean
function IsHelpMessageOnScreen()
end

--- _SET_WARNING_MESSAGE_WITH_HEADER_UNK
---
--- NativeDB Introduced: v1493
--- 
---@param entryHeader any
---@param entryLine1 any
---@param flags any
---@param entryLine2 any
---@param p4 boolean
---@param p5 any
---@param p6 any
---@param p7 any
---@param showBg boolean
---@param p9 any
---@param p10 any
---@return any
function SetWarningMessageWithHeaderUnk(entryHeader, entryLine1, flags, entryLine2, p4, p5, p6, p7, showBg, p9, p10)
end

--- SET_WARNING_MESSAGE_WITH_HEADER_AND_SUBSTRING_FLAGS
---
--- You can only use text entries. No custom text.  
--- 
--- 
--- 
--- NativeDB Added Parameter 11: Any p10
--- 
---@param entryHeader any
---@param entryLine1 any
---@param instructionalKey any
---@param entryLine2 any
---@param p4 boolean
---@param p5 any
---@param p6 any
---@param p7 any
---@param p8 any
---@param p9 boolean
---@return any
function SetWarningMessageWithHeaderAndSubstringFlags(entryHeader, entryLine1, instructionalKey, entryLine2, p4, p5, p6, p7, p8, p9)
end

--- END_TEXT_COMMAND_BUSYSPINNER_ON
---
--- enum eBusySpinnerType
--- {
--- 	BUSY_SPINNER_LEFT,
--- 	BUSY_SPINNER_LEFT_2,
--- 	BUSY_SPINNER_LEFT_3,
--- 	BUSY_SPINNER_SAVE,
--- 	BUSY_SPINNER_RIGHT,
--- };
--- 
---@param busySpinnerType any
---@return any
function EndTextCommandBusyspinnerOn(busySpinnerType)
end

--- GET_BLIP_ALPHA
---
---@param blip any
---@return any
function GetBlipAlpha(blip)
end

--- HIDE_NUMBER_ON_BLIP
---
---@param blip any
---@return any
function HideNumberOnBlip(blip)
end

--- IS_MISSION_CREATOR_BLIP
---
---@param blip any
---@return boolean
function IsMissionCreatorBlip(blip)
end

--- SET_BLIP_ROTATION
---
--- After some testing, looks like you need to use CEIL() on the rotation (vehicle/ped heading) before using it there.
--- 
---@param blip any
---@param rotation any
---@return any
function SetBlipRotation(blip, rotation)
end

--- BUSYSPINNER_OFF
---
--- Removes the loading prompt at the bottom right of the screen.
--- 
---@return any
function BusyspinnerOff()
end

--- _FORCE_CLOSE_TEXT_INPUT_BOX
---
---@return any
function ForceCloseTextInputBox()
end

--- _PAUSE_MENU_GET_UNIQUE_ID_OF_MOUSE_HOVERED_SLOT
---If mouse is hovering on a slot, it returns uniqueid of that slot, else it returns -1.
---@return any
function PauseMenuGetUniqueIdOfMouseHoveredSlot()
end

--- SET_FLOATING_HELP_TEXT_TO_ENTITY
---
---@param hudIndex any
---@param entity number
---@param offsetX number
---@param offsetY number
---@return any
function SetFloatingHelpTextToEntity(hudIndex, entity, offsetX, offsetY)
end

--- END_TEXT_COMMAND_THEFEED_POST_TICKER_FORCED
---
---@param blink boolean
---@param bHasTokens boolean
---@return any
function EndTextCommandThefeedPostTickerForced(blink, bHasTokens)
end

--- _GET_PAUSE_MENU_SELECTION
---
---@param lastItemMenuId any
---@param selectedItemUniqueId any
---@return any
function GetPauseMenuSelection(lastItemMenuId, selectedItemUniqueId)
end

--- _GET_PAUSE_MENU_SELECTION_DATA
---
--- lastItemMenuId: this is the menuID of the last selected item minus 1000 (lastItem.menuID - 1000)
--- selectedItemMenuId: same as lastItemMenuId except for the currently selected menu item
--- selectedItemUniqueId: this is uniqueID of the currently selected menu item
--- when the pausemenu is closed:
--- lastItemMenuId = -1
--- selectedItemMenuId = -1
--- selectedItemUniqueId = 0
--- when the header gains focus:
--- lastItemMenuId updates as normal or 0 if the pausemenu was just opened
--- selectedItemMenuId becomes a unique id for the pausemenu page that focus was taken from (?) or 0 if the pausemenu was just opened
--- selectedItemUniqueId = -1
--- when focus is moved from the header to a pausemenu page:
--- lastItemMenuId becomes a unique id for the pausemenu page that focus was moved to (?)
--- selectedItemMenuId = -1
--- selectedItemUniqueId updates as normal
--- 
---@param lastItemMenuId any
---@param selectedItemMenuId any
---@param selectedItemUniqueId any
---@return any
function GetPauseMenuSelectionData(lastItemMenuId, selectedItemMenuId, selectedItemUniqueId)
end

--- IS_NAVIGATING_MENU_CONTENT
---
---@return any
function IsNavigatingMenuContent()
end

--- SET_MINIMAP_HIDE_FOW
---
--- If true, the entire map will be revealed.
--- 
---@param toggle boolean
---@return any
function SetMinimapHideFow(toggle)
end

--- SET_TEXT_JUSTIFICATION
---
--- Types -  
--- 0: Center-Justify  
--- 1: Left-Justify  
--- 2: Right-Justify  
--- Right-Justify requires SET_TEXT_WRAP, otherwise it will draw to the far right of the screen  
--- 
---@param justifyType any
---@return any
function SetTextJustification(justifyType)
end

--- REMOVE_MP_GAMER_TAG
---Removes the gamer tag associated with the provided ID. This does not happen instantly. Use [IS_MP_GAMER_TAG_FREE](#\_0x595B5178E412E199) to determine when the ID is free for reuse.
---@param gamerTagId any
---@return any
function RemoveMpGamerTag(gamerTagId)
end

--- _SET_BLIP_SHRINK
---
--- Makes a blip go small when off the minimap.
--- SET_BLIP_AS_*
--- 
---@param blip any
---@param toggle boolean
---@return any
function SetBlipShrink(blip, toggle)
end

--- SET_FLOATING_HELP_TEXT_SCREEN_POSITION
---
---@param hudIndex any
---@param x number
---@param y number
---@return any
function SetFloatingHelpTextScreenPosition(hudIndex, x, y)
end

--- _DISPLAY_HUD_WHEN_DEAD_THIS_FRAME
---Enables drawing some hud components, such as help labels, this frame, when the player is dead.
---@return any
function DisplayHudWhenDeadThisFrame()
end

--- _END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_GXT_ENTRY
---This function can show pictures of every texture that can be requested by REQUEST_STREAMED_TEXTURE_DICT.
--- Needs more research.
--- Only one type of usage in the scripts:
--- HUD::\_C6F580E4C94926AC("CHAR_ACTING_UP", "CHAR_ACTING_UP", 0, 0, "DI_FEED_CHAR", a\_0);
---@param txdName any
---@param textureName any
---@param flash boolean
---@param iconType any
---@param sender any
---@param subject any
---@return any
function EndTextCommandThefeedPostMessagetextGxtEntry(txdName, textureName, flash, iconType, sender, subject)
end

--- HUD_FORCE_WEAPON_WHEEL
---
--- Forces the weapon wheel to show/hide.
--- 
---@param show boolean
---@return any
function HudForceWeaponWheel(show)
end

--- THEFEED_COMMENT_TELEPORT_POOL_OFF
---
--- Displays "normal" notifications again after calling _0x56C8B608CFD49854 (those that were drawn before calling this native too), though those will have a weird offset and stay on screen forever (tested with notifications created from same script).
--- 
---@return any
function ThefeedCommentTeleportPoolOff()
end

--- PRELOAD_BUSYSPINNER
---
---@return any
function PreloadBusyspinner()
end

--- SHOW_HUD_COMPONENT_THIS_FRAME
---This function shows various HUD (Heads-up Display) components.
--- 
--- Listed below are the integers and the corresponding HUD component.
--- 
--- *   1 : WANTED_STARS
--- *   2 : WEAPON_ICON
--- *   3 : CASH
--- *   4 : MP_CASH
--- *   5 : MP_MESSAGE
--- *   6 : VEHICLE_NAME
--- *   7 : AREA_NAME
--- *   8 : VEHICLE_CLASS
--- *   9 : STREET_NAME
--- *   10 : HELP_TEXT
--- *   11 : FLOATING_HELP_TEXT\_1
--- *   12 : FLOATING_HELP_TEXT\_2
--- *   13 : CASH_CHANGE
--- *   14 : RETICLE
--- *   15 : SUBTITLE_TEXT
--- *   16 : RADIO_STATIONS
--- *   17 : SAVING_GAME
--- *   18 : GAME_STREAM
--- *   19 : WEAPON_WHEEL
--- *   20 : WEAPON_WHEEL_STATS
--- *   21 : HUD_COMPONENTS
--- *   22 : HUD_WEAPONS
--- 
--- These integers also work for the [HIDE_HUD_COMPONENT_THIS_FRAME](#\_0x6806C51AD12B83B8) native, but instead hides the HUD component.
---@param id any
---@return any
function ShowHudComponentThisFrame(id)
end

--- _GET_BLIP_ROTATION
---
--- NativeDB Introduced: v2060
--- 
---@param blip any
---@return any
function GetBlipRotation(blip)
end

--- REQUEST_ADDITIONAL_TEXT_FOR_DLC
---
---@param gxt any
---@param slot any
---@return any
function RequestAdditionalTextForDlc(gxt, slot)
end

--- SET_FRONTEND_ACTIVE
---
---@param active boolean
---@return any
function SetFrontendActive(active)
end

--- _SET_MISSION_NAME_2
---
---@param p0 boolean
---@param name any
---@return any
function SetMissionName2(p0, name)
end

--- SHOW_NUMBER_ON_BLIP
---
---@param blip any
---@param number any
---@return any
function ShowNumberOnBlip(blip, number)
end

--- GET_DEFAULT_SCRIPT_RENDERTARGET_RENDER_ID
---
--- This function is hard-coded to always return 1.  
--- 
---@return any
function GetDefaultScriptRendertargetRenderId()
end

--- SET_MINIMAP_BLOCK_WAYPOINT
---
---@param toggle boolean
---@return any
function SetMinimapBlockWaypoint(toggle)
end

--- GET_STANDARD_BLIP_ENUM_ID
---
---@return any
function GetStandardBlipEnumId()
end

--- _SET_PLAYER_IS_IN_DIRECTOR_MODE
---
--- If toggle is true, hides special ability bar / character name in the pause menu
--- If toggle is false, shows special ability bar / character name in the pause menu
--- SET_PLAYER_*
--- 
---@param toggle boolean
---@return any
function SetPlayerIsInDirectorMode(toggle)
end

--- SET_RADAR_ZOOM_TO_BLIP
---
---@param blip any
---@param zoom number
---@return any
function SetRadarZoomToBlip(blip, zoom)
end

--- FORCE_SONAR_BLIPS_THIS_FRAME
---
--- Doesn't actually return anything.
--- 
---@return any
function ForceSonarBlipsThisFrame()
end

--- GET_GLOBAL_ACTIONSCRIPT_FLAG
---
--- Returns the ActionScript flagValue.
--- ActionScript flags are global flags that scaleforms use
--- Flags found during testing
--- 0: Returns 1 if the web_browser keyboard is open, otherwise 0
--- 1: Returns 1 if the player has clicked back twice on the opening page, otherwise 0 (web_browser)
--- 2: Returns how many links the player has clicked in the web_browser scaleform, returns 0 when the browser gets closed
--- 9: Returns the current selection on the mobile phone scaleform
--- There are 20 flags in total.
--- 
---@param flagIndex any
---@return any
function GetGlobalActionscriptFlag(flagIndex)
end

--- CLEAR_GPS_RACE_TRACK
---
--- Does the same as SET_RACE_TRACK_RENDER(false);
--- 
---@return any
function ClearGpsRaceTrack()
end

--- END_TEXT_COMMAND_THEFEED_POST_UNLOCK_TU
---
---@param chTitle any
---@param iconType any
---@param chSubtitle any
---@param isImportant boolean
---@return any
function EndTextCommandThefeedPostUnlockTu(chTitle, iconType, chSubtitle, isImportant)
end

--- REPLACE_HUD_COLOUR_WITH_RGBA
---
--- HUD colors and their values: pastebin.com/d9aHPbXN  
--- 
---@param hudColorIndex any
---@param r any
---@param g any
---@param b any
---@param a any
---@return any
function ReplaceHudColourWithRgba(hudColorIndex, r, g, b, a)
end

--- SET_MULTIPLAYER_HUD_CASH
---**This native does absolutely nothing, just a nullsub**
---@param p0 any
---@param p1 any
---@return any
function SetMultiplayerHudCash(p0, p1)
end

--- SET_PED_AI_BLIP_NOTICE_RANGE
---
---@param ped number
---@param range number
---@return any
function SetPedAiBlipNoticeRange(ped, range)
end

--- ADD_TEXT_COMPONENT_SUBSTRING_PHONE_NUMBER
---
--- p1 was always -1
--- 
---@param p0 any
---@param p1 any
---@return any
function AddTextComponentSubstringPhoneNumber(p0, p1)
end

--- GET_BLIP_INFO_ID_TYPE
---
--- Returns a value based on what the blip is attached to
--- 1 - Vehicle
--- 2 - Ped
--- 3 - Object
--- 4 - Coord
--- 5 - unk
--- 6 - Pickup
--- 7 - Radius
--- 
---@param blip any
---@return any
function GetBlipInfoIdType(blip)
end

--- _HUD_WEAPON_WHEEL_IGNORE_SELECTION
---
--- Calling this each frame, stops the player from receiving a weapon via the weapon wheel.
--- 
---@return any
function HudWeaponWheelIgnoreSelection()
end

--- SET_BLIP_AS_MISSION_CREATOR_BLIP
---
---@param blip any
---@param toggle boolean
---@return any
function SetBlipAsMissionCreatorBlip(blip, toggle)
end

--- IS_SOCIAL_CLUB_ACTIVE
---
---@return boolean
function IsSocialClubActive()
end

--- SET_MULTIPLAYER_WALLET_CASH
---Preview image:
--- 
--- ![](https://i.imgur.com/1BTmdyv.png)
--- 
--- To change money value use [STAT_SET_INT](#\_0xB3271D7AB655B441) with "MP0\_WALLET_BALANCE" to whatever value you need to.
---@return any
function SetMultiplayerWalletCash()
end

--- SET_PED_AI_BLIP_FORCED_ON
---
--- if "flag" is true, the AI blip will always be displayed for the specified ped, if it has an AI blip  
--- If "flag" is false, the AI blip will only be displayed when the player is in combat with the specified ped, if it has an AI blip  
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetPedAiBlipForcedOn(ped, toggle)
end

--- BEGIN_TEXT_COMMAND_SET_BLIP_NAME
---Starts a text command to change the name of a blip displayed in the pause menu.
--- 
--- This should be paired with [END_TEXT_COMMAND_SET_BLIP_NAME](#\_0xBC38B49BCB83BC9B), once adding all required text components.
---@param textLabel any
---@return any
function BeginTextCommandSetBlipName(textLabel)
end

--- SET_BLIP_NAME_FROM_TEXT_FILE
---
--- Doesn't work if the label text of gxtEntry is >= 80.  
--- 
---@param blip any
---@param gxtEntry any
---@return any
function SetBlipNameFromTextFile(blip, gxtEntry)
end

--- SET_BLIP_SECONDARY_COLOUR
---
---@param blip any
---@param r any
---@param g any
---@param b any
---@return any
function SetBlipSecondaryColour(blip, r, g, b)
end

--- IS_MP_GAMER_TAG_ACTIVE
---
---@param gamerTagId any
---@return boolean
function IsMpGamerTagActive(gamerTagId)
end

--- _BEGIN_TEXT_COMMAND_LINE_COUNT
---
--- get's line count  
--- int GetLineCount(char *text, float x, float y)  
--- 	{  
--- _BEGIN_TEXT_COMMAND_LINE_COUNT("STRING");  
---                 ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);  
--- return _END_TEXT_COMMAND_GET_LINE_COUNT(x, y);  
--- 	}  
--- 
---@param entry any
---@return any
function BeginTextCommandLineCount(entry)
end

--- _SET_MOUSE_CURSOR_ACTIVE_THIS_FRAME
---
--- Shows the cursor on screen for one frame.
--- 
---@return any
function SetMouseCursorActiveThisFrame()
end

--- GET_NAMED_RENDERTARGET_RENDER_ID
---
---@param name any
---@return any
function GetNamedRendertargetRenderId(name)
end

--- _NETWORK_SPENT_UPGRADE_TILTROTOR
---
--- NativeDB Introduced: v1290
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentUpgradeTiltrotor(p0, p1, p2, p3)
end

--- NETWORK_CAN_SPEND_MONEY
---
--- NativeDB Added Parameter 6: Any p5
--- 
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@param p3 boolean
---@param p4 any
---@return boolean
function NetworkCanSpendMoney(p0, p1, p2, p3, p4)
end

--- _NETWORK_EARN_FROM_ARENA_WAR
---
--- NativeDB Introduced: v1604
--- 
---@param amount any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkEarnFromArenaWar(amount, p1, p2, p3)
end

--- _NETWORK_SPENT_BIKE_SHOP_MODIFY
---
--- NativeDB Introduced: v2699
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentBikeShopModify(p0, p1, p2, p3)
end

--- _NETWORK_SPENT_BUY_TRUCK
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentBuyTruck(p0, p1, p2, p3)
end

--- NETWORK_CAN_SHARE_JOB_CASH
---
---@return boolean
function NetworkCanShareJobCash()
end

--- _NETWORK_EARN_FROM_DOOMSDAY_FINALE_BONUS
---
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@param vehicleHash any
---@return any
function NetworkEarnFromDoomsdayFinaleBonus(amount, vehicleHash)
end

--- NETWORK_EARN_FROM_JOB
---
---@param amount any
---@param p1 any
---@return any
function NetworkEarnFromJob(amount, p1)
end

--- _NETWORK_SPENT_JUKEBOX
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentJukebox(p0, p1, p2, p3)
end

--- _NETWORK_MANUAL_DELETE_CHARACTER
---
---@param characterSlot any
---@return any
function NetworkManualDeleteCharacter(characterSlot)
end

--- NETWORK_SPENT_CINEMA
---
---@param p0 any
---@param p1 any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkSpentCinema(p0, p1, p2, p3)
end

--- NETWORK_SPENT_HIRE_MUGGER
---
--- Only used once in a script (am_contact_requests)  
--- p1 = 0  
--- p2 = 1  
--- 
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentHireMugger(p0, p1, p2)
end

--- _NETWORK_EARN_FROM_ARMOUR_TRUCK
---
--- For the money bags that drop a max of $40,000. Often called 40k bags.
--- Most likely NETWORK_EARN_FROM_ROB***
--- 
---@param amount any
---@return any
function NetworkEarnFromArmourTruck(amount)
end

--- _NETWORK_EARN_FROM_COLLECTABLES_ACTION_FIGURES
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@return any
function NetworkEarnFromCollectablesActionFigures(amount)
end

--- _NETWORK_EARN_FROM_TUNER_FINALE
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function NetworkEarnFromTunerFinale(p0, p1, p2, p3, p4)
end

--- NETWORK_GET_STRING_BANK_WALLET_BALANCE
---
--- NativeDB Introduced: v323
--- 
---@return any
function NetworkGetStringBankWalletBalance()
end

--- NETWORK_GET_STRING_WALLET_BALANCE
---
--- NativeDB Introduced: v323
--- 
---@param characterSlot any
---@return any
function NetworkGetStringWalletBalance(characterSlot)
end

--- _NETWORK_SPENT_UPGRADE_CASINO
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@param data any
---@return any
function NetworkSpentUpgradeCasino(amount, p1, p2, data)
end

--- _NETWORK_EARN_FROM_JOB_X2
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@param p1 any
---@return any
function NetworkEarnFromJobX2(amount, p1)
end

--- _NETWORK_SPENT_BOUNTY_HUNTER_MISSION
---
--- NativeDB Introduced: v1493
--- 
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentBountyHunterMission(amount, p1, p2)
end

--- _NETWORK_SPENT_NIGHTCLUB_BAR_DRINK
---
--- NativeDB Introduced: v1493
--- 
---@param amount any
---@param p1 any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkSpentNightclubBarDrink(amount, p1, p2, p3)
end

--- _NETWORK_SPENT_RDRHATCHET_BONUS
---
--- NativeDB Introduced: v1493
--- 
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentRdrhatchetBonus(amount, p1, p2)
end

--- NETWORK_GET_VC_WALLET_BALANCE
---
---@param characterSlot any
---@return any
function NetworkGetVcWalletBalance(characterSlot)
end

--- _NETWORK_SPENT_CARCLUB_TAKEOVER
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentCarclubTakeover(p0, p1, p2, p3)
end

--- NETWORK_SPENT_ROBBED_BY_MUGGER
---
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentRobbedByMugger(amount, p1, p2)
end

--- _NETWORK_EARN_ISLAND_HEIST
---
--- NativeDB Introduced: v2189
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@return any
function NetworkEarnIslandHeist(p0, p1, p2, p3, p4, p5)
end

--- NETWORK_SPENT_BULL_SHARK
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentBullShark(p0, p1, p2)
end

--- _NETWORK_SPENT_CASINO_HEIST
---
--- NativeDB Introduced: v1868
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@param p7 any
---@param p8 any
---@param p9 any
---@param p10 any
---@return any
function NetworkSpentCasinoHeist(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10)
end

--- _NETWORK_EARN_BOSS_AGENCY
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkEarnBossAgency(p0, p1, p2, p3)
end

--- _NETWORK_EARN_FROM_GANG_PICKUP
---
---@param amount any
---@return any
function NetworkEarnFromGangPickup(amount)
end

--- _NETWORK_EARN_FROM_WAGE_PAYMENT_BONUS
---
--- NativeDB Introduced: v1180
--- 
---@param amount any
---@return any
function NetworkEarnFromWagePaymentBonus(amount)
end

--- _NETWORK_SPENT_UPGRADE_HANGAR
---
--- NativeDB Introduced: v1180
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentUpgradeHangar(p0, p1, p2, p3)
end

--- NETWORK_EARN_FROM_AI_TARGET_KILL
---
--- DSPORT  
--- 
---@param p0 any
---@param p1 any
---@return any
function NetworkEarnFromAiTargetKill(p0, p1)
end

--- _NETWORK_EARN_FROM_UPGRADE_AUTOSHOP_LOCATION
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@return any
function NetworkEarnFromUpgradeAutoshopLocation(p0, p1)
end

--- NETWORK_SPENT_REQUEST_JOB
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentRequestJob(p0, p1, p2)
end

--- _NETWORK_EARN_FROM_GANGOPS_WAGES
---
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@param p1 any
---@return any
function NetworkEarnFromGangopsWages(amount, p1)
end

--- NETWORK_EARN_FROM_NOT_BADSPORT
---
---@param amount any
---@return any
function NetworkEarnFromNotBadsport(amount)
end

--- _NETWORK_SPENT_UPGRADE_SUB
---
--- NativeDB Introduced: v2189
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentUpgradeSub(p0, p1, p2, p3)
end

--- _NETWORK_CASINO_CAN_GAMBLE
---NETWORK_C\*
--- 
--- 
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@return boolean
function NetworkCasinoCanGamble(p0)
end

--- NETWORK_EARN_FROM_CRATE_DROP
---
---@param amount any
---@return any
function NetworkEarnFromCrateDrop(amount)
end

--- _NETWORK_EARN_FROM_SELL_BASE
---
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@param baseNameHash any
---@return any
function NetworkEarnFromSellBase(amount, baseNameHash)
end

--- _NETWORK_EARN_GOON
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkEarnGoon(p0, p1, p2)
end

--- _NETWORK_SPENT_PURCHASE_WAREHOUSE
---
---@param amount any
---@param data any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkSpentPurchaseWarehouse(amount, data, p2, p3)
end

--- NETWORK_BUY_ITEM
---
---@param amount any
---@param item any
---@param p2 any
---@param p3 any
---@param p4 boolean
---@param item_name any
---@param p6 any
---@param p7 any
---@param p8 any
---@param p9 boolean
---@return any
function NetworkBuyItem(amount, item, p2, p3, p4, item_name, p6, p7, p8, p9)
end

--- _NETWORK_EARN_FROM_BB_EVENT_CARGO
---
--- NativeDB Introduced: v1604
--- 
---@param amount any
---@return any
function NetworkEarnFromBbEventCargo(amount)
end

--- _NETWORK_EARN_FROM_FMBB_PHONECALL_MISSION
---
--- NativeDB Introduced: v1493
--- 
---@param p0 any
---@return any
function NetworkEarnFromFmbbPhonecallMission(p0)
end

--- NETWORK_RECEIVE_PLAYER_JOBSHARE_CASH
---
---@param value any
---@param networkHandle any
---@return any
function NetworkReceivePlayerJobshareCash(value, networkHandle)
end

--- NETWORK_SPENT_CARWASH
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 boolean
---@param p4 boolean
---@return any
function NetworkSpentCarwash(p0, p1, p2, p3, p4)
end

--- NETWORK_BUY_BOUNTY
---
--- p1 is just an assumption. p2 was false and p3 was true.  
--- 
---@param amount any
---@param victim number
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkBuyBounty(amount, victim, p2, p3)
end

--- _NETWORK_EARN_FROM_ARENA_SKILL_LEVEL_PROGRESSION
---
--- NativeDB Introduced: v1604
--- 
---@param amount any
---@param p1 any
---@return any
function NetworkEarnFromArenaSkillLevelProgression(amount, p1)
end

--- _NETWORK_EARN_FROM_DAILY_OBJECTIVE_EVENT
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@return any
function NetworkEarnFromDailyObjectiveEvent(amount)
end

--- NETWORK_EARN_FROM_VEHICLE
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@param p7 any
---@return any
function NetworkEarnFromVehicle(p0, p1, p2, p3, p4, p5, p6, p7)
end

--- NETWORK_EARN_FROM_BOUNTY
---
---@param amount any
---@param networkHandle any
---@param p2 any
---@param p3 any
---@return any
function NetworkEarnFromBounty(amount, networkHandle, p2, p3)
end

--- _NETWORK_EARN_FROM_CLUB_MANAGEMENT_PARTICIPATION
---
--- NativeDB Introduced: v1493
--- 
---@param p0 any
---@return any
function NetworkEarnFromClubManagementParticipation(p0)
end

--- _NETWORK_EARN_JOB_BONUS_HEIST_AWARD
---
--- NativeDB Introduced: v1290
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkEarnJobBonusHeistAward(p0, p1, p2)
end

--- NETWORK_PAY_EMPLOYEE_WAGE
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkPayEmployeeWage(p0, p1, p2)
end

--- _NETWORK_SPENT_BUSINESS
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentBusiness(p0, p1, p2, p3)
end

--- _NETWORK_SPENT_IMPORT_EXPORT_REPAIR
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkSpentImportExportRepair(p0, p1, p2)
end

--- _NETWORK_SPENT_VEHICLE_REQUESTED
---
--- NativeDB Introduced: v2699
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function NetworkSpentVehicleRequested(p0, p1, p2, p3, p4)
end

--- NETWORK_EARN_FROM_JOB_BONUS
---
--- NativeDB Introduced: v323
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkEarnFromJobBonus(p0, p1, p2)
end

--- _NETWORK_EARN_FROM_RDR_BONUS
---
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@param p1 any
---@return any
function NetworkEarnFromRdrBonus(amount, p1)
end

--- _NETWORK_GET_VC_BANK_BALANCE_IS_NOT_LESS_THAN
---
--- Returns true if bank balance >= amount.
--- 
--- NativeDB Introduced: v323
--- 
---@param amount any
---@return boolean
function NetworkGetVcBankBalanceIsNotLessThan(amount)
end

--- _NETWORK_SPENT_BOSS
---
--- NativeDB Added Parameter 1: int amount
--- NativeDB Added Parameter 2: BOOL p1
--- NativeDB Added Parameter 3: BOOL p2
--- 
---@return boolean
function NetworkSpentBoss()
end

--- NETWORK_SPENT_BOUNTY
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentBounty(p0, p1, p2)
end

--- _NETWORK_SPENT_BUY_CASINO
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@param data any
---@return any
function NetworkSpentBuyCasino(amount, p1, p2, data)
end

--- NETWORK_SPENT_BUY_WANTEDLEVEL
---
---@param p0 any
---@param p1 any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkSpentBuyWantedlevel(p0, p1, p2, p3)
end

--- _NETWORK_CASINO_CAN_USE_GAMBLING_TYPE
---GTAO_CASINO_HOUSE
--- GTAO_CASINO_INSIDETRACK
--- GTAO_CASINO_LUCKYWHEEL
--- GTAO_CASINO_BLACKJACK
--- GTAO_CASINO_ROULETTE
--- GTAO_CASINO_SLOTS
--- GTAO_CASINO_PURCHASE_CHIPS
--- NETWORK_C\*
--- 
--- 
--- NativeDB Introduced: v1734
--- 
---@param hash any
---@return boolean
function NetworkCasinoCanUseGamblingType(hash)
end

--- _NETWORK_EARN_FROM_GANGOPS_JOBS_SETUP
---
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@param unk any
---@return any
function NetworkEarnFromGangopsJobsSetup(amount, unk)
end

--- _NETWORK_SPENT_CARGO_SOURCING
---
--- NativeDB Introduced: v2699
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@return any
function NetworkSpentCargoSourcing(p0, p1, p2, p3, p4, p5)
end

--- _NETWORK_SPENT_UPGRADE_TRUCK
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentUpgradeTruck(p0, p1, p2, p3)
end

--- _NETWORK_EARN_FROM_SELL_BUNKER
---
---@param amount any
---@param bunkerHash any
---@return any
function NetworkEarnFromSellBunker(amount, bunkerHash)
end

--- _NETWORK_SPENT_ARCADE_GAME
---
--- NativeDB Introduced: v1868
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function NetworkSpentArcadeGame(p0, p1, p2, p3, p4)
end

--- _NETWORK_SPENT_SUBMARINE
---
--- NativeDB Introduced: v2189
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@return any
function NetworkSpentSubmarine(p0, p1, p2, p3, p4, p5)
end

--- _NETWORK_SPENT_BUY_AUTOSHOP
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentBuyAutoshop(p0, p1, p2, p3)
end

--- _NETWORK_SPENT_CASINO_HEIST_SKIP_MISSION
---
--- NativeDB Introduced: v1868
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentCasinoHeistSkipMission(p0, p1, p2, p3)
end

--- _NETWORK_EARN_FROM_ASSASSINATE_TARGET_KILLED_2
---
--- NativeDB Introduced: v1604
--- 
---@param amount any
---@return any
function NetworkEarnFromAssassinateTargetKilled2(amount)
end

--- _NETWORK_EARN_FROM_CASINO_STORY_MISSION_REWARD
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@return any
function NetworkEarnFromCasinoStoryMissionReward(amount)
end

--- NETWORK_GIVE_PLAYER_JOBSHARE_CASH
---
---@param amount any
---@param networkHandle any
---@return any
function NetworkGivePlayerJobshareCash(amount, networkHandle)
end

--- _NETWORK_SPENT_ARENA_PREMIUM
---
--- NativeDB Introduced: v1604
--- 
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentArenaPremium(amount, p1, p2)
end

--- _NETWORK_EARN_FROM_BUSINESS_PRODUCT
---
---@param amount any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkEarnFromBusinessProduct(amount, p1, p2, p3)
end

--- NETWORK_EARN_FROM_PROPERTY
---
---@param amount any
---@param propertyName any
---@return any
function NetworkEarnFromProperty(amount, propertyName)
end

--- _NETWORK_EARN_JOB_BONUS_FIRST_TIME_BONUS
---
--- NativeDB Introduced: v1290
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkEarnJobBonusFirstTimeBonus(p0, p1, p2)
end

--- _NETWORK_SPENT_ORDER_WAREHOUSE_VEHICLE
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentOrderWarehouseVehicle(p0, p1, p2, p3)
end

--- _NETWORK_SPENT_REHIRE_DJ
---
--- NativeDB Introduced: v1493
--- 
---@param amount any
---@param p1 any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkSpentRehireDj(amount, p1, p2, p3)
end

--- NETWORK_CAN_BET
---
---@param amount any
---@return boolean
function NetworkCanBet(amount)
end

--- NETWORK_EARN_FROM_DAILY_OBJECTIVES
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkEarnFromDailyObjectives(p0, p1, p2)
end

--- _NETWORK_SPENT_CASINO_GENERIC
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function NetworkSpentCasinoGeneric(amount, p1, p2, p3, p4)
end

--- _NETWORK_SPENT_MOVE_YACHT
---
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentMoveYacht(amount, p1, p2)
end

--- _NETWORK_EARN_FROM_SMUGGLING
---
--- NativeDB Introduced: v1180
--- 
---@param amount any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkEarnFromSmuggling(amount, p1, p2, p3)
end

--- _NETWORK_EARN_FROM_VEHICLE_EXPORT
---
---@param amount any
---@param p1 any
---@param p2 any
---@return any
function NetworkEarnFromVehicleExport(amount, p1, p2)
end

--- NETWORK_SPENT_CALL_PLAYER
---
---@param p0 any
---@param p1 any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkSpentCallPlayer(p0, p1, p2, p3)
end

--- NETWORK_DELETE_CHARACTER
---
--- Note the 2nd parameters are always 1, 0. I have a feeling it deals with your money, wallet, bank. So when you delete the character it of course wipes the wallet cash at that time. So if that was the case, it would be eg, NETWORK_DELETE_CHARACTER(characterIndex, deleteWalletCash, deleteBankCash);  
--- 
---@param characterSlot any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkDeleteCharacter(characterSlot, p1, p2)
end

--- _NETWORK_EARN_FROM_DESTROYING_CONTRABAND
---
---@param p0 any
---@return any
function NetworkEarnFromDestroyingContraband(p0)
end

--- _NETWORK_EARN_FROM_GANGOPS_JOBS_PREP_PARTICIPATION
---
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@return any
function NetworkEarnFromGangopsJobsPrepParticipation(amount)
end

--- _NETWORK_EARN_FROM_SPIN_THE_WHEEL_CASH
---
--- NativeDB Introduced: v1604
--- 
---@param amount any
---@return any
function NetworkEarnFromSpinTheWheelCash(amount)
end

--- _NETWORK_SPENT_GUNRUNNING_CONTACT_SERVICE
---
--- NativeDB Introduced: v2699
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentGunrunningContactService(p0, p1, p2, p3)
end

--- _NETWORK_EARN_FROM_COLLECTION_ITEM
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@param p1 any
---@return any
function NetworkEarnFromCollectionItem(amount, p1)
end

--- NETWORK_EARN_FROM_HOLDUPS
---
---@param amount any
---@return any
function NetworkEarnFromHoldups(amount)
end

--- NETWORK_GET_REMAINING_TRANSFER_BALANCE
---
--- Same as 0x13A8DE2FD77D04F3.
--- 
--- NativeDB Introduced: v323
--- 
---@return any
function NetworkGetRemainingTransferBalance()
end

--- _NETWORK_SPENT_HANGAR_STAFF_CHARGES
---
--- NativeDB Introduced: v1180
--- 
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentHangarStaffCharges(amount, p1, p2)
end

--- WITHDRAW_VC
---
--- Does nothing and always returns 0.
--- 
---@param amount any
---@return any
function WithdrawVc(amount)
end

--- _NETWORK_EARN_FROM_ASSASSINATE_TARGET_KILLED
---
--- NativeDB Introduced: v1604
--- 
---@param amount any
---@return any
function NetworkEarnFromAssassinateTargetKilled(amount)
end

--- _NETWORK_EARN_FROM_COMPLETE_COLLECTION
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@return any
function NetworkEarnFromCompleteCollection(amount)
end

--- NETWORK_SPENT_BUY_REVEAL_PLAYERS
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentBuyRevealPlayers(p0, p1, p2)
end

--- NETWORK_SPENT_HOLDUPS
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentHoldups(p0, p1, p2)
end

--- _NETWORK_SPENT_UPGRADE_BASE
---
--- NativeDB Introduced: v1290
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentUpgradeBase(p0, p1, p2, p3)
end

--- _NETWORK_SPENT_GANGOPS_START_MISSION
---
--- NativeDB Introduced: v1290
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentGangopsStartMission(p0, p1, p2, p3)
end

--- _NETWORK_SPENT_PA_SERVICE_HELI_PICKUP
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentPaServiceHeliPickup(p0, p1, p2, p3)
end

--- _NETWORK_CASINO_CAN_PURCHASE_CHIPS_WITH_PVC_2
---Same as 0x394DCDB9E836B7A9.
--- NETWORK_C\*
--- 
--- 
--- NativeDB Introduced: v1734
--- 
---@return boolean
function NetworkCasinoCanPurchaseChipsWithPvc2()
end

--- _NETWORK_EARN_FROM_CONTRABAND
---
---@param amount any
---@param p1 any
---@return any
function NetworkEarnFromContraband(amount, p1)
end

--- _NETWORK_EARN_FROM_VEHICLE_AUTOSHOP
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@return any
function NetworkEarnFromVehicleAutoshop(p0, p1)
end

--- NETWORK_GET_PVC_TRANSFER_BALANCE
---
--- Same as 0xEA560AC9EEB1E19B.
--- 
--- 
--- 
--- Same as 0xEA560AC9EEB1E19B.
--- 
--- NativeDB Introduced: v323
--- 
---@return any
function NetworkGetPvcTransferBalance()
end

--- _NETWORK_EARN_COLLECTABLE_COMPLETED_COLLECTION
---
--- NativeDB Introduced: v2060
--- 
---@param amount any
---@param p1 any
---@return any
function NetworkEarnCollectableCompletedCollection(amount, p1)
end

--- _NETWORK_EARN_FROM_BUSINESS_HUB_SELL
---
--- NativeDB Introduced: v1493
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkEarnFromBusinessHubSell(p0, p1, p2)
end

--- _NETWORK_EARN_FROM_TUNER_AWARD
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkEarnFromTunerAward(p0, p1, p2)
end

--- NETWORK_GET_VC_BANK_BALANCE
---
---@return any
function NetworkGetVcBankBalance()
end

--- _NETWORK_EARN_FROM_SIGHTSEEING
---
--- NativeDB Introduced: v2699
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkEarnFromSightseeing(p0, p1, p2, p3)
end

--- _NETWORK_SPENT_AUTOSHOP_MODIFICATIONS
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function NetworkSpentAutoshopModifications(p0, p1, p2, p3, p4)
end

--- NETWORK_SPENT_HELI_PICKUP
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentHeliPickup(p0, p1, p2)
end

--- _NETWORK_SPENT_GANGOPS_CANNON
---
--- NativeDB Introduced: v1290
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentGangopsCannon(p0, p1, p2, p3)
end

--- _NETWORK_EARN_CASINO_HEIST_BONUS
---
--- NativeDB Introduced: v1868
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function NetworkEarnCasinoHeistBonus(p0, p1, p2, p3, p4)
end

--- NETWORK_GET_VC_BALANCE
---
---@return any
function NetworkGetVcBalance()
end

--- _NETWORK_GET_VC_WALLET_BALANCE_IS_NOT_LESS_THAN
---
--- Returns true if wallet balance >= amount.
--- 
--- NativeDB Introduced: v323
--- 
---@param amount any
---@param characterSlot any
---@return boolean
function NetworkGetVcWalletBalanceIsNotLessThan(amount, characterSlot)
end

--- _NETWORK_SPENT_FROM_BANK
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 boolean
---@return any
function NetworkSpentFromBank(p0, p1, p2, p3)
end

--- _NETWORK_EARN_FROM_CASHING_OUT
---
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@return any
function NetworkEarnFromCashingOut(amount)
end

--- _NETWORK_EARN_FROM_SELLING_VEHICLE
---
--- NativeDB Added Parameter 2: Any p1
--- NativeDB Added Parameter 3: Any p2
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@return any
function NetworkEarnFromSellingVehicle(amount)
end

--- _NETWORK_SPENT_HANGAR_UTILITY_CHARGES
---
--- NativeDB Introduced: v1180
--- 
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentHangarUtilityCharges(amount, p1, p2)
end

--- _NETWORK_SPENT_VIP_UTILITY_CHARGES
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkSpentVipUtilityCharges(p0, p1, p2)
end

--- _NETWORK_EARN_FROM_CASINO_AWARD
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@param hash any
---@return any
function NetworkEarnFromCasinoAward(amount, hash)
end

--- NETWORK_SPENT_BOAT_PICKUP
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentBoatPickup(p0, p1, p2)
end

--- NETWORK_SPENT_PAY_VEHICLE_INSURANCE_PREMIUM
---
--- According to how I understood this in the freemode script alone,
--- The first parameter is determined by a function named, func_5749 within the freemode script which has a list of all the vehicles and a set price to return which some vehicles deals with globals as well. So the first parameter is basically the set in stone insurance cost it's gonna charge you for that specific vehicle model.
--- The second parameter whoever put it was right, they call GET_ENTITY_MODEL with the vehicle as the paremeter.
--- The third parameter is the network handle as they call their little struct<13> func or atleast how the script decompiled it to look which in lamens terms just returns the network handle of the previous owner based on DECOR_GET_INT(vehicle, "Previous_Owner").
--- The fourth parameter is a bool that returns true/false depending on if your bank balance is greater then 0.
--- The fifth and last parameter is a bool that returns true/false depending on if you have the money for the car based on the cost returned by func_5749. In the freemode script eg,
--- bool hasTheMoney = MONEY::_GET_BANK_BALANCE() < carCost.
--- 
---@param amount any
---@param vehicleModel any
---@param networkHandle any
---@param notBankrupt boolean
---@param hasTheMoney boolean
---@return any
function NetworkSpentPayVehicleInsurancePremium(amount, vehicleModel, networkHandle, notBankrupt, hasTheMoney)
end

--- _NETWORK_EARN_FROM_AUTOSHOP_INCOME
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@return any
function NetworkEarnFromAutoshopIncome(p0)
end

--- _NETWORK_EARN_FROM_CARCLUB_MEMBERSHIP
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@return any
function NetworkEarnFromCarclubMembership(p0)
end

--- _NETWORK_EARN_FROM_CASINO_MISSION_PARTICIPATION
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@return any
function NetworkEarnFromCasinoMissionParticipation(amount)
end

--- NETWORK_CAN_BUY_LOTTERY_TICKET
---
--- NativeDB Introduced: v323
--- 
---@param cost any
---@return boolean
function NetworkCanBuyLotteryTicket(cost)
end

--- _NETWORK_EARN_FROM_GANGOPS_AWARDS
---
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@param unk any
---@param p2 any
---@return any
function NetworkEarnFromGangopsAwards(amount, unk, p2)
end

--- _NETWORK_EARN_FROM_FMBB_BOSS_WORK
---
--- NativeDB Introduced: v1493
--- 
---@param p0 any
---@return any
function NetworkEarnFromFmbbBossWork(p0)
end

--- _NETWORK_GET_IS_HIGH_EARNER
---
--- NativeDB Introduced: v323
--- 
---@return boolean
function NetworkGetIsHighEarner()
end

--- _NETWORK_SPENT_GANGOPS_TRIP_SKIP
---
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentGangopsTripSkip(amount, p1, p2)
end

--- NETWORK_SPENT_BUY_OFFTHERADAR
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentBuyOfftheradar(p0, p1, p2)
end

--- _NETWORK_SPENT_ISLAND_HEIST
---
--- NativeDB Introduced: v2189
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentIslandHeist(p0, p1, p2, p3)
end

--- _NETWORK_SPENT_UPGRADE_BUNKER
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentUpgradeBunker(p0, p1, p2, p3)
end

--- PROCESS_CASH_GIFT
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function ProcessCashGift(p0, p1, p2)
end

--- NETWORK_BUY_LOTTERY_TICKET
---
--- NativeDB Introduced: v323
--- 
---@param p0 any
---@param p1 any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkBuyLotteryTicket(p0, p1, p2, p3)
end

--- NETWORK_BUY_PROPERTY
---
---@param propertyCost any
---@param propertyName any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkBuyProperty(propertyCost, propertyName, p2, p3)
end

--- _NETWORK_CASINO_CAN_PURCHASE_CHIPS_WITH_PVC
---Same as 0x8968D4D8C6C40C11.
--- NETWORK_C\*
--- 
--- 
--- NativeDB Introduced: v1734
--- 
---@return boolean
function NetworkCasinoCanPurchaseChipsWithPvc()
end

--- NETWORK_SPENT_IN_STRIPCLUB
---
---@param p0 any
---@param p1 boolean
---@param p2 any
---@param p3 boolean
---@return any
function NetworkSpentInStripclub(p0, p1, p2, p3)
end

--- NETWORK_SPENT_PROSTITUTES
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentProstitutes(p0, p1, p2)
end

--- DEPOSIT_VC
---
--- Does nothing and always returns false.
--- 
---@param amount any
---@return boolean
function DepositVc(amount)
end

--- _NETWORK_EARN_FROM_CASINO_MISSION_REWARD
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@return any
function NetworkEarnFromCasinoMissionReward(amount)
end

--- NETWORK_PAY_MATCH_ENTRY_FEE
---
---@param amount any
---@param matchId any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkPayMatchEntryFee(amount, matchId, p2, p3)
end

--- NETWORK_MONEY_CAN_BET
---
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@return boolean
function NetworkMoneyCanBet(amount, p1, p2)
end

--- _NETWORK_SPENT_BALLISTIC_EQUIPMENT
---
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentBallisticEquipment(amount, p1, p2)
end

--- NETWORK_SPENT_BUY_PASSIVE_MODE
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentBuyPassiveMode(p0, p1, p2)
end

--- _NETWORK_EARN_FROM_AUTOSHOP_BUSINESS
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@return any
function NetworkEarnFromAutoshopBusiness(p0, p1)
end

--- NETWORK_EARN_FROM_BETTING
---
---@param amount any
---@param p1 any
---@return any
function NetworkEarnFromBetting(amount, p1)
end

--- _NETWORK_EARN_FROM_BUSINESS_HUB_SOURCE
---
--- NativeDB Introduced: v2699
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkEarnFromBusinessHubSource(p0, p1, p2, p3)
end

--- _NETWORK_SPENT_MAKE_IT_RAIN
---
--- NativeDB Introduced: v1604
--- 
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentMakeItRain(amount, p1, p2)
end

--- _NETWORK_SPENT_PA_SERVICE_DANCER
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentPaServiceDancer(p0, p1, p2, p3)
end

--- NETWORK_SPENT_REQUEST_HEIST
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentRequestHeist(p0, p1, p2)
end

--- _NETWORK_CASINO_SELL_CHIPS
---NETWORK_C\*
--- 
--- 
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@param p1 any
---@return boolean
function NetworkCasinoSellChips(p0, p1)
end

--- _NETWORK_EARN_FROM_BIKER_INCOME
---
--- NativeDB Introduced: v2699
--- 
---@param p0 any
---@return any
function NetworkEarnFromBikerIncome(p0)
end

--- _NETWORK_SPENT_PAY_BOSS
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkSpentPayBoss(p0, p1, p2)
end

--- _NETWORK_EARN_FROM_WAGE_PAYMENT
---
--- NativeDB Introduced: v1180
--- 
---@param amount any
---@return any
function NetworkEarnFromWagePayment(amount)
end

--- _NETWORK_SPENT_SPIN_THE_WHEEL_PAYMENT
---
--- NativeDB Introduced: v1604
--- 
--- NativeDB Removed Parameter 4: BOOL p3
--- 
---@param amount any
---@param p1 any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkSpentSpinTheWheelPayment(amount, p1, p2, p3)
end

--- NETWORK_EARN_FROM_BEND_JOB
---
---@param amount any
---@param heistHash any
---@return any
function NetworkEarnFromBendJob(amount, heistHash)
end

--- _NETWORK_EARN_FROM_RC_TIME_TRIAL
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@return any
function NetworkEarnFromRcTimeTrial(amount)
end

--- _NETWORK_SPENT_BUY_BUNKER
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentBuyBunker(p0, p1, p2, p3)
end

--- _NETWORK_SPENT_BUY_BASE
---
--- NativeDB Introduced: v1290
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentBuyBase(p0, p1, p2, p3)
end

--- NETWORK_SPENT_CASH_DROP
---
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentCashDrop(amount, p1, p2)
end

--- _NETWORK_SPENT_ORDER_BODYGUARD_VEHICLE
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentOrderBodyguardVehicle(p0, p1, p2, p3)
end

--- NETWORK_BUY_SMOKES
---
--- NativeDB Introduced: v323
--- 
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkBuySmokes(p0, p1, p2)
end

--- _NETWORK_DEDUCT_CASH
---
--- NativeDB Introduced: v323
--- 
---@param amount any
---@param p1 any
---@param p2 any
---@param p3 boolean
---@param p4 boolean
---@param p5 boolean
---@return any
function NetworkDeductCash(amount, p1, p2, p3, p4, p5)
end

--- NETWORK_GET_PVC_BALANCE
---
--- NativeDB Introduced: v323
--- 
---@return any
function NetworkGetPvcBalance()
end

--- _NETWORK_SPENT_CASINO_CLUB_GENERIC
---
--- NativeDB Introduced: v2189
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@param p7 any
---@param p8 any
---@return any
function NetworkSpentCasinoClubGeneric(p0, p1, p2, p3, p4, p5, p6, p7, p8)
end

--- _NETWORK_EARN_FROM_HACKER_TRUCK_MISSION
---
--- NativeDB Introduced: v1493
--- 
---@param p0 any
---@param amount any
---@param p2 any
---@param p3 any
---@return any
function NetworkEarnFromHackerTruckMission(p0, amount, p2, p3)
end

--- _NETWORK_SPENT_BA_SERVICE
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function NetworkSpentBaService(p0, p1, p2, p3, p4)
end

--- _NETWORK_SPENT_ARENA_SPECTATOR_BOX
---
--- NativeDB Introduced: v1604
--- 
---@param amount any
---@param p1 any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkSpentArenaSpectatorBox(amount, p1, p2, p3)
end

--- _NETWORK_EARN_FROM_GANGOPS_ELITE
---
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@param unk any
---@param actIndex any
---@return any
function NetworkEarnFromGangopsElite(amount, unk, actIndex)
end

--- NETWORK_EARN_FROM_PICKUP
---
---@param amount any
---@return any
function NetworkEarnFromPickup(amount)
end

--- NETWORK_SPENT_AMMO_DROP
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentAmmoDrop(p0, p1, p2)
end

--- _NETWORK_SPENT_AUTOSHOP_PROPERTY_UTILITY_FEE
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentAutoshopPropertyUtilityFee(p0, p1, p2, p3)
end

--- NETWORK_BUY_HELI_STRIKE
---
--- p1 = 0 (always)  
--- p2 = 1 (always)  
--- 
---@param cost any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkBuyHeliStrike(cost, p1, p2)
end

--- _NETWORK_EARN_FMBB_WAGE_BONUS
---
--- NativeDB Introduced: v1493
--- 
---@param p0 any
---@return any
function NetworkEarnFmbbWageBonus(p0)
end

--- _NETWORK_EARN_FROM_BUSINESS_BATTLE
---
--- NativeDB Introduced: v1493
--- 
---@param p0 any
---@return any
function NetworkEarnFromBusinessBattle(p0)
end

--- _NETWORK_EARN_FROM_CRIMINAL_MASTERMIND_BONUS
---
--- NativeDB Introduced: v1290
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkEarnFromCriminalMastermindBonus(p0, p1, p2)
end

--- _NETWORK_SPENT_VEHICLE_EXPORT_MODS
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@param p7 any
---@param p8 any
---@param p9 any
---@return any
function NetworkSpentVehicleExportMods(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9)
end

--- _NETWORK_SPENT_BUY_ARENA
---
--- NativeDB Introduced: v1604
--- 
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@param p3 any
---@return any
function NetworkSpentBuyArena(amount, p1, p2, p3)
end

--- _NETWORK_SPENT_BUY_TILTROTOR
---
--- NativeDB Introduced: v1290
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentBuyTiltrotor(p0, p1, p2, p3)
end

--- _NETWORK_SPENT_CARCLUB
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@param p3 any
---@return any
function NetworkSpentCarclub(p0, p1, p2, p3)
end

--- NETWORK_SPENT_PLAYER_HEALTHCARE
---
---@param p0 any
---@param p1 any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkSpentPlayerHealthcare(p0, p1, p2, p3)
end

--- _NETWORK_EARN_FROM_VEHICLE_AUTOSHOP_BONUS
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@return any
function NetworkEarnFromVehicleAutoshopBonus(p0)
end

--- _NETWORK_EARN_FROM_WAREHOUSE
---
--- NativeDB Added Parameter 1: int amount
--- NativeDB Added Parameter 2: int id
--- 
---@return any
function NetworkEarnFromWarehouse()
end

--- NETWORK_SPENT_BETTING
---
---@param amount any
---@param p1 any
---@param matchId any
---@param p3 boolean
---@param p4 boolean
---@return any
function NetworkSpentBetting(amount, p1, matchId, p3, p4)
end

--- _NETWORK_SPENT_CASINO_MEMBERSHIP
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@param p3 any
---@return any
function NetworkSpentCasinoMembership(amount, p1, p2, p3)
end

--- _NETWORK_SPENT_EMPLOY_ASSASSINS
---
--- NativeDB Introduced: v1290
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentEmployAssassins(p0, p1, p2, p3)
end

--- NETWORK_EARN_FROM_ROCKSTAR
---
---@param amount any
---@return any
function NetworkEarnFromRockstar(amount)
end

--- NETWORK_SPENT_ARREST_BAIL
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentArrestBail(p0, p1, p2)
end

--- _NETWORK_SPENT_BEACH_PARTY_GENERIC
---
--- NativeDB Introduced: v2189
--- 
---@param p0 any
---@return any
function NetworkSpentBeachPartyGeneric(p0)
end

--- _NETWORK_EARN_FROM_BIKE_SHOP_BUSINESS
---
--- NativeDB Introduced: v2699
--- 
---@param p0 any
---@param p1 any
---@return any
function NetworkEarnFromBikeShopBusiness(p0, p1)
end

--- _NETWORK_SPENT_NIGHTCLUB_ENTRY_FEE
---
--- NativeDB Introduced: v1493
--- 
---@param player number
---@param amount any
---@param p1 any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkSpentNightclubEntryFee(player, amount, p1, p2, p3)
end

--- _NETWORK_EARN_FROM_BB_EVENT_BONUS
---
--- NativeDB Introduced: v1604
--- 
---@param amount any
---@return any
function NetworkEarnFromBbEventBonus(amount)
end

--- NETWORK_SPENT_FROM_ROCKSTAR
---
---@param bank any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentFromRockstar(bank, p1, p2)
end

--- NETWORK_SPENT_TELESCOPE
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentTelescope(p0, p1, p2)
end

--- NETWORK_BUY_AIRSTRIKE
---
--- p1 = 0 (always)  
--- p2 = 1 (always)  
--- 
---@param cost any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkBuyAirstrike(cost, p1, p2)
end

--- NETWORK_CAN_RECEIVE_PLAYER_CASH
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return boolean
function NetworkCanReceivePlayerCash(p0, p1, p2, p3)
end

--- NETWORK_INITIALIZE_CASH
---
---@param wallet any
---@param bank any
---@return any
function NetworkInitializeCash(wallet, bank)
end

--- _NETWORK_EARN_FROM_TIME_TRIAL_WIN
---
--- NativeDB Introduced: v1734
--- 
---@param amount any
---@return any
function NetworkEarnFromTimeTrialWin(amount)
end

--- NETWORK_SPENT_NO_COPS
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentNoCops(p0, p1, p2)
end

--- _NETWORK_EARN_BOSS
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkEarnBoss(p0, p1, p2)
end

--- NETWORK_GET_STRING_BANK_BALANCE
---
---@return any
function NetworkGetStringBankBalance()
end

--- _NETWORK_SPENT_ARCADE_GENERIC
---
--- NativeDB Introduced: v1868
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function NetworkSpentArcadeGeneric(p0, p1, p2, p3, p4)
end

--- _NETWORK_SPENT_RENAME_ORGANIZATION
---
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkSpentRenameOrganization(p0, p1, p2)
end

--- NETWORK_BUY_FAIRGROUND_RIDE
---
--- The first parameter is the amount spent which is store in a global when this native is called. The global returns 10. Which is the price for both rides.  
--- The last 3 parameters are,   
--- 2,0,1 in the am_ferriswheel.c  
--- 1,0,1 in the am_rollercoaster.c  
--- 
---@param amountSpent any
---@param p1 any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkBuyFairgroundRide(amountSpent, p1, p2, p3)
end

--- _NETWORK_EARN_BOUNTY_HUNTER_REWARD
---
--- NativeDB Introduced: v1493
--- 
---@param p0 any
---@return any
function NetworkEarnBountyHunterReward(p0)
end

--- NETWORK_EARN_FROM_IMPORT_EXPORT
---
---@param amount any
---@param modelHash any
---@return any
function NetworkEarnFromImportExport(amount, modelHash)
end

--- NETWORK_PAY_UTILITY_BILL
---
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkPayUtilityBill(amount, p1, p2)
end

--- _NETWORK_SPENT_JOB_SKIP
---
--- NativeDB Introduced: v323
--- 
---@param amount any
---@param matchId any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkSpentJobSkip(amount, matchId, p2, p3)
end

--- _NETWORK_EARN_FROM_ARENA_CAREER_PROGRESSION
---
--- NativeDB Introduced: v1604
--- 
---@param amount any
---@param p1 any
---@return any
function NetworkEarnFromArenaCareerProgression(amount, p1)
end

--- NETWORK_EARN_FROM_PERSONAL_VEHICLE
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@param p7 any
---@param p8 any
---@return any
function NetworkEarnFromPersonalVehicle(p0, p1, p2, p3, p4, p5, p6, p7, p8)
end

--- _NETWORK_EARN_FROM_TARGET_REFUND
---
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@param p1 any
---@return any
function NetworkEarnFromTargetRefund(amount, p1)
end

--- NETWORK_BUY_BACKUP_GANG
---
--- NativeDB Introduced: v323
--- 
---@param p0 any
---@param p1 any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkBuyBackupGang(p0, p1, p2, p3)
end

--- _NETWORK_CAN_SPEND_MONEY_2
---
--- NETWORK_CAN_R??? or NETWORK_CAN_S???  
--- 
--- 
--- 
--- NativeDB Added Parameter 7: Any p6
--- 
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@param p3 boolean
---@param p4 any
---@param p5 any
---@return boolean
function NetworkCanSpendMoney2(p0, p1, p2, p3, p4, p5)
end

--- _NETWORK_SPENT_IM_ABILITY
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentImAbility(p0, p1, p2, p3)
end

--- _NETWORK_SPENT_UPGRADE_ARENA
---
--- NativeDB Introduced: v1604
--- 
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@param p3 any
---@return any
function NetworkSpentUpgradeArena(amount, p1, p2, p3)
end

--- NETWORK_SPENT_BANK_INTEREST
---
--- NativeDB Introduced: v323
--- 
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentBankInterest(p0, p1, p2)
end

--- _NETWORK_SPENT_GANGOPS_START_STRAND
---
--- NativeDB Introduced: v1290
--- 
---@param type any
---@param amount any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkSpentGangopsStartStrand(type, amount, p2, p3)
end

--- _NETWORK_CASINO_PURCHASE_CHIPS
---NETWORK_C\*
--- 
--- 
--- NativeDB Introduced: v1734
--- 
---@param p0 any
---@param p1 any
---@return boolean
function NetworkCasinoPurchaseChips(p0, p1)
end

--- _NETWORK_EARN_CASINO_HEIST
---
--- NativeDB Introduced: v1868
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@param p5 any
---@param p6 any
---@return any
function NetworkEarnCasinoHeist(p0, p1, p2, p3, p4, p5, p6)
end

--- _NETWORK_EARN_FROM_GANGOPS_JOBS_FINALE
---
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@param unk any
---@return any
function NetworkEarnFromGangopsJobsFinale(amount, unk)
end

--- _NETWORK_EARN_FROM_GANGOPS_WAGES_BONUS
---
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@param p1 any
---@return any
function NetworkEarnFromGangopsWagesBonus(amount, p1)
end

--- _NETWORK_GET_VC_BANK_WALLET_BALANCE_IS_NOT_LESS_THAN
---
--- Returns true if bank balance + wallet balance >= amount.
--- 
---@param amount any
---@param characterSlot any
---@return boolean
function NetworkGetVcBankWalletBalanceIsNotLessThan(amount, characterSlot)
end

--- NETWORK_SPENT_TAXI
---
---@param amount any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentTaxi(amount, p1, p2)
end

--- NETWORK_CLEAR_CHARACTER_WALLET
---
---@param characterSlot any
---@return any
function NetworkClearCharacterWallet(characterSlot)
end

--- NETWORK_EARN_FROM_CHALLENGE_WIN
---
---@param p0 any
---@param p1 any
---@param p2 boolean
---@return any
function NetworkEarnFromChallengeWin(p0, p1, p2)
end

--- _NETWORK_SPENT_ARENA_JOIN_SPECTATOR
---
--- NativeDB Introduced: v1604
--- 
---@param amount any
---@param p1 any
---@param p2 boolean
---@param p3 boolean
---@return any
function NetworkSpentArenaJoinSpectator(amount, p1, p2, p3)
end

--- NETWORK_GET_EVC_BALANCE
---
--- NativeDB Introduced: v323
--- 
---@return any
function NetworkGetEvcBalance()
end

--- _NETWORK_EARN_FROM_DAR_CHALLENGE
---
--- NativeDB Introduced: v1290
--- 
---@param amount any
---@param p1 any
---@return any
function NetworkEarnFromDarChallenge(amount, p1)
end

--- NETWORK_REFUND_CASH
---
--- index  
--- -------  
--- See function sub_1005 in am_boat_taxi.ysc  
--- context  
--- ----------  
--- "BACKUP_VAGOS"  
--- "BACKUP_LOST"  
--- "BACKUP_FAMILIES"  
--- "HIRE_MUGGER"  
--- "HIRE_MERCENARY"  
--- "BUY_CARDROPOFF"  
--- "HELI_PICKUP"  
--- "BOAT_PICKUP"  
--- "CLEAR_WANTED"  
--- "HEAD_2_HEAD"  
--- "CHALLENGE"  
--- "SHARE_LAST_JOB"  
--- "DEFAULT"  
--- reason  
--- ---------  
--- "NOTREACHTARGET"  
--- "TARGET_ESCAPE"  
--- "DELIVERY_FAIL"  
--- "NOT_USED"  
--- "TEAM_QUIT"  
--- "SERVER_ERROR"  
--- "RECEIVE_LJ_L"  
--- "CHALLENGE_PLAYER_LEFT"  
--- "DEFAULT"  
--- unk  
--- -----  
--- Unknown bool value  
--- 
---@param index any
---@param context any
---@param reason any
---@param unk boolean
---@return any
function NetworkRefundCash(index, context, reason, unk)
end

--- _NETWORK_SPENT_UPGRADE_AUTOSHOP
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentUpgradeAutoshop(p0, p1, p2, p3)
end

--- NETWORK_BUY_HEALTHCARE
---
---@param cost any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkBuyHealthcare(cost, p1, p2)
end

--- _NETWORK_SPENT_SALES_DISPLAY
---
--- NativeDB Introduced: v2699
--- 
---@param p0 boolean
---@return any
function NetworkSpentSalesDisplay(p0)
end

--- _NETWORK_SPENT_WAGER
---
---@param p0 any
---@param p1 any
---@param amount any
---@return any
function NetworkSpentWager(p0, p1, amount)
end

--- NETWORK_EARN_FROM_AMBIENT_JOB
---
--- Example for p1: "AM_DISTRACT_COPS"  
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@return any
function NetworkEarnFromAmbientJob(p0, p1, p2)
end

--- _NETWORK_EARN_FROM_PREMIUM_JOB
---
---@param amount any
---@param p1 any
---@return any
function NetworkEarnFromPremiumJob(amount, p1)
end

--- NETWORK_SPENT_HIRE_MERCENARY
---
---@param p0 any
---@param p1 boolean
---@param p2 boolean
---@return any
function NetworkSpentHireMercenary(p0, p1, p2)
end

--- _NETWORK_SPENT_PAY_GOON
---
---@param p0 any
---@param p1 any
---@param amount any
---@return any
function NetworkSpentPayGoon(p0, p1, amount)
end

--- _NETWORK_SPENT_CARCLUB_MEMBERSHIP
---
--- NativeDB Introduced: v2372
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@param p4 any
---@return any
function NetworkSpentCarclubMembership(p0, p1, p2, p3, p4)
end

--- _NETWORK_SPENT_PURCHASE_HANGAR
---
--- NativeDB Introduced: v1180
--- 
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 any
---@return any
function NetworkSpentPurchaseHangar(p0, p1, p2, p3)
end

--- _CAN_PAY_GOON
---
--- NativeDB Added Parameter 1: int p0
--- NativeDB Added Parameter 2: int p1
--- NativeDB Added Parameter 3: int amount
--- NativeDB Added Parameter 4: int* p3
--- 
---@return boolean
function CanPayGoon()
end

--- _NETWORK_BUY_CONTRABAND
---
---@param p0 any
---@param p1 any
---@param p2 any
---@param p3 boolean
---@param p4 boolean
---@return any
function NetworkBuyContraband(p0, p1, p2, p3, p4)
end

--- _NETWORK_RIVAL_DELIVERY_COMPLETED
---
--- NativeDB Introduced: v1290
--- 
---@param earnedMoney any
---@return any
function NetworkRivalDeliveryCompleted(earnedMoney)
end

--- GET_SHAPE_TEST_RESULT_INCLUDING_MATERIAL
---Returns the result of a shape test, also returning the material of any touched surface.
--- 
--- When used with an asynchronous shape test, this native should be looped until returning 0 or 2, after which the handle is invalidated.
--- 
--- Unless the return value is 2, the other return values are undefined.
---@param shapeTestHandle any
---@param hit any
---@param endCoords any
---@param surfaceNormal any
---@param materialHash any
---@param entityHit any
---@return any
function GetShapeTestResultIncludingMaterial(shapeTestHandle, hit, endCoords, surfaceNormal, materialHash, entityHit)
end

--- START_EXPENSIVE_SYNCHRONOUS_SHAPE_TEST_LOS_PROBE
---Does the same as [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E), except blocking until the shape test completes.
--- 
--- Use [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E) instead. Literally. Rockstar named this correctly: it's expensive, and it's synchronous.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param flags any
---@param entity number
---@param p8 any
---@return any
function StartExpensiveSynchronousShapeTestLosProbe(x1, y1, z1, x2, y2, z2, flags, entity, p8)
end

--- RELEASE_SCRIPT_GUID_FROM_ENTITY
---Invalidates the entity handle passed by removing the fwScriptGuid from the entity. This should be used when receiving an
--- ambient entity from shape testing natives, but can also be used for other natives returning an 'irrelevant' entity handle.
---@param entity number
---@return any
function ReleaseScriptGuidFromEntity(entity)
end

--- START_SHAPE_TEST_BOUND
---See [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E) for flags.
---@param entity number
---@param flags1 any
---@param flags2 any
---@return any
function StartShapeTestBound(entity, flags1, flags2)
end

--- START_SHAPE_TEST_LOS_PROBE
---Asynchronously starts a line-of-sight (raycast) world probe shape test.
--- 
--- cpp
--- enum TraceFlags
--- {
---   None = 0,
---   IntersectWorld = 1,
---   IntersectVehicles = 2,
---   IntersectPedsSimpleCollision = 4,
---   IntersectPeds = 8,
---   IntersectObjects = 16,
---   IntersectWater = 32,
---   Unknown = 128,
---   IntersectFoliage = 256,
---   IntersectEverything = 4294967295
--- }
--- 
--- 
--- NOTE: Raycasts that intersect with mission_entites (flag = 2) has limited range and will not register for far away entites. The range seems to be about 30 metres.
--- 
--- Use the handle with [GET_SHAPE_TEST_RESULT](#\_0x3D87450E15D98694) or [GET_SHAPE_TEST_RESULT_INCLUDING_MATERIAL](#\_0x65287525D951F6BE) until it returns 0 or 2.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param flags any
---@param entity number
---@param p8 any
---@return any
function StartShapeTestLosProbe(x1, y1, z1, x2, y2, z2, flags, entity, p8)
end

--- START_SHAPE_TEST_SWEPT_SPHERE
---Performs the same type of trace as START_SHAPE_TEST_CAPSULE, but with some different hardcoded parameters.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param radius number
---@param flags any
---@param entity number
---@param p9 any
---@return any
function StartShapeTestSweptSphere(x1, y1, z1, x2, y2, z2, radius, flags, entity, p9)
end

--- GET_SHAPE_TEST_RESULT
---Returns the result of a shape test.
--- 
--- When used with an asynchronous shape test, this native should be looped until returning 0 or 2, after which the handle is invalidated.
--- 
--- Unless the return value is 2, the other return values are undefined.
---@param shapeTestHandle any
---@param hit any
---@param endCoords any
---@param surfaceNormal any
---@param entityHit any
---@return any
function GetShapeTestResult(shapeTestHandle, hit, endCoords, surfaceNormal, entityHit)
end

--- START_SHAPE_TEST_BOUNDING_BOX
---See [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E) for flags.
---@param entity number
---@param flags1 any
---@param flags2 any
---@return any
function StartShapeTestBoundingBox(entity, flags1, flags2)
end

--- START_SHAPE_TEST_BOX
---For more information, see [START_EXPENSIVE_SYNCHRONOUS_SHAPE_TEST_LOS_PROBE](#\_0x377906D8A31E5586) and [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E).
---@param x number
---@param y number
---@param z number
---@param x1 number
---@param y1 number
---@param z1 number
---@param rotX number
---@param rotY number
---@param rotZ number
---@param p9 any
---@param flags any
---@param entity number
---@param p12 any
---@return any
function StartShapeTestBox(x, y, z, x1, y1, z1, rotX, rotY, rotZ, p9, flags, entity, p12)
end

--- START_SHAPE_TEST_CAPSULE
---Raycast from point to point, where the ray has a radius.
---@param x1 number
---@param y1 number
---@param z1 number
---@param x2 number
---@param y2 number
---@param z2 number
---@param radius number
---@param flags any
---@param entity number
---@param p9 any
---@return any
function StartShapeTestCapsule(x1, y1, z1, x2, y2, z2, radius, flags, entity, p9)
end

--- _START_SHAPE_TEST_SURROUNDING_COORDS
---Since it is only used in the PC version, likely some mouse-friendly shape test. Uses **in** vector arguments.
--- 
--- Asynchronous.
--- 
--- 
--- it returns a ShapeTest handle that can be used with GET_SHAPE_TEST_RESULT.  
--- In its only usage in game scripts its called with flag set to 511, entity to player_ped_id and flag2 set to 7  
--- 
--- 
--- See [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E) for flags.
---@param pVec1 any
---@param pVec2 any
---@param flag any
---@param entity number
---@param flag2 any
---@return any
function StartShapeTestSurroundingCoords(pVec1, pVec2, flag, entity, flag2)
end

--- GET_WEAPON_COMPONENT_TYPE_MODEL
---
---@param componentHash any
---@return any
function GetWeaponComponentTypeModel(componentHash)
end

--- GET_WEAPONTYPE_GROUP
---
---@param weaponHash any
---@return any
function GetWeapontypeGroup(weaponHash)
end

--- IS_PED_WEAPON_READY_TO_SHOOT
---
---@param ped number
---@return boolean
function IsPedWeaponReadyToShoot(ped)
end

--- REMOVE_ALL_PROJECTILES_OF_TYPE
---If explode true, then removal is done through exploding the projectile. Basically the same as EXPLODE_PROJECTILES but without defining the owner ped.
---@param weaponHash any
---@param explode boolean
---@return any
function RemoveAllProjectilesOfType(weaponHash, explode)
end

--- GIVE_WEAPON_TO_PED
---
---@param ped number
---@param weaponHash any
---@param ammoCount any
---@param isHidden boolean
---@param bForceInHand boolean
---@return any
function GiveWeaponToPed(ped, weaponHash, ammoCount, isHidden, bForceInHand)
end

--- _SET_PLAYER_AIR_DEFENSE_ZONE_FLAG
---
---@param player number
---@param zoneId any
---@param enable boolean
---@return any
function SetPlayerAirDefenseZoneFlag(player, zoneId, enable)
end

--- SET_WEAPON_OBJECT_TINT_INDEX
---
---@param weapon any
---@param tintIndex any
---@return any
function SetWeaponObjectTintIndex(weapon, tintIndex)
end

--- CLEAR_ENTITY_LAST_WEAPON_DAMAGE
---
---@param entity number
---@return any
function ClearEntityLastWeaponDamage(entity)
end

--- EXPLODE_PROJECTILES
---
--- WEAPON::EXPLODE_PROJECTILES(PLAYER::PLAYER_PED_ID(), func_221(0x00000003), 0x00000001);  
--- 
---@param ped number
---@param weaponHash any
---@param p2 boolean
---@return any
function ExplodeProjectiles(ped, weaponHash, p2)
end

--- _GET_MAX_AMMO_BY_TYPE
---
---@param ped number
---@param ammoType any
---@param ammo any
---@return boolean
function GetMaxAmmoByType(ped, ammoType, ammo)
end

--- _GET_WEAPON_COMPONENT_VARIANT_EXTRA_COMPONENT_COUNT
---
---@param componentHash any
---@return any
function GetWeaponComponentVariantExtraComponentCount(componentHash)
end

--- SET_PED_CURRENT_WEAPON_VISIBLE
---
--- Has 5 parameters since latest patches.  
--- 
---@param ped number
---@param visible boolean
---@param deselectWeapon boolean
---@param p3 boolean
---@param p4 boolean
---@return any
function SetPedCurrentWeaponVisible(ped, visible, deselectWeapon, p3, p4)
end

--- SET_PED_WEAPON_TINT_INDEX
---
--- tintIndex can be the following:  
--- 0 : Default/Black
--- 1 : Green
--- 2 : Gold
--- 3 : Pink
--- 4 : Army
--- 5 : LSPD
--- 6 : Orange
--- 7 : Platinum
--- 
--- tintIndex for MK2 weapons :
--- 0 : Classic Black
--- 1 : Classic Gray
--- 2 : Classic Two-Tone
--- 3 : Classic White
--- 4 : Classic Beige
--- 5 : Classic Green
--- 6 : Classic Blue
--- 7 : Classic Earth
--- 8 : Classic Brown & Black
--- 9 : Red Contrast
--- 10 : Blue Contrast
--- 11 : Yellow Contrast
--- 12 : Orange Contrast
--- 13 : Bold Pink
--- 14 : Bold Purple & Yellow
--- 15 : Bold Orange
--- 16 : Bold Green & Purple
--- 17 : Bold Red Features
--- 18 : Bold Green Features
--- 19 : Bold Cyan Features
--- 20 : Bold Yellow Features
--- 21 : Bold Red & White
--- 22 : Bold Blue & White
--- 23 : Metallic Gold
--- 24 : Metallic Platinum
--- 25 : Metallic Gray & Lilac
--- 26 : Metallic Purple & Lime
--- 27 : Metallic Red
--- 28 : Metallic Green
--- 29 : Metallic Blue
--- 30 : Metallic White & Aqua
--- 31 : Metallic Orange & Yellow
--- 32 : Mettalic Red and Yellow
--- 
---@param ped number
---@param weaponHash any
---@param tintIndex any
---@return any
function SetPedWeaponTintIndex(ped, weaponHash, tintIndex)
end

--- _GET_WEAPON_OBJECT_LIVERY_COLOR
---
---@param weaponObject any
---@param camoComponentHash any
---@return any
function GetWeaponObjectLiveryColor(weaponObject, camoComponentHash)
end

--- IS_PED_CURRENT_WEAPON_SILENCED
---
--- This native returns a true or false value.  
--- Ped ped = The ped whose weapon you want to check.  
--- 
---@param ped number
---@return boolean
function IsPedCurrentWeaponSilenced(ped)
end

--- REQUEST_WEAPON_ASSET
---
--- Nearly every instance of p1 I found was 31. Nearly every instance of p2 I found was 0.  
--- REQUEST_WEAPON_ASSET(iLocal_1888, 31, 26);  
--- 
---@param weaponHash any
---@param p1 any
---@param p2 any
---@return any
function RequestWeaponAsset(weaponHash, p1, p2)
end

--- SET_PED_DROPS_WEAPON
---
---@param ped number
---@return any
function SetPedDropsWeapon(ped)
end

--- _SET_WEAPON_OBJECT_LIVERY_COLOR
---
---@param weaponObject any
---@param camoComponentHash any
---@param colorIndex any
---@return any
function SetWeaponObjectLiveryColor(weaponObject, camoComponentHash, colorIndex)
end

--- GET_MAX_AMMO
---
---@param ped number
---@param weaponHash any
---@param ammo any
---@return boolean
function GetMaxAmmo(ped, weaponHash, ammo)
end

--- _GET_PED_WEAPON_LIVERY_COLOR
---
---@param ped number
---@param weaponHash any
---@param camoComponentHash any
---@return any
function GetPedWeaponLiveryColor(ped, weaponHash, camoComponentHash)
end

--- IS_PED_WEAPON_COMPONENT_ACTIVE
---
---@param ped number
---@param weaponHash any
---@param componentHash any
---@return boolean
function IsPedWeaponComponentActive(ped, weaponHash, componentHash)
end

--- HAS_PED_GOT_WEAPON
---
--- p2 should be FALSE, otherwise it seems to always return FALSE  
--- Bool does not check if the weapon is current equipped, unfortunately.  
--- 
---@param ped number
---@param weaponHash any
---@param p2 boolean
---@return boolean
function HasPedGotWeapon(ped, weaponHash, p2)
end

--- REMOVE_WEAPON_COMPONENT_FROM_PED
---
---@param ped number
---@param weaponHash any
---@param componentHash any
---@return any
function RemoveWeaponComponentFromPed(ped, weaponHash, componentHash)
end

--- REMOVE_WEAPON_ASSET
---
---@param weaponHash any
---@return any
function RemoveWeaponAsset(weaponHash)
end

--- SET_AMMO_IN_CLIP
---
---@param ped number
---@param weaponHash any
---@param ammo any
---@return boolean
function SetAmmoInClip(ped, weaponHash, ammo)
end

--- GET_IS_PED_GADGET_EQUIPPED
---
--- gadgetHash - was always 0xFBAB5776 ("GADGET_PARACHUTE").  
--- 
---@param ped number
---@param gadgetHash any
---@return boolean
function GetIsPedGadgetEquipped(ped, gadgetHash)
end

--- GET_PED_WEAPONTYPE_IN_SLOT
---
---@param ped number
---@param weaponSlot any
---@return any
function GetPedWeapontypeInSlot(ped, weaponSlot)
end

--- _CREATE_AIR_DEFENSE_SPHERE
---Both coordinates are from objects in the decompiled scripts.
--- 
--- Native related to [\_0xECDC202B25E5CF48](#\_0xECDC202B25E5CF48) p1 value. The only weapon hash used in the decompiled scripts is weapon_air_defence_gun. These two natives are used by the yacht script, decompiled scripts suggest it and the weapon hash used (valkyrie's rockets) are also used by yachts.
---@param x number
---@param y number
---@param z number
---@param radius number
---@param p4 number
---@param p5 number
---@param p6 number
---@param weaponHash any
---@return any
function CreateAirDefenseSphere(x, y, z, radius, p4, p5, p6, weaponHash)
end

--- GET_WEAPON_COMPONENT_HUD_STATS
---
---@param componentHash any
---@param outData any
---@return boolean
function GetWeaponComponentHudStats(componentHash, outData)
end

--- HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON
---
--- It determines what weapons caused damage:
--- If you want to define only a specific weapon, second parameter=weapon hash code, third parameter=0
--- If you want to define any melee weapon, second parameter=0, third parameter=1.
--- If you want to identify any weapon (firearms, melee, rockets, etc.), second parameter=0, third parameter=2.
--- 
---@param entity number
---@param weaponHash any
---@param weaponType any
---@return boolean
function HasEntityBeenDamagedByWeapon(entity, weaponHash, weaponType)
end

--- HAS_VEHICLE_GOT_PROJECTILE_ATTACHED
---
--- Third Parameter = unsure, but pretty sure it is weapon hash  
--- --> get_hash_key("weapon_stickybomb")  
--- Fourth Parameter = unsure, almost always -1  
--- 
---@param driver number
---@param vehicle any
---@param weaponHash any
---@param p3 any
---@return boolean
function HasVehicleGotProjectileAttached(driver, vehicle, weaponHash, p3)
end

--- HAS_WEAPON_ASSET_LOADED
---
---@param weaponHash any
---@return boolean
function HasWeaponAssetLoaded(weaponHash)
end

--- GET_LOCKON_DISTANCE_OF_CURRENT_PED_WEAPON
---
---@param ped number
---@return number
function GetLockonDistanceOfCurrentPedWeapon(ped)
end

--- GET_MAX_AMMO_IN_CLIP
---
--- p2 is mostly 1 in the scripts.  
--- 
---@param ped number
---@param weaponHash any
---@param p2 boolean
---@return any
function GetMaxAmmoInClip(ped, weaponHash, p2)
end

--- GET_WEAPON_CLIP_SIZE
---
--- // Returns the size of the default weapon component clip.  
--- Use it like this:  
--- char cClipSize[32];  
--- Hash cur;  
--- if (WEAPON::GET_CURRENT_PED_WEAPON(playerPed, &cur, 1))  
--- {  
---     if (WEAPON::IS_WEAPON_VALID(cur))  
---     {  
---         int iClipSize = WEAPON::GET_WEAPON_CLIP_SIZE(cur);  
---         sprintf_s(cClipSize, "ClipSize: %.d", iClipSize);  
---         vDrawString(cClipSize, 0.5f, 0.5f);  
---     }  
--- }  
--- 
---@param weaponHash any
---@return any
function GetWeaponClipSize(weaponHash)
end

--- SET_PED_AMMO_BY_TYPE
---
---@param ped number
---@param ammoType any
---@param ammo any
---@return any
function SetPedAmmoByType(ped, ammoType, ammo)
end

--- SET_PED_SHOOT_ORDNANCE_WEAPON
---
--- Returns handle of the projectile.
--- 
---@param ped number
---@param p1 number
---@return any
function SetPedShootOrdnanceWeapon(ped, p1)
end

--- _SET_WEAPON_DAMAGE_MODIFIER
---Changes the weapon damage output by the given multiplier value.
--- Does NOT need to be called every frame.
---@param weaponHash any
---@param damageMultiplier number
---@return any
function SetWeaponDamageModifier(weaponHash, damageMultiplier)
end

--- GET_PED_AMMO_TYPE_FROM_WEAPON
---
--- Returns the current ammo type of the specified ped's specified weapon.
--- 
--- MkII magazines will change the return value, like Pistol MkII returning AMMO_PISTOL without any components and returning AMMO_PISTOL_TRACER after Tracer Rounds component is attached.
--- 
--- Use 0xF489B44DD5AF4BD9 if you always want AMMO_PISTOL.
--- 
---@param ped number
---@param weaponHash any
---@return any
function GetPedAmmoTypeFromWeapon(ped, weaponHash)
end

--- GET_WEAPON_OBJECT_TINT_INDEX
---
---@param weapon any
---@return any
function GetWeaponObjectTintIndex(weapon)
end

--- SET_PED_DROPS_INVENTORY_WEAPON
---
---@param ped number
---@param weaponHash any
---@param xOffset number
---@param yOffset number
---@param zOffset number
---@param ammoCount any
---@return any
function SetPedDropsInventoryWeapon(ped, weaponHash, xOffset, yOffset, zOffset, ammoCount)
end

--- SET_PED_INFINITE_AMMO_CLIP
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedInfiniteAmmoClip(ped, toggle)
end

--- CLEAR_PED_LAST_WEAPON_DAMAGE
---Does NOT seem to work with HAS_PED_BEEN_DAMAGED_BY_WEAPON. Use CLEAR_ENTITY_LAST_WEAPON_DAMAGE and HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON instead.
---@param ped number
---@return any
function ClearPedLastWeaponDamage(ped)
end

--- GET_CURRENT_PED_WEAPON_ENTITY_INDEX
---
--- NativeDB Added Parameter 2: Any p1
--- 
---@param ped number
---@return number
function GetCurrentPedWeaponEntityIndex(ped)
end

--- GIVE_WEAPON_COMPONENT_TO_WEAPON_OBJECT
---
--- addonHash:
--- (use WEAPON::GET_WEAPON_COMPONENT_TYPE_MODEL() to get hash value)
--- ${component_at_ar_flsh}, ${component_at_ar_supp}, ${component_at_pi_flsh}, ${component_at_scope_large}, ${component_at_ar_supp_02}
--- 
---@param weaponObject any
---@param addonHash any
---@return any
function GiveWeaponComponentToWeaponObject(weaponObject, addonHash)
end

--- GET_AMMO_IN_CLIP
---
---@param ped number
---@param weaponHash any
---@param ammo any
---@return boolean
function GetAmmoInClip(ped, weaponHash, ammo)
end

--- GET_WEAPON_OBJECT_FROM_PED
---
--- Drops the current weapon and returns the object  
--- Unknown behavior when unarmed.  
--- 
---@param ped number
---@param p1 boolean
---@return any
function GetWeaponObjectFromPed(ped, p1)
end

--- GET_WEAPON_DAMAGE
---This native does not return damages of weapons from the melee and explosive group.
---@param weaponHash any
---@param componentHash any
---@return number
function GetWeaponDamage(weaponHash, componentHash)
end

--- HAS_WEAPON_GOT_WEAPON_COMPONENT
---
---@param weapon any
---@param addonHash any
---@return boolean
function HasWeaponGotWeaponComponent(weapon, addonHash)
end

--- HIDE_PED_WEAPON_FOR_SCRIPTED_CUTSCENE
---
--- Hides the players weapon during a cutscene.  
--- 
---@param ped number
---@param toggle boolean
---@return any
function HidePedWeaponForScriptedCutscene(ped, toggle)
end

--- GIVE_DELAYED_WEAPON_TO_PED
---
--- Gives a weapon to PED with a delay, example:
--- WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PED::PLAYER_PED_ID(), MISC::GET_HASH_KEY("WEAPON_PISTOL"), 1000, false)
--- 
---@param ped number
---@param weaponHash any
---@param ammoCount any
---@param bForceInHand boolean
---@return any
function GiveDelayedWeaponToPed(ped, weaponHash, ammoCount, bForceInHand)
end

--- GIVE_WEAPON_COMPONENT_TO_PED
---
---@param ped number
---@param weaponHash any
---@param componentHash any
---@return any
function GiveWeaponComponentToPed(ped, weaponHash, componentHash)
end

--- HAS_PED_BEEN_DAMAGED_BY_WEAPON
---
--- It determines what weapons caused damage:  
--- If you want to define only a specific weapon, second parameter=weapon hash code, third parameter=0  
--- If you want to define any melee weapon, second parameter=0, third parameter=1.  
--- If you want to identify any weapon (firearms, melee, rockets, etc.), second parameter=0, third parameter=2.  
--- 
---@param ped number
---@param weaponHash any
---@param weaponType any
---@return boolean
function HasPedBeenDamagedByWeapon(ped, weaponHash, weaponType)
end

--- _FIRE_AIR_DEFENSE_WEAPON
---
---@param zoneId any
---@param x number
---@param y number
---@param z number
---@return any
function FireAirDefenseWeapon(zoneId, x, y, z)
end

--- _GIVE_LOADOUT_TO_PED
---
---@param ped number
---@param loadoutHash any
---@return any
function GiveLoadoutToPed(ped, loadoutHash)
end

--- _REMOVE_AIR_DEFENSE_ZONE
---
---@param zoneId any
---@return boolean
function RemoveAirDefenseZone(zoneId)
end

--- SET_PICKUP_AMMO_AMOUNT_SCALER
---
---@param p0 number
---@return any
function SetPickupAmmoAmountScaler(p0)
end

--- MAKE_PED_RELOAD
---Forces a ped to reload only if they are able to; if they have a full magazine, they will not reload.
---@param ped number
---@return boolean
function MakePedReload(ped)
end

--- SET_CURRENT_PED_WEAPON
---
---@param ped number
---@param weaponHash any
---@param bForceInHand boolean
---@return any
function SetCurrentPedWeapon(ped, weaponHash, bForceInHand)
end

--- SET_FLASH_LIGHT_FADE_DISTANCE
---
---@param distance number
---@return any
function SetFlashLightFadeDistance(distance)
end

--- GET_WEAPON_DAMAGE_TYPE
---
--- 0=unknown (or incorrect weaponHash)  
--- 1= no damage (flare,snowball, petrolcan)  
--- 2=melee  
--- 3=bullet  
--- 4=force ragdoll fall  
--- 5=explosive (RPG, Railgun, grenade)  
--- 6=fire(molotov)  
--- 8=fall(WEAPON_HELI_CRASH)  
--- 10=electric  
--- 11=barbed wire  
--- 12=extinguisher  
--- 13=gas  
--- 14=water cannon(WEAPON_HIT_BY_WATER_CANNON)  
--- 
---@param weaponHash any
---@return any
function GetWeaponDamageType(weaponHash)
end

--- GET_WEAPON_TINT_COUNT
---
---@param weaponHash any
---@return any
function GetWeaponTintCount(weaponHash)
end

--- SET_CURRENT_PED_VEHICLE_WEAPON
---
---@param ped number
---@param weaponHash any
---@return boolean
function SetCurrentPedVehicleWeapon(ped, weaponHash)
end

--- GET_WEAPON_HUD_STATS
---
--- // members should be aligned to 8 bytes by default but it's best to use alignas here, just to be sure  
--- struct WeaponHudStatsData  
--- {  
--- 	alignas(8) uint8_t hudDamage; // 0x0000  
--- 	alignas(8) uint8_t hudSpeed; // 0x0008  
--- 	alignas(8) uint8_t hudCapacity; // 0x0010  
--- 	alignas(8) uint8_t hudAccuracy; // 0x0018  
--- 	alignas(8) uint8_t hudRange; // 0x0020  
--- };  
--- Usage:  
--- WeaponHudStatsData data;  
--- if (GET_WEAPON_HUD_STATS(weaponHash, (Any*)&data))  
--- {  
---     // uint8_t damagePercentage = data.hudDamage etc...  
--- }  
--- 
---@param weaponHash any
---@param outData any
---@return boolean
function GetWeaponHudStats(weaponHash, outData)
end

--- _GET_PED_AMMO_TYPE_FROM_WEAPON_2
---
--- Returns the base/default ammo type of the specified ped's specified weapon.
--- 
--- Use GET_PED_AMMO_TYPE_FROM_WEAPON if you want current ammo type (like AMMO_MG_INCENDIARY/AMMO_MG_TRACER while using MkII magazines) and use this if you want base ammo type. (AMMO_MG)
--- 
---@param ped number
---@param weaponHash any
---@return any
function GetPedAmmoTypeFromWeapon2(ped, weaponHash)
end

--- SET_PED_AMMO
---
--- NativeDB Added Parameter 4: BOOL p3
--- 
---@param ped number
---@param weaponHash any
---@param ammo any
---@return any
function SetPedAmmo(ped, weaponHash, ammo)
end

--- CAN_USE_WEAPON_ON_PARACHUTE
---
--- this returns if you can use the weapon while using a parachute  
--- 
---@param weaponHash any
---@return boolean
function CanUseWeaponOnParachute(weaponHash)
end

--- GET_PED_LAST_WEAPON_IMPACT_COORD
---
--- Pass ped. Pass address of Vector3.  
--- The coord will be put into the Vector3.  
--- The return will determine whether there was a coord found or not.  
--- 
---@param ped number
---@param coords any
---@return boolean
function GetPedLastWeaponImpactCoord(ped, coords)
end

--- HAS_PED_GOT_WEAPON_COMPONENT
---
---@param ped number
---@param weaponHash any
---@param componentHash any
---@return boolean
function HasPedGotWeaponComponent(ped, weaponHash, componentHash)
end

--- _SET_FLASH_LIGHT_ENABLED
---Enables/disables flashlight on ped's weapon.
--- 
--- 
--- NativeDB Introduced: v2060
--- 
---@param ped number
---@param toggle boolean
---@return any
function SetFlashLightEnabled(ped, toggle)
end

--- ENABLE_LASER_SIGHT_RENDERING
---
--- Enables laser sight on any weapon.  
--- It doesn't work. Neither on tick nor OnKeyDown  
--- 
---@param toggle boolean
---@return any
function EnableLaserSightRendering(toggle)
end

--- GET_AMMO_IN_PED_WEAPON
---
--- WEAPON::GET_AMMO_IN_PED_WEAPON(PLAYER::PLAYER_PED_ID(), a_0)  
--- From decompiled scripts  
--- Returns total ammo in weapon  
--- GTALua Example :  
--- natives.WEAPON.GET_AMMO_IN_PED_WEAPON(plyPed, WeaponHash)  
--- 
---@param ped number
---@param weaponhash any
---@return any
function GetAmmoInPedWeapon(ped, weaponhash)
end

--- GET_PED_WEAPON_TINT_INDEX
---
---@param ped number
---@param weaponHash any
---@return any
function GetPedWeaponTintIndex(ped, weaponHash)
end

--- SET_PED_DROPS_WEAPONS_WHEN_DEAD
---
---@param ped number
---@param toggle boolean
---@return any
function SetPedDropsWeaponsWhenDead(ped, toggle)
end

--- SET_WEAPON_ANIMATION_OVERRIDE
---
--- Changes the selected ped aiming animation style.   
--- Note : You must use GET_HASH_KEY!  
--- Strings to use with GET_HASH_KEY :  
--- 	"Ballistic",  
--- 	"Default",  
--- 	"Fat",  
--- 	"Female",  
--- 	"FirstPerson",  
--- 	"FirstPersonAiming",  
--- 	"FirstPersonFranklin",  
--- 	"FirstPersonFranklinAiming",  
--- 	"FirstPersonFranklinRNG",  
--- 	"FirstPersonFranklinScope",  
--- 	"FirstPersonMPFemale",  
--- 	"FirstPersonMichael",  
--- 	"FirstPersonMichaelAiming",  
--- 	"FirstPersonMichaelRNG",  
--- 	"FirstPersonMichaelScope",  
--- 	"FirstPersonRNG",  
--- 	"FirstPersonScope",  
--- 	"FirstPersonTrevor",  
--- 	"FirstPersonTrevorAiming",  
--- 	"FirstPersonTrevorRNG",  
--- 	"FirstPersonTrevorScope",  
--- 	"Franklin",  
--- 	"Gang",  
--- 	"Gang1H",  
--- 	"GangFemale",  
--- 	"Hillbilly",  
--- 	"MP_F_Freemode",  
--- 	"Michael",  
--- 	"SuperFat",  
--- 	"Trevor"  
--- 
---@param ped number
---@param animStyle any
---@return any
function SetWeaponAnimationOverride(ped, animStyle)
end

--- _SET_WEAPON_EXPLOSION_RADIUS_MULTIPLIER
---
--- NativeDB Introduced: v2372
--- 
---@param weaponHash any
---@param multiplier number
---@return any
function SetWeaponExplosionRadiusMultiplier(weaponHash, multiplier)
end

--- IS_PED_ARMED
---Checks if the ped is currently equipped with a weapon matching a bit specified using a bitwise-or in typeFlags.
--- 
--- | Bit value | Effect            |
--- |-----------|-------------------|
--- | 1         | Melee weapons     |
--- | 2         | Explosive weapons |
--- | 4         | Any other weapons |
--- 
--- Not specifying any bit will lead to the native *always* returning 'false', and for example specifying '4 | 2' will check for any weapon except fists and melee weapons.
---@param ped number
---@param typeFlags any
---@return boolean
function IsPedArmed(ped, typeFlags)
end

--- _GET_WEAPON_COMPONENT_VARIANT_EXTRA_COMPONENT_MODEL
---
---@param componentHash any
---@param extraComponentIndex any
---@return any
function GetWeaponComponentVariantExtraComponentModel(componentHash, extraComponentIndex)
end

--- REMOVE_WEAPON_FROM_PED
---
--- This native removes a specified weapon from your selected ped.  
--- Weapon Hashes: pastebin.com/0wwDZgkF  
--- Example:  
--- C#:  
--- Function.Call(Hash.REMOVE_WEAPON_FROM_PED, Game.Player.Character, 0x99B507EA);  
--- C++:  
--- WEAPON::REMOVE_WEAPON_FROM_PED(PLAYER::PLAYER_PED_ID(), 0x99B507EA);  
--- The code above removes the knife from the player.  
--- 
---@param ped number
---@param weaponHash any
---@return any
function RemoveWeaponFromPed(ped, weaponHash)
end

--- REFILL_AMMO_INSTANTLY
---
---@param ped number
---@return boolean
function RefillAmmoInstantly(ped)
end

--- _SET_CAN_PED_EQUIP_ALL_WEAPONS
---Does the same as [_SET_CAN_PED_SELECT_WEAPON](https://runtime.fivem.net/doc/natives/#\_0xB4771B9AAF4E68E4) except for all weapons.
---@param ped number
---@param toggle boolean
---@return any
function SetCanPedEquipAllWeapons(ped, toggle)
end

--- _SET_CAN_PED_EQUIP_WEAPON
---Disables selecting the given weapon. Ped isn't forced to put the gun away. However you can't reselect the weapon if you holster then unholster. Weapon is also grayed out on the weapon wheel.
---@param ped number
---@param weaponHash any
---@param toggle boolean
---@return any
function SetCanPedEquipWeapon(ped, weaponHash, toggle)
end

--- IS_WEAPON_VALID
---
---@param weaponHash any
---@return boolean
function IsWeaponValid(weaponHash)
end

--- _IS_ANY_AIR_DEFENSE_ZONE_INSIDE_SPHERE
---
---@param x number
---@param y number
---@param z number
---@param radius number
---@param outZoneId any
---@return boolean
function IsAnyAirDefenseZoneInsideSphere(x, y, z, radius, outZoneId)
end

--- _REMOVE_ALL_AIR_DEFENSE_ZONES
---
---@return any
function RemoveAllAirDefenseZones()
end

--- _SET_PED_WEAPON_LIVERY_COLOR
---
---@param ped number
---@param weaponHash any
---@param camoComponentHash any
---@param colorIndex any
---@return any
function SetPedWeaponLiveryColor(ped, weaponHash, camoComponentHash, colorIndex)
end

--- CREATE_WEAPON_OBJECT
---
--- Now has 8 params.  
--- 
--- 
--- 
--- NativeDB Added Parameter 9: Any p8
--- NativeDB Added Parameter 10: Any p9
--- 
---@param weaponHash any
---@param ammoCount any
---@param x number
---@param y number
---@param z number
---@param showWorldModel boolean
---@param scale number
---@param p7 any
---@return any
function CreateWeaponObject(weaponHash, ammoCount, x, y, z, showWorldModel, scale, p7)
end

--- GET_CURRENT_PED_VEHICLE_WEAPON
---
---@param ped number
---@param weaponHash any
---@return boolean
function GetCurrentPedVehicleWeapon(ped, weaponHash)
end

--- GET_CURRENT_PED_WEAPON
---
--- The return value seems to indicate returns true if the hash of the weapon object weapon equals the weapon hash.  
--- p2 seems to be 1 most of the time; and is not implemented.
--- 
---@param ped number
---@param weaponHash any
---@param p2 boolean
---@return boolean
function GetCurrentPedWeapon(ped, weaponHash, p2)
end

--- IS_FLASH_LIGHT_ON
---
---@param ped number
---@return boolean
function IsFlashLightOn(ped)
end

--- SET_PED_AMMO_TO_DROP
---
---@param ped number
---@param ammo any
---@return any
function SetPedAmmoToDrop(ped, ammo)
end

--- _CREATE_AIR_DEFENSE_AREA
---
---@param p0 number
---@param p1 number
---@param p2 number
---@param p3 number
---@param p4 number
---@param p5 number
---@param p6 number
---@param p7 number
---@param p8 number
---@param p9 number
---@param weaponHash any
---@return any
function CreateAirDefenseArea(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, weaponHash)
end

--- GET_BEST_PED_WEAPON
---
--- p1 is always 0 in the scripts.  
--- 
---@param ped number
---@param p1 boolean
---@return any
function GetBestPedWeapon(ped, p1)
end

--- GET_SELECTED_PED_WEAPON
---
---@param ped number
---@return any
function GetSelectedPedWeapon(ped)
end

--- GIVE_WEAPON_OBJECT_TO_PED
---
---@param weaponObject any
---@param ped number
---@return any
function GiveWeaponObjectToPed(weaponObject, ped)
end

--- REMOVE_WEAPON_COMPONENT_FROM_WEAPON_OBJECT
---
---@param weaponObject any
---@param addonHash any
---@return any
function RemoveWeaponComponentFromWeaponObject(weaponObject, addonHash)
end

--- REQUEST_WEAPON_HIGH_DETAIL_MODEL
---
---@param weaponObject number
---@return any
function RequestWeaponHighDetailModel(weaponObject)
end

--- SET_PED_CHANCE_OF_FIRING_BLANKS
---
---@param ped number
---@param xBias number
---@param yBias number
---@return any
function SetPedChanceOfFiringBlanks(ped, xBias, yBias)
end

--- GET_PED_AMMO_BY_TYPE
---
---@param ped number
---@param ammoType any
---@return any
function GetPedAmmoByType(ped, ammoType)
end

--- SET_PED_GADGET
---
--- p1/gadgetHash was always 0xFBAB5776 ("GADGET_PARACHUTE").  
--- p2 is always true.  
--- 
---@param ped number
---@param gadgetHash any
---@param p2 boolean
---@return any
function SetPedGadget(ped, gadgetHash, p2)
end

--- _DOES_AIR_DEFENSE_ZONE_EXIST
---
---@param zoneId any
---@return boolean
function DoesAirDefenseZoneExist(zoneId)
end

--- GET_WEAPONTYPE_MODEL
---
--- Returns the model of any weapon.  
--- Can also take an ammo hash?  
--- sub_6663a(&l_115B, WEAPON::GET_WEAPONTYPE_MODEL(${ammo_rpg}));  
--- 
---@param weaponHash any
---@return any
function GetWeapontypeModel(weaponHash)
end

--- REMOVE_ALL_PED_WEAPONS
---Parameter p1 does not seem to be used or referenced in game binaries.\
--- **Note:** When called for networked entities, a CRemoveAllWeaponsEvent will be created per request.
---@param ped number
---@param p1 boolean
---@return any
function RemoveAllPedWeapons(ped, p1)
end

--- _ADD_AMMO_TO_PED_BY_TYPE
---
---@param ped number
---@param ammoType any
---@param ammo any
---@return any
function AddAmmoToPedByType(ped, ammoType, ammo)
end

--- DOES_WEAPON_TAKE_WEAPON_COMPONENT
---
---@param weaponHash any
---@param componentHash any
---@return boolean
function DoesWeaponTakeWeaponComponent(weaponHash, componentHash)
end

--- GET_MAX_RANGE_OF_CURRENT_PED_WEAPON
---
---@param ped number
---@return number
function GetMaxRangeOfCurrentPedWeapon(ped)
end

--- _GET_WEAPON_TIME_BETWEEN_SHOTS
---
---@param weaponHash any
---@return number
function GetWeaponTimeBetweenShots(weaponHash)
end

--- GET_WEAPONTYPE_SLOT
---
---@param weaponHash any
---@return any
function GetWeapontypeSlot(weaponHash)
end

--- ADD_AMMO_TO_PED
---
---@param ped number
---@param weaponHash any
---@param ammo any
---@return any
function AddAmmoToPed(ped, weaponHash, ammo)
end

--- SET_PED_INFINITE_AMMO
---
---@param ped number
---@param toggle boolean
---@param weaponHash any
---@return any
function SetPedInfiniteAmmo(ped, toggle, weaponHash)
end

--- DISABLE_SCRIPT_BRAIN_SET
---
---@param brainSet any
---@return any
function DisableScriptBrainSet(brainSet)
end

--- ENABLE_SCRIPT_BRAIN_SET
---
---@param brainSet any
---@return any
function EnableScriptBrainSet(brainSet)
end

--- REGISTER_OBJECT_SCRIPT_BRAIN
---
--- Registers a script for any object with a specific model hash.
--- BRAIN::REGISTER_OBJECT_SCRIPT_BRAIN("ob_telescope", ${prop_telescope_01}, 100, 4.0, -1, 9);
--- 
---@param scriptName any
---@param modelHash any
---@param p2 any
---@param activationRange number
---@param p4 any
---@param p5 any
---@return any
function RegisterObjectScriptBrain(scriptName, modelHash, p2, activationRange, p4, p5)
end

--- ADD_SCRIPT_TO_RANDOM_PED
---
--- BRAIN::ADD_SCRIPT_TO_RANDOM_PED("pb_prostitute", ${s_f_y_hooker_01}, 100, 0);
--- - Nacorpio
--- -----
--- Hardcoded to not work in Multiplayer.
--- 
---@param name any
---@param model any
---@param p2 number
---@param p3 number
---@return any
function AddScriptToRandomPed(name, model, p2, p3)
end

--- IS_OBJECT_WITHIN_BRAIN_ACTIVATION_RANGE
---
---@param object any
---@return boolean
function IsObjectWithinBrainActivationRange(object)
end

--- IS_WORLD_POINT_WITHIN_BRAIN_ACTIVATION_RANGE
---
--- Gets whether the world point the calling script is registered to is within desired range of the player.  
--- 
---@return boolean
function IsWorldPointWithinBrainActivationRange()
end

--- REGISTER_WORLD_POINT_SCRIPT_BRAIN
---
---@param scriptName any
---@param activationRange number
---@param p2 any
---@return any
function RegisterWorldPointScriptBrain(scriptName, activationRange, p2)
end

