declare function Absf(value: number): number;

declare function Absi(value: number): number;

declare function Acos(p0: number): number;

declare function ActivateAudioSlowmoMode(p0: string): void;
declare function N_0xd01005d2ba2eb778(p0: string): void;

declare function ActivateDamageTrackerOnNetworkId(netID: number, toggle: boolean): void;

declare function ActivateDamageTrackerOnPlayer(player: number, toggle: boolean): void;
declare function N_0xbec0816ff5acbcda(player: number, toggle: boolean): void;

/**
 * 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
 */
declare function ActivateFrontendMenu(menuhash: string | number, togglePause: boolean, component: number): void;

/**
 * More info: http://gtaforums.com/topic/836367-adding-props-to-interiors/
 */
declare function ActivateInteriorEntitySet(interior: number, entitySetName: string): void;
/**
 * More info: http://gtaforums.com/topic/836367-adding-props-to-interiors/
 */
declare function N_0x55e86af2712b36a1(interior: number, entitySetName: string): void;
/**
 * More info: http://gtaforums.com/topic/836367-adding-props-to-interiors/
 */
declare function EnableInteriorProp(interior: number, entitySetName: string): void;

declare function ActivatePhysics(entity: number): void;

/**
 * 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
 * ```
 */
declare function ActivateRockstarEditor(): void;
/**
 * 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
 * ```
 */
declare function N_0x49da8145672b2725(): void;

declare function AddAmmoToPed(ped: number, weaponHash: string | number, ammo: number): void;

declare function AddAmmoToPedByType(ped: number, ammoType: string | number, ammo: number): void;
declare function N_0x2472622ce1f2d45f(ped: number, ammoType: string | number, ammo: number): void;
declare function AddPedAmmo(ped: number, ammoType: string | number, ammo: number): void;

/**
 * Same as SET_PED_ARMOUR, but ADDS 'amount' to the armor the Ped already has.
 */
declare function AddArmourToPed(ped: number, amount: number): void;

/**
 * Adds an output for the specified audio submix.
 * @param submixId The input submix.
 * @param outputSubmixId The output submix. Use `0` for the master game submix.
 */
declare function AddAudioSubmixOutput(submixId: number, outputSubmixId: number): void;

/**
 * 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 The X coordinate of the center of the blip.
 * @param y The Y coordinate of the center of the blip.
 * @param z The Z coordinate of the center of the blip.
 * @param width The width of the blip.
 * @param height The height of the blip.
 * @return A handle to the blip.
 */
declare function AddBlipForArea(x: number, y: number, z: number, width: number, height: number): number;
/**
 * 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 The X coordinate of the center of the blip.
 * @param y The Y coordinate of the center of the blip.
 * @param z The Z coordinate of the center of the blip.
 * @param width The width of the blip.
 * @param height The height of the blip.
 * @return A handle to the blip.
 */
declare function N_0xce5d0e5e315db238(x: number, y: number, z: number, width: number, height: number): number;

/**
 * Creates a blip for the specified coordinates. You can use `SET_BLIP_` natives to change the blip.
 * @param x The X coordinate to create the blip on.
 * @param y The Y coordinate.
 * @param z The Z coordinate.
 * @return A blip handle.
 */
declare function AddBlipForCoord(x: number, y: number, z: number): number;

/**
 * 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 The entity handle to create the blip.
 * @return A blip handle.
 */
declare function AddBlipForEntity(entity: number): number;

declare function AddBlipForPickup(pickup: number): number;

/**
 * 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 The x position of the blip (you can also send a vector3 instead of the bulk coordinates)
 * @param posY The y position of the blip (you can also send a vector3 instead of the bulk coordinates)
 * @param posZ The z position of the blip (you can also send a vector3 instead of the bulk coordinates)
 * @param radius The number that defines the radius of the blip circle
 * @return The blip handle that can be manipulated with every `SetBlip` natives
 */
declare function AddBlipForRadius(posX: number, posY: number, posZ: number, radius: number): number;

/**
 * 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?)
 */
declare function AddCamSplineNode(camera: number, x: number, y: number, z: number, xRot: number, yRot: number, zRot: number, length: number, p8: number, transitionType: number): void;

/**
 * Takes a camera and uses the information from it as a camera spline node.
 * @param cam Camera to add cam2 as a node to
 * @param cam2 Camera used for reference
 * @param length Duration used for transition, has no effect for the first node.
 */
declare function AddCamSplineNodeUsingCamera(cam: number, cam2: number, length: number, p3: number): void;
/**
 * Takes a camera and uses the information from it as a camera spline node.
 * @param cam Camera to add cam2 as a node to
 * @param cam2 Camera used for reference
 * @param length Duration used for transition, has no effect for the first node.
 */
declare function N_0x0fb82563989cf4fb(cam: number, cam2: number, length: number, p3: number): void;

declare function AddCamSplineNodeUsingCameraFrame(cam: number, cam2: number, p2: number, p3: number): void;
declare function N_0x0a9f2a468b328e74(cam: number, cam2: number, p2: number, p3: number): void;

declare function AddCamSplineNodeUsingGameplayFrame(cam: number, p1: number, p2: number): void;
declare function N_0x609278246a29ca34(cam: number, p1: number, p2: number): void;

declare function AddCoverBlockingArea(playerX: number, playerY: number, playerZ: number, radiusX: number, radiusY: number, radiusZ: number, p6: boolean, p7: boolean, p8: boolean, p9: boolean): void;

declare function AddCoverPoint(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: boolean): number;

/**
 * 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
 * }
 */
declare function AddDecal(decalType: number, posX: number, posY: number, posZ: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, width: number, height: number, rCoef: number, gCoef: number, bCoef: number, opacity: number, timeout: number, p17: boolean, p18: boolean, p19: boolean): number;

/**
 * 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 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 */
declare function AddDispatchSpawnBlockingAngledArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number): number;
/**
 * 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 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 */
declare function N_0x918c7b2d2ff3928b(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number): number;

declare function AddDispatchSpawnBlockingArea(x1: number, y1: number, x2: number, y2: number): number;
declare function N_0x2d4259f1feb81da9(x1: number, y1: number, x2: number, y2: number): number;

/**
 * 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 A (unique) door system identifier
 * @param modelHash Entity model hash
 * @param x The X coordinate of the door object
 * @param y The Y coordinate of the door object
 * @param z The Z coordinate of the door object
 * @param scriptDoor false; relies upon getNetworkGameScriptHandler.
 * @param isLocal On true disables the creation `CRequestDoorEvent's` in [DOOR_SYSTEM_SET_DOOR_STATE](#\_0x6BAB9442830C7F53).
 */
declare function AddDoorToSystem(doorHash: string | number, modelHash: string | number, x: number, y: number, z: number, p5: boolean, scriptDoor: boolean, isLocal: boolean): void;

/**
 * Example:
 * GRAPHICS::ADD_ENTITY_ICON(a_0, "MP_Arrow");
 * I tried this and nothing happened...
 */
declare function AddEntityIcon(entity: number, icon: string): number;

/**
 * All found occurrences in b678d:
 * pastebin.com/ceu67jz8
 */
declare function AddEntityToAudioMixGroup(entity: number, groupName: string, p2: number): void;
/**
 * All found occurrences in b678d:
 * pastebin.com/ceu67jz8
 */
declare function N_0x153973ab99fe8980(entity: number, groupName: string, p2: number): void;
/**
 * All found occurrences in b678d:
 * pastebin.com/ceu67jz8
 */
declare function DynamicMixerRelatedFn(entity: number, groupName: string, p2: number): void;

/**
 * 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,
 * };
 */
declare function AddExplosion(x: number, y: number, z: number, explosionType: number, damageScale: number, isAudible: boolean, isInvisible: boolean, cameraShake: number): void;

declare function AddExplosionWithUserVfx(x: number, y: number, z: number, explosionType: number, explosionFx: string | number, damageScale: number, isAudible: boolean, isInvisible: boolean, cameraShake: number): void;
declare function AddSpecfxExplosion(x: number, y: number, z: number, explosionType: number, explosionFx: string | number, damageScale: number, isAudible: boolean, isInvisible: boolean, cameraShake: number): void;

/**
 * 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.
 * @return If succeeded to add, returns a rise index that can be used on REMOVE_EXTRA_CALMING_QUAD.
If failed to add, returns -1 (make sure you don't pass -1 to REMOVE_EXTRA_CALMING_QUAD).
 */
declare function AddExtraCalmingQuad(xLow: number, yLow: number, xHigh: number, yHigh: number, height: number): number;
/**
 * 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.
 * @return If succeeded to add, returns a rise index that can be used on REMOVE_EXTRA_CALMING_QUAD.
If failed to add, returns -1 (make sure you don't pass -1 to REMOVE_EXTRA_CALMING_QUAD).
 */
declare function N_0xfdbf4cdbc07e1706(xLow: number, yLow: number, xHigh: number, yHigh: number, height: number): number;
/**
 * 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.
 * @return If succeeded to add, returns a rise index that can be used on REMOVE_EXTRA_CALMING_QUAD.
If failed to add, returns -1 (make sure you don't pass -1 to REMOVE_EXTRA_CALMING_QUAD).
 */
declare function AddCurrentRise(xLow: number, yLow: number, xHigh: number, yHigh: number, height: number): number;

/**
 * Returns the index of the newly created hospital spawn point.
 * p3 might be radius?
 */
declare function AddHospitalRestart(x: number, y: number, z: number, p3: number, p4: number): number;

/**
 * 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.
 */
declare function AddLineToConversation(index: number, p1: string, p2: string, p3: number, p4: number, p5: boolean, p6: boolean, p7: boolean, p8: boolean, p9: number, p10: boolean, p11: boolean, p12: boolean): void;

/**
 * Loads a minimap overlay from a GFx file in the current resource.
 * @param name The path to a `.gfx` file in the current resource. It has to be specified as a `file`.
 * @return A minimap overlay ID.
 */
declare function AddMinimapOverlay(name: string): number;

declare function AddModelToCreatorBudget(modelHash: string | number): boolean;
declare function N_0x0bc3144deb678666(modelHash: string | number): boolean;

/**
 * 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 The x coordinate to create the block on.
 * @param y The y coordinate.
 * @param z The z coordinate.
 * @param width The width of the block.
 * @param length The length of the block.
 * @param height The height of the block.
 * @param heading The heading of object in degrees.
 * @param p7 Usually false.
 * @param p8 A bitfield; usually 7.
 */
declare function AddNavmeshBlockingObject(x: number, y: number, z: number, width: number, length: number, height: number, heading: number, p7: boolean, p8: number): number;

declare function AddNavmeshRequiredRegion(x: number, y: number, radius: number): void;

declare function AddNextMessageToPreviousBriefs(p0: boolean): void;

/**
 * NativeDB Introduced: v2699
 */
declare function AddOilDecal(x: number, y: number, z: number, groundLvl: number, width: number, transparency: number): number;

declare function AddOwnedExplosion(ped: number, x: number, y: number, z: number, explosionType: number, damageScale: number, isAudible: boolean, isInvisible: boolean, cameraShake: number): void;

declare function AddPatrolRouteLink(p0: number, p1: number): void;

/**
 * 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).
 */
declare function AddPatrolRouteNode(p0: number, p1: string, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p8: number): void;

/**
 * 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"))
 */
declare function AddPedDecorationFromHashes(ped: number, collection: string | number, overlay: string | number): void;
/**
 * 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"))
 */
declare function ApplyPedOverlay(ped: number, collection: string | number, overlay: string | number): void;
/**
 * 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"))
 */
declare function SetPedDecoration(ped: number, collection: string | number, overlay: string | number): void;

declare function AddPedDecorationFromHashesInCorona(ped: number, collection: string | number, overlay: string | number): void;
declare function N_0x5619bfa07cfd7833(ped: number, collection: string | number, overlay: string | number): void;
declare function SetPedFacialDecoration(ped: number, collection: string | number, overlay: string | number): void;

/**
 * 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.
 */
declare function AddPedToConversation(index: number, ped: number, p2: string): void;

declare function AddPetrolDecal(x: number, y: number, z: number, groundLvl: number, width: number, transparency: number): number;

declare function AddPetrolTrailDecalInfo(x: number, y: number, z: number, p3: number): void;
declare function N_0x967278682cb6967a(x: number, y: number, z: number, p3: number): void;

declare function AddPickupToInteriorRoomByName(pickup: number, roomName: string): void;

declare function AddPointToGpsCustomRoute(x: number, y: number, z: number): void;
declare function N_0x311438a071dd9b1a(x: number, y: number, z: number): void;

declare function AddPointToGpsMultiRoute(x: number, y: number, z: number): void;
declare function N_0xa905192a6781c41b(x: number, y: number, z: number): void;

declare function AddPoliceRestart(p0: number, p1: number, p2: number, p3: number, p4: number): number;

/**
 * NativeDB Added Parameter 10: BOOL p9
 */
declare function AddPopMultiplierArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p6: number, p7: number, p8: boolean): number;
/**
 * NativeDB Added Parameter 10: BOOL p9
 */
declare function N_0x67f6413d3220e18d(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p6: number, p7: number, p8: boolean): number;

/**
 * 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
 */
declare function AddPopMultiplierSphere(x: number, y: number, z: number, radius: number, pedMultiplier: number, vehicleMultiplier: number, p6: boolean, p7: boolean): number;
/**
 * 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
 */
declare function N_0x32c7a7e8c43a1f80(x: number, y: number, z: number, radius: number, pedMultiplier: number, vehicleMultiplier: number, p6: boolean, p7: boolean): number;

/**
 * Can't select void. This function returns nothing. The hash of the created relationship group is output in the second parameter.
 */
declare function AddRelationshipGroup(name: string, groupHash?: number): [number, number];

/**
 * Experimental natives, please do not use in a live environment.
 */
declare function AddReplaceTexture(origTxd: string, origTxn: string, newTxd: string, newTxn: string): void;

declare function AddReplayStatValue(value: number): void;
declare function N_0x69fe6dc87bd2a5e9(value: number): void;

declare function AddRoadNodeSpeedZone(x: number, y: number, z: number, radius: number, speed: number, p5: boolean): number;
declare function N_0x2ce544c68fb812a0(x: number, y: number, z: number, radius: number, speed: number, p5: boolean): number;
declare function AddSpeedZoneForCoord(x: number, y: number, z: number, radius: number, speed: number, p5: boolean): number;

/**
 * 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 Spawn coordinate X component.
 * @param y Spawn coordinate Y component.
 * @param z Spawn coordinate Z component.
 * @param rotX Rotation X component.
 * @param rotY Rotation Y component.
 * @param rotZ Rotation Z component.
 * @param maxLength The maximum length the rope can droop.
 * @param ropeType 1 to 4 are thick ropes. 5 and up are thin ropes. Ropes types defined in ropedata.xml. An invalid rope type such as 0 will crash the game.
 * @param initLength The initial length of the rope.
 * @param minLength The minimum length the rope can be.
 * @param lengthChangeRate The speed in which the rope will wind if winding is started.
 * @param collisionOn Whether the rope should have collision. In original scripts this is followed by a LoadRopeData call when set.
 * @param lockFromFront If max length is zero, and this is set to false the rope will become rigid (it will force a specific distance, what ever length is, between the objects).
 * @param timeMultiplier The speed as which physics should run at. 1.0f is normal, 2.0f is twice as fast, -1.0f is time going backwards. This can affect gravity, etc.
 * @param breakable Whether shooting the rope will break it.
 * @param unkPtr Unknown pointer, always 0 in original scrips.
 * @return A script handle for the rope
 */
declare function AddRope(x: number, y: number, z: number, rotX: number, rotY: number, rotZ: number, maxLength: number, ropeType: number, initLength: number, minLength: number, lengthChangeRate: number, onlyPPU: boolean, collisionOn: boolean, lockFromFront: boolean, timeMultiplier: number, breakable: boolean, unkPtr?: number): [number, number];

declare function AddScenarioBlockingArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p6: boolean, p7: boolean, p8: boolean, p9: boolean): number;

/**
 * BRAIN::ADD_SCRIPT_TO_RANDOM_PED("pb_prostitute", ${s_f_y_hooker_01}, 100, 0);
 * - Nacorpio
 * -----
 * Hardcoded to not work in Multiplayer.
 */
declare function AddScriptToRandomPed(name: string, model: string | number, p2: number, p3: number): void;

/**
 * eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt
 */
declare function AddShockingEventAtPosition(eventType: number, x: number, y: number, z: number, duration: number): number;

/**
 * eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt
 */
declare function AddShockingEventForEntity(eventType: number, entity: number, duration: number): number;

/**
 * Adds a handler for changes to a state bag.
 * The function called expects to match the following signature:
 * ```ts
 * function StateBagChangeHandler(bagName: string, key: string, value: any, reserved: number, replicated: boolean);
 * ```
 * *   **bagName**: The internal bag ID for the state bag which changed. This is usually `player:Source`, `entity:NetID`
 * or `localEntity:Handle`.
 * *   **key**: The changed key.
 * *   **value**: The new value stored at key. The old value is still stored in the state bag at the time this callback executes.
 * *   **reserved**: Currently unused.
 * *   **replicated**: Whether the set is meant to be replicated.
 * At this time, the change handler can't opt to reject changes.
 * @param keyFilter The key to check for, or null.
 * @param bagFilter The bag ID to check for, or null.
 * @param handler The handler function.
 * @return A cookie to remove the change handler.
 */
declare function AddStateBagChangeHandler(keyFilter: string, bagFilter: string, handler: Function): number;

/**
 * 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 Jump entry left far bottom corner coordinate X.
 * @param y1 Jump entry left far bottom corner coordinate Y.
 * @param z1 Jump entry left far bottom corner coordinate Z.
 * @param x2 Jump entry right near top corner coordinate X.
 * @param y2 Jump entry right near top corner coordinate Y.
 * @param z2 Jump entry right near top corner coordinate Z.
 * @param x3 Landing zone end coordinate X.
 * @param y3 Landing zone end coordinate Y.
 * @param z3 Landing zone end coordinate Z.
 * @param x4 Landing zone start coordinate X.
 * @param y4 Landing zone start coordinate Y.
 * @param z4 Landing zone start coordinate Z.
 * @param camX Stuntcam (cinematic) coordinate x.
 * @param camY Stuntcam (cinematic) coordinate y.
 * @param camZ Stuntcam (cinematic) coordinate z.
 * @param unk1 Unknown, always 150.
 * @param unk2 Unknown, always 0.
 * @param unk3 Unknown, always 0.
 * @return The ID of the stunt jump that was added.
 */
declare function AddStuntJump(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, x3: number, y3: number, z3: number, x4: number, y4: number, z4: number, camX: number, camY: number, camZ: number, unk1: number, unk2: number, unk3: number): number;

/**
 * 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 Entry zone bottom left corner x.
 * @param y1 Entry zone bottom left corner y.
 * @param z1 Entry zone bottom left corner z.
 * @param x2 Entry zone top right corner x.
 * @param y2 Entry zone top right corner y.
 * @param z2 Entry zone top right corner z.
 * @param radius1 Probably a "feather" radius for entry zone, you need to enter the jump within the min/max coordinates, or within this radius of those two coordinates.
 * @param x3 Landing zone start corner coordinate x.
 * @param y3 Landing zone start corner coordinate y.
 * @param z3 Landing zone start corner coordinate z.
 * @param x4 Landing zone end corner coordinate x.
 * @param y4 Landing zone end corner coordinate y.
 * @param z4 Landing zone end corner coordinate z.
 * @param radius2 Probably a "feather" radius for landing zone, you need to land within the min/max coordinates, or within this radius of those two coordinates.
 * @param camX Stunt (cinematic) camera x position.
 * @param camY Stunt (cinematic) camera y position.
 * @param camZ Stunt (cinematic) camera z position.
 * @param unk1 always 150
 * @param unk2 always 0
 * @param unk3 always 0
 * @return The ID of the stuntjump that was created.
 */
declare function AddStuntJumpAngled(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, radius1: number, x3: number, y3: number, z3: number, x4: number, y4: number, z4: number, radius2: number, camX: number, camY: number, camZ: number, unk1: number, unk2: number, unk3: number): number;

/**
 * Adds a point related to CTacticalAnalysis
 */
declare function AddTacticalAnalysisPoint(x: number, y: number, z: number): void;
/**
 * Adds a point related to CTacticalAnalysis
 */
declare function N_0xb8721407ee9c3ff6(x: number, y: number, z: number): void;

declare function AddTcmodifierOverride(modifierName1: string, modifierName2: string): void;
declare function N_0x1a8e2c8b9cf4549c(modifierName1: string, modifierName2: string): void;

/**
 * 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 The number to substitute in the label.
 * @param decimalPlaces How many decimal places to add
 */
declare function AddTextComponentFloat(value: number, decimalPlaces: number): void;

declare function AddTextComponentFormattedInteger(value: number, commaSeparated: boolean): void;
declare function N_0x0e4c749ff9de9cc4(value: number, commaSeparated: boolean): void;

declare function AddTextComponentInteger(value: number): void;

declare function AddTextComponentSubstringBlipName(blip: number): void;
declare function N_0x80ead8e2e1d5d52e(blip: number): void;

declare function AddTextComponentSubstringKeyboardDisplay(_string: string): void;
declare function AddTextComponentString3(_string: string): void;
declare function AddTextComponentScaleform(_string: string): void;

/**
 * p1 was always -1
 */
declare function AddTextComponentSubstringPhoneNumber(p0: string, p1: number): void;
/**
 * p1 was always -1
 */
declare function N_0x761b77454205a61d(p0: string, p1: number): void;
/**
 * p1 was always -1
 */
declare function AddTextComponentAppTitle(p0: string, p1: number): void;

/**
 * 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 A string to add of up to 99 characters. This can contain additional `~` formatting directives.
 */
declare function AddTextComponentSubstringPlayerName(text: string): void;
/**
 * 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 A string to add of up to 99 characters. This can contain additional `~` formatting directives.
 */
declare function AddTextComponentString(text: string): void;

declare function AddTextComponentSubstringTextLabel(labelName: string): void;
declare function AddTextComponentItemString(labelName: string): void;

/**
 * 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
 */
declare function AddTextComponentSubstringTextLabelHashKey(gxtEntryHash: string | number): void;
/**
 * 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
 */
declare function N_0x17299b63c7683a2b(gxtEntryHash: string | number): void;

/**
 * Adds a timer (e.g. "00:00:00:000"). The appearance of the timer depends on the flags, which needs more research.
 */
declare function AddTextComponentSubstringTime(timestamp: number, flags: number): void;

/**
 * This native (along with 0x5F68520888E69014 and 0x6C188BE134E074AA) do not actually filter anything. They simply add the provided text (as of 944)
 */
declare function AddTextComponentSubstringWebsite(website: string): void;
/**
 * This native (along with 0x5F68520888E69014 and 0x6C188BE134E074AA) do not actually filter anything. They simply add the provided text (as of 944)
 */
declare function AddTextComponentString2(website: string): void;

declare function AddTextEntry(entryKey: string, entryText: string): void;

declare function AddTextEntryByHash(entryKey: string | number, entryText: string): void;

declare function AddToClockTime(hours: number, minutes: number, seconds: number): void;

declare function AddToItemset(p0: number, p1: number): boolean;

declare function AddVehicleCombatAngledAvoidanceArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;
declare function N_0x54b0f614960f4a5f(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;
declare function AddVehicleCombatAvoidanceArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;

/**
 * boneIndex is always chassis_dummy in the scripts. The x/y/z params are location relative to the chassis bone.
 */
declare function AddVehicleCrewEmblem(vehicle: number, ped: number, boneIndex: number, x1: number, x2: number, x3: number, y1: number, y2: number, y3: number, z1: number, z2: number, z3: number, scale: number, p13: number, alpha: number): boolean;
/**
 * boneIndex is always chassis_dummy in the scripts. The x/y/z params are location relative to the chassis bone.
 */
declare function AddClanDecalToVehicle(vehicle: number, ped: number, boneIndex: number, x1: number, x2: number, x3: number, y1: number, y2: number, y3: number, z1: number, z2: number, z3: number, scale: number, p13: number, alpha: number): boolean;

declare function AddVehiclePhoneExplosiveDevice(vehicle: number): void;
declare function N_0x99ad4cccb128cbc9(vehicle: number): void;

declare function AddVehicleStuckCheckWithWarp(p0: number, p1: number, p2: number, p3: boolean, p4: boolean, p5: boolean, p6: number): void;

/**
 * x, y, z: offset in world coords from some entity.
 */
declare function AddVehicleSubtaskAttackCoord(ped: number, x: number, y: number, z: number): void;

declare function AddVehicleSubtaskAttackPed(ped: number, ped2: number): void;

declare function AddVehicleUpsidedownCheck(vehicle: number): void;

declare function AdvanceClockTimeTo(hour: number, minute: number, second: number): void;

declare function AllowMissionCreatorWarp(toggle: boolean): void;
declare function N_0xdea36202fc3382df(toggle: boolean): void;

/**
 * Allows opening the pause menu this frame, when the player is dead.
 */
declare function AllowPauseMenuWhenDeadThisFrame(): void;
/**
 * Allows opening the pause menu this frame, when the player is dead.
 */
declare function N_0xcc3fdded67bcfc63(): void;

declare function AllowPlayerSwitchAscent(): void;
declare function N_0x8e2a065abdae6994(): void;

declare function AllowPlayerSwitchDescent(): void;
declare function N_0xad5fdf34b81bfe79(): void;

declare function AllowPlayerSwitchOutro(): void;
declare function N_0x74de2e8739086740(): void;

declare function AllowPlayerSwitchPan(): void;
declare function N_0x43d1680c6d19a8e9(): void;

declare function AllowSonarBlips(toggle: boolean): void;
declare function N_0x60734cc207c9833c(toggle: boolean): void;

/**
 * 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);
 */
declare function AnimateGameplayCamZoom(p0: number, distance: number): void;

/**
 * Example from michael2 script.
 * CAM::ANIMATED_SHAKE_CAM(l_5069, "shake_cam_all@", "light", "", 1f);
 */
declare function AnimatedShakeCam(cam: number, p1: string, p2: string, p3: string, amplitude: number): void;

/**
 * CAM::ANIMATED_SHAKE_SCRIPT_GLOBAL("SHAKE_CAM_medium", "medium", "", 0.5f);
 */
declare function AnimatedShakeScriptGlobal(p0: string, p1: string, p2: string, p3: number): void;
/**
 * CAM::ANIMATED_SHAKE_SCRIPT_GLOBAL("SHAKE_CAM_medium", "medium", "", 0.5f);
 */
declare function N_0xc2eae3fb8cdbed31(p0: string, p1: string, p2: string, p3: number): void;

/**
 * See [`ANIMPOSTFX_PLAY`](#\_0x2206BF9A37B7F724)
 */
declare function AnimpostfxGetUnk(effectName: string): number;
/**
 * See [`ANIMPOSTFX_PLAY`](#\_0x2206BF9A37B7F724)
 */
declare function N_0xe35b38a27e8e7179(effectName: string): number;

/**
 * See [`ANIMPOSTFX_PLAY`](#\_0x2206BF9A37B7F724).
 * @return Whether the specified effect is active
 */
declare function AnimpostfxIsRunning(effectName: string): boolean;
/**
 * See [`ANIMPOSTFX_PLAY`](#\_0x2206BF9A37B7F724).
 * @return Whether the specified effect is active
 */
declare function GetScreenEffectIsActive(effectName: string): boolean;

/**
 * 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)
 */
declare function AnimpostfxPlay(effectName: string, duration: number, looped: boolean): void;
/**
 * 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)
 */
declare function StartScreenEffect(effectName: string, duration: number, looped: boolean): void;

/**
 * See [`ANIMPOSTFX_PLAY`](#\_0x2206BF9A37B7F724).
 */
declare function AnimpostfxStop(effectName: string): void;
/**
 * See [`ANIMPOSTFX_PLAY`](#\_0x2206BF9A37B7F724).
 */
declare function StopScreenEffect(effectName: string): void;

declare function AnimpostfxStopAll(): void;
declare function StopAllScreenEffects(): void;

/**
 * Stops the effect and sets a value (bool) in its data (+0x199) to false; See [`ANIMPOSTFX_PLAY`](#\_0x2206BF9A37B7F724).
 */
declare function AnimpostfxStopAndDoUnk(effectName: string): void;
/**
 * Stops the effect and sets a value (bool) in its data (+0x199) to false; See [`ANIMPOSTFX_PLAY`](#\_0x2206BF9A37B7F724).
 */
declare function N_0xd2209be128b5418c(effectName: string): void;

declare function AppClearBlock(): void;

declare function AppCloseApp(): void;

declare function AppCloseBlock(): void;

declare function AppDataValid(): boolean;

declare function AppDeleteAppData(appName: string): boolean;

declare function AppGetDeletedFileStatus(): number;

declare function AppGetFloat(property: string): number;

declare function AppGetInt(property: string): number;

declare function AppGetString(property: string): string;

declare function AppHasLinkedSocialClubAccount(): boolean;

declare function AppHasSyncedData(appName: string): boolean;

declare function AppSaveData(): void;

/**
 * Called in the gamescripts like:
 * APP::APP_SET_APP("car");
 * APP::APP_SET_APP("dog");
 */
declare function AppSetApp(appName: string): void;

declare function AppSetBlock(blockName: string): void;

declare function AppSetFloat(property: string, value: number): void;

declare function AppSetInt(property: string, value: number): void;

declare function AppSetString(property: string, value: string): void;

/**
 * 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
 */
declare function ApplyDamageToPed(ped: number, damageAmount: number, armorFirst: boolean): void;

/**
 * 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 The entity you want to apply a force on
 * @param forceType See native description above for a list of commonly used values
 * @param x Force amount (X)
 * @param y Force amount (Y)
 * @param z Force amount (Z)
 * @param offX Rotation/offset force (X)
 * @param offY Rotation/offset force (Y)
 * @param offZ Rotation/offset force (Z)
 * @param boneIndex (Often 0) Entity bone index
 * @param isDirectionRel (Usually false) Vector defined in local (body-fixed) coordinate frame
 * @param ignoreUpVec (Usually true)
 * @param isForceRel (Usually true) When true, force gets multiplied with the objects mass and different objects will have the same acceleration
 * @param p12 (Usually false)
 * @param p13 (Usually true)
 */
declare function ApplyForceToEntity(entity: number, forceType: number, x: number, y: number, z: number, offX: number, offY: number, offZ: number, boneIndex: number, isDirectionRel: boolean, ignoreUpVec: boolean, isForceRel: boolean, p12: boolean, p13: boolean): void;

/**
 * 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
 */
declare function ApplyForceToEntityCenterOfMass(entity: number, forceType: number, x: number, y: number, z: number, p5: boolean, isDirectionRel: boolean, isForceRel: boolean, p8: boolean): void;

declare function ApplyImpulseToCloth(posX: number, posY: number, posZ: number, vecX: number, vecY: number, vecZ: number, impulse: number): void;

/**
 * Found one occurence in re_crashrescue.c4
 * PED::APPLY_PED_BLOOD(l_4B, 3, 0.0, 0.0, 0.0, "wound_sheet");
 */
declare function ApplyPedBlood(ped: number, boneIndex: number, xRot: number, yRot: number, zRot: number, woundType: string): void;

declare function ApplyPedBloodByZone(ped: number, p1: number, p2: number, p3: number, p4?: number): number;
declare function N_0x3311e47b91edcbbc(ped: number, p1: number, p2: number, p3: number, p4?: number): number;

declare function ApplyPedBloodDamageByZone(ped: number, p1: number, p2: number, p3: number, p4: number): void;
declare function N_0x816f6981c60bf53b(ped: number, p1: number, p2: number, p3: number, p4: number): void;

declare function ApplyPedBloodSpecific(ped: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8?: number): number;
declare function N_0xef0d582cbf2d9b0f(ped: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8?: number): number;

/**
 * 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");
 */
declare function ApplyPedDamageDecal(ped: number, damageZone: number, xOffset: number, yOffset: number, heading: number, scale: number, alpha: number, variation: number, fadeIn: boolean, decalName: string): void;

/**
 * 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
 */
declare function ApplyPedDamagePack(ped: number, damagePack: string, damage: number, mult: number): void;

declare function AreAllNavmeshRegionsLoaded(): boolean;

/**
 * Appears to return false if any window is broken.
 */
declare function AreAllVehicleWindowsIntact(vehicle: number): boolean;
/**
 * Appears to return false if any window is broken.
 */
declare function AreAllVehicleWindowsIntact(vehicle: number): boolean;

/**
 * Returns false if every seat is occupied.
 */
declare function AreAnyVehicleSeatsFree(vehicle: number): boolean;
/**
 * Returns false if every seat is occupied.
 */
declare function IsAnyVehicleSeatEmpty(vehicle: number): boolean;

/**
 * Returns true when the bomb bay doors of this plane are open. False if they're closed.
 * @param aircraft The vehicle to check the bomb bay doors on.
 * @return A bool indicating the state of the doors (true = open, false = closed).
 */
declare function AreBombBayDoorsOpen(aircraft: number): boolean;
/**
 * Returns true when the bomb bay doors of this plane are open. False if they're closed.
 * @param aircraft The vehicle to check the bomb bay doors on.
 * @return A bool indicating the state of the doors (true = open, false = closed).
 */
declare function N_0xd0917a423314bba8(aircraft: number): boolean;
/**
 * Returns true when the bomb bay doors of this plane are open. False if they're closed.
 * @param aircraft The vehicle to check the bomb bay doors on.
 * @return A bool indicating the state of the doors (true = open, false = closed).
 */
declare function GetAreBombBayDoorsOpen(aircraft: number): boolean;

declare function AreEntitiesEntirelyInsideGarage(garageHash: string | number, p1: boolean, p2: boolean, p3: boolean, p4: number): boolean;
declare function N_0x85b6c850546fdde2(garageHash: string | number, p1: boolean, p2: boolean, p3: boolean, p4: number): boolean;

/**
 * Only used with the "akula" in the decompiled native scripts.
 * ```
 * NativeDB Introduced: v1290
 * ```
 */
declare function AreHeliStubWingsDeployed(vehicle: number): boolean;
/**
 * Only used with the "akula" in the decompiled native scripts.
 * ```
 * NativeDB Introduced: v1290
 * ```
 */
declare function N_0xaef12960fa943792(vehicle: number): boolean;

declare function AreNodesLoadedForArea(x1: number, y1: number, x2: number, y2: number): boolean;
declare function N_0xf7b79a50b905a30d(x1: number, y1: number, x2: number, y2: number): boolean;
declare function ArePathNodesLoadedInArea(x1: number, y1: number, x2: number, y2: number): boolean;

/**
 * Returns whether the outrigger legs are deployed for the vehicle.
 * The Chernobog is one of the few vehicles with outrigger legs.
 * ```
 * NativeDB Introduced: v1290
 * ```
 * @return The deployment state of the vehicle's outrigger legs
 */
declare function AreOutriggerLegsDeployed(vehicle: number): boolean;
/**
 * Returns whether the outrigger legs are deployed for the vehicle.
 * The Chernobog is one of the few vehicles with outrigger legs.
 * ```
 * NativeDB Introduced: v1290
 * ```
 * @return The deployment state of the vehicle's outrigger legs
 */
declare function N_0x3a9128352eac9e85(vehicle: number): boolean;

declare function ArePlanePropellersIntact(plane: number): boolean;
declare function N_0x755d6d5267cbbd7e(plane: number): boolean;
declare function ArePropellersUndamaged(plane: number): boolean;

declare function ArePlaneWingsIntact(plane: number): boolean;
declare function N_0x5991a01434ce9677(plane: number): boolean;
declare function AddAMarkerOverVehicle(plane: number): boolean;
declare function AreVehicleWingsIntact(plane: number): boolean;

declare function ArePlayerFlashingStarsAboutToDrop(player: number): boolean;

declare function ArePlayerStarsGreyedOut(player: number): boolean;

declare function AreProfileSettingsValid(): boolean;
declare function N_0x5aa3befa29f03ad4(): boolean;

declare function AreStringsEqual(string1: string, string2: string): boolean;

declare function Asin(p0: number): number;

declare function AssistedMovementCloseRoute(): void;

declare function AssistedMovementFlushRoute(): void;

declare function AssistedMovementIsRouteLoaded(route: string): boolean;

declare function AssistedMovementOverrideLoadDistanceThisFrame(dist: number): void;

declare function AssistedMovementRemoveRoute(route: string): void;

/**
 * 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"
 */
declare function AssistedMovementRequestRoute(route: string): void;

declare function AssistedMovementSetRouteProperties(route: string, props: number): void;

declare function Atan(p0: number): number;

declare function Atan2(p0: number, p1: number): number;

/**
 * Last param determines if its relative to the Entity
 */
declare function AttachCamToEntity(cam: number, entity: number, xOffset: number, yOffset: number, zOffset: number, isRelative: boolean): void;

declare function AttachCamToPedBone(cam: number, ped: number, boneIndex: number, x: number, y: number, z: number, heading: boolean): void;

/**
 * NativeDB Introduced: v1180
 */
declare function AttachCamToPedBone_2(cam: number, ped: number, boneIndex: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: boolean): void;

/**
 * This native works with vehicles only.
 * Bone indexes are usually given by this native [GET_ENTITY_BONE_INDEX_BY_NAME](#\_0xFB71170B7E76ACBA).
 * @param cam The camera handle.
 * @param vehicle The vehicle handle.
 * @param relativeRotation Whether or not the camera rotation will relative the vehicle rotation.
 * @param rotX The X rotation.
 * @param rotY The Y rotation.
 * @param rotZ The Z rotation.
 * @param offX The X offset direction.
 * @param offY The Y offset direction.
 * @param offZ The Z offset direction.
 * @param fixedDirection Whether or not the camera direction will relative to the vehicle direction.
 */
declare function AttachCamToVehicleBone(cam: number, vehicle: number, boneIndex: number, relativeRotation: boolean, rotX: number, rotY: number, rotZ: number, offX: number, offY: number, offZ: number, fixedDirection: boolean): void;
/**
 * This native works with vehicles only.
 * Bone indexes are usually given by this native [GET_ENTITY_BONE_INDEX_BY_NAME](#\_0xFB71170B7E76ACBA).
 * @param cam The camera handle.
 * @param vehicle The vehicle handle.
 * @param relativeRotation Whether or not the camera rotation will relative the vehicle rotation.
 * @param rotX The X rotation.
 * @param rotY The Y rotation.
 * @param rotZ The Z rotation.
 * @param offX The X offset direction.
 * @param offY The Y offset direction.
 * @param offZ The Z offset direction.
 * @param fixedDirection Whether or not the camera direction will relative to the vehicle direction.
 */
declare function N_0x8db3f12a02caef72(cam: number, vehicle: number, boneIndex: number, relativeRotation: boolean, rotX: number, rotY: number, rotZ: number, offX: number, offY: number, offZ: number, fixedDirection: boolean): void;

declare function AttachContainerToHandlerFrame(handler: number, container: number): void;

/**
 * Attaches entity 1 to entity 2.
 */
declare function AttachEntitiesToRope(ropeId: number, ent1: number, ent2: number, ent1_x: number, ent1_y: number, ent1_z: number, ent2_x: number, ent2_y: number, ent2_z: number, length: number, p10: boolean, p11: boolean, boneName1: string, boneName2: string): void;

declare function AttachEntityBoneToEntityBone(entity1: number, entity2: number, entityBone: number, entityBone2: number, p4: boolean, p5: boolean): void;
declare function N_0x5c48b75732c8456c(entity1: number, entity2: number, entityBone: number, entityBone2: number, p4: boolean, p5: boolean): void;

declare function AttachEntityBoneToEntityBonePhysically(entity1: number, entity2: number, entityBone: number, entityBone2: number, p4: boolean, p5: boolean): void;
declare function N_0xfd1695c5d3b05439(entity1: number, entity2: number, entityBone: number, entityBone2: number, p4: boolean, p5: boolean): void;

declare function AttachEntityToCargobob(vehicle: number, entity: number, p2: number, x: number, y: number, z: number): void;
declare function N_0xa1dd82f3ccf9a01e(vehicle: number, entity: number, p2: number, x: number, y: number, z: number): void;
declare function AttachEntityToCargobob(vehicle: number, entity: number, p2: number, x: number, y: number, z: number): void;

/**
 * Attach an entity to the specified entity.
 * @param entity1 Entity to attach.
 * @param entity2 Entity to attach `entity1` with.
 * @param boneIndex This is different to boneID, use ['GET_PED_BONE_INDEX'](#\_0x3F428D08BE5AAE31) to get the index from the ID. use the index for attaching to specific bones. `entity1` will be attached to the center of `entity2` if bone index given doesn't correspond to bone indexes for that entity type.
 * @param xPos X-axis offset from the center of `entity2`.
 * @param yPos Y-axis offset from the center of `entity2`.
 * @param zPos Z-axis offset from the center of `entity2`.
 * @param xRot X-axis rotation.
 * @param yRot Y-axis rotation.
 * @param zRot Z-axis rotation.
 * @param p9 Unknown. Does not seem to have any effect.
 * @param useSoftPinning If set to false attached entity will not detach when fixed.
 * @param collision Controls collision between the two entities (FALSE disables collision).
 * @param isPed Pitch doesnt work when false and roll will only work on negative numbers (only peds)
 * @param rotationOrder The order in which the rotation is applied. See [`GET_ENTITY_ROTATION`](#\_0xAFBD61CC738D9EB9)
 * @param fixedRot If false it ignores entity vector.
 */
declare function AttachEntityToEntity(entity1: number, entity2: number, boneIndex: number, xPos: number, yPos: number, zPos: number, xRot: number, yRot: number, zRot: number, p9: boolean, useSoftPinning: boolean, collision: boolean, isPed: boolean, rotationOrder: number, fixedRot: boolean): void;

/**
 * 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.
 */
declare function AttachEntityToEntityPhysically(entity1: number, entity2: number, boneIndex1: number, boneIndex2: number, xPos1: number, yPos1: number, zPos1: number, xPos2: number, yPos2: number, zPos2: number, xRot: number, yRot: number, zRot: number, breakForce: number, fixedRot: boolean, p15: boolean, collision: boolean, teleport: boolean, p18: number): void;

declare function AttachPortablePickupToPed(pickupObject: number, ped: number): void;

/**
 * The position supplied can be anywhere, and the entity should anchor relative to that point from it's origin.
 */
declare function AttachRopeToEntity(ropeId: number, entity: number, x: number, y: number, z: number, p5: boolean): void;

declare function AttachSynchronizedSceneToEntity(sceneID: number, entity: number, boneIndex: number): void;

/**
 * Might be more appropriate in AUDIO?
 */
declare function AttachTvAudioToEntity(entity: number): void;

declare function AttachVehicleOnToTrailer(vehicle: number, trailer: number, offsetX: number, offsetY: number, offsetZ: number, coordsX: number, coordsY: number, coordsZ: number, rotationX: number, rotationY: number, rotationZ: number, disableColls: number): void;
declare function N_0x16b5e274bde402f8(vehicle: number, trailer: number, offsetX: number, offsetY: number, offsetZ: number, coordsX: number, coordsY: number, coordsZ: number, rotationX: number, rotationY: number, rotationZ: number, disableColls: number): void;

/**
 * p2 is unknown and is always -1 in the script natives.
 * @param vehicle The vehicle which should be attached
 * @param cargobob The cargobob
 */
declare function AttachVehicleToCargobob(vehicle: number, cargobob: number, p2: number, x: number, y: number, z: number): void;

/**
 * HookOffset defines where the hook is attached. leave at 0 for default attachment.
 */
declare function AttachVehicleToTowTruck(towTruck: number, vehicle: number, rear: boolean, hookOffsetX: number, hookOffsetY: number, hookOffsetZ: number): void;

declare function AttachVehicleToTrailer(vehicle: number, trailer: number, radius: number): void;

declare function AudioIsScriptedMusicPlaying(): boolean;
declare function N_0x3d120012440e6683(): boolean;

declare function BadSportPlayerLeftDetected(event: number, amountReceived: number): [boolean, number];
declare function N_0xec5e3af5289dca81(event: number, amountReceived: number): [boolean, number];

declare function BeginReplayStats(p0: number, p1: number): void;

/**
 * Push a function from the Scaleform onto the stack
 */
declare function BeginScaleformMovieMethod(scaleform: number, methodName: string): boolean;
/**
 * Push a function from the Scaleform onto the stack
 */
declare function PushScaleformMovieFunction(scaleform: number, methodName: string): boolean;

/**
 * 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 The function name of the scaleform to call.
 */
declare function BeginScaleformMovieMethodOnFrontend(functionName: string): boolean;
/**
 * 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 The function name of the scaleform to call.
 */
declare function N_0xab58c27c2e6123c6(functionName: string): boolean;
/**
 * 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 The function name of the scaleform to call.
 */
declare function PushScaleformMovieFunctionN(functionName: string): boolean;
/**
 * 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 The function name of the scaleform to call.
 */
declare function BeginScaleformMovieMethodN(functionName: string): boolean;

/**
 * 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 Scaleform function name.
 */
declare function BeginScaleformMovieMethodOnFrontendHeader(functionName: string): boolean;
/**
 * 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 Scaleform function name.
 */
declare function N_0xb9449845f73f5e9c(functionName: string): boolean;
/**
 * 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 Scaleform function name.
 */
declare function BeginScaleformMovieMethodV(functionName: string): boolean;

/**
 * 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".
 */
declare function BeginScaleformScriptHudMovieMethod(hudComponent: number, methodName: string): boolean;
/**
 * 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".
 */
declare function PushScaleformMovieFunctionFromHudComponent(hudComponent: number, methodName: string): boolean;
/**
 * 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".
 */
declare function BeginScaleformMovieMethodHudComponent(hudComponent: number, methodName: string): boolean;

declare function BeginSrl(): void;

declare function BeginTakeHighQualityPhoto(): boolean;
declare function N_0xa67c35c56eb1bd9d(): boolean;

declare function BeginTakeMissionCreatorPhoto(): boolean;
declare function N_0x1dd2139a9a20dce8(): boolean;

/**
 * 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
 */
declare function BeginTextCommandBusyspinnerOn(_string: string): void;
/**
 * 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
 */
declare function N_0xaba17d7ce615adbf(_string: string): void;
/**
 * 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
 */
declare function SetLoadingPromptTextEntry(_string: string): void;
/**
 * 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
 */
declare function BeginTextCommandBusyString(_string: string): void;

/**
 * clears a print text command with this text
 */
declare function BeginTextCommandClearPrint(text: string): void;
/**
 * clears a print text command with this text
 */
declare function N_0xe124fa80a759019c(text: string): void;

/**
 * Used to be known as _SET_TEXT_COMPONENT_FORMAT
 */
declare function BeginTextCommandDisplayHelp(inputType: string): void;
/**
 * Used to be known as _SET_TEXT_COMPONENT_FORMAT
 */
declare function SetTextComponentFormat(inputType: string): void;

/**
 * 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
 */
declare function BeginTextCommandDisplayText(text: string): void;
/**
 * 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
 */
declare function SetTextEntry(text: string): void;

/**
 * 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);
 */
declare function BeginTextCommandGetWidth(text: string): void;
/**
 * 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);
 */
declare function SetTextEntryForWidth(text: string): void;
/**
 * 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);
 */
declare function BeginTextCommandWidth(text: string): void;

/**
 * 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();
 * }
 */
declare function BeginTextCommandIsMessageDisplayed(text: string): void;
/**
 * 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();
 * }
 */
declare function N_0x853648fd1063a213(text: string): void;

/**
 * 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);
 * }
 */
declare function BeginTextCommandIsThisHelpMessageBeingDisplayed(labelName: string): void;
/**
 * 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);
 * }
 */
declare function N_0x0a24da3a41b718f5(labelName: string): void;

/**
 * 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);
 * }
 */
declare function BeginTextCommandLineCount(entry: string): void;
/**
 * 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);
 * }
 */
declare function SetTextGxtEntry(entry: string): void;

declare function BeginTextCommandObjective(p0: string): void;
declare function N_0x23d69e0465570028(p0: string): void;

declare function BeginTextCommandOverrideButtonText(gxtEntry: string): void;
declare function N_0x8f9ee5687f8eeccd(gxtEntry: string): void;
declare function BeginTextCommandTimer(gxtEntry: string): void;

/**
 * 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);
 * }
 */
declare function BeginTextCommandPrint(GxtEntry: string): void;
/**
 * 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);
 * }
 */
declare function SetTextEntry_2(GxtEntry: string): void;

/**
 * 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 a GXT text label
 */
declare function BeginTextCommandScaleformString(textLabel: string): void;
/**
 * 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 a GXT text label
 */
declare function BeginTextComponent(textLabel: string): void;

/**
 * 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 The text label to set.
 */
declare function BeginTextCommandSetBlipName(textLabel: string): void;

/**
 * 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 The text label to use.
 */
declare function BeginTextCommandThefeedPost(text: string): void;
/**
 * 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 The text label to use.
 */
declare function SetNotificationTextEntry(text: string): void;

/**
 * Deletes the given context from the background scripts context map.
 * NativeDB Introduced: v323
 */
declare function BgEndContext(contextName: string): void;

/**
 * Hashed version of 0xDC2BACD920D0A0DD.
 * NativeDB Introduced: v323
 */
declare function BgEndContextHash(contextHash: string | number): void;

/**
 * Inserts the given context into the background scripts context map.
 * NativeDB Introduced: v323
 */
declare function BgStartContext(contextName: string): void;

/**
 * Hashed version of 0x9D5A25BADB742ACD.
 * NativeDB Introduced: v323
 */
declare function BgStartContextHash(contextHash: string | number): void;

/**
 * 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.
 */
declare function BlipSiren(vehicle: number): void;

declare function BlockDeathJingle(toggle: boolean): void;
declare function N_0xf154b8d1775b2dec(toggle: boolean): void;

/**
 * eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt
 * This is limited to 4 blocked events at a time.
 */
declare function BlockDecisionMakerEvent(name: string | number, eventType: number): void;

declare function BlockDispatchServiceResourceCreation(dispatchService: number, toggle: boolean): void;
declare function N_0x9b2bd3773123ea2f(dispatchService: number, toggle: boolean): void;

declare function BlockPedDeadBodyShockingEvents(ped: number, toggle: boolean): void;
declare function N_0xe43a13c9e4cccbcf(ped: number, toggle: boolean): void;

declare function BreakEntityGlass(entity: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: boolean): void;

declare function BreakObjectFragmentChild(p0: number, p1: number, p2: boolean): void;
declare function N_0xe7e4c198b0185900(p0: number, p1: number, p2: boolean): void;

/**
 * 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.
 */
declare function BringVehicleToHalt(vehicle: number, distance: number, duration: number, unknown: boolean): void;
/**
 * 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.
 */
declare function N_0x260be8f09e326a20(vehicle: number, distance: number, duration: number, unknown: boolean): void;
/**
 * 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.
 */
declare function SetVehicleHalt(vehicle: number, distance: number, duration: number, unknown: boolean): void;

declare function BusyspinnerIsDisplaying(): boolean;
declare function N_0xb2a592b04648a9cb(): boolean;

declare function BusyspinnerIsOn(): boolean;
declare function N_0xd422fcc5f239a915(): boolean;
declare function IsLoadingPromptBeingDisplayed(): boolean;

/**
 * Removes the loading prompt at the bottom right of the screen.
 */
declare function BusyspinnerOff(): void;
/**
 * Removes the loading prompt at the bottom right of the screen.
 */
declare function N_0x10d373323e5b9c0d(): void;
/**
 * Removes the loading prompt at the bottom right of the screen.
 */
declare function RemoveLoadingPrompt(): void;

/**
 * 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.
 */
declare function CalculateTravelDistanceBetweenPoints(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;

/**
 * This is similar to the PushScaleformMovieFunction natives, except it calls in the `TIMELINE` of a minimap overlay.
 * @param miniMap The minimap overlay ID.
 * @param fnName A function in the overlay's TIMELINE.
 */
declare function CallMinimapScaleformFunction(miniMap: number, fnName: string): boolean;

/**
 * Calls the Scaleform function.
 */
declare function CallScaleformMovieMethod(scaleform: number, method: string): void;
/**
 * Calls the Scaleform function.
 */
declare function CallScaleformMovieFunctionVoid(scaleform: number, method: string): void;

/**
 * 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.
 */
declare function CallScaleformMovieMethodWithNumber(scaleform: number, methodName: string, param1: number, param2: number, param3: number, param4: number, param5: number): void;
/**
 * 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.
 */
declare function CallScaleformMovieFunctionFloatParams(scaleform: number, methodName: string, param1: number, param2: number, param3: number, param4: number, param5: number): void;

/**
 * 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);
 */
declare function CallScaleformMovieMethodWithNumberAndString(scaleform: number, methodName: string, floatParam1: number, floatParam2: number, floatParam3: number, floatParam4: number, floatParam5: number, stringParam1: string, stringParam2: string, stringParam3: string, stringParam4: string, stringParam5: string): void;
/**
 * 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);
 */
declare function CallScaleformMovieFunctionMixedParams(scaleform: number, methodName: string, floatParam1: number, floatParam2: number, floatParam3: number, floatParam4: number, floatParam5: number, stringParam1: string, stringParam2: string, stringParam3: string, stringParam4: string, stringParam5: string): void;

/**
 * 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).
 */
declare function CallScaleformMovieMethodWithString(scaleform: number, methodName: string, param1: string, param2: string, param3: string, param4: string, param5: string): void;
/**
 * 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).
 */
declare function CallScaleformMovieFunctionStringParams(scaleform: number, methodName: string, param1: string, param2: string, param3: string, param4: string, param5: string): void;

declare function CanAnchorBoatHere(vehicle: number): boolean;
declare function N_0x2467a2d807d37ca3(vehicle: number): boolean;
declare function GetBoatAnchor(vehicle: number): boolean;
declare function CanBoatBeAnchored(vehicle: number): boolean;

/**
 * Differs from 0x26C10ECBDA5D043B in that 0x140EFCC10 (1604 retail) is called with a2 = true.
 * NativeDB Introduced: v678
 */
declare function CanAnchorBoatHere_2(vehicle: number): boolean;
/**
 * Differs from 0x26C10ECBDA5D043B in that 0x140EFCC10 (1604 retail) is called with a2 = true.
 * NativeDB Introduced: v678
 */
declare function CanBoatBeAnchored_2(vehicle: number): boolean;

declare function CanCreateRandomBikeRider(): boolean;

declare function CanCreateRandomCops(): boolean;

declare function CanCreateRandomDriver(): boolean;

declare function CanCreateRandomPed(unk: boolean): boolean;

declare function CanKnockPedOffVehicle(ped: number): boolean;

/**
 * NativeDB Added Parameter 1: int p0
 * NativeDB Added Parameter 2: int p1
 * NativeDB Added Parameter 3: int amount
 * NativeDB Added Parameter 4: int* p3
 */
declare function CanPayGoon(): boolean;
/**
 * NativeDB Added Parameter 1: int p0
 * NativeDB Added Parameter 2: int p1
 * NativeDB Added Parameter 3: int amount
 * NativeDB Added Parameter 4: int* p3
 */
declare function N_0x9777734dad16992f(): boolean;

declare function CanPedHearPlayer(player: number, ped: number): boolean;

declare function CanPedInCombatSeeTarget(ped: number, target: number): boolean;

/**
 * Prevents the ped from going limp.
 * [Example: Can prevent peds from falling when standing on moving vehicles.]
 */
declare function CanPedRagdoll(ped: number): boolean;

declare function CanPedSeeHatedPed(ped1: number, ped2: number): boolean;
declare function N_0x6cd5a433374d4cfb(ped1: number, ped2: number): boolean;
declare function CanPedSeePed(ped1: number, ped2: number): boolean;

/**
 * Checks if the ped can play the speech or has the speech file, last parameter is usually 0
 */
declare function CanPedSpeak(ped: number, speechName: string, unk: boolean): boolean;
/**
 * Checks if the ped can play the speech or has the speech file, last parameter is usually 0
 */
declare function N_0x49b99bf3fda89a7a(ped: number, speechName: string, unk: boolean): boolean;

/**
 * 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.
 */
declare function CanPhoneBeSeenOnScreen(): boolean;

declare function CanPlayerStartMission(player: number): boolean;

declare function CanRegisterMissionEntities(ped_amt: number, vehicle_amt: number, object_amt: number, pickup_amt: number): boolean;

declare function CanRegisterMissionObjects(amount: number): boolean;

declare function CanRegisterMissionPeds(amount: number): boolean;

declare function CanRegisterMissionPickups(amount: number): boolean;

declare function CanRegisterMissionVehicles(amount: number): boolean;

/**
 * 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 Whether you can request assets for cutscene entities, like components.
 */
declare function CanRequestAssetsForCutsceneEntity(): boolean;
/**
 * 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 Whether you can request assets for cutscene entities, like components.
 */
declare function N_0xb56bbbcc2955d9cb(): boolean;

/**
 * modelHash (p1) was always 0 in R* scripts
 */
declare function CanSetEnterStateForRegisteredEntity(cutsceneEntName: string, modelHash: string | number): boolean;

/**
 * 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 Mostly false
 */
declare function CanSetExitStateForCamera(p0: boolean): boolean;

/**
 * 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 i.e Michael
 * @param modelHash Can be 0
 * @return Whether or not it is safe to begin interacting with the entity
 */
declare function CanSetExitStateForRegisteredEntity(cutsceneEntName: string, modelHash: string | number): boolean;

declare function CanShuffleSeat(vehicle: number, seatIndex: number): boolean;

/**
 * this returns if you can use the weapon while using a parachute
 */
declare function CanUseWeaponOnParachute(weaponHash: string | number): boolean;

declare function CancelCurrentPoliceReport(): void;
declare function N_0xb4f90faf7670b16f(): void;
declare function DisablePoliceReports(): void;

/**
 * Cancels the currently executing event.
 */
declare function CancelEvent(): void;

/**
 * All music event names found in the b617d scripts: pastebin.com/GnYt0R3P
 */
declare function CancelMusicEvent(eventName: string): boolean;

/**
 * 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_*
 */
declare function CancelOnscreenKeyboard(): void;
/**
 * 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_*
 */
declare function N_0x58a39be597ce99cd(): void;

declare function CancelStuntJump(): void;

/**
 * Does something similar to INTERIOR::DISABLE_INTERIOR
 */
declare function CapInterior(interiorID: number, toggle: boolean): void;

declare function CascadeShadowsClearShadowSampleType(): void;
declare function N_0x27cb772218215325(): void;
declare function CascadeshadowsResetType(): void;

/**
 * When this is set to ON, shadows only draw as you get nearer.
 * When OFF, they draw from a further distance.
 */
declare function CascadeShadowsEnableEntityTracker(toggle: boolean): void;
/**
 * When this is set to ON, shadows only draw as you get nearer.
 * When OFF, they draw from a further distance.
 */
declare function SetFarShadowsSuppressed(toggle: boolean): void;

declare function CascadeShadowsInitSession(): void;
declare function N_0x03fc694ae06c5a20(): void;

declare function CascadeShadowsSetAircraftMode(p0: boolean): void;
declare function N_0x6ddbf9dffc4ac080(p0: boolean): void;

declare function CascadeShadowsSetCascadeBounds(p0: number, p1: boolean, p2: number, p3: number, p4: number, p5: number, p6: boolean, p7: number): void;
declare function N_0xd2936cab8b58fcbd(p0: number, p1: boolean, p2: number, p3: number, p4: number, p5: number, p6: boolean, p7: number): void;

declare function CascadeShadowsSetCascadeBoundsScale(p0: number): void;
declare function N_0x5f0f3f56635809ef(p0: number): void;

declare function CascadeShadowsSetDynamicDepthMode(p0: boolean): void;
declare function N_0xd39d13c9febf0511(p0: boolean): void;

declare function CascadeShadowsSetDynamicDepthValue(p0: number): void;
declare function N_0x02ac28f3a01fa04a(p0: number): void;

declare function CascadeShadowsSetEntityTrackerScale(p0: number): void;
declare function N_0x5e9daf5a20f15908(p0: number): void;

/**
 * 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"
 */
declare function CascadeShadowsSetShadowSampleType(_type: string): void;
/**
 * 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"
 */
declare function N_0xb11d94bc55f41932(_type: string): void;
/**
 * 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"
 */
declare function CascadeshadowsSetType(_type: string): void;

/**
 * I'm guessing this rounds a float value up to the next whole number, and FLOOR rounds it down
 */
declare function Ceil(value: number): number;

declare function CellCamActivate(p0: boolean, p1: boolean): void;

/**
 * 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.
 */
declare function CellCamDisableThisFrame(toggle: boolean): void;
/**
 * 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.
 */
declare function N_0x015c49a93e3e086e(toggle: boolean): void;
/**
 * 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.
 */
declare function DisablePhoneThisFrame(toggle: boolean): void;

declare function CellCamIsCharVisibleNoFaceCheck(entity: number): boolean;

/**
 * For move the finger of player, the value of int goes 1 at 5.
 */
declare function CellCamMoveFinger(direction: number): void;
/**
 * For move the finger of player, the value of int goes 1 at 5.
 */
declare function MoveFinger(direction: number): void;

declare function CellCamSetDistance(p0: number): void;
declare function N_0x53f4892d18ec90a4(p0: number): void;

declare function CellCamSetHeadHeight(p0: number): void;
declare function N_0x466da42c89865553(p0: number): void;

declare function CellCamSetHeadPitch(p0: number): void;
declare function N_0xd6ade981781fca09(p0: number): void;

declare function CellCamSetHeadRoll(p0: number): void;
declare function N_0xf1e22dc13f5eebad(p0: number): void;

declare function CellCamSetHorizontalOffset(p0: number): void;
declare function N_0x1b0b4aeed5b9b41c(p0: number): void;

/**
 * if the bool "Toggle" is "true" so the phone is lean.
 * if the bool "Toggle" is "false" so the phone is not lean.
 */
declare function CellCamSetLean(toggle: boolean): void;
/**
 * if the bool "Toggle" is "true" so the phone is lean.
 * if the bool "Toggle" is "false" so the phone is not lean.
 */
declare function SetPhoneLean(toggle: boolean): void;

declare function CellCamSetRoll(p0: number): void;
declare function N_0x15e69e2802c24b8d(p0: number): void;

declare function CellCamSetVerticalOffset(p0: number): void;
declare function N_0x3117d84efa60f77b(p0: number): void;

/**
 * Displays cash change notifications on HUD.
 */
declare function ChangeFakeMpCash(cash: number, bank: number): void;
/**
 * Displays cash change notifications on HUD.
 */
declare function SetSingleplayerHudCash(cash: number, bank: number): void;
/**
 * Displays cash change notifications on HUD.
 */
declare function SetPlayerCashChange(cash: number, bank: number): void;

declare function ChangePlayerPed(player: number, ped: number, b2: boolean, resetDamage: boolean): void;

/**
 * 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.
 */
declare function ClampGameplayCamPitch(minimum: number, maximum: number): void;

/**
 * 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.
 */
declare function ClampGameplayCamYaw(minimum: number, maximum: number): void;

declare function CleanItemset(p0: number): void;

declare function CleanupAsyncInstall(): void;
declare function N_0xc79ae21974b01fb2(): void;

declare function ClearAdditionalText(p0: number, p1: boolean): void;

/**
 * Clears all active blip routes that have been set with [`SetBlipRoute`](#\_0x3E160C90).
 */
declare function ClearAllBlipRoutes(): void;
/**
 * Clears all active blip routes that have been set with [`SetBlipRoute`](#\_0x3E160C90).
 */
declare function N_0xd12882d3ff82bf11(): void;

declare function ClearAllBrokenGlass(): void;

declare function ClearAllHelpMessages(): void;

/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function ClearAllPedProps(ped: number): void;

declare function ClearAllPedVehicleForcedSeatUsage(ped: number): void;
declare function N_0xe6ca85e7259ce16b(ped: number): void;

declare function ClearAmbientZoneListState(p1: boolean): number;

/**
 * This function also has a p2, unknown. Signature AUDIO::CLEAR_AMBIENT_ZONE_STATE(const char* zoneName, bool p1, Any p2);
 * Still needs more research.
 */
declare function ClearAmbientZoneState(zoneName: string, p1: boolean): void;

/**
 * NativeDB Added Parameter 13: Any p12
 * @param x1 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 */
declare function ClearAngledAreaOfVehicles(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number, p7: boolean, p8: boolean, p9: boolean, p10: boolean, p11: boolean): void;

/**
 * Example: CLEAR_AREA(0, 0, 0, 30, true, false, false, false);
 */
declare function ClearArea(X: number, Y: number, Z: number, radius: number, p4: boolean, ignoreCopCars: boolean, ignoreObjects: boolean, p7: boolean): void;

/**
 * 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.
 */
declare function ClearAreaLeaveVehicleHealth(x: number, y: number, z: number, radius: number, p4: boolean, p5: boolean, p6: boolean, p7: boolean): void;
/**
 * 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.
 */
declare function N_0x957838aaf91bd12d(x: number, y: number, z: number, radius: number, p4: boolean, p5: boolean, p6: boolean, p7: boolean): void;
/**
 * 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.
 */
declare function ClearAreaOfEverything(x: number, y: number, z: number, radius: number, p4: boolean, p5: boolean, p6: boolean, p7: boolean): void;

/**
 * flags appears to always be 0
 */
declare function ClearAreaOfCops(x: number, y: number, z: number, radius: number, flags: number): void;

/**
 * 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.
 */
declare function ClearAreaOfObjects(x: number, y: number, z: number, radius: number, flags: number): void;

/**
 * Example:       CLEAR_AREA_OF_PEDS(0, 0, 0, 10000, 1);
 */
declare function ClearAreaOfPeds(x: number, y: number, z: number, radius: number, flags: number): void;

declare function ClearAreaOfProjectiles(x: number, y: number, z: number, radius: number, flags: number): void;

/**
 * Example: 		CLEAR_AREA_OF_VEHICLES(0, 0, 0, 10000, false, false, false, false, false);
 * ```
 * ```
 * NativeDB Added Parameter 10: BOOL p9
 */
declare function ClearAreaOfVehicles(x: number, y: number, z: number, radius: number, p4: boolean, p5: boolean, p6: boolean, p7: boolean, p8: boolean): void;

/**
 * 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
 */
declare function ClearBit(offset: number): number;

declare function ClearBrief(): void;

declare function ClearCloudHat(): void;

/**
 * 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");
 */
declare function ClearCustomRadioTrackList(radioStation: string): void;
/**
 * 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");
 */
declare function N_0x1654f24a88a8e3fe(radioStation: string): void;

/**
 * eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt
 */
declare function ClearDecisionMakerEventResponse(name: string | number, eventType: number): void;

/**
 * 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.
 */
declare function ClearDrawOrigin(): void;

declare function ClearDrivebyTaskUnderneathDrivingTask(ped: number): void;

declare function ClearDynamicPauseMenuErrorMessage(): void;
declare function N_0x7792424aa0eac32e(): void;

/**
 * This native **could affect** the arguments of the `CEventNetworkEntityDamage` game event, by clearing the damaging entity before the event is fired.
 * @param entity The entity to clear the last damaging entity from.
 */
declare function ClearEntityLastDamageEntity(entity: number): void;

declare function ClearEntityLastWeaponDamage(entity: number): void;

/**
 * Clears the secondary timecycle modifier usually set with [`SetExtraTimecycleModifier`](#\_0x5096FD9CCB49056D)
 */
declare function ClearExtraTimecycleModifier(): void;
/**
 * Clears the secondary timecycle modifier usually set with [`SetExtraTimecycleModifier`](#\_0x5096FD9CCB49056D)
 */
declare function N_0x92ccc17a7a2285da(): void;

/**
 * NativeDB Introduced: v1493
 */
declare function ClearFacialClipsetOverride(ped: number): void;
/**
 * NativeDB Introduced: v1493
 */
declare function N_0x637822dc2afeebf8(ped: number): void;

declare function ClearFacialIdleAnimOverride(ped: number): void;

declare function ClearFloatingHelp(hudIndex: number, p1: boolean): void;

declare function ClearFocus(): void;

declare function ClearGarageArea(garageHash: string | number, isNetwork: boolean): void;
declare function N_0xda05194260cdcdf9(garageHash: string | number, isNetwork: boolean): void;

declare function ClearGpsCustomRoute(): void;
declare function N_0xe6de0561d9232a64(): void;

/**
 * Clears a disabled GPS route area from a certain index previously set using [`SET_GPS_DISABLED_ZONE_AT_INDEX`](#\_0xD0BC1C6FB18EE154).
 * @param index Index of disabled zone.
 */
declare function ClearGpsDisabledZoneAtIndex(index: number): void;
/**
 * Clears a disabled GPS route area from a certain index previously set using [`SET_GPS_DISABLED_ZONE_AT_INDEX`](#\_0xD0BC1C6FB18EE154).
 * @param index Index of disabled zone.
 */
declare function N_0x2801d0012266df07(index: number): void;
/**
 * Clears a disabled GPS route area from a certain index previously set using [`SET_GPS_DISABLED_ZONE_AT_INDEX`](#\_0xD0BC1C6FB18EE154).
 * @param index Index of disabled zone.
 */
declare function ClearGpsDisabledZoneAtIndex(index: number): void;

/**
 * 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.
 */
declare function ClearGpsFlags(): void;

/**
 * Does the same as [`SET_GPS_MULTI_ROUTE_RENDER(false)`](https://runtime.fivem.net/doc/reference.html#\_0x3DDA37128DD1ACA8)
 */
declare function ClearGpsMultiRoute(): void;
/**
 * Does the same as [`SET_GPS_MULTI_ROUTE_RENDER(false)`](https://runtime.fivem.net/doc/reference.html#\_0x3DDA37128DD1ACA8)
 */
declare function N_0x67eedea1b9bafd94(): void;

declare function ClearGpsPlayerWaypoint(): void;

/**
 * Does the same as SET_RACE_TRACK_RENDER(false);
 */
declare function ClearGpsRaceTrack(): void;

declare function ClearHdArea(): void;

declare function ClearHelp(toggle: boolean): void;

/**
 * Immediately removes entity from an interior. Like sets entity to `limbo` room.
 * ```
 * NativeDB Introduced: v2189
 * ```
 */
declare function ClearInteriorForEntity(entity: number): void;

declare function ClearLastDrivenVehicle(): void;
declare function N_0xe01903c47c7ac89e(): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function ClearLaunchParams(): void;
/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x966dd84fb6a46017(): void;

declare function ClearObjectsInsideGarage(garageHash: string | number, vehicles: boolean, peds: boolean, objects: boolean, isNetwork: boolean): void;
declare function N_0x190428512b240692(garageHash: string | number, vehicles: boolean, peds: boolean, objects: boolean, isNetwork: boolean): void;

declare function ClearOverrideWeather(): void;

declare function ClearPedAlternateMovementAnim(ped: number, stance: number, p2: number): void;

declare function ClearPedAlternateWalkAnim(ped: number, p1: number): void;

/**
 * Clears the blood on a ped.
 * @param ped Ped id.
 */
declare function ClearPedBloodDamage(ped: number): void;

/**
 * Somehow related to changing ped's clothes.
 */
declare function ClearPedBloodDamageByZone(ped: number, p1: number): void;
/**
 * Somehow related to changing ped's clothes.
 */
declare function N_0x56e3b78c5408d9f4(ped: number, p1: number): void;

/**
 * CLEAR_PED_*
 */
declare function ClearPedCoverClipsetOverride(ped: number): void;
/**
 * CLEAR_PED_*
 */
declare function N_0xc79196dcb36f6121(ped: number): void;

/**
 * p1: from 0 to 5 in the b617d scripts.
 * p2: "blushing" and "ALL" found in the b617d scripts.
 */
declare function ClearPedDamageDecalByZone(ped: number, p1: number, p2: string): void;
/**
 * p1: from 0 to 5 in the b617d scripts.
 * p2: "blushing" and "ALL" found in the b617d scripts.
 */
declare function N_0x523c79aeefcc4a2a(ped: number, p1: number, p2: string): void;

declare function ClearPedDecorations(ped: number): void;

declare function ClearPedDecorationsLeaveScars(ped: number): void;
declare function N_0xe3b27e70ceab9f0c(ped: number): void;
declare function ClearPedFacialDecorations(ped: number): void;

declare function ClearPedDriveByClipsetOverride(ped: number): void;

declare function ClearPedEnvDirt(ped: number): void;
declare function N_0x6585d955a68452a5(ped: number): void;

declare function ClearPedInPauseMenu(): void;

declare function ClearPedLastDamageBone(ped: number): void;

/**
 * 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.
 */
declare function ClearPedLastWeaponDamage(ped: number): void;

declare function ClearPedNonCreationArea(): void;

declare function ClearPedParachutePackVariation(ped: number): void;
declare function N_0x1280804f7cfd2d6c(ped: number): void;

/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function ClearPedProp(ped: number, propId: number): void;

/**
 * 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 The ped to remove the scuba gear from.
 */
declare function ClearPedScubaGearVariation(ped: number): void;
/**
 * 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 The ped to remove the scuba gear from.
 */
declare function N_0xb50eb4ccb29704ac(ped: number): void;
/**
 * 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 The ped to remove the scuba gear from.
 */
declare function RemovePedScubaGearNow(ped: number): void;

declare function ClearPedSecondaryTask(ped: number): void;

declare function ClearPedStoredHatProp(ped: number): void;
declare function N_0x687c0b594907d2e8(ped: number): void;

/**
 * Clear a ped's tasks. Stop animations and other tasks created by scripts.
 * @param ped Ped id. Use PlayerPedId() for your own character.
 */
declare function ClearPedTasks(ped: number): void;

/**
 * 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 Ped id.
 */
declare function ClearPedTasksImmediately(ped: number): void;

/**
 * It clears the wetness of the selected Ped/Player. Clothes have to be wet to notice the difference.
 */
declare function ClearPedWetness(ped: number): void;

declare function ClearPlayerHasDamagedAtLeastOneNonAnimalPed(player: number): void;

declare function ClearPlayerHasDamagedAtLeastOnePed(player: number): void;

declare function ClearPlayerParachuteModelOverride(player: number): void;

declare function ClearPlayerParachutePackModelOverride(player: number): void;

declare function ClearPlayerParachuteVariationOverride(player: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function ClearPlayerReserveParachuteModelOverride(player: number): void;

/**
 * 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.
 */
declare function ClearPlayerWantedLevel(player: number): void;

/**
 * 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]);
 */
declare function ClearPopscheduleOverrideVehicleModel(scheduleId: number): void;

declare function ClearPrints(): void;

declare function ClearRaceGalleryBlips(): void;
declare function N_0x2708fc083123f9ff(): void;

/**
 * There seem to be 26 flags
 */
declare function ClearRagdollBlockingFlags(ped: number, flags: number): void;
/**
 * There seem to be 26 flags
 */
declare function N_0xd86d101fcfd00a4b(ped: number, flags: number): void;
/**
 * There seem to be 26 flags
 */
declare function ResetPedRagdollBlockingFlags(ped: number, flags: number): void;

/**
 * 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);
 */
declare function ClearRelationshipBetweenGroups(relationship: number, group1: string | number, group2: string | number): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function ClearReminderMessage(): void;
/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0xb57d8dd645cfa2cf(): void;

declare function ClearReplayStats(): void;

declare function ClearRestartCustomPosition(): void;
declare function N_0xa2716d40842eaf79(): void;
declare function SetNextRespawnToCustom(): void;

declare function ClearRoomForEntity(entity: number): void;

declare function ClearRoomForGameViewport(): void;
declare function N_0x23b59d8912f94246(): void;

declare function ClearSequenceTask(taskSequenceId: number): void;

declare function ClearSmallPrints(): void;

declare function ClearTacticalAnalysisPoints(): void;
declare function N_0xb3cd58cca6cda852(): void;

/**
 * p0: found arguments in the b617d scripts: pastebin.com/X5akCN7z
 */
declare function ClearThisPrint(p0: string): void;

declare function ClearTimecycleModifier(): void;

declare function ClearTvChannelPlaylist(tvChannel: number): void;
declare function N_0xbeb3d46bb7f043c0(tvChannel: number): void;

declare function ClearVehicleCustomPrimaryColour(vehicle: number): void;

declare function ClearVehicleCustomSecondaryColour(vehicle: number): void;

declare function ClearVehiclePhoneExplosiveDevice(): void;
declare function N_0xaa3f739abddcf21f(): void;

declare function ClearVehicleRouteHistory(vehicle: number): void;
declare function N_0x6d6af961b72728ae(vehicle: number): void;

/**
 * CLEAR_*
 * NativeDB Introduced: v1290
 * @param vehicle The vehicle to have tasks cleared
 */
declare function ClearVehicleTasks(vehicle: number): void;
/**
 * CLEAR_*
 * NativeDB Introduced: v1290
 * @param vehicle The vehicle to have tasks cleared
 */
declare function N_0xdbbc7a2432524127(vehicle: number): void;

/**
 * Removes vehicle xenon lights custom RGB color.
 * @param vehicle The vehicle handle.
 */
declare function ClearVehicleXenonLightsCustomColor(vehicle: number): void;

declare function ClearWeatherTypePersist(): void;

/**
 * Creates a copy of the passed ped, optionally setting it as local and/or shallow-copying the head blend data.
 * @param ped The input ped.
 * @param isNetwork Whether or not the ped should be registered as a network object.
 * @param bScriptHostPed Script host flag.
 * @param copyHeadBlendFlag If true, head blend data is referenced, not copied.
 * @return A new ped handle representing the ped's copy.
 */
declare function ClonePed(ped: number, isNetwork: boolean, bScriptHostPed: boolean, copyHeadBlendFlag: boolean): number;

/**
 * Used one time in fmmc_launcher.c instead of CLONE_PED because ?
 */
declare function ClonePedEx(ped: number, heading: number, isNetwork: boolean, bScriptHostPed: boolean, p4: number): number;
/**
 * Used one time in fmmc_launcher.c instead of CLONE_PED because ?
 */
declare function N_0x668fd40bcba5de48(ped: number, heading: number, isNetwork: boolean, bScriptHostPed: boolean, p4: number): number;
/**
 * Used one time in fmmc_launcher.c instead of CLONE_PED because ?
 */
declare function ClonePed_2(ped: number, heading: number, isNetwork: boolean, bScriptHostPed: boolean, p4: number): number;

/**
 * Copies ped's components and props to targetPed.
 */
declare function ClonePedToTarget(ped: number, targetPed: number): void;
/**
 * Copies ped's components and props to targetPed.
 */
declare function AssignPlayerToPed(ped: number, targetPed: number): void;

declare function ClonePedToTargetEx(ped: number, targetPed: number, p2: number): void;
declare function N_0x148b08c2d2acb884(ped: number, targetPed: number, p2: number): void;

declare function CloseBombBayDoors(vehicle: number): void;
declare function N_0x3556041742a0dc74(vehicle: number): void;

declare function CloseMultiplayerChat(): void;
declare function AbortTextChat(): void;

declare function ClosePatrolRoute(): void;

declare function CloseSequenceTask(taskSequenceId: number): void;

declare function CloseSocialClubMenu(): void;
declare function N_0xd2b32be3fc1626c6(): void;

/**
 * Downloads prod.cloud.rockstargames.com/titles/gta5/[platform]/check.json
 */
declare function CloudCheckAvailability(): void;
/**
 * Downloads prod.cloud.rockstargames.com/titles/gta5/[platform]/check.json
 */
declare function N_0x4f18196c8d38768d(): void;
/**
 * Downloads prod.cloud.rockstargames.com/titles/gta5/[platform]/check.json
 */
declare function DownloadCheck(): void;

declare function CloudDeleteMemberFile(p0: string): number;
declare function N_0xc64ded7ef0d2fe37(p0: string): number;

declare function CloudDidRequestSucceed(handle: number): boolean;
declare function N_0x3a3d5568af297cd5(handle: number): boolean;

declare function CloudGetAvailabilityCheckResult(): boolean;
declare function NetworkEnableMotionDrugged(): boolean;
declare function N_0x0b0cc10720653f3b(): boolean;

declare function CloudHasRequestCompleted(handle: number): boolean;
declare function N_0x4c61b39930d045da(handle: number): boolean;

declare function CloudIsCheckingAvailability(): boolean;
declare function N_0xc7abac5de675ee3b(): boolean;

/**
 * Commits the backing pixels to the specified runtime texture.
 * @param tex The runtime texture handle.
 */
declare function CommitRuntimeTexture(tex: number): void;

/**
 * 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'
 */
declare function CompareStrings(str1: string, str2: string, matchCase: boolean, maxLength: number): number;

/**
 * Works for vehicles with a retractable landing gear
 * landing gear states:
 * 0: Deployed
 * 1: Closing
 * 2: Opening
 * 3: Retracted
 */
declare function ControlLandingGear(vehicle: number, state: number): void;
/**
 * Works for vehicles with a retractable landing gear
 * landing gear states:
 * 0: Deployed
 * 1: Closing
 * 2: Opening
 * 3: Retracted
 */
declare function SetVehicleLandingGear(vehicle: number, state: number): void;

/**
 * Forces the ped to use the mounted weapon.
 * Returns false if task is not possible.
 */
declare function ControlMountedWeapon(ped: number): boolean;

/**
 * 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;
 * };
 */
declare function ConvertPosixTime(posixTime: number, timeStructure?: number): number;
/**
 * 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;
 * };
 */
declare function GetDateAndTimeFromUnixEpoch(posixTime: number, timeStructure?: number): number;

declare function CopyMemory(src: number, size: number): number;
declare function N_0x213aeb2b90cba7ac(src: number, size: number): number;

/**
 * Copies sourceVehicle's damage (broken bumpers, broken lights, etc.) to targetVehicle.
 * @param sourceVehicle The source to copy the vehicle damage.
 * @param targetVehicle The target to paste the vehicle damage.
 */
declare function CopyVehicleDamages(sourceVehicle: number, targetVehicle: number): void;
/**
 * Copies sourceVehicle's damage (broken bumpers, broken lights, etc.) to targetVehicle.
 * @param sourceVehicle The source to copy the vehicle damage.
 * @param targetVehicle The target to paste the vehicle damage.
 */
declare function N_0xe44a982368a4af23(sourceVehicle: number, targetVehicle: number): void;

/**
 * Returns the cosine of the given number.
 * @param value The number of degrees (in degrees, not radians)
 * @return The cosine of the given number
 */
declare function Cos(value: number): number;

declare function CreateAirDefenseArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, weaponHash: string | number): number;
declare function N_0x9da58cdbf6bdbc08(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, weaponHash: string | number): number;

/**
 * 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 X coordinate
 * @param y Y coordinate
 * @param z Z coordinate
 * @param radius Unknown float 150.0 is used in freemode script.
 * @param p4 X coordinate
 * @param p5 Y coordinate
 * @param p6 Z coordinate
 * @param weaponHash weapon_air_defence_gun and 0 are used in the decompiled scripts.
 * @return Seems to be some sort of handle, result is += 1 any time this native is called.
 */
declare function CreateAirDefenseSphere(x: number, y: number, z: number, radius: number, p4: number, p5: number, p6: number, weaponHash: string | number): number;
/**
 * 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 X coordinate
 * @param y Y coordinate
 * @param z Z coordinate
 * @param radius Unknown float 150.0 is used in freemode script.
 * @param p4 X coordinate
 * @param p5 Y coordinate
 * @param p6 Z coordinate
 * @param weaponHash weapon_air_defence_gun and 0 are used in the decompiled scripts.
 * @return Seems to be some sort of handle, result is += 1 any time this native is called.
 */
declare function N_0x91ef34584710be99(x: number, y: number, z: number, radius: number, p4: number, p5: number, p6: number, weaponHash: string | number): number;

/**
 * Used for doing money drop
 * Pickup hashes: pastebin.com/8EuSv2r1
 */
declare function CreateAmbientPickup(pickupHash: string | number, posX: number, posY: number, posZ: number, flags: number, value: number, modelHash: string | number, returnHandle: boolean, p8: boolean): number;

/**
 * Creates an audio submix with the specified name, or gets the existing audio submix by that name.
 * @param name The audio submix name.
 * @return A submix ID, or -1 if the submix could not be created.
 */
declare function CreateAudioSubmix(name: string): number;

/**
 * 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 A string representing the camera type, the game will convert the string into a joaat hash upon native execution.
 * @param active Set to true if you wish to make this new camera the active camera.
 * @return A camera handle referencing the camera that was created.
 */
declare function CreateCam(camName: string, active: boolean): number;

/**
 * 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 Is the type of the camera, is always setted to `DEFAULT_SCRIPTED_CAMERA` in Rockstar scripts and in Fivem Forum Posts
 * @param posX The x position of the camera (you can also send a vector3 instead of the bulk coordinates)
 * @param posY The y position of the camera (you can also send a vector3 instead of the bulk coordinates)
 * @param posZ The z position of the camera (you can also send a vector3 instead of the bulk coordinates)
 * @param rotX The x rotation of the camera
 * @param rotY The y rotation of the camera
 * @param rotZ The z rotation of the camera
 * @param fov The Field Of View of the camera, is the observable world that is seen
 * @return A camera handle.
 */
declare function CreateCamWithParams(camName: string, posX: number, posY: number, posZ: number, rotX: number, rotY: number, rotZ: number, fov: number, active: boolean, rotationOrder: number): number;

declare function CreateCamera(camHash: string | number, active: boolean): number;

/**
 * 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
 */
declare function CreateCameraWithParams(camHash: string | number, posX: number, posY: number, posZ: number, rotX: number, rotY: number, rotZ: number, fov: number, active: boolean, rotationOrder: number): number;

/**
 * ```
 * 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
 */
declare function CreateCheckpoint(_type: number, posX1: number, posY1: number, posZ1: number, posX2: number, posY2: number, posZ2: number, diameter: number, red: number, green: number, blue: number, alpha: number, reserved: number): number;

declare function CreateCinematicShot(p0: number, p1: number, p2: number, entity: number): void;

/**
 * Creates a DUI browser. This can be used to draw on a runtime texture using CREATE_RUNTIME_TEXTURE_FROM_DUI_HANDLE.
 * @param url The initial URL to load in the browser.
 * @param width The width of the backing surface.
 * @param height The height of the backing surface.
 * @return A DUI object.
 */
declare function CreateDui(url: string, width: number, height: number): number;

/**
 * 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 The ped that the fake gamer tag will be attached to.
 * @param username The name displayed on the gamer tag.
 * @param crewIsPrivate If the crew is private. Public crews have a pointed end cap, private crews do not.
 * @param crewIsRockstar If the crew is a Rockstar crew. Rockstar crews include a Rockstar logo before the name.
 * @param crewName The name of the crew.
 * @param crewRank The rank from 1-5 that the player is within the crew. Use 0 if the player is the founder of the crew. Only relevant for private crews.
 * @return The ID of the new gamer tag.
 */
declare function CreateFakeMpGamerTag(ped: number, username: string, crewIsPrivate: boolean, crewIsRockstar: boolean, crewName: string, crewRank: number): number;
/**
 * 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 The ped that the fake gamer tag will be attached to.
 * @param username The name displayed on the gamer tag.
 * @param crewIsPrivate If the crew is private. Public crews have a pointed end cap, private crews do not.
 * @param crewIsRockstar If the crew is a Rockstar crew. Rockstar crews include a Rockstar logo before the name.
 * @param crewName The name of the crew.
 * @param crewRank The rank from 1-5 that the player is within the crew. Use 0 if the player is the founder of the crew. Only relevant for private crews.
 * @return The ID of the new gamer tag.
 */
declare function N_0xbfefe3321a3f5015(ped: number, username: string, crewIsPrivate: boolean, crewIsRockstar: boolean, crewName: string, crewRank: number): number;
/**
 * 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 The ped that the fake gamer tag will be attached to.
 * @param username The name displayed on the gamer tag.
 * @param crewIsPrivate If the crew is private. Public crews have a pointed end cap, private crews do not.
 * @param crewIsRockstar If the crew is a Rockstar crew. Rockstar crews include a Rockstar logo before the name.
 * @param crewName The name of the crew.
 * @param crewRank The rank from 1-5 that the player is within the crew. Use 0 if the player is the founder of the crew. Only relevant for private crews.
 * @return The ID of the new gamer tag.
 */
declare function CreateMpGamerTag(ped: number, username: string, crewIsPrivate: boolean, crewIsRockstar: boolean, crewName: string, crewRank: number): number;

declare function CreateForcedObject(x: number, y: number, z: number, p3: number, modelHash: string | number, p5: boolean): void;

/**
 * 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.
 */
declare function CreateGroup(unused: number): number;

/**
 * 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
 */
declare function CreateIncident(dispatchService: number, x: number, y: number, z: number, numUnits: number, radius: number, outIncidentID?: number): [boolean, number];

/**
 * 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
 */
declare function CreateIncidentWithEntity(dispatchService: number, ped: number, numUnits: number, radius: number, outIncidentID?: number): [boolean, number];

declare function CreateItemset(distri: boolean): number;

/**
 * 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
 */
declare function CreateMissionTrain(variation: number, x: number, y: number, z: number, direction: boolean): number;

/**
 * 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.
 */
declare function CreateMobilePhone(phoneType: number): void;

/**
 * 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.
 */
declare function CreateModelHide(x: number, y: number, z: number, radius: number, model: string | number, p5: boolean): void;

declare function CreateModelHideExcludingScriptObjects(x: number, y: number, z: number, radius: number, model: string | number, p5: boolean): void;

/**
 * Only works with objects!
 * Network players do not see changes done with this.
 */
declare function CreateModelSwap(x: number, y: number, z: number, radius: number, originalModel: string | number, newModel: string | number, p6: boolean): void;

/**
 * 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
 */
declare function CreateMoneyPickups(x: number, y: number, z: number, value: number, amount: number, model: string | number): void;

/**
 * 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 The local player ID to assign the gamer tag to.
 * @param username The name displayed on the gamer tag.
 * @param crewIsPrivate If the crew is private. Public crews have a pointed end cap, private crews do not.
 * @param crewIsRockstar If the crew is a Rockstar crew. Rockstar crews include a Rockstar logo before the name.
 * @param crewName The name of the crew.
 * @param crewRank The rank from 1-5 that the player is within the crew. Use 0 if the player is the founder of the crew. Only relevant for private crews.
 * @param crewR Red component of the crew colour.
 * @param crewG Green component of the crew colour.
 * @param crewB Blue component of the crew colour.
 */
declare function CreateMpGamerTagWithCrewColor(player: number, username: string, crewIsPrivate: boolean, crewIsRockstar: boolean, crewName: string, crewRank: number, crewR: number, crewG: number, crewB: number): void;
/**
 * 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 The local player ID to assign the gamer tag to.
 * @param username The name displayed on the gamer tag.
 * @param crewIsPrivate If the crew is private. Public crews have a pointed end cap, private crews do not.
 * @param crewIsRockstar If the crew is a Rockstar crew. Rockstar crews include a Rockstar logo before the name.
 * @param crewName The name of the crew.
 * @param crewRank The rank from 1-5 that the player is within the crew. Use 0 if the player is the founder of the crew. Only relevant for private crews.
 * @param crewR Red component of the crew colour.
 * @param crewG Green component of the crew colour.
 * @param crewB Blue component of the crew colour.
 */
declare function N_0x6dd05e9d83efa4c9(player: number, username: string, crewIsPrivate: boolean, crewIsRockstar: boolean, crewName: string, crewRank: number, crewR: number, crewG: number, crewB: number): void;
/**
 * 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 The local player ID to assign the gamer tag to.
 * @param username The name displayed on the gamer tag.
 * @param crewIsPrivate If the crew is private. Public crews have a pointed end cap, private crews do not.
 * @param crewIsRockstar If the crew is a Rockstar crew. Rockstar crews include a Rockstar logo before the name.
 * @param crewName The name of the crew.
 * @param crewRank The rank from 1-5 that the player is within the crew. Use 0 if the player is the founder of the crew. Only relevant for private crews.
 * @param crewR Red component of the crew colour.
 * @param crewG Green component of the crew colour.
 * @param crewB Blue component of the crew colour.
 */
declare function CreateMpGamerTagColor(player: number, username: string, crewIsPrivate: boolean, crewIsRockstar: boolean, crewName: string, crewRank: number, crewR: number, crewG: number, crewB: number): void;
/**
 * 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 The local player ID to assign the gamer tag to.
 * @param username The name displayed on the gamer tag.
 * @param crewIsPrivate If the crew is private. Public crews have a pointed end cap, private crews do not.
 * @param crewIsRockstar If the crew is a Rockstar crew. Rockstar crews include a Rockstar logo before the name.
 * @param crewName The name of the crew.
 * @param crewRank The rank from 1-5 that the player is within the crew. Use 0 if the player is the founder of the crew. Only relevant for private crews.
 * @param crewR Red component of the crew colour.
 * @param crewG Green component of the crew colour.
 * @param crewB Blue component of the crew colour.
 */
declare function SetMpGamerTagColor(player: number, username: string, crewIsPrivate: boolean, crewIsRockstar: boolean, crewName: string, crewRank: number, crewR: number, crewG: number, crewB: number): void;
/**
 * 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 The local player ID to assign the gamer tag to.
 * @param username The name displayed on the gamer tag.
 * @param crewIsPrivate If the crew is private. Public crews have a pointed end cap, private crews do not.
 * @param crewIsRockstar If the crew is a Rockstar crew. Rockstar crews include a Rockstar logo before the name.
 * @param crewName The name of the crew.
 * @param crewRank The rank from 1-5 that the player is within the crew. Use 0 if the player is the founder of the crew. Only relevant for private crews.
 * @param crewR Red component of the crew colour.
 * @param crewG Green component of the crew colour.
 * @param crewB Blue component of the crew colour.
 */
declare function CreateMpGamerTagForNetPlayer(player: number, username: string, crewIsPrivate: boolean, crewIsRockstar: boolean, crewName: string, crewRank: number, crewR: number, crewG: number, crewB: number): void;

declare function CreateNewScriptedConversation(): void;

/**
 * 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.
 */
declare function CreateNmMessage(startImmediately: boolean, messageId: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function CreateNonNetworkedAmbientPickup(pickupHash: number, posX: number, posY: number, posZ: number, flags: number, value: number, modelHash: number, p7: boolean, p8: boolean): number;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x9c93764223e29c50(pickupHash: number, posX: number, posY: number, posZ: number, flags: number, value: number, modelHash: number, p7: boolean, p8: boolean): number;

declare function CreateNonNetworkedPortablePickup(pickupHash: string | number, x: number, y: number, z: number, placeOnGround: boolean, modelHash: string | number): number;
declare function N_0x125494b98a21aaf7(pickupHash: string | number, x: number, y: number, z: number, placeOnGround: boolean, modelHash: string | number): number;
declare function CreatePortablePickup_2(pickupHash: string | number, x: number, y: number, z: number, placeOnGround: boolean, modelHash: string | number): number;

/**
 * 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 The model to spawn.
 * @param x Spawn coordinate X component.
 * @param y Spawn coordinate Y component.
 * @param z Spawn coordinate Z component, 'ground level'.
 * @param isNetwork Whether to create a network object for the object. If false, the object exists only locally.
 * @param netMissionEntity Whether to register the object as pinned to the script host in the R\* network model.
 * @param doorFlag False to create a door archetype (archetype flag bit 26 set) as a door. Required to be set to true to create door models in network mode.
 * @return A script handle (fwScriptGuid index) for the object, or `0` if the object failed to be created.
 */
declare function CreateObject(modelHash: string | number, x: number, y: number, z: number, isNetwork: boolean, netMissionEntity: boolean, doorFlag: boolean): number;

/**
 * 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 The model to spawn.
 * @param x Spawn coordinate X component.
 * @param y Spawn coordinate Y component.
 * @param z Spawn coordinate Z component.
 * @param isNetwork Whether to create a network object for the object. If false, the object exists only locally.
 * @param netMissionEntity Whether to register the object as pinned to the script host in the R\* network model.
 * @param doorFlag False to create a door archetype (archetype flag bit 26 set) as a door. Required to be set to true to create door models in network mode.
 * @return A script handle (fwScriptGuid index) for the object, or `0` if the object failed to be created.
 */
declare function CreateObjectNoOffset(modelHash: string | number, x: number, y: number, z: number, isNetwork: boolean, netMissionEntity: boolean, doorFlag: boolean): number;

declare function CreateParachuteBagObject(ped: number, p1: boolean, p2: boolean): number;
declare function N_0x8c4f3bf23b6237db(ped: number, p1: boolean, p2: boolean): number;
declare function CreateParachuteObject(ped: number, p1: boolean, p2: boolean): number;

declare function CreatePatrolRoute(): void;

/**
 * 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 Unused. Peds get set to CIVMALE/CIVFEMALE/etc. no matter the value specified.
 * @param modelHash The model of ped to spawn.
 * @param x Spawn coordinate X component.
 * @param y Spawn coordinate Y component.
 * @param z Spawn coordinate Z component.
 * @param heading Heading to face towards, in degrees.
 * @param isNetwork Whether to create a network object for the ped. If false, the ped exists only locally.
 * @param bScriptHostPed Whether to register the ped as pinned to the script host in the R\* network model.
 * @return A script handle (fwScriptGuid index) for the ped, or `0` if the ped failed to be created.
 */
declare function CreatePed(pedType: number, modelHash: string | number, x: number, y: number, z: number, heading: number, isNetwork: boolean, bScriptHostPed: boolean): number;

declare function CreatePedInsideVehicle(vehicle: number, pedType: number, modelHash: string | number, seat: number, isNetwork: boolean, bScriptHostPed: boolean): number;

/**
 * Drops the Hook/Magnet on a cargobob
 * state
 * enum eCargobobHook
 * {
 * CARGOBOB_HOOK = 0,
 * CARGOBOB_MAGNET = 1,
 * };
 */
declare function CreatePickUpRopeForCargobob(cargobob: number, state: number): void;
/**
 * Drops the Hook/Magnet on a cargobob
 * state
 * enum eCargobobHook
 * {
 * CARGOBOB_HOOK = 0,
 * CARGOBOB_MAGNET = 1,
 * };
 */
declare function EnableCargobobHook(cargobob: number, state: number): void;

/**
 * Pickup hashes: pastebin.com/8EuSv2r1
 */
declare function CreatePickup(pickupHash: string | number, posX: number, posY: number, posZ: number, p4: number, value: number, p6: boolean, modelHash: string | number): number;

/**
 * Pickup hashes: pastebin.com/8EuSv2r1
 * flags:
 * 8 (1 << 3): place on ground
 * 512 (1 << 9): spin around
 */
declare function CreatePickupRotate(pickupHash: string | number, posX: number, posY: number, posZ: number, rotX: number, rotY: number, rotZ: number, flag: number, amount: number, p9: number, p10: boolean, modelHash: string | number): number;

/**
 * Pickup hashes: pastebin.com/8EuSv2r1
 */
declare function CreatePortablePickup(pickupHash: string | number, x: number, y: number, z: number, placeOnGround: boolean, modelHash: string | number): number;

/**
 * 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.
 */
declare function CreateRandomPed(posX: number, posY: number, posZ: number): number;

declare function CreateRandomPedAsDriver(vehicle: number, returnHandle: boolean): number;

/**
 * Creates a blank runtime texture.
 * @param txd A handle to the runtime TXD to create the runtime texture in.
 * @param txn The name for the texture in the runtime texture dictionary.
 * @param width The width of the new texture.
 * @param height The height of the new texture.
 * @return A runtime texture handle.
 */
declare function CreateRuntimeTexture(txd: number, txn: string, width: number, height: number): number;

/**
 * Creates a runtime texture from a DUI handle.
 * @param txd A handle to the runtime TXD to create the runtime texture in.
 * @param txn The name for the texture in the runtime texture dictionary.
 * @param duiHandle The DUI handle returned from GET_DUI_HANDLE.
 * @return The runtime texture handle.
 */
declare function CreateRuntimeTextureFromDuiHandle(txd: number, txn: string, duiHandle: string): number;

/**
 * Creates a runtime texture from the specified file in the current resource.
 * @param txd A handle to the runtime TXD to create the runtime texture in.
 * @param txn The name for the texture in the runtime texture dictionary.
 * @param fileName The file name of an image to load. This should preferably be a PNG, and has to be specified as a `file` in the resource manifest.
 * @return A runtime texture handle.
 */
declare function CreateRuntimeTextureFromImage(txd: number, txn: string, fileName: string): number;

/**
 * Creates a runtime texture dictionary with the specified name.
 * Example:
 * ```lua
 * local txd = CreateRuntimeTxd('meow')
 * ```
 * @param name The name for the runtime TXD.
 * @return A handle to the runtime TXD.
 */
declare function CreateRuntimeTxd(name: string): number;

/**
 * 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);
 */
declare function CreateScriptVehicleGenerator(x: number, y: number, z: number, heading: number, p4: number, p5: number, modelHash: string | number, p7: number, p8: number, p9: number, p10: number, p11: boolean, p12: boolean, p13: boolean, p14: boolean, p15: boolean, p16: number): number;

/**
 * p6 always 2 (but it doesnt seem to matter...)
 * roll and pitch 0
 * yaw to Ped.rotation
 */
declare function CreateSynchronizedScene(x: number, y: number, z: number, roll: number, pitch: number, yaw: number, p6: number): number;

declare function CreateSynchronizedScene_2(x: number, y: number, z: number, radius: number, object: string | number): number;
declare function N_0x62ec273d00187dca(x: number, y: number, z: number, radius: number, object: string | number): number;

/**
 * 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.
 */
declare function CreateTrackedPoint(): number;

/**
 * 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 The model of vehicle to spawn.
 * @param x Spawn coordinate X component.
 * @param y Spawn coordinate Y component.
 * @param z Spawn coordinate Z component.
 * @param heading Heading to face towards, in degrees.
 * @param isNetwork Whether to create a network object for the vehicle. If false, the vehicle exists only locally.
 * @param netMissionEntity Whether to register the vehicle as pinned to the script host in the R\* network model.
 * @return A script handle (fwScriptGuid index) for the vehicle, or `0` if the vehicle failed to be created.
 */
declare function CreateVehicle(modelHash: string | number, x: number, y: number, z: number, heading: number, isNetwork: boolean, netMissionEntity: boolean): number;

/**
 * Now has 8 params.
 * ```
 * ```
 * NativeDB Added Parameter 9: Any p8
 * NativeDB Added Parameter 10: Any p9
 */
declare function CreateWeaponObject(weaponHash: string | number, ammoCount: number, x: number, y: number, z: number, showWorldModel: boolean, scale: number, p7: number): number;

/**
 * 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.
 */
declare function CustomMenuCoordinates(p0: number): void;
/**
 * 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.
 */
declare function N_0x487a82c650eb7799(p0: number): void;

declare function DataarrayAddBool(value: boolean): number;
declare function ArrayValueAddBoolean(value: boolean): number;

declare function DataarrayAddDict(arrayData: number): [number, number];
declare function ArrayValueAddObject(arrayData: number): [number, number];

declare function DataarrayAddFloat(value: number): number;
declare function ArrayValueAddFloat(value: number): number;

declare function DataarrayAddInt(value: number): number;
declare function ArrayValueAddInteger(value: number): number;

declare function DataarrayAddString(value: string): number;
declare function ArrayValueAddString(value: string): number;

declare function DataarrayAddVector(valueX: number, valueY: number, valueZ: number): number;
declare function ArrayValueAddVector3(valueX: number, valueY: number, valueZ: number): number;

declare function DataarrayGetBool(arrayIndex: number): [boolean, number];
declare function ArrayValueGetBoolean(arrayIndex: number): [boolean, number];

declare function DataarrayGetCount(arrayData: number): [number, number];
declare function ArrayValueGetSize(arrayData: number): [number, number];

declare function DataarrayGetDict(arrayIndex: number): [number, number];
declare function ArrayValueGetObject(arrayIndex: number): [number, number];

declare function DataarrayGetFloat(arrayIndex: number): [number, number];
declare function ArrayValueGetFloat(arrayIndex: number): [number, number];

declare function DataarrayGetInt(arrayIndex: number): [number, number];
declare function ArrayValueGetInteger(arrayIndex: number): [number, number];

declare function DataarrayGetString(arrayIndex: number): [string, number];
declare function ArrayValueGetString(arrayIndex: number): [string, number];

/**
 * Types:
 * 1 = Boolean
 * 2 = Integer
 * 3 = Float
 * 4 = String
 * 5 = Vector3
 * 6 = Object
 * 7 = Array
 */
declare function DataarrayGetType(arrayIndex: number): [number, number];
/**
 * Types:
 * 1 = Boolean
 * 2 = Integer
 * 3 = Float
 * 4 = String
 * 5 = Vector3
 * 6 = Object
 * 7 = Array
 */
declare function ArrayValueGetType(arrayIndex: number): [number, number];

declare function DataarrayGetVector(arrayIndex: number): [number[], number];
declare function ArrayValueGetVector3(arrayIndex: number): [number[], number];

declare function DatadictCreateArray(key: string): [number, number];
declare function ObjectValueAddArray(key: string): [number, number];

declare function DatadictCreateDict(key: string): [number, number];
declare function ObjectValueAddObject(key: string): [number, number];

declare function DatadictGetArray(key: string): [number, number];
declare function ObjectValueGetArray(key: string): [number, number];

declare function DatadictGetBool(key: string): [boolean, number];
declare function ObjectValueGetBoolean(key: string): [boolean, number];

declare function DatadictGetDict(key: string): [number, number];
declare function ObjectValueGetObject(key: string): [number, number];

declare function DatadictGetFloat(key: string): [number, number];
declare function ObjectValueGetFloat(key: string): [number, number];

declare function DatadictGetInt(key: string): [number, number];
declare function ObjectValueGetInteger(key: string): [number, number];

declare function DatadictGetString(key: string): [string, number];
declare function ObjectValueGetString(key: string): [string, number];

/**
 * Types:
 * 1 = Boolean
 * 2 = Integer
 * 3 = Float
 * 4 = String
 * 5 = Vector3
 * 6 = Object
 * 7 = Array
 */
declare function DatadictGetType(key: string): [number, number];
/**
 * Types:
 * 1 = Boolean
 * 2 = Integer
 * 3 = Float
 * 4 = String
 * 5 = Vector3
 * 6 = Object
 * 7 = Array
 */
declare function ObjectValueGetType(key: string): [number, number];

declare function DatadictGetVector(key: string): [number[], number];
declare function ObjectValueGetVector3(key: string): [number[], number];

declare function DatadictSetBool(key: string, value: boolean): number;
declare function ObjectValueAddBoolean(key: string, value: boolean): number;

declare function DatadictSetFloat(key: string, value: number): number;
declare function ObjectValueAddFloat(key: string, value: number): number;

declare function DatadictSetInt(key: string, value: number): number;
declare function ObjectValueAddInteger(key: string, value: number): number;

declare function DatadictSetString(key: string, value: string): number;
declare function ObjectValueAddString(key: string, value: string): number;

declare function DatadictSetVector(key: string, valueX: number, valueY: number, valueZ: number): number;
declare function ObjectValueAddVector3(key: string, valueX: number, valueY: number, valueZ: number): number;

declare function DatafileClearWatchList(): void;
declare function N_0x6cc86e78358d5119(): void;

/**
 * NativeDB Added Parameter 1: int p0
 */
declare function DatafileCreate(): void;

/**
 * NativeDB Added Parameter 1: int p0
 */
declare function DatafileDelete(): void;

declare function DatafileDeleteRequestedFile(p0: number): boolean;
declare function N_0x8f5ea1c01d65a100(p0: number): boolean;

declare function DatafileFlushMissionHeader(): void;
declare function N_0xc55854c7d7274882(): void;

/**
 * NativeDB Added Parameter 1: int p0
 */
declare function DatafileGetFileDict(): string;
/**
 * NativeDB Added Parameter 1: int p0
 */
declare function N_0x906b778ca1dc72b6(): string;

declare function DatafileHasLoadedFileData(p0: number): boolean;
declare function N_0x15ff52b809db2353(p0: number): boolean;

declare function DatafileHasValidFileData(p0: number): boolean;
declare function N_0xf8cc1ebe0b62e29f(p0: number): boolean;

/**
 * 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();
 * }
 * }
 * }
 * }
 */
declare function DatafileIsSavePending(): boolean;
/**
 * 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();
 * }
 * }
 * }
 * }
 */
declare function N_0xbedb96a7584aa8cf(): boolean;

declare function DatafileIsValidRequestId(index: number): boolean;
declare function N_0xfccae5b92a830878(index: number): boolean;

/**
 * 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
 */
declare function DatafileLoadOfflineUgc(filename: string): boolean;
/**
 * 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
 */
declare function LoadUgcFile(filename: string): boolean;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function DatafileSelectActiveFile(p0: number): boolean;
/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function N_0x22da66936e0fff37(p0: number): boolean;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function DatafileSelectCreatorStats(p0: number): boolean;
/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function N_0x01095c95cd46b624(p0: number): boolean;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function DatafileSelectUgcData(p0: number): boolean;
/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function N_0xa69ac4ade82b57a4(p0: number): boolean;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function DatafileSelectUgcPlayerData(p0: number): boolean;
/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function N_0x52818819057f2b40(p0: number): boolean;

/**
 * NativeDB Added Parameter 3: Any p2
 */
declare function DatafileSelectUgcStats(p0: number, p1: boolean): boolean;
/**
 * NativeDB Added Parameter 3: Any p2
 */
declare function N_0x9cb0bfa7a9342c3d(p0: number, p1: boolean): boolean;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function DatafileStartSaveToCloud(filename: string): boolean;
/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function N_0x83bcce3224735f05(filename: string): boolean;

/**
 * NativeDB Added Parameter 1: int p0
 */
declare function DatafileStoreMissionHeader(): void;
/**
 * NativeDB Added Parameter 1: int p0
 */
declare function N_0x2ed61456317b8178(): void;

declare function DatafileUpdateSaveToCloud(): [boolean, any /* actually bool */];
declare function N_0x4dfdd9eb705f8140(): [boolean, any /* actually bool */];

/**
 * Adds the given request ID to the watch list.
 */
declare function DatafileWatchRequestId(id: number): void;
/**
 * Adds the given request ID to the watch list.
 */
declare function N_0xad6875bbc0fc899c(id: number): void;

declare function DeactivateAudioSlowmoMode(p0: string): void;
declare function N_0xddc635d5b3262c56(p0: string): void;

declare function DeactivateInteriorEntitySet(interior: number, entitySetName: string): void;
declare function N_0x420bd37289eee162(interior: number, entitySetName: string): void;
declare function DisableInteriorProp(interior: number, entitySetName: string): void;

/**
 * Returns whether or not the specified property is set for the entity.
 */
declare function DecorExistOn(entity: number, propertyName: string): boolean;

declare function DecorGetBool(entity: number, propertyName: string): boolean;

declare function DecorGetFloat(entity: number, propertyName: string): number;
declare function DecorGetFloat(entity: number, propertyName: string): number;

declare function DecorGetInt(entity: number, propertyName: string): number;

declare function DecorIsRegisteredAsType(propertyName: string, _type: number): boolean;

/**
 * Decor types:
 * ```
 * enum eDecorType
 * {
 * DECOR_TYPE_FLOAT = 1,
 * DECOR_TYPE_BOOL = 2,
 * DECOR_TYPE_INT = 3,
 * DECOR_TYPE_UNK = 4,
 * DECOR_TYPE_TIME = 5
 * };
 * ```
 */
declare function DecorRegister(propertyName: string, _type: number): void;

/**
 * Called after all decorator type initializations.
 */
declare function DecorRegisterLock(): void;

declare function DecorRemove(entity: number, propertyName: string): boolean;

/**
 * This function sets metadata of type bool to specified entity.
 */
declare function DecorSetBool(entity: number, propertyName: string, value: boolean): boolean;

declare function DecorSetFloat(entity: number, propertyName: string, value: number): boolean;
declare function DecorSetFloat(entity: number, propertyName: string, value: number): boolean;

/**
 * Sets property to int.
 */
declare function DecorSetInt(entity: number, propertyName: string, value: number): boolean;

declare function DecorSetTime(entity: number, propertyName: string, timestamp: number): boolean;

declare function DeleteAllTrains(): void;

declare function DeleteCheckpoint(checkpoint: number): void;

declare function DeleteChildRope(ropeId: number): void;

/**
 * Deletes the specified entity, then sets the handle pointed to by the pointer to NULL.
 * @param entity The entity to delete.
 */
declare function DeleteEntity(entity: number): void;

declare function DeleteFunctionReference(referenceIdentity: string): void;

/**
 * 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.
 * =======================================================
 */
declare function DeleteIncident(incidentId: number): void;

declare function DeleteMissionTrain(train: number): void;

/**
 * Deletes the specified object, then sets the handle pointed to by the pointer to NULL.
 */
declare function DeleteObject(object: number): void;

/**
 * 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");
 */
declare function DeletePatrolRoute(patrolRoute: string): void;

/**
 * Deletes the specified ped, then sets the handle pointed to by the pointer to NULL.
 */
declare function DeletePed(ped: number): void;

declare function DeleteResourceKvp(key: string): void;

declare function DeleteRope(ropeId: number): void;

declare function DeleteScriptVehicleGenerator(vehicleGenerator: number): void;

declare function DeleteStuntJump(p0: number): void;

/**
 * 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.
 */
declare function DeleteVehicle(vehicle: number): void;

declare function DeleteWaypoint(): void;
declare function N_0xd8e694757bcea8e9(): void;

/**
 * Does nothing and always returns false.
 */
declare function DepositVc(amount: number): boolean;
/**
 * Does nothing and always returns false.
 */
declare function N_0xe260e0bb9cd995ac(amount: number): boolean;

/**
 * BOOL param indicates whether the cam should be destroyed if it belongs to the calling script.
 */
declare function DestroyAllCams(bScriptHostCam: boolean): void;

/**
 * BOOL param indicates whether the cam should be destroyed if it belongs to the calling script.
 */
declare function DestroyCam(cam: number, bScriptHostCam: boolean): void;

/**
 * Destroys a DUI browser.
 * @param duiObject The DUI browser handle.
 */
declare function DestroyDui(duiObject: number): void;

declare function DestroyItemset(p0: number): void;

/**
 * Destroys the currently active mobile phone.
 */
declare function DestroyMobilePhone(): void;

declare function DestroyTrackedPoint(point: number): void;

declare function DetachCam(cam: number): void;

declare function DetachContainerFromHandlerFrame(vehicle: number): void;
declare function N_0x7c0043fdff6436bc(vehicle: number): void;

declare function DetachEntity(entity: number, dynamic: boolean, collision: boolean): void;

declare function DetachEntityFromCargobob(vehicle: number, entity: number): number;
declare function N_0xaf03011701811146(vehicle: number, entity: number): number;

declare function DetachPortablePickupFromPed(pickupObject: number): void;

declare function DetachRopeFromEntity(ropeId: number, entity: number): void;

declare function DetachSynchronizedScene(sceneID: number): void;

declare function DetachVehicleFromAnyCargobob(vehicle: number): boolean;

declare function DetachVehicleFromAnyTowTruck(vehicle: number): boolean;

declare function DetachVehicleFromCargobob(vehicle: number, cargobob: number): void;

/**
 * First two parameters swapped. Scripts verify that towTruck is the first parameter, not the second.
 */
declare function DetachVehicleFromTowTruck(towTruck: number, vehicle: number): void;

declare function DetachVehicleFromTrailer(vehicle: number): void;

declare function DetonateVehiclePhoneExplosiveDevice(): void;
declare function N_0xef49cf0270307cbe(): void;
declare function RequestVehiclePhoneExplosion(): void;

declare function DisableAimCamThisUpdate(): void;
declare function N_0x1a31fe0049e542f6(): void;

declare function DisableAllControlActions(padIndex: number): void;

declare function DisableCamCollisionForEntity(entity: number): void;
declare function N_0x2aed6301f67007d5(entity: number): void;

declare function DisableCamCollisionForObject(entity: number): void;
declare function N_0x49482f9fcd825aaa(entity: number): void;

/**
 * [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.
 */
declare function DisableControlAction(padIndex: number, control: number, disable: boolean): void;

/**
 * Disables the editor runtime mode, changing game behavior to not track entity metadata.
 * This function supports SDK infrastructure and is not intended to be used directly from your code.
 */
declare function DisableEditorRuntime(): void;

/**
 * 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();
 */
declare function DisableFirstPersonCamThisFrame(): void;

declare function DisableFrontendThisFrame(): void;

declare function DisableHeadBlendPaletteColor(ped: number): void;
declare function N_0xa21c118553bbdf02(ped: number): void;

/**
 * The game by default has 5 hospital respawn points. Disabling them all will cause the player to respawn at the last position they were.
 */
declare function DisableHospitalRestart(hospitalIndex: number, toggle: boolean): void;

/**
 * Disables the game's afk camera that starts panning around after 30 seconds of inactivity.
 * @param state On/Off
 */
declare function DisableIdleCamera(state: boolean): void;

declare function DisableIndividualPlanePropeller(vehicle: number, propeller: number): void;
declare function N_0x500873a45724c863(vehicle: number, propeller: number): void;
declare function DisablePlanePropeller(vehicle: number, propeller: number): void;

declare function DisableInputGroup(padIndex: number): void;
declare function N_0x7f4724035fdca1dd(padIndex: number): void;

/**
 * Example:
 * This removes the interior from the strip club and when trying to walk inside the player just falls:
 * INTERIOR::DISABLE_INTERIOR(118018, true);
 */
declare function DisableInterior(interiorID: number, toggle: boolean): void;

/**
 * If true is passed, the player won't be able to open the multiplayer chat
 */
declare function DisableMultiplayerChat(disable: boolean): void;
/**
 * If true is passed, the player won't be able to open the multiplayer chat
 */
declare function SetTextChatUnk(disable: boolean): void;

declare function DisableNavmeshInArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;

declare function DisableOcclusionThisFrame(): void;
declare function N_0x3669f1b198dcaa4f(): void;

declare function DisablePedHeatscaleOverride(ped: number): void;
declare function N_0x600048c60d5c2c51(ped: number): void;

declare function DisablePedPainAudio(ped: number, toggle: boolean): void;

declare function DisablePlaneAileron(vehicle: number, p1: boolean, p2: boolean): void;

/**
 * Inhibits the player from using any method of combat including melee and firearms.
 * NOTE: Only disables the firing for one frame
 */
declare function DisablePlayerFiring(player: number, toggle: boolean): void;

declare function DisablePlayerVehicleRewards(player: number): void;

/**
 * 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
 */
declare function DisablePoliceRestart(policeIndex: number, toggle: boolean): void;

/**
 * This will disable the ability to make camera changes in R* Editor.
 * RE*
 */
declare function DisableRockstarEditorCameraChanges(): void;
/**
 * This will disable the ability to make camera changes in R* Editor.
 * RE*
 */
declare function N_0xaf66dcee6609b148(): void;

declare function DisableScreenblurFade(): void;
declare function N_0xde81239437e8c5a8(): void;
declare function PausedScreenblurLoaded(): void;

declare function DisableScriptAmbientEffects(p0: number): void;
declare function N_0xefd97ff47b745b8d(p0: number): void;

declare function DisableScriptBrainSet(brainSet: number): void;

declare function DisableStuntJumpSet(p0: number): void;

declare function DisableSwitchOutroFx(): void;
declare function N_0xbd605b8e0e18b3bb(): void;

declare function DisableVehicleDistantlights(toggle: boolean): void;

declare function DisableVehicleFirstPersonCamThisFrame(): void;

declare function DisableVehicleNeonLights(vehicle: number, toggle: boolean): void;
declare function N_0x83f813570ff519de(vehicle: number, toggle: boolean): void;

declare function DisableVehicleTurretMovementThisFrame(vehicle: number): void;
declare function N_0x32caedf24a583345(vehicle: number): void;

/**
 * how does this work?
 */
declare function DisableVehicleWeapon(disabled: boolean, weaponHash: string | number, vehicle: number, owner: number): void;

/**
 * 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 the vehicle to disable world collisions for
 */
declare function DisableVehicleWorldCollision(vehicle: number): void;
/**
 * 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 the vehicle to disable world collisions for
 */
declare function N_0x75627043c6aa90ad(vehicle: number): void;

declare function DisplayAmmoThisFrame(display: boolean): void;

declare function DisplayAreaName(toggle: boolean): void;

/**
 * "DISPLAY_CASH(true);" makes the cash amount render on the screen when appropriate
 * "DISPLAY_CASH(false);" disables cash amount rendering
 */
declare function DisplayCash(display: boolean): void;

/**
 * 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?
 */
declare function DisplayHelpTextThisFrame(message: string, p1: boolean): void;

/**
 * If Hud should be displayed
 */
declare function DisplayHud(toggle: boolean): void;

/**
 * Enables drawing some hud components, such as help labels, this frame, when the player is dead.
 */
declare function DisplayHudWhenDeadThisFrame(): void;
/**
 * Enables drawing some hud components, such as help labels, this frame, when the player is dead.
 */
declare function N_0x7669f9e39dc17063(): void;

declare function DisplayHudWhenPausedThisFrame(): void;
declare function N_0x402f9ed62087e898(): void;

/**
 * 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"
 */
declare function DisplayOnscreenKeyboard(p0: number, windowTitle: string, p2: string, defaultText: string, defaultConcat1: string, defaultConcat2: string, defaultConcat3: string, maxInputLength: number): void;

declare function DisplayOnscreenKeyboardWithLongerInitialString(p0: number, windowTitle: string, defaultText: string, defaultConcat1: string, defaultConcat2: string, defaultConcat3: string, defaultConcat4: string, defaultConcat5: string, defaultConcat6: string, defaultConcat7: string, maxInputLength: number): number;
declare function N_0xca78cfa0366592fe(p0: number, windowTitle: string, defaultText: string, defaultConcat1: string, defaultConcat2: string, defaultConcat3: string, defaultConcat4: string, defaultConcat5: string, defaultConcat6: string, defaultConcat7: string, maxInputLength: number): number;
declare function DisplayOnscreenKeyboard_2(p0: number, windowTitle: string, defaultText: string, defaultConcat1: string, defaultConcat2: string, defaultConcat3: string, defaultConcat4: string, defaultConcat5: string, defaultConcat6: string, defaultConcat7: string, maxInputLength: number): number;

/**
 * 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 the toggle boolean
 */
declare function DisplayPlayerNameTagsOnBlips(toggle: boolean): void;
/**
 * 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 the toggle boolean
 */
declare function N_0x82cedc33687e1f50(toggle: boolean): void;

/**
 * If Minimap / Radar should be displayed.
 */
declare function DisplayRadar(toggle: boolean): void;

/**
 * Displays the crosshair for this frame.
 */
declare function DisplaySniperScopeThisFrame(): void;

/**
 * Purpose of the BOOL currently unknown.
 * Both, true and false, work
 */
declare function DisplaySystemSigninUi(unk: boolean): void;

declare function DisposeSynchronizedScene(scene: number): void;
declare function N_0xcd9cc7e200a52a6f(scene: number): void;

/**
 * If value is set to true, and ambient siren sound will be played.
 * Appears to enable/disable an audio flag.
 */
declare function DistantCopCarSirens(value: boolean): void;
/**
 * If value is set to true, and ambient siren sound will be played.
 * Appears to enable/disable an audio flag.
 */
declare function N_0x552369f549563ad5(value: boolean): void;
/**
 * If value is set to true, and ambient siren sound will be played.
 * Appears to enable/disable an audio flag.
 */
declare function ForceAmbientSiren(value: boolean): void;

declare function DoAutoSave(): void;

/**
 * Fades the screen in.
 * duration: The time the fade should take, in milliseconds.
 */
declare function DoScreenFadeIn(duration: number): void;

/**
 * Fades the screen out.
 * duration: The time the fade should take, in milliseconds.
 */
declare function DoScreenFadeOut(duration: number): void;

declare function DoesAirDefenseZoneExist(zoneId: number): boolean;
declare function N_0xcd79a550999d7d4f(zoneId: number): boolean;

declare function DoesAnimDictExist(animDict: string): boolean;

declare function DoesBlipExist(blip: number): boolean;

declare function DoesBlipHaveGpsRoute(blip: number): boolean;
declare function N_0xdd2238f57b977751(blip: number): boolean;

/**
 * Returns whether or not the passed camera handle exists.
 */
declare function DoesCamExist(cam: number): boolean;

/**
 * Returns true only when the hook is active, will return false if the magnet is active
 */
declare function DoesCargobobHavePickUpRope(cargobob: number): boolean;
/**
 * Returns true only when the hook is active, will return false if the magnet is active
 */
declare function IsCargobobHookActive(cargobob: number): boolean;

/**
 * Returns true only when the magnet is active, will return false if the hook is active
 */
declare function DoesCargobobHavePickupMagnet(cargobob: number): boolean;
/**
 * Returns true only when the magnet is active, will return false if the hook is active
 */
declare function IsCargobobMagnetActive(cargobob: number): boolean;
/**
 * Returns true only when the magnet is active, will return false if the hook is active
 */
declare function DoesCargobobHavePickupMagnet(cargobob: number): boolean;

declare function DoesCutsceneEntityExist(cutsceneEntName: string, modelHash: string | number): boolean;

declare function DoesEntityBelongToThisScript(entity: number, p2: boolean): boolean;

/**
 * Checks whether an entity exists in the game world.
 * @param entity The entity to check if it exists.
 * @return Whether the entity exists or not.
 */
declare function DoesEntityExist(entity: number): boolean;

/**
 * NativeDB Introduced: v2699
 */
declare function DoesEntityHaveAnimDirector(entity: number): boolean;

declare function DoesEntityHaveDrawable(entity: number): boolean;

declare function DoesEntityHavePhysics(entity: number): boolean;

/**
 * NativeDB Introduced: v2699
 */
declare function DoesEntityHaveSkeletonData(entity: number): boolean;

/**
 * Checks via CVehicleModelInfo
 */
declare function DoesExtraExist(vehicle: number, extraId: number): boolean;

declare function DoesGroupExist(groupId: number): boolean;

/**
 * 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 A value indicating brief text.
 */
declare function DoesLatestBriefStringExist(briefValue: number): boolean;
/**
 * 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 A value indicating brief text.
 */
declare function N_0x5e657ef1099edd65(briefValue: number): boolean;

declare function DoesNavmeshBlockingObjectExist(p0: number): boolean;
declare function N_0x0eaeb0db4b132399(p0: number): boolean;

/**
 * p5 is usually 0.
 */
declare function DoesObjectOfTypeExistAtCoords(x: number, y: number, z: number, radius: number, hash: string | number, p5: boolean): boolean;

declare function DoesParticleFxLoopedExist(ptfxHandle: number): boolean;

/**
 * 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).
 */
declare function DoesPedHaveAiBlip(ped: number): boolean;

declare function DoesPickupExist(pickup: number): boolean;

declare function DoesPickupObjectExist(pickupObject: number): boolean;

/**
 * Pickup hashes: pastebin.com/8EuSv2r1
 */
declare function DoesPickupOfTypeExistInArea(pickupHash: string | number, x: number, y: number, z: number, radius: number): boolean;
/**
 * Pickup hashes: pastebin.com/8EuSv2r1
 */
declare function IsPickupWithinRadius(pickupHash: string | number, x: number, y: number, z: number, radius: number): boolean;

declare function DoesPlayerVehHaveRadio(): boolean;
declare function N_0x109697e2ffbac8a1(): boolean;

declare function DoesPopMultiplierAreaExist(id: number): boolean;
declare function N_0x1327e2fe9746baee(id: number): boolean;

declare function DoesPopMultiplierSphereExist(id: number): boolean;
declare function N_0x171bafb3c60389f4(id: number): boolean;

/**
 * Returns true if a destructible object with this handle exists, false otherwise.
 */
declare function DoesRayfireMapObjectExist(object: number): boolean;
/**
 * Returns true if a destructible object with this handle exists, false otherwise.
 */
declare function N_0x52af537a0c5b8aad(object: number): boolean;
/**
 * Returns true if a destructible object with this handle exists, false otherwise.
 */
declare function DoesDesObjectExist(object: number): boolean;

declare function DoesRelationshipGroupExist(groupHash: string | number): boolean;
declare function N_0xcc6e3b6bb69501f1(groupHash: string | number): boolean;

/**
 * Return if the rope was generated or not by the script where the native is called.
 */
declare function DoesRopeBelongToThisScript(ropeId: number): boolean;
/**
 * Return if the rope was generated or not by the script where the native is called.
 */
declare function N_0x271c9d3aca5d6409(ropeId: number): boolean;

declare function DoesRopeExist(ropeId: number): [boolean, number];

declare function DoesScenarioBlockingAreaExist(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): boolean;
declare function N_0x8a24b067d175a7bd(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): boolean;

declare function DoesScenarioExistInArea(x: number, y: number, z: number, radius: number, b: boolean): boolean;

/**
 * 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")) {
 */
declare function DoesScenarioGroupExist(scenarioGroup: string): boolean;

declare function DoesScenarioOfTypeExistInArea(p0: number, p1: number, p2: number, p3: string, p4: number, p5: boolean): boolean;

declare function DoesScriptExist(scriptName: string): boolean;

declare function DoesScriptVehicleGeneratorExist(vehicleGenerator: number): boolean;

declare function DoesScriptWithNameHashExist(scriptHash: string | number): boolean;
declare function N_0xf86aa3c56ba31381(scriptHash: string | number): boolean;
declare function DoesScriptWithNameHashExist(scriptHash: string | number): boolean;

/**
 * Checks if there is a cover point at position
 */
declare function DoesScriptedCoverPointExistAtCoords(x: number, y: number, z: number): boolean;

declare function DoesShopPedApparelHaveRestrictionTag(componentHash: string | number, restrictionTagHash: string | number, componentId: number): boolean;
declare function N_0x341de7ed1d2a1bfd(componentHash: string | number, restrictionTagHash: string | number, componentId: number): boolean;

declare function DoesTextBlockExist(gxt: string): boolean;

/**
 * Checks if the passed gxt name exists in the game files.
 */
declare function DoesTextLabelExist(gxt: string): boolean;

/**
 * Returns true if the vehicle has the FLAG_ALLOWS_RAPPEL flag set.
 */
declare function DoesVehicleAllowRappel(vehicle: number): boolean;
/**
 * Returns true if the vehicle has the FLAG_ALLOWS_RAPPEL flag set.
 */
declare function N_0x4e417c547182c84d(vehicle: number): boolean;

declare function DoesVehicleExistWithDecorator(decorator: string): boolean;

declare function DoesVehicleHaveCrewEmblem(vehicle: number, p1: number): boolean;
declare function HasVehicleGotDecal(vehicle: number, p1: number): boolean;
declare function DoesVehicleHaveDecal(vehicle: number, p1: number): boolean;

/**
 * NativeDB Introduced: v1180
 */
declare function DoesVehicleHaveLandingGear(vehicle: number): boolean;
/**
 * NativeDB Introduced: v1180
 */
declare function N_0xe43701c36caff1a4(vehicle: number): boolean;
/**
 * NativeDB Introduced: v1180
 */
declare function GetVehicleHasLandingGear(vehicle: number): boolean;

declare function DoesVehicleHaveRoof(vehicle: number): boolean;

/**
 * NativeDB Introduced: v2189
 */
declare function DoesVehicleHaveSearchlight(vehicle: number): boolean;

/**
 * Maximum amount of vehicles with vehicle stuck check appears to be 16.
 */
declare function DoesVehicleHaveStuckVehicleCheck(vehicle: number): boolean;

declare function DoesVehicleHaveWeapons(vehicle: number): boolean;

/**
 * Checks if vehicle tyre at index exists. Also returns false if tyre was removed.
 * ```
 * ```
 * NativeDB Introduced: v1493
 */
declare function DoesVehicleTyreExist(vehicle: number, tyreIndex: number): boolean;
/**
 * Checks if vehicle tyre at index exists. Also returns false if tyre was removed.
 * ```
 * ```
 * NativeDB Introduced: v1493
 */
declare function N_0x534e36d4db9ecc5d(vehicle: number, tyreIndex: number): boolean;

declare function DoesWeaponTakeWeaponComponent(weaponHash: string | number, componentHash: string | number): boolean;

declare function DontRenderInGameUi(p0: boolean): void;
declare function N_0x22a249a53034450a(p0: boolean): void;

/**
 * When calling this, the current frame will have the players "arrow icon" be focused on the dead center of the radar.
 */
declare function DontTiltMinimapThisFrame(): void;
/**
 * When calling this, the current frame will have the players "arrow icon" be focused on the dead center of the radar.
 */
declare function CenterPlayerOnRadarThisFrame(): void;

/**
 * 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 locked tells the game whether or not the door is locked
 * @param xRotMult multiplier that specifies how fast the door/gate will rotate in degrees per second.
 * @param yRotMult multiplier that specifies how fast the door/gate will rotate in degrees per second.
 * @param zRotMult multiplier that specifies how fast the door/gate will rotate in degrees per second.
 */
declare function DoorControl(modelHash: string | number, x: number, y: number, z: number, locked: boolean, xRotMult: number, yRotMult: number, zRotMult: number): void;

/**
 * Search radius: 0.5
 * @param x The X coordinate of the door object
 * @param y The Y coordinate of the door object
 * @param z The Z coordinate of the door object
 * @param modelHash Entity model hash
 */
declare function DoorSystemFindExistingDoor(x: number, y: number, z: number, modelHash: string | number, doorOutPointer?: number): [boolean, number];
/**
 * Search radius: 0.5
 * @param x The X coordinate of the door object
 * @param y The Y coordinate of the door object
 * @param z The Z coordinate of the door object
 * @param modelHash Entity model hash
 */
declare function N_0x589f80b325cc82c5(x: number, y: number, z: number, modelHash: string | number, doorOutPointer?: number): [boolean, number];

/**
 * Returns a list of door system entries: a door system hash (see [ADD_DOOR_TO_SYSTEM](#\_0x6F8838D03D1DC226)) and its object handle.
 * The data returned adheres to the following layout:
 * ```
 * [{doorHash1, doorHandle1}, ..., {doorHashN, doorHandleN}]
 * ```
 * @return An object containing a list of door system entries.
 */
declare function DoorSystemGetActive(): any;

/**
 * NativeDB Introduced: v1868
 */
declare function DoorSystemGetAutomaticDistance(doorHash: string | number): number;

declare function DoorSystemGetDoorPendingState(doorHash: string | number): number;
declare function N_0x4bc2854478f3a749(doorHash: string | number): number;

declare function DoorSystemGetDoorState(doorHash: string | number): number;
declare function N_0x160aa1b32f6139b8(doorHash: string | number): number;

declare function DoorSystemGetIsPhysicsLoaded(doorHash: string | number): boolean;
declare function N_0xdf97cdd4fc08fd34(doorHash: string | number): boolean;

declare function DoorSystemGetOpenRatio(doorHash: string | number): number;
declare function N_0x65499865fca6e5ec(doorHash: string | number): number;

declare function DoorSystemGetSize(): number;

declare function DoorSystemSetAutomaticDistance(doorHash: string | number, distance: number, requestDoor: boolean, forceUpdate: boolean): void;
declare function N_0x9ba001cb45cbf627(doorHash: string | number, distance: number, requestDoor: boolean, forceUpdate: boolean): void;

/**
 * Includes networking check: ownership vs. or the door itself **isn't** networked.
 * @param doorHash Door system identifier
 * @param forceUpdate On true invokes [DOOR_SYSTEM_SET_DOOR_STATE](#\_0x6BAB9442830C7F53); otherwise requestDoor is unused.
 */
declare function DoorSystemSetAutomaticRate(doorHash: string | number, rate: number, requestDoor: boolean, forceUpdate: boolean): void;
/**
 * Includes networking check: ownership vs. or the door itself **isn't** networked.
 * @param doorHash Door system identifier
 * @param forceUpdate On true invokes [DOOR_SYSTEM_SET_DOOR_STATE](#\_0x6BAB9442830C7F53); otherwise requestDoor is unused.
 */
declare function N_0x03c27e13b42a0e82(doorHash: string | number, rate: number, requestDoor: boolean, forceUpdate: boolean): void;

/**
 * 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 requestDoor On true, and when door system is configured to, i.e., "persists w/o netobj", generate a CRequestDoorEvent.
 * @param forceUpdate On true, forces an update on the door system (same path as netObjDoor_applyDoorStuff)
 */
declare function DoorSystemSetDoorState(doorHash: string | number, state: number, requestDoor: boolean, forceUpdate: boolean): void;
/**
 * 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 requestDoor On true, and when door system is configured to, i.e., "persists w/o netobj", generate a CRequestDoorEvent.
 * @param forceUpdate On true, forces an update on the door system (same path as netObjDoor_applyDoorStuff)
 */
declare function N_0x6bab9442830c7f53(doorHash: string | number, state: number, requestDoor: boolean, forceUpdate: boolean): void;
/**
 * 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 requestDoor On true, and when door system is configured to, i.e., "persists w/o netobj", generate a CRequestDoorEvent.
 * @param forceUpdate On true, forces an update on the door system (same path as netObjDoor_applyDoorStuff)
 */
declare function SetDoorAccelerationLimit(doorHash: string | number, state: number, requestDoor: boolean, forceUpdate: boolean): void;

/**
 * Includes networking check: ownership vs. or the door itself **isn't** networked.
 * @param doorHash Door system identifier
 */
declare function DoorSystemSetHoldOpen(doorHash: string | number, toggle: boolean): void;
/**
 * Includes networking check: ownership vs. or the door itself **isn't** networked.
 * @param doorHash Door system identifier
 */
declare function N_0xd9b71952f78a2640(doorHash: string | number, toggle: boolean): void;

/**
 * Sets the ajar angle of a door.
 * Ranges from -1.0 to 1.0, and 0.0 is closed / default.
 * @param doorHash Door system identifier
 * @param forceUpdate On true invokes [DOOR_SYSTEM_SET_DOOR_STATE](#\_0x6BAB9442830C7F53); otherwise requestDoor is unused.
 */
declare function DoorSystemSetOpenRatio(doorHash: string | number, ajar: number, requestDoor: boolean, forceUpdate: boolean): void;
/**
 * Sets the ajar angle of a door.
 * Ranges from -1.0 to 1.0, and 0.0 is closed / default.
 * @param doorHash Door system identifier
 * @param forceUpdate On true invokes [DOOR_SYSTEM_SET_DOOR_STATE](#\_0x6BAB9442830C7F53); otherwise requestDoor is unused.
 */
declare function N_0xb6e6fba95c7324ac(doorHash: string | number, ajar: number, requestDoor: boolean, forceUpdate: boolean): void;
/**
 * Sets the ajar angle of a door.
 * Ranges from -1.0 to 1.0, and 0.0 is closed / default.
 * @param doorHash Door system identifier
 * @param forceUpdate On true invokes [DOOR_SYSTEM_SET_DOOR_STATE](#\_0x6BAB9442830C7F53); otherwise requestDoor is unused.
 */
declare function SetDoorAjarAngle(doorHash: string | number, ajar: number, requestDoor: boolean, forceUpdate: boolean): void;

/**
 * Includes networking check: ownership vs. or the door itself **isn't** networked.
 * @param doorHash Door system identifier
 * @param forceUpdate On true invokes [DOOR_SYSTEM_SET_DOOR_STATE](#\_0x6BAB9442830C7F53); otherwise requestDoor is unused.
 */
declare function DoorSystemSetSpringRemoved(doorHash: string | number, removed: boolean, requestDoor: boolean, forceUpdate: boolean): void;
/**
 * Includes networking check: ownership vs. or the door itself **isn't** networked.
 * @param doorHash Door system identifier
 * @param forceUpdate On true invokes [DOOR_SYSTEM_SET_DOOR_STATE](#\_0x6BAB9442830C7F53); otherwise requestDoor is unused.
 */
declare function N_0xc485e07e4f0b7958(doorHash: string | number, removed: boolean, requestDoor: boolean, forceUpdate: boolean): void;

/**
 * NativeDB Introduced: v1290
 */
declare function DrawBinkMovie(binkMovie: number, p1: number, p2: number, p3: number, p4: number, p5: number, r: number, g: number, b: number, a: number): void;

/**
 * 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);
 * }
 */
declare function DrawBox(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, red: number, green: number, blue: number, alpha: number): void;

/**
 * NOTE: Debugging functions are not present in the retail version of the game.
 */
declare function DrawDebugBox(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, r: number, g: number, b: number, a: number): void;

/**
 * NOTE: Debugging functions are not present in the retail version of the game.
 */
declare function DrawDebugCross(x: number, y: number, z: number, size: number, red: number, green: number, blue: number, alpha: number): void;

/**
 * NOTE: Debugging functions are not present in the retail version of the game.
 */
declare function DrawDebugLine(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, r: number, g: number, b: number, a: number): void;

/**
 * NOTE: Debugging functions are not present in the retail version of the game.
 */
declare function DrawDebugLineWithTwoColours(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, r1: number, g1: number, b1: number, r2: number, g2: number, b2: number, alpha1: number, alpha2: number): void;

/**
 * NOTE: Debugging functions are not present in the retail version of the game.
 */
declare function DrawDebugSphere(x: number, y: number, z: number, radius: number, red: number, green: number, blue: number, alpha: number): void;

/**
 * NOTE: Debugging functions are not present in the retail version of the game.
 */
declare function DrawDebugText(text: string, x: number, y: number, z: number, red: number, green: number, blue: number, alpha: number): void;

/**
 * NOTE: Debugging functions are not present in the retail version of the game.
 */
declare function DrawDebugText_2d(text: string, x: number, y: number, z: number, red: number, green: number, blue: number, alpha: number): void;

/**
 * Draws a gizmo. This function supports SDK infrastructure and is not intended to be used directly from your code.
 * This should be used from JavaScript or another language supporting mutable buffers like ArrayBuffer.
 * Matrix layout is as follows:
 * *   Element \[0], \[1] and \[2] should represent the right vector.
 * *   Element \[4], \[5] and \[6] should represent the forward vector.
 * *   Element \[8], \[9] and \[10] should represent the up vector.
 * *   Element \[12], \[13] and \[14] should represent X, Y and Z translation coordinates.
 * *   All other elements should be \[0, 0, 0, 1].
 * @param matrixPtr A mutable pointer to a 64-byte buffer of floating-point values, representing an XMFLOAT4X4 in layout.
 * @param id A unique identifier of what the gizmo is affecting.
 * @return Whether or not the matrix was modified.
 */
declare function DrawGizmo(matrixPtr: number, id: string): boolean;

/**
 * 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 Name of texture dictionary to load texture from
 * @param textureName Name of texture to load from texture dictionary
 * @param screenX Screen X
 * @param screenY Screen Y
 * @param width Scale X
 * @param height Scale Y
 * @param heading Texture rotation in degrees (default = 0.0) positive is clockwise, measured in degrees
 * @param red Color
 * @param green Color
 * @param blue Color
 * @param alpha Opacity level
 */
declare function DrawInteractiveSprite(textureDict: string, textureName: string, screenX: number, screenY: number, width: number, height: number, heading: number, red: number, green: number, blue: number, alpha: number): void;
/**
 * 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 Name of texture dictionary to load texture from
 * @param textureName Name of texture to load from texture dictionary
 * @param screenX Screen X
 * @param screenY Screen Y
 * @param width Scale X
 * @param height Scale Y
 * @param heading Texture rotation in degrees (default = 0.0) positive is clockwise, measured in degrees
 * @param red Color
 * @param green Color
 * @param blue Color
 * @param alpha Opacity level
 */
declare function N_0x2bc54a8188768488(textureDict: string, textureName: string, screenX: number, screenY: number, width: number, height: number, heading: number, red: number, green: number, blue: number, alpha: number): void;

declare function DrawLightWithRange(posX: number, posY: number, posZ: number, colorR: number, colorG: number, colorB: number, range: number, intensity: number): void;

declare function DrawLightWithRangeAndShadow(x: number, y: number, z: number, r: number, g: number, b: number, range: number, intensity: number, shadow: number): void;
declare function DrawLightWithRangeWithShadow(x: number, y: number, z: number, r: number, g: number, b: number, range: number, intensity: number, shadow: number): void;

/**
 * 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);
 * }
 */
declare function DrawLine(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, red: number, green: number, blue: number, alpha: number): void;

declare function DrawLowQualityPhotoToPhone(p0: boolean, p1: boolean): void;
declare function N_0x1072f115dab0717e(p0: boolean, p1: boolean): void;

/**
 * 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 The marker type to draw.
 * @param posX The X coordinate to draw the marker at.
 * @param posY The Y coordinate to draw the marker at.
 * @param posZ The Z coordinate to draw the marker at.
 * @param dirX The X component of the direction vector for the marker, or 0.0 to use rotX/Y/Z.
 * @param dirY The Y component of the direction vector for the marker, or 0.0 to use rotX/Y/Z.
 * @param dirZ The Z component of the direction vector for the marker, or 0.0 to use rotX/Y/Z.
 * @param rotX The X rotation for the marker. Only used if the direction vector is 0.0.
 * @param rotY The Y rotation for the marker. Only used if the direction vector is 0.0.
 * @param rotZ The Z rotation for the marker. Only used if the direction vector is 0.0.
 * @param scaleX The scale for the marker on the X axis.
 * @param scaleY The scale for the marker on the Y axis.
 * @param scaleZ The scale for the marker on the Z axis.
 * @param red The red component of the marker color, on a scale from 0-255.
 * @param green The green component of the marker color, on a scale from 0-255.
 * @param blue The blue component of the marker color, on a scale from 0-255.
 * @param alpha The alpha component of the marker color, on a scale from 0-255.
 * @param bobUpAndDown Whether or not the marker should slowly animate up/down.
 * @param faceCamera Whether the marker should be a 'billboard', as in, should constantly face the camera.
 * @param p19 Typically set to `2`. Does not seem to matter directly.
 * @param rotate Rotations only apply to the heading.
 * @param textureDict A texture dictionary to draw the marker with, or NULL. Example: 'GolfPutting'
 * @param textureName A texture name in `textureDict` to draw the marker with, or NULL. Example: 'PuttingMarker'
 * @param drawOnEnts Whether or not the marker should draw on intersecting entities.
 */
declare function DrawMarker(_type: number, posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, rotX: number, rotY: number, rotZ: number, scaleX: number, scaleY: number, scaleZ: number, red: number, green: number, blue: number, alpha: number, bobUpAndDown: boolean, faceCamera: boolean, p19: number, rotate: boolean, textureDict: string, textureName: string, drawOnEnts: boolean): void;

/**
 * NativeDB Added Parameter 26: BOOL p25
 */
declare function DrawMarker_2(_type: number, posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, rotX: number, rotY: number, rotZ: number, scaleX: number, scaleY: number, scaleZ: number, red: number, green: number, blue: number, alpha: number, bobUpAndDown: boolean, faceCamera: boolean, p19: number, rotate: boolean, textureDict: string, textureName: string, drawOnEnts: boolean, p24: boolean): void;
/**
 * NativeDB Added Parameter 26: BOOL p25
 */
declare function N_0xe82728f0de75d13a(_type: number, posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, rotX: number, rotY: number, rotZ: number, scaleX: number, scaleY: number, scaleZ: number, red: number, green: number, blue: number, alpha: number, bobUpAndDown: boolean, faceCamera: boolean, p19: number, rotate: boolean, textureDict: string, textureName: string, drawOnEnts: boolean, p24: boolean): void;

/**
 * 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.
 */
declare function DrawPoly(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, x3: number, y3: number, z3: number, red: number, green: number, blue: number, alpha: number): void;

/**
 * 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
 */
declare function DrawRect(x: number, y: number, width: number, height: number, r: number, g: number, b: number, a: number): void;

declare function DrawScaleformMovie(scaleformHandle: number, x: number, y: number, width: number, height: number, red: number, green: number, blue: number, alpha: number, unk: number): void;

/**
 * unk is not used so no need
 */
declare function DrawScaleformMovieFullscreen(scaleform: number, red: number, green: number, blue: number, alpha: number, unk: number): void;

declare function DrawScaleformMovieFullscreenMasked(scaleform1: number, scaleform2: number, red: number, green: number, blue: number, alpha: number): void;

declare function DrawScaleformMovie_3d(scaleform: number, posX: number, posY: number, posZ: number, rotX: number, rotY: number, rotZ: number, p7: number, sharpness: number, p9: number, scaleX: number, scaleY: number, scaleZ: number, p13: number): void;
declare function N_0x87d51d72255d4e78(scaleform: number, posX: number, posY: number, posZ: number, rotX: number, rotY: number, rotZ: number, p7: number, sharpness: number, p9: number, scaleX: number, scaleY: number, scaleZ: number, p13: number): void;

declare function DrawScaleformMovie_3dSolid(scaleform: number, posX: number, posY: number, posZ: number, rotX: number, rotY: number, rotZ: number, p7: number, p8: number, p9: number, scaleX: number, scaleY: number, scaleZ: number, p13: number): void;
declare function N_0x1ce592fdc749d6f5(scaleform: number, posX: number, posY: number, posZ: number, rotX: number, rotY: number, rotZ: number, p7: number, p8: number, p9: number, scaleX: number, scaleY: number, scaleZ: number, p13: number): void;
declare function DrawScaleformMovie_3dNonAdditive(scaleform: number, posX: number, posY: number, posZ: number, rotX: number, rotY: number, rotZ: number, p7: number, p8: number, p9: number, scaleX: number, scaleY: number, scaleZ: number, p13: number): void;

/**
 * It's called after 0xD3A10FC7FD8D98CD and 0xF1CEA8A4198D8E9A
 * p0 was always "CELEBRATION_WINNER"
 */
declare function DrawShowroom(p0: string, ped: number, p2: number, posX: number, posY: number, posZ: number): boolean;
/**
 * It's called after 0xD3A10FC7FD8D98CD and 0xF1CEA8A4198D8E9A
 * p0 was always "CELEBRATION_WINNER"
 */
declare function N_0x98c4fe6ec34154ca(p0: string, ped: number, p2: number, posX: number, posY: number, posZ: number): boolean;

/**
 * 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 X coordinate of the sphere
 * @param y Y coordinate of the sphere
 * @param z Z coordinate of the sphere
 * @param radius Size of the sphere, `1.0` = 1 meter
 * @param r Color red `0`-`255`
 * @param g Color green `0`-`255`
 * @param b Color blue `0`-`255`
 * @param opacity Opacity from `0.0`-`1.0`
 */
declare function DrawSphere(x: number, y: number, z: number, radius: number, r: number, g: number, b: number, opacity: number): void;
/**
 * 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 X coordinate of the sphere
 * @param y Y coordinate of the sphere
 * @param z Z coordinate of the sphere
 * @param radius Size of the sphere, `1.0` = 1 meter
 * @param r Color red `0`-`255`
 * @param g Color green `0`-`255`
 * @param b Color blue `0`-`255`
 * @param opacity Opacity from `0.0`-`1.0`
 */
declare function N_0x799017f9e3b10112(x: number, y: number, z: number, radius: number, r: number, g: number, b: number, opacity: number): void;

/**
 * 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);
 */
declare function DrawSpotLight(posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, colorR: number, colorG: number, colorB: number, distance: number, brightness: number, hardness: number, radius: number, falloff: number): void;

declare function DrawSpotLightWithShadow(posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, colorR: number, colorG: number, colorB: number, distance: number, brightness: number, roundness: number, radius: number, falloff: number, shadowId: number): void;

/**
 * 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
 */
declare function DrawSprite(textureDict: string, textureName: string, screenX: number, screenY: number, width: number, height: number, heading: number, red: number, green: number, blue: number, alpha: number): void;

/**
 * Used for drawling Deadline trailing lights, see deadline.ytd
 * For UVW mapping (u,v,w parameters), reference your favourite internet resource for more details.
 */
declare function DrawSpritePoly(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, x3: number, y3: number, z3: number, red: number, green: number, blue: number, alpha: number, textureDict: string, textureName: string, u1: number, v1: number, w1: number, u2: number, v2: number, w2: number, u3: number, v3: number, w3: number): void;
/**
 * Used for drawling Deadline trailing lights, see deadline.ytd
 * For UVW mapping (u,v,w parameters), reference your favourite internet resource for more details.
 */
declare function N_0x29280002282f1928(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, x3: number, y3: number, z3: number, red: number, green: number, blue: number, alpha: number, textureDict: string, textureName: string, u1: number, v1: number, w1: number, u2: number, v2: number, w2: number, u3: number, v3: number, w3: number): void;

/**
 * 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.
 */
declare function DrawSpritePoly_2(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, x3: number, y3: number, z3: number, red1: number, green1: number, blue1: number, alpha1: number, red2: number, green2: number, blue2: number, alpha2: number, red3: number, green3: number, blue3: number, alpha3: number, textureDict: string, textureName: string, u1: number, v1: number, w1: number, u2: number, v2: number, w2: number, u3: number, v3: number, w3: number): void;
/**
 * 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.
 */
declare function N_0x736d7aa1b750856b(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, x3: number, y3: number, z3: number, red1: number, green1: number, blue1: number, alpha1: number, red2: number, green2: number, blue2: number, alpha2: number, red3: number, green3: number, blue3: number, alpha3: number, textureDict: string, textureName: string, u1: number, v1: number, w1: number, u2: number, v2: number, w2: number, u3: number, v3: number, w3: number): void;

/**
 * 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
 * ```
 */
declare function DrawSpriteUv(textureDict: string, textureName: string, x: number, y: number, width: number, height: number, u1: number, v1: number, u2: number, v2: number, heading: number, red: number, green: number, blue: number, alpha: number): void;

/**
 * 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());
 * }
 * }
 */
declare function DrawTvChannel(xPos: number, yPos: number, xScale: number, yScale: number, rotation: number, red: number, green: number, blue: number, alpha: number): void;

declare function DropAmbientProp(ped: number): void;
declare function N_0xaff4710e2a0a6c12(ped: number): void;

declare function DuplicateFunctionReference(referenceIdentity: string): string;

declare function EjectJb700Roof(vehicle: number, x: number, y: number, z: number): void;
declare function N_0xe38cb9d7d39fdbcc(vehicle: number, x: number, y: number, z: number): void;

/**
 * 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.
 */
declare function EnableAlienBloodVfx(toggle: boolean): void;
/**
 * 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.
 */
declare function N_0x9dce1f0f78260875(toggle: boolean): void;

/**
 * padIndex:
 * 0 - PLAYER_CONTROL
 * 1 - Unknown
 * 2 - FRONTEND_CONTROL
 * @param padIndex The control system instance to use.
 */
declare function EnableAllControlActions(padIndex: number): void;

/**
 * Creates cartoon effect when Michel smokes the weed
 */
declare function EnableClownBloodVfx(toggle: boolean): void;
/**
 * Creates cartoon effect when Michel smokes the weed
 */
declare function SetCameraEndtime(toggle: boolean): void;

/**
 * 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
 */
declare function EnableControlAction(padIndex: number, control: number, enable: boolean): void;

/**
 * Shows the crosshair even if it wouldn't show normally. Only works for one frame, so make sure to call it repeatedly.
 */
declare function EnableCrosshairThisFrame(): void;

/**
 * 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 The ID of the dispatch service to toggle.
 * @param toggle True to enable the dispatch service, false to disable the dispatch service.
 */
declare function EnableDispatchService(dispatchService: number, toggle: boolean): void;
/**
 * 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 The ID of the dispatch service to toggle.
 * @param toggle True to enable the dispatch service, false to disable the dispatch service.
 */
declare function N_0xdc0f817884cdd856(dispatchService: number, toggle: boolean): void;

/**
 * Enables the editor runtime mode, changing game behavior to track entity metadata.
 * This function supports SDK infrastructure and is not intended to be used directly from your code.
 */
declare function EnableEditorRuntime(): void;

/**
 * ENABLE_*
 */
declare function EnableEntityUnk(entity: number): void;
/**
 * ENABLE_*
 */
declare function N_0x6ce177d014502e8a(entity: number): void;

/**
 * This is the native that is used to hide the exterior of GTA Online apartment buildings when you are inside an apartment.
 */
declare function EnableExteriorCullModelThisFrame(mapObjectHash: string | number): void;
/**
 * This is the native that is used to hide the exterior of GTA Online apartment buildings when you are inside an apartment.
 */
declare function N_0xa97f257d0151a6ab(mapObjectHash: string | number): void;
/**
 * This is the native that is used to hide the exterior of GTA Online apartment buildings when you are inside an apartment.
 */
declare function HideMapObjectThisFrame(mapObjectHash: string | number): void;

/**
 * Enables laser sight on any weapon.
 * It doesn't work. Neither on tick nor OnKeyDown
 */
declare function EnableLaserSightRendering(toggle: boolean): void;

declare function EnableMovieKeyframeWait(toggle: boolean): void;
declare function N_0x74c180030fde4b69(toggle: boolean): void;

declare function EnableMovieSubtitles(toggle: boolean): void;

declare function EnableSavingInGarage(garageHash: string | number, toggle: boolean): void;
declare function N_0xf2e1a7133dd356a6(garageHash: string | number, toggle: boolean): void;

declare function EnableScriptBrainSet(brainSet: number): void;

declare function EnableScriptCullModelThisFrame(mapObjectHash: string | number): void;
declare function N_0x50c375537449f369(mapObjectHash: string | number): void;

/**
 * NativeDB Added Parameter 3: Any p2
 */
declare function EnableSpecialAbility(player: number, toggle: boolean): void;

declare function EnableStallWarningSounds(vehicle: number, toggle: boolean): void;
declare function N_0xc15907d667f7cfb2(vehicle: number, toggle: boolean): void;

declare function EnableStuntJumpSet(p0: number): void;

declare function EnableSwitchPauseBeforeDescent(): void;
declare function N_0xd4793dff3af2abcd(): void;

/**
 * Makes the ped jump around like they're in a tennis match
 */
declare function EnableTennisMode(ped: number, toggle: boolean, p2: boolean): void;

/**
 * Sets whether the vehicle passed has exhaust pops.
 * @param toggle Enables or disables exaust pops.
 */
declare function EnableVehicleExhaustPops(vehicle: number, toggle: boolean): void;
/**
 * Sets whether the vehicle passed has exhaust pops.
 * @param toggle Enables or disables exaust pops.
 */
declare function N_0x2be4bc731d039d5a(vehicle: number, toggle: boolean): void;

declare function EndFindKvp(handle: number): void;

declare function EndFindObject(findHandle: number): void;

declare function EndFindPed(findHandle: number): void;

declare function EndFindPickup(findHandle: number): void;

declare function EndFindVehicle(findHandle: number): void;

declare function EndPetrolTrailDecals(): void;
declare function N_0x0a123435a26c36cd(): void;

declare function EndReplayStats(): void;

/**
 * Pops and calls the Scaleform function on the stack
 */
declare function EndScaleformMovieMethod(): void;
/**
 * Pops and calls the Scaleform function on the stack
 */
declare function PopScaleformMovieFunctionVoid(): void;

declare function EndScaleformMovieMethodReturnValue(): number;
declare function PopScaleformMovieFunction(): number;
declare function EndScaleformMovieMethodReturn(): number;

/**
 * Clear the current srl and stop rendering the area selected by PREFETCH_SRL and started with BEGIN_SRL.
 */
declare function EndSrl(): void;

/**
 * enum eBusySpinnerType
 * {
 * BUSY_SPINNER_LEFT,
 * BUSY_SPINNER_LEFT_2,
 * BUSY_SPINNER_LEFT_3,
 * BUSY_SPINNER_SAVE,
 * BUSY_SPINNER_RIGHT,
 * };
 */
declare function EndTextCommandBusyspinnerOn(busySpinnerType: number): void;
/**
 * enum eBusySpinnerType
 * {
 * BUSY_SPINNER_LEFT,
 * BUSY_SPINNER_LEFT_2,
 * BUSY_SPINNER_LEFT_3,
 * BUSY_SPINNER_SAVE,
 * BUSY_SPINNER_RIGHT,
 * };
 */
declare function N_0xbd12f8228410d9b4(busySpinnerType: number): void;
/**
 * enum eBusySpinnerType
 * {
 * BUSY_SPINNER_LEFT,
 * BUSY_SPINNER_LEFT_2,
 * BUSY_SPINNER_LEFT_3,
 * BUSY_SPINNER_SAVE,
 * BUSY_SPINNER_RIGHT,
 * };
 */
declare function ShowLoadingPrompt(busySpinnerType: number): void;
/**
 * enum eBusySpinnerType
 * {
 * BUSY_SPINNER_LEFT,
 * BUSY_SPINNER_LEFT_2,
 * BUSY_SPINNER_LEFT_3,
 * BUSY_SPINNER_SAVE,
 * BUSY_SPINNER_RIGHT,
 * };
 */
declare function EndTextCommandBusyString(busySpinnerType: number): void;

declare function EndTextCommandClearPrint(): void;
declare function N_0xfcc75460aba29378(): void;

declare function EndTextCommandDisplayHelp(shape: number, loop: boolean, beep: boolean, duration: number): void;
declare function DisplayHelpTextFromStringLabel(shape: number, loop: boolean, beep: boolean, duration: number): void;

/**
 * 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
 */
declare function EndTextCommandDisplayText(x: number, y: number): void;
/**
 * 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
 */
declare function DrawText(x: number, y: number): void;

/**
 * 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
 */
declare function EndTextCommandGetWidth(p0: boolean): number;
/**
 * 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
 */
declare function GetTextScreenWidth(p0: boolean): number;

declare function EndTextCommandIsMessageDisplayed(): boolean;
declare function N_0x8a9ba1ab3e237613(): boolean;

declare function EndTextCommandIsThisHelpMessageBeingDisplayed(p0: number): boolean;
declare function N_0x10bddbfc529428dd(p0: number): boolean;

/**
 * END_TEXT_COMMAND_*
 * Determines how many lines the text string will use when drawn on screen.
 * Must use 0x521FB041D93DD0E4 for setting up
 */
declare function EndTextCommandLineCount(x: number, y: number): number;
/**
 * END_TEXT_COMMAND_*
 * Determines how many lines the text string will use when drawn on screen.
 * Must use 0x521FB041D93DD0E4 for setting up
 */
declare function N_0x9040dfb09be75706(x: number, y: number): number;
/**
 * END_TEXT_COMMAND_*
 * Determines how many lines the text string will use when drawn on screen.
 * Must use 0x521FB041D93DD0E4 for setting up
 */
declare function GetTextScreenLineCount(x: number, y: number): number;
/**
 * END_TEXT_COMMAND_*
 * Determines how many lines the text string will use when drawn on screen.
 * Must use 0x521FB041D93DD0E4 for setting up
 */
declare function EndTextCommandGetLineCount(x: number, y: number): number;

declare function EndTextCommandObjective(p0: boolean): void;
declare function N_0xcfdbdf5ae59ba0f4(p0: boolean): void;

declare function EndTextCommandOverrideButtonText(buttonIndex: number): void;
declare function N_0xa86911979638106f(buttonIndex: number): void;
declare function EndTextCommandTimer(buttonIndex: number): void;

/**
 * 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
 */
declare function EndTextCommandPrint(duration: number, drawImmediately: boolean): void;
/**
 * 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
 */
declare function DrawSubtitleTimed(duration: number, drawImmediately: boolean): void;

declare function EndTextCommandScaleformString(): void;
declare function EndTextComponent(): void;

/**
 * Same as END_TEXT_COMMAND_SCALEFORM_STRING but does not perform HTML conversion for text tokens.
 */
declare function EndTextCommandScaleformString_2(): void;
/**
 * Same as END_TEXT_COMMAND_SCALEFORM_STRING but does not perform HTML conversion for text tokens.
 */
declare function N_0xae4e8157d9ecf087(): void;

/**
 * Finalizes a text command started with [`BEGIN_TEXT_COMMAND_SET_BLIP_NAME`](#\_0xF9113A30DE5C6670), setting the name
 * of the specified blip.
 * @param blip The blip to change the name for.
 */
declare function EndTextCommandSetBlipName(blip: number): void;

/**
 * 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 The texture dictionary name for the icon on the left.
 * @param textureName The texture name for the icon on the left.
 * @param rpBonus The gained "RP" amount that will be displayed on the right side of the notification.
 * @param colorOverlay Hudcolor overlay that gets applied on top of the notification, conflicts with text/image visibility in most cases if set to something other than 0.
 * @param titleLabel The label that will be displayed at the top of the notification (title).
 * @return The notification handle.
 */
declare function EndTextCommandThefeedPostAward(textureDict: string, textureName: string, rpBonus: number, colorOverlay: number, titleLabel: string): number;
/**
 * 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 The texture dictionary name for the icon on the left.
 * @param textureName The texture name for the icon on the left.
 * @param rpBonus The gained "RP" amount that will be displayed on the right side of the notification.
 * @param colorOverlay Hudcolor overlay that gets applied on top of the notification, conflicts with text/image visibility in most cases if set to something other than 0.
 * @param titleLabel The label that will be displayed at the top of the notification (title).
 * @return The notification handle.
 */
declare function N_0xaa295b6f28bd587d(textureDict: string, textureName: string, rpBonus: number, colorOverlay: number, titleLabel: string): number;
/**
 * 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 The texture dictionary name for the icon on the left.
 * @param textureName The texture name for the icon on the left.
 * @param rpBonus The gained "RP" amount that will be displayed on the right side of the notification.
 * @param colorOverlay Hudcolor overlay that gets applied on top of the notification, conflicts with text/image visibility in most cases if set to something other than 0.
 * @param titleLabel The label that will be displayed at the top of the notification (title).
 * @return The notification handle.
 */
declare function DrawNotificationIcon(textureDict: string, textureName: string, rpBonus: number, colorOverlay: number, titleLabel: string): number;
/**
 * 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 The texture dictionary name for the icon on the left.
 * @param textureName The texture name for the icon on the left.
 * @param rpBonus The gained "RP" amount that will be displayed on the right side of the notification.
 * @param colorOverlay Hudcolor overlay that gets applied on top of the notification, conflicts with text/image visibility in most cases if set to something other than 0.
 * @param titleLabel The label that will be displayed at the top of the notification (title).
 * @return The notification handle.
 */
declare function DrawNotificationAward(textureDict: string, textureName: string, rpBonus: number, colorOverlay: number, titleLabel: string): number;

declare function EndTextCommandThefeedPostCrewRankup(chTitle: string, clanTxd: string, clanTxn: string, isImportant: boolean, showSubtitle: boolean): number;
declare function N_0x8efccf6ec66d85e4(chTitle: string, clanTxd: string, clanTxn: string, isImportant: boolean, showSubtitle: boolean): number;

/**
 * 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);
 * }
 * }
 */
declare function EndTextCommandThefeedPostCrewtag(crewTypeIsPrivate: boolean, crewTagContainsRockstar: boolean, rank: number, hasFounderStatus: boolean, isImportant: boolean, clanHandle: number, r: number, g: number, b: number): [number, number];
/**
 * 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);
 * }
 * }
 */
declare function N_0x97c9e4e7024a8f2c(crewTypeIsPrivate: boolean, crewTagContainsRockstar: boolean, rank: number, hasFounderStatus: boolean, isImportant: boolean, clanHandle: number, r: number, g: number, b: number): [number, number];
/**
 * 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);
 * }
 * }
 */
declare function NotificationSendApartmentInvite(crewTypeIsPrivate: boolean, crewTagContainsRockstar: boolean, rank: number, hasFounderStatus: boolean, isImportant: boolean, clanHandle: number, r: number, g: number, b: number): [number, number];
/**
 * 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);
 * }
 * }
 */
declare function DrawNotificationApartmentInvite(crewTypeIsPrivate: boolean, crewTagContainsRockstar: boolean, rank: number, hasFounderStatus: boolean, isImportant: boolean, clanHandle: number, r: number, g: number, b: number): [number, number];

/**
 * 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);
 * }
 * }
 */
declare function EndTextCommandThefeedPostCrewtagWithGameName(crewTypeIsPrivate: boolean, crewTagContainsRockstar: boolean, rank: number, isLeader: boolean, isImportant: boolean, clanHandle: number, gamerStr: string, r: number, g: number, b: number): [number, number];
/**
 * 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);
 * }
 * }
 */
declare function N_0x137bc35589e34e1e(crewTypeIsPrivate: boolean, crewTagContainsRockstar: boolean, rank: number, isLeader: boolean, isImportant: boolean, clanHandle: number, gamerStr: string, r: number, g: number, b: number): [number, number];
/**
 * 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);
 * }
 * }
 */
declare function NotificationSendClanInvite(crewTypeIsPrivate: boolean, crewTagContainsRockstar: boolean, rank: number, isLeader: boolean, isImportant: boolean, clanHandle: number, gamerStr: string, r: number, g: number, b: number): [number, number];
/**
 * 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);
 * }
 * }
 */
declare function DrawNotificationClanInvite(crewTypeIsPrivate: boolean, crewTagContainsRockstar: boolean, rank: number, isLeader: boolean, isImportant: boolean, clanHandle: number, gamerStr: string, r: number, g: number, b: number): [number, number];

/**
 * 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 The texture dictionary for the icon.
 * @param textureName The texture name for the icon.
 * @param flash Flash, doesn't seem to work no matter what.
 * @param iconType The icon type, see the list in the description below.
 * @param sender The notification title.
 * @param subject The notification subtitle.
 * @return The notification handle.
 */
declare function EndTextCommandThefeedPostMessagetext(textureDict: string, textureName: string, flash: boolean, iconType: number, sender: string, subject: string): number;
/**
 * 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 The texture dictionary for the icon.
 * @param textureName The texture name for the icon.
 * @param flash Flash, doesn't seem to work no matter what.
 * @param iconType The icon type, see the list in the description below.
 * @param sender The notification title.
 * @param subject The notification subtitle.
 * @return The notification handle.
 */
declare function SetNotificationMessage(textureDict: string, textureName: string, flash: boolean, iconType: number, sender: string, subject: string): number;

/**
 * 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);
 */
declare function EndTextCommandThefeedPostMessagetextGxtEntry(txdName: string, textureName: string, flash: boolean, iconType: number, sender: string, subject: string): number;
/**
 * 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);
 */
declare function N_0xc6f580e4c94926ac(txdName: string, textureName: string, flash: boolean, iconType: number, sender: string, subject: string): number;
/**
 * 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);
 */
declare function SetNotificationMessage_3(txdName: string, textureName: string, flash: boolean, iconType: number, sender: string, subject: string): number;
/**
 * 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);
 */
declare function EndTextCommandThefeedPostMessagetextEntry(txdName: string, textureName: string, flash: boolean, iconType: number, sender: string, subject: string): number;

/**
 * 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)
 */
declare function EndTextCommandThefeedPostMessagetextTu(picTxd: string, picTxn: string, flash: boolean, iconType: number, nameStr: string, subtitleStr: string, duration: number): number;
/**
 * 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)
 */
declare function N_0x1e6611149db3db6b(picTxd: string, picTxn: string, flash: boolean, iconType: number, nameStr: string, subtitleStr: string, duration: number): number;
/**
 * 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)
 */
declare function SetNotificationMessage_4(picTxd: string, picTxn: string, flash: boolean, iconType: number, nameStr: string, subtitleStr: string, duration: number): number;

/**
 * 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.)
 */
declare function EndTextCommandThefeedPostMessagetextWithCrewTag(picTxd: string, picTxn: string, flash: boolean, iconType: number, nameStr: string, subtitleStr: string, duration: number, crewPackedStr: string): number;
/**
 * 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.)
 */
declare function SetNotificationMessageClanTag(picTxd: string, picTxn: string, flash: boolean, iconType: number, nameStr: string, subtitleStr: string, duration: number, crewPackedStr: string): number;

/**
 * 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);
 * }
 */
declare function EndTextCommandThefeedPostMessagetextWithCrewTagAndAdditionalIcon(picTxd: string, picTxn: string, flash: boolean, iconType1: number, nameStr: string, subtitleStr: string, duration: number, crewPackedStr: string, iconType2: number, textColor: number): number;
/**
 * 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);
 * }
 */
declare function SetNotificationMessageClanTag_2(picTxd: string, picTxn: string, flash: boolean, iconType1: number, nameStr: string, subtitleStr: string, duration: number, crewPackedStr: string, iconType2: number, textColor: number): number;

declare function EndTextCommandThefeedPostMpticker(blink: boolean, bHasTokens: boolean): number;
declare function DrawNotification_4(blink: boolean, bHasTokens: boolean): number;

/**
 * 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?!");
 */
declare function EndTextCommandThefeedPostReplayIcon(eType: number, iIcon: number, sTitle: string): number;
/**
 * 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?!");
 */
declare function N_0xd202b92cbf1d816f(eType: number, iIcon: number, sTitle: string): number;
/**
 * 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?!");
 */
declare function DrawNotificationWithIcon(eType: number, iIcon: number, sTitle: string): number;

/**
 * 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~","");
 */
declare function EndTextCommandThefeedPostReplayInput(_type: number, button: string, text: string): number;
/**
 * 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~","");
 */
declare function N_0xdd6cb2cce7c2735c(_type: number, button: string, text: string): number;
/**
 * 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~","");
 */
declare function DrawNotificationWithButton(_type: number, button: string, text: string): number;

/**
 * [List of picture names](https://pastebin.com/XdpJVbHz)
 * Example result:
 * ![](https://i.imgur.com/SdEZ22m.png)
 * @return The notification handle.
 */
declare function EndTextCommandThefeedPostStats(statTitle: string, iconEnum: number, stepVal: boolean, barValue: number, isImportant: boolean, picTxd: string, picTxn: string): number;
/**
 * [List of picture names](https://pastebin.com/XdpJVbHz)
 * Example result:
 * ![](https://i.imgur.com/SdEZ22m.png)
 * @return The notification handle.
 */
declare function N_0x2b7e9a4eaaa93c89(statTitle: string, iconEnum: number, stepVal: boolean, barValue: number, isImportant: boolean, picTxd: string, picTxn: string): number;
/**
 * [List of picture names](https://pastebin.com/XdpJVbHz)
 * Example result:
 * ![](https://i.imgur.com/SdEZ22m.png)
 * @return The notification handle.
 */
declare function SetNotificationMessage_2(statTitle: string, iconEnum: number, stepVal: boolean, barValue: number, isImportant: boolean, picTxd: string, picTxn: string): number;

/**
 * Example output preview:
 * ![](https://i.imgur.com/TJvqkYq.png)
 * @param isImportant Makes the notification flash on the screen.
 * @param bHasTokens Makes the notification appear in the "Pause Menu > Info/Brief > Notifications" section.
 * @return The notification handle.
 */
declare function EndTextCommandThefeedPostTicker(isImportant: boolean, bHasTokens: boolean): number;
/**
 * Example output preview:
 * ![](https://i.imgur.com/TJvqkYq.png)
 * @param isImportant Makes the notification flash on the screen.
 * @param bHasTokens Makes the notification appear in the "Pause Menu > Info/Brief > Notifications" section.
 * @return The notification handle.
 */
declare function DrawNotification(isImportant: boolean, bHasTokens: boolean): number;

declare function EndTextCommandThefeedPostTickerForced(blink: boolean, bHasTokens: boolean): number;
declare function DrawNotification_2(blink: boolean, bHasTokens: boolean): number;

declare function EndTextCommandThefeedPostTickerWithTokens(isImportant: boolean, bHasTokens: boolean): number;
declare function DrawNotification_3(isImportant: boolean, bHasTokens: boolean): number;

declare function EndTextCommandThefeedPostUnlock(chTitle: string, iconType: number, chSubtitle: string): number;
declare function N_0x33ee12743ccd6343(chTitle: string, iconType: number, chSubtitle: string): number;

declare function EndTextCommandThefeedPostUnlockTu(chTitle: string, iconType: number, chSubtitle: string, isImportant: boolean): number;
declare function N_0xc8f3aaf93d0600bf(chTitle: string, iconType: number, chSubtitle: string, isImportant: boolean): number;

declare function EndTextCommandThefeedPostUnlockTuWithColor(chTitle: string, iconType: number, chSubtitle: string, isImportant: boolean, titleColor: number, p5: boolean): number;
declare function N_0x7ae0589093a2e088(chTitle: string, iconType: number, chSubtitle: string, isImportant: boolean, titleColor: number, p5: boolean): number;

/**
 * NativeDB Added Parameter 7: int hudColorIndex1
 * NativeDB Added Parameter 8: int hudColorIndex2
 */
declare function EndTextCommandThefeedPostVersusTu(ch1TXD: string, ch1TXN: string, val1: number, ch2TXD: string, ch2TXN: string, val2: number): number;
/**
 * NativeDB Added Parameter 7: int hudColorIndex1
 * NativeDB Added Parameter 8: int hudColorIndex2
 */
declare function N_0xb6871b0555b02996(ch1TXD: string, ch1TXN: string, val1: number, ch2TXD: string, ch2TXN: string, val2: number): number;

/**
 * Internal function for ensuring an entity has a state bag.
 */
declare function EnsureEntityStateBag(entity: number): void;

/**
 * Enters cursor mode, suppressing mouse movement to the game and displaying a mouse cursor instead. This function supports
 * SDK infrastructure and is not intended to be used directly from your code.
 */
declare function EnterCursorMode(): void;

declare function ExecuteCommand(commandString: string): void;

/**
 * This native is not implemented.
 */
declare function ExperimentalLoadCloneCreate(data: string, objectId: number, tree: string): number;

/**
 * This native is not implemented.
 */
declare function ExperimentalLoadCloneSync(entity: number, data: string): void;

/**
 * This native is not implemented.
 */
declare function ExperimentalSaveCloneCreate(entity: number): string;

/**
 * This native is not implemented.
 */
declare function ExperimentalSaveCloneSync(entity: number): string;

/**
 * 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 The ped to lethally injure.
 * @param weaponHash The weapon to attribute the damage to.
 */
declare function ExplodePedHead(ped: number, weaponHash: string | number): void;

/**
 * WEAPON::EXPLODE_PROJECTILES(PLAYER::PLAYER_PED_ID(), func_221(0x00000003), 0x00000001);
 */
declare function ExplodeProjectiles(ped: number, weaponHash: string | number, p2: boolean): void;

/**
 * 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.
 */
declare function ExplodeVehicle(vehicle: number, isAudible: boolean, isInvisible: boolean): void;

declare function ExplodeVehicleInCutscene(vehicle: number, p1: boolean): void;

/**
 * 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"
 */
declare function ExtendWorldBoundaryForPlayer(x: number, y: number, z: number): void;
/**
 * 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"
 */
declare function N_0x5006d96c995a5827(x: number, y: number, z: number): void;
/**
 * 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"
 */
declare function ExpandWorldLimits(x: number, y: number, z: number): void;

declare function FacebookDoUnkCheck(): boolean;
declare function N_0xa75e2b6733da5142(): boolean;

declare function FacebookIsAvailable(): boolean;
declare function N_0x43865688ae10f0d7(): boolean;

declare function FacebookIsSendingData(): boolean;
declare function N_0x62b9fec9a11f10ef(): boolean;

declare function FacebookSetCreateCharacterComplete(): boolean;
declare function N_0xdc48473142545431(): boolean;

declare function FacebookSetHeistComplete(heistName: string, cashEarned: number, xpEarned: number): boolean;
declare function N_0x098ab65b9ed9a9ec(heistName: string, cashEarned: number, xpEarned: number): boolean;

/**
 * milestoneId:
 * 0 = "percentcomplete"
 * 1 = "storycomplete"
 * 2 = "vehicles"
 * 3 = "properties"
 * 4 = "psych"
 * 5 = "mapreveal"
 * 6 = "prologue"
 */
declare function FacebookSetMilestoneComplete(milestoneId: number): boolean;
/**
 * milestoneId:
 * 0 = "percentcomplete"
 * 1 = "storycomplete"
 * 2 = "vehicles"
 * 3 = "properties"
 * 4 = "psych"
 * 5 = "mapreveal"
 * 6 = "prologue"
 */
declare function N_0x0ae1f1653b554ab9(milestoneId: number): boolean;

declare function FadeDecalsInRange(x: number, y: number, z: number, radius: number, duration: number): void;

/**
 * Hardcoded to not work in SP.
 */
declare function FadeOutLocalPlayer(p0: boolean): void;

declare function FadeUpPedLight(p0: number): void;
declare function N_0xc9b18b4619f48f7b(p0: number): void;

declare function FilloutPmPlayerList(p1: number, p2: number): [boolean, number];

declare function FilloutPmPlayerListWithNames(p2: number, p3: number): [boolean, number, number];

declare function FinalizeHeadBlend(ped: number): void;
declare function N_0x4668d80430d6c299(ped: number): void;

/**
 * ```
 * 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/)
 */
declare function FindAnimEventPhase(animDictionary: string, animName: string, p2: string): [boolean, number, number];

declare function FindFirstObject(outEntity: number): [number, number];

declare function FindFirstPed(outEntity: number): [number, number];

declare function FindFirstPickup(outEntity: number): [number, number];

declare function FindFirstVehicle(outEntity: number): [number, number];

declare function FindKvp(handle: number): string;

declare function FindNextObject(findHandle: number, outEntity?: number): [boolean, number];

declare function FindNextPed(findHandle: number, outEntity?: number): [boolean, number];

declare function FindNextPickup(findHandle: number, outEntity?: number): [boolean, number];

declare function FindNextVehicle(findHandle: number, outEntity?: number): [boolean, number];

declare function FindRadioStationIndex(stationNameHash: number): number;

/**
 * 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
 * ```
 */
declare function FindRandomPointInSpace(ped: number): number[];
/**
 * 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
 * ```
 */
declare function N_0x8dc9675797123522(ped: number): number[];

/**
 * 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.
 */
declare function FindSpawnPointInDirection(posX: number, posY: number, posZ: number, dirX: number, dirY: number, dirZ: number, distance: number): [boolean, number[]];

/**
 * 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.
 */
declare function FindVehicleCarryingThisEntity(entity: number): number;
/**
 * 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.
 */
declare function N_0x375e7fc44f21c8ab(entity: number): number;
/**
 * 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.
 */
declare function GetVehicleAttachedToEntity(entity: number): number;

declare function FireAirDefenseWeapon(zoneId: number, x: number, y: number, z: number): void;
declare function N_0x44f1012b69313374(zoneId: number, x: number, y: number, z: number): void;

/**
 * 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`.
 */
declare function FixVehicleWindow(vehicle: number, windowIndex: number): void;

declare function FlagPlayerContextInTournament(toggle: boolean): void;
declare function N_0xcef214315d276fd1(toggle: boolean): void;
declare function SetIsInTournament(toggle: boolean): void;

declare function FlashAbilityBar(millisecondsToFlash: number): void;

/**
 * adds a short flash to the Radar/Minimap
 * Usage: UI.FLASH_MINIMAP_DISPLAY
 */
declare function FlashMinimapDisplay(): void;

declare function FlashMinimapDisplayWithColor(hudColorIndex: number): void;
declare function N_0x6b1de27ee78e6a19(hudColorIndex: number): void;

declare function FlashWantedDisplay(p0: boolean): void;

declare function Floor(value: number): number;

declare function ForceCinematicRenderingThisUpdate(p0: boolean): void;
declare function N_0xa41bcd7213805aac(p0: boolean): void;

/**
 * used with 1,2,8,64,128 in the scripts
 */
declare function ForceCleanup(cleanupFlags: number): void;

/**
 * PLAYER::FORCE_CLEANUP_FOR_ALL_THREADS_WITH_THIS_NAME("pb_prostitute", 1); // Found in decompilation
 */
declare function ForceCleanupForAllThreadsWithThisName(name: string, cleanupFlags: number): void;

declare function ForceCleanupForThreadWithThisId(id: number, cleanupFlags: number): void;

declare function ForceCloseReportugcMenu(): void;
declare function N_0xee4c0e6dbc6f2c6f(): void;

declare function ForceCloseTextInputBox(): void;
declare function N_0x8817605c2ba76200(): void;

/**
 * Based on carmod_shop script decompile this takes a vehicle parameter. It is called when repair is done on initial enter.
 */
declare function ForceEntityAiAndAnimationUpdate(entity: number): void;

/**
 * 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"
 */
declare function ForceGameStatePlaying(): void;
/**
 * 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"
 */
declare function ResetLocalplayerState(): void;

/**
 * creates single lightning+thunder at random position
 */
declare function ForceLightningFlash(): void;
/**
 * creates single lightning+thunder at random position
 */
declare function CreateLightningThunder(): void;

declare function ForcePedAiAndAnimationUpdate(ped: number, p1: boolean, p2: boolean): void;
declare function N_0x2208438012482a1a(ped: number, p1: boolean, p2: boolean): void;

/**
 * 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,
 * }
 */
declare function ForcePedMotionState(ped: number, motionStateHash: string | number, p2: boolean, p3: number, p4: boolean): boolean;

declare function ForcePedToOpenParachute(ped: number): void;

declare function ForcePickupRegenerate(p0: number): void;
declare function N_0x758a5c1b3b1e1990(p0: number): void;

/**
 * Often called after START_PLAYBACK_RECORDED_VEHICLE and SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE; similar in use to FORCE_ENTITY_AI_AND_ANIMATION_UPDATE.
 */
declare function ForcePlaybackRecordedVehicleUpdate(vehicle: number, p1: boolean): void;
/**
 * Often called after START_PLAYBACK_RECORDED_VEHICLE and SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE; similar in use to FORCE_ENTITY_AI_AND_ANIMATION_UPDATE.
 */
declare function N_0x1f2e4e06dea8992b(vehicle: number, p1: boolean): void;

/**
 * NativeDB Introduced: v2372
 */
declare function ForceRadioTrackListPosition(radioStation: string, trackListName: string, milliseconds: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x4e0af9114608257c(radioStation: string, trackListName: string, milliseconds: number): void;

declare function ForceRenderInGameUi(toggle: boolean): void;
declare function N_0xdc459cfa0cce245b(toggle: boolean): void;

/**
 * Forces the particular room in an interior to load incase not teleporting into the portal.
 */
declare function ForceRoomForEntity(entity: number, interior: number, roomHashKey: string | number): void;

declare function ForceRoomForGameViewport(interiorID: number, roomHashKey: string | number): void;
declare function N_0x920d853f3e17f1da(interiorID: number, roomHashKey: string | number): void;

/**
 * Forces the game snow pass to render.
 * @param enabled Whether or not to force rendering to use a snow pass.
 */
declare function ForceSnowPass(enabled: boolean): void;

/**
 * Exits the game and downloads a fresh social club update on next restart.
 */
declare function ForceSocialClubUpdate(): void;

/**
 * Doesn't actually return anything.
 */
declare function ForceSonarBlipsThisFrame(): number;
/**
 * Doesn't actually return anything.
 */
declare function N_0x1121bfa1a1a522a8(): number;

declare function ForceSubmarineSurfaceMode(vehicle: number, toggle: boolean): void;
declare function N_0x33506883545ac0df(vehicle: number, toggle: boolean): void;

/**
 * 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_???
 */
declare function ForceVehicleEngineAudio(vehicle: number, audioName: string): void;
/**
 * 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_???
 */
declare function N_0x4f0c413926060b38(vehicle: number, audioName: string): void;
/**
 * 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_???
 */
declare function SetVehicleAudio(vehicle: number, audioName: string): void;

declare function FreeMemoryForHighQualityPhoto(): void;
declare function N_0xd801cc02177fa3f1(): void;

declare function FreeMemoryForLowQualityPhoto(): void;
declare function N_0x6a12d88881435dca(): void;

declare function FreeMemoryForMissionCreatorPhoto(): void;
declare function N_0x0a46af8a78dc5e0a(): void;

/**
 * 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 The entity to freeze/unfreeze.
 * @param toggle Freeze or unfreeze entity.
 */
declare function FreezeEntityPosition(entity: number, toggle: boolean): void;

declare function FreezeMicrophone(): void;
declare function N_0xd57aaae0e2214d11(): void;

declare function FreezePedCameraRotation(ped: number): void;
declare function N_0xff287323b0e2c69a(ped: number): void;

declare function FreezeRadioStation(radioStation: string): void;

/**
 * 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
 */
declare function GenerateDirectionsToCoord(x: number, y: number, z: number, p3: boolean): [number, number, number, number];

/**
 * For Steam.
 * Always returns 0 in retail version of the game.
 * @return Returns the progression of an achievement; 0 if the achievement cannot be progressed.
 */
declare function GetAchievementProgress(achievement: number): number;
/**
 * For Steam.
 * Always returns 0 in retail version of the game.
 * @return Returns the progression of an achievement; 0 if the achievement cannot be progressed.
 */
declare function N_0x1c186837d0619335(achievement: number): number;
/**
 * For Steam.
 * Always returns 0 in retail version of the game.
 * @return Returns the progression of an achievement; 0 if the achievement cannot be progressed.
 */
declare function GetAchievementProgression(achievement: number): number;

/**
 * Returns all player indices for 'active' physical players known to the client.
 * The data returned adheres to the following layout:
 * ```
 * [127, 42, 13, 37]
 * ```
 * @return An object containing a list of player indices.
 */
declare function GetActivePlayers(): any;

/**
 * Returns current screen resolution.
 */
declare function GetActiveScreenResolution(): [number, number];
/**
 * Returns current screen resolution.
 */
declare function GetScreenActiveResolution(): [number, number];

/**
 * https://alloc8or.re/gta5/doc/enums/eVehicleMissionType.txt
 */
declare function GetActiveVehicleMissionType(vehicle: number): number;

/**
 * Returns the current AI BLIP for the specified ped
 */
declare function GetAiBlip(ped: number): number;
/**
 * Returns the current AI BLIP for the specified ped
 */
declare function N_0x56176892826a4fe8(ped: number): number;

declare function GetAiBlip_2(ped: number): number;
declare function N_0x7cd934010e115c2c(ped: number): number;

/**
 * Returns all rope handles. The data returned adheres to the following layout:
 * ```
 * [ 770, 1026, 1282, 1538, 1794, 2050, 2306, 2562, 2818, 3074, 3330, 3586, 3842, 4098, 4354, 4610, ...]
 * ```
 * @return An object containing a list of all rope handles.
 */
declare function GetAllRopes(): any;

/**
 * Returns all registered vehicle model names, including non-dlc vehicles and custom vehicles in no particular order.
 * **Example output**
 * ```
 * ["dubsta", "dubsta2", "dubsta3", "myverycoolcar", "sultan", "sultanrs", ...]
 * ```
 * This native will not return vehicles that are unregistered (i.e from a resource being stopped) during runtime.
 */
declare function GetAllVehicleModels(): any;

declare function GetAllVehicles(vehArray: number): [number, number];

declare function GetAllocatedStackSize(): number;

/**
 * Returns profile setting 17.
 */
declare function GetAllowMovementWhileZoomed(): boolean;
/**
 * Returns profile setting 17.
 */
declare function N_0xfc859e2374407556(): boolean;

/**
 * A getter for [SET_AMBIENT_PED_RANGE_MULTIPLIER_THIS_FRAME](#\_0x0B919E1FB47CC4E0).
 * @return Returns ambient ped range multiplier value.
 */
declare function GetAmbientPedRangeMultiplier(): number;

/**
 * A getter for [SET_AMBIENT_VEHICLE_RANGE_MULTIPLIER_THIS_FRAME](#\_0x90B6DA738A9A25DA).
 * @return Returns ambient vehicle range multiplier value.
 */
declare function GetAmbientVehicleRangeMultiplier(): number;

declare function GetAmbientVoiceNameHash(ped: number): number;
declare function N_0x5e203da2ba15d436(ped: number): number;

declare function GetAmmoInClip(ped: number, weaponHash: string | number, ammo?: number): [boolean, number];

/**
 * 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)
 */
declare function GetAmmoInPedWeapon(ped: number, weaponhash: string | number): number;

declare function GetAngleBetween_2dVectors(x1: number, y1: number, x2: number, y2: number): number;

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function GetAnimDuration(animDict: string, animName: string): number;
/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function GetAnimDuration(animDict: string, animName: string): number;

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function GetAnimInitialOffsetPosition(animDict: string, animName: string, x: number, y: number, z: number, xRot: number, yRot: number, zRot: number, p8: number, p9: number): number[];

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function GetAnimInitialOffsetRotation(animDict: string, animName: string, x: number, y: number, z: number, xRot: number, yRot: number, zRot: number, p8: number, p9: number): number[];

declare function GetAspectRatio(b: boolean): number;
declare function GetScreenAspectRatio(b: boolean): number;

declare function GetAudibleMusicTrackTextId(): number;

declare function GetBaseElementMetadata(p3: number, p4: boolean): [boolean, number, number];
declare function N_0xb335f761606db47c(p3: number, p4: boolean): [boolean, number, number];

/**
 * Returns value of the '-benchmarkIterations' command line option.
 */
declare function GetBenchmarkIterationsFromCommandLine(): number;
/**
 * Returns value of the '-benchmarkIterations' command line option.
 */
declare function N_0x4750fc27570311ec(): number;

/**
 * Returns value of the '-benchmarkPass' command line option.
 */
declare function GetBenchmarkPassFromCommandLine(): number;
/**
 * Returns value of the '-benchmarkPass' command line option.
 */
declare function N_0x1b2366c3f2a5c8df(): number;

declare function GetBenchmarkTime(): number;
declare function N_0xe599a503b3837e1b(): number;

/**
 * p1 is always 0 in the scripts.
 */
declare function GetBestPedWeapon(ped: number, p1: boolean): number;

/**
 * In percentage: 0.0 - 100.0
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function GetBinkMovieTime(binkMovie: number): number;

declare function GetBitsInRange(_var: number, rangeStart: number, rangeEnd: number): number;

declare function GetBlipAlpha(blip: number): number;

declare function GetBlipColour(blip: number): number;

declare function GetBlipCoords(blip: number): number[];

/**
 * Returns the Blip handle of given Entity.
 */
declare function GetBlipFromEntity(entity: number): number;

declare function GetBlipHudColour(blip: number): number;

declare function GetBlipInfoIdCoord(blip: number): number[];

declare function GetBlipInfoIdDisplay(blip: number): number;

declare function GetBlipInfoIdEntityIndex(blip: number): number;

/**
 * This function is hard-coded to always return 0.
 */
declare function GetBlipInfoIdPickupIndex(blip: number): number;

/**
 * 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
 */
declare function GetBlipInfoIdType(blip: number): number;

/**
 * NativeDB Introduced: v2060
 */
declare function GetBlipRotation(blip: number): number;
/**
 * NativeDB Introduced: v2060
 */
declare function N_0x003e92ba477f9d7f(blip: number): number;

/**
 * Blips Images + IDs:
 * gtaxscripting.blogspot.com/2016/05/gta-v-blips-id-and-image.html
 */
declare function GetBlipSprite(blip: number): number;

declare function GetBoatBoomPositionRatio(vehicle: number): number;
declare function N_0x6636c535f6cc2725(vehicle: number): number;

/**
 * Same call as VEHICLE::_0x0F3B4D4E43177236
 */
declare function GetBoatBoomPositionRatio_2(vehicle: number, p1: boolean): void;
/**
 * Same call as VEHICLE::_0x0F3B4D4E43177236
 */
declare function N_0xc1f981a6f74f0c23(vehicle: number, p1: boolean): void;

declare function GetBoatBoomPositionRatio_3(vehicle: number, p1: boolean): void;
declare function N_0x0f3b4d4e43177236(vehicle: number, p1: boolean): void;

/**
 * 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 The active view mode context.
 */
declare function GetCamActiveViewModeContext(): number;
/**
 * 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 The active view mode context.
 */
declare function N_0x19cafa3c87f7c2ff(): number;

declare function GetCamAnimCurrentPhase(cam: number): number;

declare function GetCamCoord(cam: number): number[];

/**
 * NativeDB Introduced: v2699
 */
declare function GetCamDofStrength(cam: number): number;

declare function GetCamFarClip(cam: number): number;

declare function GetCamFarDof(cam: number): number;

declare function GetCamFov(cam: number): number;

/**
 * Returns the world matrix of the specified camera. To turn this into a view matrix, calculate the inverse.
 */
declare function GetCamMatrix(camera: number): [number[], number[], number[], number[]];

declare function GetCamNearClip(cam: number): number;

/**
 * NativeDB Introduced: v2699
 */
declare function GetCamNearDof(cam: number): number;

/**
 * The last parameter, as in other "ROT" methods, is usually 2.
 */
declare function GetCamRot(cam: number, rotationOrder: number): number[];

declare function GetCamSplineNodeIndex(cam: number): number;

/**
 * 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.
 */
declare function GetCamSplineNodePhase(cam: number): number;

/**
 * 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)
 */
declare function GetCamSplinePhase(cam: number): number;

/**
 * See [`GET_FOLLOW_PED_CAM_VIEW_MODE`](#\_0x8D4D46230B2C353A) for the view mode enum.
 * @param context See [`_GET_CAM_ACTIVE_VIEW_MODE_CONTEXT`](#\_0x19CAFA3C87F7C2FF).
 */
declare function GetCamViewModeForContext(context: number): number;
/**
 * See [`GET_FOLLOW_PED_CAM_VIEW_MODE`](#\_0x8D4D46230B2C353A) for the view mode enum.
 * @param context See [`_GET_CAM_ACTIVE_VIEW_MODE_CONTEXT`](#\_0x19CAFA3C87F7C2FF).
 */
declare function N_0xee778f8c7e1142e2(context: number): number;

/**
 * Returns true if the vehicle has the FLAG_JUMPING_CAR flag set.
 */
declare function GetCanVehicleJump(vehicle: number): boolean;
/**
 * Returns true if the vehicle has the FLAG_JUMPING_CAR flag set.
 */
declare function HasVehicleJumpingAbility(vehicle: number): boolean;
/**
 * Returns true if the vehicle has the FLAG_JUMPING_CAR flag set.
 */
declare function DoesVehicleHaveJumpingAbility(vehicle: number): boolean;

/**
 * Gets the position of the cargobob hook, in world coords.
 */
declare function GetCargobobHookPosition(cargobob: number): number[];
/**
 * Gets the position of the cargobob hook, in world coords.
 */
declare function N_0xcbdb9b923cacc92d(cargobob: number): number[];

declare function GetCauseOfMostRecentForceCleanup(): number;

declare function GetCgoffset(entity: number): number[];

declare function GetClipSetForScriptedGunTask(p0: number): string;

declare function GetClockDayOfMonth(): number;

/**
 * Gets the current day of the week.
 * 0: Sunday
 * 1: Monday
 * 2: Tuesday
 * 3: Wednesday
 * 4: Thursday
 * 5: Friday
 * 6: Saturday
 */
declare function GetClockDayOfWeek(): number;

/**
 * Gets the current ingame hour, expressed without zeros. (09:34 will be represented as 9)
 */
declare function GetClockHours(): number;

/**
 * Gets the current ingame clock minute.
 */
declare function GetClockMinutes(): number;

declare function GetClockMonth(): number;

/**
 * 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.
 */
declare function GetClockSeconds(): number;

declare function GetClockYear(): number;

/**
 * NativeDB Introduced: v1180
 */
declare function GetClosestBlipOfType(blipSprite: number): number;
/**
 * NativeDB Introduced: v1180
 */
declare function N_0xd484bf71050ca1ee(blipSprite: number): number;

/**
 * Returns TRUE if it found something. FALSE if not.
 */
declare function GetClosestFirePos(x: number, y: number, z: number): [boolean, number[]];

/**
 * Get the closest vehicle node to a given position, unknown1 = 3.0, unknown2 = 0
 */
declare function GetClosestMajorVehicleNode(x: number, y: number, z: number, unknown1: number, unknown2: number): [boolean, number[]];

/**
 * Has 8 params in the latest patches.
 * isMission - if true doesn't return mission objects
 */
declare function GetClosestObjectOfType(x: number, y: number, z: number, radius: number, modelHash: string | number, isMission: boolean, p6: boolean, p7: boolean): number;

/**
 * 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.
 */
declare function GetClosestPed(x: number, y: number, z: number, radius: number, p4: boolean, p5: boolean, p7: boolean, p8: boolean, pedType: number): [boolean, number];

/**
 * p1 seems to be always 1.0f in the scripts
 */
declare function GetClosestRoad(x: number, y: number, z: number, p3: number, p4: number, p10: boolean): [number, number[], number[], number, number, number];

/**
 * 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
 */
declare function GetClosestVehicle(x: number, y: number, z: number, radius: number, modelHash: string | number, flags: number): number;

/**
 * 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
 */
declare function GetClosestVehicleNode(x: number, y: number, z: number, nodeType: number, p5: number, p6: number): [boolean, number[]];

/**
 * 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
 */
declare function GetClosestVehicleNodeWithHeading(x: number, y: number, z: number, nodeType: number, p6: number, p7: number): [boolean, number[], number];

declare function GetCloudHatOpacity(): number;
declare function N_0x20ac25e781ae4a84(): number;

/**
 * Returns POSIX timestamp.
 * Renamed from `_GET_POSIX_TIME` to `GET_CLOUD_TIME_AS_INT` because of conflicting native names ([`0xDA488F299A5B164E`](#\_0xDA488F299A5B164E))
 * @return An int representing the cloud time.
 */
declare function GetCloudTimeAsInt(): number;
/**
 * Returns POSIX timestamp.
 * Renamed from `_GET_POSIX_TIME` to `GET_CLOUD_TIME_AS_INT` because of conflicting native names ([`0xDA488F299A5B164E`](#\_0xDA488F299A5B164E))
 * @return An int representing the cloud time.
 */
declare function N_0x9a73240b49945c76(): number;

/**
 * Same as GET_CLOUD_TIME_AS_INT but returns the value as a hex string (%I64X).
 */
declare function GetCloudTimeAsString(): string;
/**
 * Same as GET_CLOUD_TIME_AS_INT but returns the value as a hex string (%I64X).
 */
declare function N_0xf12e6cd06c73d69e(): string;

declare function GetCollisionNormalOfLastHitForEntity(entity: number): number[];

/**
 * 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
 */
declare function GetCombatFloat(ped: number, p1: number): number;

/**
 * index2 is unused
 */
declare function GetCommerceItemCat(index: number, index2: number): string;
/**
 * index2 is unused
 */
declare function N_0x6f44cbf56d79fac0(index: number, index2: number): string;

declare function GetCommerceItemId(index: number): string;
declare function N_0x662635855957c411(index: number): string;

declare function GetCommerceItemName(index: number): string;
declare function N_0xb4271092ca7edf48(index: number): string;

declare function GetCommerceItemNumCats(index: number): number;
declare function N_0x2a7776c709904ab0(index: number): number;

/**
 * NativeDB Added Parameter 3: int p2
 */
declare function GetCommerceItemTexturename(index: number): string;
/**
 * NativeDB Added Parameter 3: int p2
 */
declare function N_0x722f5d28b61c5ea8(index: number): string;

declare function GetCommerceProductPrice(index: number): string;
declare function N_0xca94551b50b4932c(index: number): string;

declare function GetControlGroupInstructionalButton(padIndex: number, controlGroup: number, p2: boolean): string;
declare function N_0x80c2fd58d720c801(padIndex: number, controlGroup: number, p2: boolean): string;

/**
 * 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.
 */
declare function GetControlInstructionalButton(padIndex: number, control: number, p2: boolean): string;
/**
 * 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.
 */
declare function N_0x0499d7b09fc9b407(padIndex: number, control: number, p2: boolean): string;

declare function GetControlNormal(padIndex: number, control: number): number;

/**
 * Seems to return values between -1 and 1 for controls like gas and steering.
 * @param padIndex The control system instance to use. See [`ENABLE_ALL_CONTROL_ACTIONS`](#\_0xA5FFE9B05F199DE7).
 * @param control The [control ID](https://docs.fivem.net/docs/game-references/controls/#controls) to check.
 */
declare function GetControlUnboundNormal(padIndex: number, control: number): number;
/**
 * Seems to return values between -1 and 1 for controls like gas and steering.
 * @param padIndex The control system instance to use. See [`ENABLE_ALL_CONTROL_ACTIONS`](#\_0xA5FFE9B05F199DE7).
 * @param control The [control ID](https://docs.fivem.net/docs/game-references/controls/#controls) to check.
 */
declare function N_0x5b84d09cec5209c5(padIndex: number, control: number): number;

declare function GetControlValue(padIndex: number, control: number): number;

/**
 * Can be used to get a console variable of type `char*`, for example a string.
 * @param varName The console variable to look up.
 * @param default_ The default value to set if none is found.
 * @return Returns the convar value if it can be found, otherwise it returns the assigned `default`.
 */
declare function GetConvar(varName: string, default_: string): string;

/**
 * Can be used to get a console variable casted back to `int` (an integer value).
 * @param varName The console variable to look up.
 * @param default_ The default value to set if none is found (variable not set using [SET_CONVAR](#\_0x341B16D2), or not accessible).
 * @return Returns the convar value if it can be found, otherwise it returns the assigned `default`.
 */
declare function GetConvarInt(varName: string, default_: number): number;

/**
 * ```
 * 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 ?)
 */
declare function GetConvertibleRoofState(vehicle: number): number;

declare function GetCoordsAndRotationOfClosestObjectOfType(x: number, y: number, z: number, radius: number, modelHash: string | number, rotationOrder: number): [number, number[], number[]];
declare function N_0x163f8b586bc95f2a(x: number, y: number, z: number, radius: number, modelHash: string | number, rotationOrder: number): [number, number[], number[]];

declare function GetCoordsOfProjectileTypeInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, projectileHash: string | number, ownedByPlayer: boolean): [boolean, number[]];
declare function N_0x8d7a43ec6a5fea45(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, projectileHash: string | number, ownedByPlayer: boolean): [boolean, number[]];
declare function GetIsProjectileTypeInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, projectileHash: string | number, ownedByPlayer: boolean): [boolean, number[]];

declare function GetCoordsOfProjectileTypeWithinDistance(ped: number, weaponHash: string | number, distance: number, ownedByPlayer: boolean): [boolean, number[]];
declare function N_0xdfb4138eefed7b81(ped: number, weaponHash: string | number, distance: number, ownedByPlayer: boolean): [boolean, number[]];
declare function GetProjectileNearPedCoords(ped: number, weaponHash: string | number, distance: number, ownedByPlayer: boolean): [boolean, number[]];

/**
 * if (HUD::GET_CURRENT_FRONTEND_MENU_VERSION() == joaat("fe_menu_version_empty_no_background"))
 */
declare function GetCurrentFrontendMenuVersion(): number;
/**
 * if (HUD::GET_CURRENT_FRONTEND_MENU_VERSION() == joaat("fe_menu_version_empty_no_background"))
 */
declare function N_0x2309595ad6145265(): number;
/**
 * if (HUD::GET_CURRENT_FRONTEND_MENU_VERSION() == joaat("fe_menu_version_empty_no_background"))
 */
declare function GetCurrentFrontendMenu(): number;

/**
 * This native returns the currently used game's name.
 * @return The game name as a string, one of the following values: gta4, gta5, rdr3
 */
declare function GetCurrentGameName(): string;

/**
 * 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)
 */
declare function GetCurrentLanguage(): number;
/**
 * 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)
 */
declare function GetUiLanguageId(): number;
/**
 * 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)
 */
declare function GetCurrentLanguageId(): number;

declare function GetCurrentNumberOfCloudPhotos(): number;
declare function N_0x473151ebc762c6da(): number;
declare function GetNumberOfPhotos(): number;
declare function GetCurrentNumberOfPhotos(): number;

declare function GetCurrentPedVehicleWeapon(ped: number, weaponHash?: number): [boolean, number];

/**
 * 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.
 */
declare function GetCurrentPedWeapon(ped: number, p2: boolean): [boolean, number];

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function GetCurrentPedWeaponEntityIndex(ped: number): number;

declare function GetCurrentPlaybackForVehicle(vehicle: number): number;

/**
 * Return the hash of the radio stations current track.
 * NativeDB Introduced: v1493
 */
declare function GetCurrentRadioTrackName(radioStationName: string): number;
/**
 * Return the hash of the radio stations current track.
 * NativeDB Introduced: v1493
 */
declare function N_0x34d66bc058019ce0(radioStationName: string): number;

/**
 * Return the playback time (in milliseconds) of the radio stations current track.
 * NativeDB Introduced: v1493
 */
declare function GetCurrentRadioTrackPlaybackTime(radioStationName: string): number;
/**
 * Return the playback time (in milliseconds) of the radio stations current track.
 * NativeDB Introduced: v1493
 */
declare function N_0x3e65cde5215832c1(radioStationName: string): number;
/**
 * Return the playback time (in milliseconds) of the radio stations current track.
 * NativeDB Introduced: v1493
 */
declare function GetCurrentRadioStationHash(radioStationName: string): number;

/**
 * Returns the name of the currently executing resource.
 * @return The name of the resource.
 */
declare function GetCurrentResourceName(): string;

declare function GetCurrentScriptedConversationLine(): number;

/**
 * Returns the peer address of the remote game server that the user is currently connected to.
 * @return The peer address of the game server (e.g. `127.0.0.1:30120`), or NULL if not available.
 */
declare function GetCurrentServerEndpoint(): string;

declare function GetCurrentWebpageId(): number;
declare function N_0x01a358d9128b7a86(): number;
declare function GetActiveWebsiteId(): number;

declare function GetCurrentWebsiteId(): number;

declare function GetCutFileNumSections(cutsceneName: string): number;
declare function N_0x0abc54de641dc0fc(cutsceneName: string): number;

/**
 * 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
 * ```
 */
declare function GetCutsceneEndTime(): number;
/**
 * 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
 * ```
 */
declare function N_0x971d7b15bcdbef99(): number;

declare function GetCutsceneSectionPlaying(): number;

/**
 * Gets the elapsed time of the current cutscene in
 * @return Elapsed time in milliseconds
 */
declare function GetCutsceneTime(): number;

/**
 * Gets the total length of the cutscene irrespective of playback list in milliseconds
 * To account for sections, see [`_GET_CUTSCENE_END_TIME`]()
 * @return Cutscene total length in milliseconds
 */
declare function GetCutsceneTotalDuration(): number;

declare function GetDeadPedPickupCoords(ped: number, p1: number, p2: number): number[];

/**
 * NativeDB Introduced: v2372
 */
declare function GetDebugCamera(): number;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x77c3cec46be286f6(): number;

declare function GetDecalWashLevel(decal: number): number;

/**
 * Gets the aggressiveness factor of the ocean waves.
 */
declare function GetDeepOceanScaler(): number;
/**
 * Gets the aggressiveness factor of the ocean waves.
 */
declare function N_0x2b2a2cc86778b619(): number;
/**
 * Gets the aggressiveness factor of the ocean waves.
 */
declare function GetWavesIntensity(): number;
/**
 * Gets the aggressiveness factor of the ocean waves.
 */
declare function GetCurrentIntensity(): number;

/**
 * This function is hard-coded to always return 1.
 */
declare function GetDefaultScriptRendertargetRenderId(): number;

declare function GetDisabledControlNormal(padIndex: number, control: number): number;

declare function GetDisabledControlUnboundNormal(padIndex: number, control: number): number;
declare function N_0x4f8a26a890fd62fb(padIndex: number, control: number): number;

/**
 * Returns model name of vehicle in all caps. Needs to be displayed through localizing text natives to get proper display name.
 * -----------------------------------------------------------------------------------------------------------------------------------------
 * While often the case, this does not simply return the model name of the vehicle (which could be hashed to return the model hash). Variations of the same vehicle may also use the same display name.
 * -----------------------------------------------------------------------------------------------------------------------------------------
 * Returns "CARNOTFOUND" if the hash doesn't match a vehicle hash.
 * Using HUD::_GET_LABEL_TEXT, you can get the localized name.
 */
declare function GetDisplayNameFromVehicleModel(modelHash: string | number): string;

/**
 * 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 The X coordinate of the first point.
 * @param y1 The Y coordinate of the first point.
 * @param z1 The Z coordinate of the first point.
 * @param x2 The X coordinate of the second point.
 * @param y2 The Y coordinate of the second point.
 * @param z2 The Z coordinate of the second point.
 * @param useZ Whether or not to use the Z coordinate.
 * @return The distance between the passed points in units.
 */
declare function GetDistanceBetweenCoords(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, useZ: boolean): number;

/**
 * The Second item in the struct `*(Hash *)(outData + 1)` is the vehicle hash.
 * @param dlcVehicleIndex takes a number from 0 to `GET_NUM_DLC_VEHICLES()` - 1.
 * @param outData a struct of 3 8-byte items.
 * @return A boolean value return if find or not the dlcVehicleIndex.
 */
declare function GetDlcVehicleData(dlcVehicleIndex: number, outData?: number): [boolean, number];

declare function GetDlcVehicleFlags(dlcVehicleIndex: number): number;

declare function GetDlcVehicleModLockHash(hash: string | number): number;
declare function N_0xc098810437312fff(hash: string | number): number;

/**
 * dlcVehicleIndex is 0 to GET_NUM_DLC_VEHICLS()
 */
declare function GetDlcVehicleModel(dlcVehicleIndex: number): number;

/**
 * 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];
 * };
 */
declare function GetDlcWeaponComponentData(dlcWeaponIndex: number, dlcWeapCompIndex: number, ComponentDataPtr?: number): [boolean, number];

/**
 * Same as GET_DLC_WEAPON_COMPONENT_DATA but only works for DLC components that are available in SP.
 * ```
 * NativeDB Introduced: v2060
 * ```
 */
declare function GetDlcWeaponComponentDataSp(dlcWeaponIndex: number, dlcWeapCompIndex: number, ComponentDataPtr?: number): [boolean, number];

/**
 * 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];
 * };
 */
declare function GetDlcWeaponData(dlcWeaponIndex: number, outData?: number): [boolean, number];

/**
 * Same as GET_DLC_WEAPON_DATA but only works for DLC weapons that are available in SP.
 * ```
 * NativeDB Introduced: v2060
 * ```
 */
declare function GetDlcWeaponDataSp(dlcWeaponIndex: number, outData?: number): [boolean, number];

/**
 * NativeDB Introduced: v1604
 */
declare function GetDoesVehicleHaveTombstone(vehicle: number): boolean;

/**
 * NativeDB Introduced: v2372
 */
declare function GetDriftTyresEnabled(vehicle: number): boolean;

/**
 * Returns the NUI window handle for a specified DUI browser object.
 * @param duiObject The DUI browser handle.
 * @return The NUI window handle, for use in e.g. CREATE_RUNTIME_TEXTURE_FROM_DUI_HANDLE.
 */
declare function GetDuiHandle(duiObject: number): string;

declare function GetEntityAlpha(entity: number): number;

/**
 * ```
 * 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/)
 */
declare function GetEntityAnimCurrentTime(entity: number, animDict: string, animName: string): number;

/**
 * ```
 * 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/)
 */
declare function GetEntityAnimTotalTime(entity: number, animDict: string, animName: string): number;

/**
 * Returns entity's archetype name, if available.
 * @param entity An entity handle.
 * @return Entity's archetype name
 */
declare function GetEntityArchetypeName(entity: number): string;

declare function GetEntityAttachedTo(entity: number): number;

declare function GetEntityAttachedToCargobob(vehicle: number): number;
declare function N_0x99093f60746708ca(vehicle: number): number;

declare function GetEntityAttachedToTowTruck(towTruck: number): number;

declare function GetEntityBoneCount(entity: number): number;
declare function N_0xb328dcc3a3aa401b(entity: number): number;

/**
 * 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.
 */
declare function GetEntityBoneIndexByName(entity: number, boneName: string): number;

/**
 * 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
 */
declare function GetEntityBonePosition_2(entity: number, boneIndex: number): number[];
/**
 * 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
 */
declare function N_0x46f8696933a63c9b(entity: number, boneIndex: number): number[];
/**
 * 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
 */
declare function GetWorldPositionOfEntityBone_2(entity: number, boneIndex: number): number[];

/**
 * Gets the world rotation of the specified bone of the specified entity.
 */
declare function GetEntityBoneRotation(entity: number, boneIndex: number): number[];
/**
 * Gets the world rotation of the specified bone of the specified entity.
 */
declare function N_0xce6294a232d03786(entity: number, boneIndex: number): number[];
/**
 * Gets the world rotation of the specified bone of the specified entity.
 */
declare function GetWorldRotationOfEntityBone(entity: number, boneIndex: number): number[];

/**
 * Gets the local rotation of the specified bone of the specified entity.
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function GetEntityBoneRotationLocal(entity: number, boneIndex: number): number[];

declare function GetEntityCanBeDamaged(entity: number): boolean;
declare function N_0xd95cc5d2ab15a09f(entity: number): boolean;

declare function GetEntityCollisionDisabled(entity: number): boolean;
declare function N_0xccf1e97befdae480(entity: number): boolean;
declare function GetEntityCollisonDisabled(entity: number): boolean;

/**
 * Gets the current coordinates (world position) for a specified entity.
 * @param entity The entity to get the coordinates from.
 * @param alive Unused by the game, potentially used by debug builds of GTA in order to assert whether or not an entity was alive.
 * @return The current entity coordinates.
 */
declare function GetEntityCoords(entity: number, alive: boolean): number[];

/**
 * Gets the entity's forward vector.
 * @param entity The entity to get the forward vector for.
 * @return The forward vector.
 */
declare function GetEntityForwardVector(entity: number): number[];

/**
 * Gets the X-component of the entity's forward vector.
 */
declare function GetEntityForwardX(entity: number): number;

/**
 * Gets the Y-component of the entity's forward vector.
 */
declare function GetEntityForwardY(entity: number): number;

/**
 * Returns the heading of the entity in degrees. Also know as the "Yaw" of an entity.
 * @param entity The entity to get the heading from.
 * @return The current entity heading.
 */
declare function GetEntityHeading(entity: number): number;

/**
 * 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 The entity to get the health from.
 * @return The current entity health.
 */
declare function GetEntityHealth(entity: number): number;

declare function GetEntityHeight(entity: number, X: number, Y: number, Z: number, atTop: boolean, inWorldCoords: boolean): number;

/**
 * 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.
 */
declare function GetEntityHeightAboveGround(entity: number): number;

/**
 * Returns the transient entity index for a specified mapdata/entity pair.
 * This function supports SDK infrastructure and is not intended to be used directly from your code.
 * @param mapdata The input map data index from GET_MAPDATA_FROM_HASH_KEY.
 * @param entity The input entity handle from GET_ENTITY_MAPDATA_OWNER.
 * @return A transient (non-persistable) index to the requested entity, or -1.
 */
declare function GetEntityIndexFromMapdata(mapdata: number, entity: number): number;

/**
 * Returns the handle of a cutscene entity, can be ped
 * @param cutsceneEntName I.E MP\_1, MP\_4, Michael, Trevor
 * @param modelHash Not strictly neccasary, can get 0
 * @return Returns entity handle
 */
declare function GetEntityIndexOfCutsceneEntity(cutsceneEntName: string, modelHash: string | number): number;

declare function GetEntityIndexOfRegisteredEntity(cutsceneEntName: string, modelHash: string | number): number;

/**
 * Returns a handle to the first entity within the a circle spawned inside the 2 points from a radius.
 * @param explosionType See [`ADD_EXPLOSION`](#\_0xE3AD2BDBAEE269AC).
 */
declare function GetEntityInsideExplosionArea(explosionType: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, radius: number): number;
/**
 * Returns a handle to the first entity within the a circle spawned inside the 2 points from a radius.
 * @param explosionType See [`ADD_EXPLOSION`](#\_0xE3AD2BDBAEE269AC).
 */
declare function GetPedInsideExplosionArea(explosionType: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, radius: number): number;

/**
 * NativeDB Introduced: v1290
 */
declare function GetEntityInsideExplosionSphere(explosionType: number, x: number, y: number, z: number, radius: number): number;

/**
 * Returns the LOD distance of an entity.
 */
declare function GetEntityLodDist(entity: number): number;

/**
 * Retrieves the map data and entity handles from a specific entity.
 * This function supports SDK infrastructure and is not intended to be used directly from your code.
 * @param entity An entity owned by map data.
 * @param mapdataHandle The output map data handle.
 * @param entityHandle The output entity handle.
 * @return True if successful, false if not.
 */
declare function GetEntityMapdataOwner(entity: number): [boolean, number, number];

declare function GetEntityMatrix(entity: number): [number[], number[], number[], number[]];

/**
 * Return an integer value of entity's maximum health.
 * Example:
 * - Player = 200
 */
declare function GetEntityMaxHealth(entity: number): number;

/**
 * Returns the model hash from the entity
 * @param entity The entity to get the model for.
 * @return The model hash from the entity.
 */
declare function GetEntityModel(entity: number): number;

/**
 * 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.
 */
declare function GetEntityPhysicsHeading(entity: number): number;
/**
 * 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.
 */
declare function N_0x846bf6291198a71e(entity: number): number;

/**
 * GET_ENTITY_*
 * Seems to return the handle of the entity's portable pickup.
 * NativeDB Introduced: v1180
 */
declare function GetEntityPickup(entity: number, modelHash: string | number): number;

declare function GetEntityPitch(entity: number): number;

/**
 * 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.
 */
declare function GetEntityPlayerIsFreeAimingAt(player: number, entity?: number): [boolean, number];

/**
 * A population type, from the following enum: https://alloc8or.re/gta5/doc/enums/ePopulationType.txt
 * @param entity The entity to obtain the population type from.
 * @return A population type, from the enumeration above.
 */
declare function GetEntityPopulationType(entity: number): number;

/**
 * NativeDB Introduced: v1604
 */
declare function GetEntityProofs(entity: number): [boolean, any /* actually bool */, any /* actually bool */, any /* actually bool */, any /* actually bool */, any /* actually bool */, any /* actually bool */, any /* actually bool */, any /* actually bool */];

/**
 * w is the correct parameter name!
 */
declare function GetEntityQuaternion(entity: number): [number, number, number, number];

/**
 * Displays the current ROLL axis of the entity [-180.0000/180.0000+]
 * (Sideways Roll) such as a vehicle tipped on its side
 */
declare function GetEntityRoll(entity: number): number;

/**
 * ```
 * 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 The entity to get the rotation for.
 * @param rotationOrder The order yaw, pitch and roll is applied. Usually 2.
 * @return A vector where the Z coordinate is the yaw.
 */
declare function GetEntityRotation(entity: number, rotationOrder: number): number[];

declare function GetEntityRotationVelocity(entity: number): number[];

/**
 * 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.
 */
declare function GetEntityScript(entity: number, script?: number): [string, number];

/**
 * Get the speed of a entity.
 * @param entity Entity id you want to test for speed.
 * @return Speed of a entity in m/s. You can convert to km/h using the value you get and multiply by 3.6, and miles/h by 2.236936. Also, the float returned is the length of [GET_ENTITY_SPEED_VECTOR](?\_0x9A8D700A51CB7B0D)
 */
declare function GetEntitySpeed(entity: number): number;

/**
 * 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).
 */
declare function GetEntitySpeedVector(entity: number, relative: boolean): number[];

/**
 * Get how much of the entity is submerged.  1.0f is whole entity.
 */
declare function GetEntitySubmergedLevel(entity: number): number;

/**
 * Returns:
 * 0 = no entity
 * 1 = ped
 * 2 = vehicle
 * 3 = object
 */
declare function GetEntityType(entity: number): number;

declare function GetEntityUprightValue(entity: number): number;

declare function GetEntityVelocity(entity: number): number[];

/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 */
declare function GetEntryPositionOfDoor(vehicle: number, doorIndex: number): number[];

/**
 * eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork)
 */
declare function GetEventAtIndex(eventGroup: number, eventIndex: number): number;

/**
 * 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!).
 */
declare function GetEventData(eventGroup: number, eventIndex: number, eventDataSize: number): [boolean, number];

/**
 * eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork)
 */
declare function GetEventExists(eventGroup: number, eventIndex: number): boolean;

/**
 * A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938), but for a specified resource.
 * @param resource The resource to fetch from.
 * @param key The key to fetch
 * @return A float that contains the value stored in the Kvp or nil/null if none.
 */
declare function GetExternalKvpFloat(resource: string, key: string): number;

/**
 * A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8), but for a specified resource.
 * @param resource The resource to fetch from.
 * @param key The key to fetch
 * @return A int that contains the value stored in the Kvp or nil/null if none.
 */
declare function GetExternalKvpInt(resource: string, key: string): number;

/**
 * A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B), but for a specified resource.
 * @param resource The resource to fetch from.
 * @param key The key to fetch
 * @return A string that contains the value stored in the Kvp or nil/null if none.
 */
declare function GetExternalKvpString(resource: string, key: string): string;

declare function GetExtraContentPackHasBeenInstalled(): boolean;
declare function N_0x8d30f648014a92b5(): boolean;

/**
 * See [`GET_TIMECYCLE_MODIFIER_INDEX`](#\_0xFDF3D97C674AFB66) for use, works the same just for the secondary timecycle modifier.
 * @return An integer representing the Timecycle modifier
 */
declare function GetExtraTimecycleModifierIndex(): number;
/**
 * See [`GET_TIMECYCLE_MODIFIER_INDEX`](#\_0xFDF3D97C674AFB66) for use, works the same just for the secondary timecycle modifier.
 * @return An integer representing the Timecycle modifier
 */
declare function N_0xbb0527ec6341496d(): number;

declare function GetFakeWantedLevel(): number;
declare function N_0x4c9296cbcd1b971e(): number;

declare function GetFinalRenderedCamCoord(): number[];
declare function GetGameplayCamCoords(): number[];

declare function GetFinalRenderedCamFarClip(): number;
declare function N_0xdfc8cbc606fdb0fc(): number;
declare function GetGameplayCamFarClip(): number;

declare function GetFinalRenderedCamFarDof(): number;
declare function N_0x9780f32bcaf72431(): number;
declare function GetGameplayCamFarDof(): number;

declare function GetFinalRenderedCamFov(): number;
declare function N_0x80ec114669daeff4(): number;

declare function GetFinalRenderedCamMotionBlurStrength(): number;
declare function N_0x162f9d995753dc19(): number;
declare function GetGameplayCamFarClip_2(): number;

declare function GetFinalRenderedCamNearClip(): number;
declare function N_0xd0082607100d7193(): number;
declare function GetGameplayCamNearClip(): number;

declare function GetFinalRenderedCamNearDof(): number;
declare function N_0xa03502fc581f7d9b(): number;
declare function GetGameplayCamNearDof(): number;

declare function GetFinalRenderedCamRot(rotationOrder: number): number[];
declare function GetGameplayCamRot_2(rotationOrder: number): number[];

declare function GetFinalRenderedInWhenFriendlyFov(player: number): number;
declare function N_0x5f35f6732c3fbba0(player: number): number;

declare function GetFinalRenderedInWhenFriendlyRot(player: number, rotationOrder: number): number[];
declare function N_0x26903d9cd1175f2c(player: number, rotationOrder: number): number[];

declare function GetFirstBlipInfoId(blipSprite: number): number;

declare function GetFirstPersonAimCamZoomFactor(): number;
declare function GetGameplayCamZoom(): number;

declare function GetFocusPedOnScreen(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): number;
declare function N_0x89215ec747df244a(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): number;

/**
 * cpp
 * // view mode enumeration
 * enum _0xA11D7CA8
 * {
 * THIRD_PERSON_NEAR = 0,
 * THIRD_PERSON_MEDIUM = 1,
 * THIRD_PERSON_FAR = 2,
 * CINEMATIC = 3,
 * FIRST_PERSON = 4,
 * };
 * @return Returns a value from the view mode enumeration
 */
declare function GetFollowPedCamViewMode(): number;

/**
 * See [`GET_FOLLOW_PED_CAM_VIEW_MODE`](#\_0x8D4D46230B2C353A) for the follow mode enum.
 */
declare function GetFollowPedCamZoomLevel(): number;

/**
 * See [`GET_FOLLOW_PED_CAM_VIEW_MODE`](#\_0x8D4D46230B2C353A) for the follow mode enum.
 */
declare function GetFollowVehicleCamViewMode(): number;

/**
 * See [`GET_FOLLOW_PED_CAM_VIEW_MODE`](#\_0x8D4D46230B2C353A) for the follow mode enum.
 */
declare function GetFollowVehicleCamZoomLevel(): number;

declare function GetForcedComponent(componentHash: string | number, forcedComponentIndex: number): [number, number, number];

declare function GetForcedProp(componentHash: string | number, forcedPropIndex: number): [number, number, number];
declare function N_0xe1ca84ebf72e691d(componentHash: string | number, forcedPropIndex: number): [number, number, number];

declare function GetFrameCount(): number;

/**
 * Gets the high precision frame time of the last frame in seconds.
 * *note: the example above is way less precise.*
 * @return The frame time (in seconds) of the last frame.
 */
declare function GetFrameTime(): number;

/**
 * Returns the internal build number of the current game being executed.
 * Possible values:
 * *   FiveM
 * *   1604
 * *   2060
 * *   2189
 * *   2372
 * *   2545
 * *   2612
 * *   2699
 * *   RedM
 * *   1311
 * *   1355
 * *   1436
 * *   1491
 * *   LibertyM
 * *   43
 * *   FXServer
 * *   0
 * @return The build number, or **0** if no build number is known.
 */
declare function GetGameBuildNumber(): number;

/**
 * Returns the current game being executed.
 * Possible values:
 * | Return value | Meaning                        |
 * | ------------ | ------------------------------ |
 * | `fxserver`   | Server-side code ('Duplicity') |
 * | `fivem`      | FiveM for GTA V                |
 * | `libertym`   | LibertyM for GTA IV            |
 * | `redm`       | RedM for Red Dead Redemption 2 |
 * @return The game the script environment is running in.
 */
declare function GetGameName(): string;

/**
 * Returns a list of entity handles (script GUID) for all entities in the specified pool - the data returned is an array as
 * follows:
 * ```json
 * [ 770, 1026, 1282, 1538, 1794, 2050, 2306, 2562, 2818, 3074, 3330, 3586, 3842, 4098, 4354, 4610, ...]
 * ```
 * ### Supported pools
 * *   `CPed`: Peds (including animals) and players.
 * *   `CObject`: Objects (props), doors, and projectiles.
 * *   `CVehicle`: Vehicles.
 * *   `CPickup`: Pickups.
 * @param poolName The pool name to get a list of entities from.
 * @return An array containing entity handles for each entity in the named pool.
 */
declare function GetGamePool(poolName: string): any;

declare function GetGameTimer(): number;

declare function GetGameplayCamCoord(): number[];

declare function GetGameplayCamFov(): number;

declare function GetGameplayCamRelativeHeading(): number;

declare function GetGameplayCamRelativePitch(): number;

/**
 * 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
 */
declare function GetGameplayCamRot(rotationOrder: number): number[];

/**
 * 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.
 */
declare function GetGlobalActionscriptFlag(flagIndex: number): number;
/**
 * 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.
 */
declare function N_0xe3b05614dce1d014(flagIndex: number): number;

/**
 * Returns pointer to an empty string.
 * GET_C*
 */
declare function GetGlobalCharBuffer(): string;
/**
 * Returns pointer to an empty string.
 * GET_C*
 */
declare function N_0x24da7d7667fd7b09(): string;

/**
 * NativeDB Introduced: v2189
 */
declare function GetGlobalWaterType(): number;

declare function GetGpsBlipRouteFound(): boolean;
declare function N_0x869daacbbe9fa006(): boolean;

declare function GetGpsBlipRouteLength(): number;
declare function N_0xbbb45c3cf5c8aa85(): number;

/**
 * p3 can be 0, 1 or 2.
 */
declare function GetGpsWaypointRouteEnd(p1: boolean, p2: number, p3: number): [boolean, number[]];
/**
 * p3 can be 0, 1 or 2.
 */
declare function N_0xf3162836c28f9da5(p1: boolean, p2: number, p3: number): [boolean, number[]];

declare function GetGroundZAndNormalFor_3dCoord(x: number, y: number, z: number): [boolean, number, number[]];
declare function N_0x8bdc7bfc57a81e76(x: number, y: number, z: number): [boolean, number, number[]];
declare function GetGroundZCoordWithOffsets(x: number, y: number, z: number): [boolean, number, number[]];

/**
 * 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 Position on the X-axis to get ground elevation at.
 * @param y Position on the Y-axis to get ground elevation at.
 * @param z Position on the Z-axis to get ground elevation at.
 * @param groundZ The ground elevation at the specified position.
 */
declare function GetGroundZFor_3dCoord(x: number, y: number, z: number, ignoreWater: boolean): [boolean, number];

/**
 * NativeDB Added Parameter 6: BOOL p5
 */
declare function GetGroundZFor_3dCoord_2(x: number, y: number, z: number, p4: boolean): [boolean, number];
/**
 * NativeDB Added Parameter 6: BOOL p5
 */
declare function N_0x9e82f0f362881b29(x: number, y: number, z: number, p4: boolean): [boolean, number];

/**
 * p1 may be a BOOL representing whether or not the group even exists
 */
declare function GetGroupSize(groupID: number): [number, number];

/**
 * GET_*
 */
declare function GetHasObjectFragInst(object: number): boolean;
/**
 * GET_*
 */
declare function N_0x0c112765300c7e1e(object: number): boolean;
/**
 * GET_*
 */
declare function DoesEntityHaveFragInst(object: number): boolean;

declare function GetHasRetractableWheels(vehicle: number): boolean;
declare function GetHasLowerableWheels(vehicle: number): boolean;
declare function DoesVehicleHaveRetractableWheels(vehicle: number): boolean;

declare function GetHasRocketBoost(vehicle: number): boolean;
declare function HasVehicleRocketBoost(vehicle: number): boolean;
declare function DoesVehicleHaveRocketBoost(vehicle: number): boolean;

/**
 * This native converts its past string to hash. It is hashed using jenkins one at a time method.
 * @param string The string to hash.
 * @return The hash of `string`.
 */
declare function GetHashKey(_string: string): number;

declare function GetHashNameForComponent(entity: number, componentId: number, drawableVariant: number, textureVariant: number): number;

declare function GetHashNameForProp(entity: number, componentId: number, propIndex: number, propTextureIndex: number): number;

/**
 * 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);
 */
declare function GetHashOfMapAreaAtCoords(x: number, y: number, z: number): number;

declare function GetHashOfThisScriptName(): number;
declare function GetThisScriptHash(): number;

/**
 * dx = x1 - x2
 * dy = y1 - y2
 */
declare function GetHeadingFromVector_2d(dx: number, dy: number): number;

/**
 * Returns CGameWorldHeightMap's minimum Z among all grid nodes that intersect with the specified rectangle.
 */
declare function GetHeightmapBottomZForArea(x1: number, y1: number, x2: number, y2: number): number;
/**
 * Returns CGameWorldHeightMap's minimum Z among all grid nodes that intersect with the specified rectangle.
 */
declare function N_0x3599d741c9ac6310(x1: number, y1: number, x2: number, y2: number): number;

/**
 * Returns CGameWorldHeightMap's minimum Z value at specified point (grid node).
 */
declare function GetHeightmapBottomZForPosition(x: number, y: number): number;
/**
 * Returns CGameWorldHeightMap's minimum Z value at specified point (grid node).
 */
declare function N_0x336511a34f2e5185(x: number, y: number): number;

/**
 * Returns CGameWorldHeightMap's maximum Z among all grid nodes that intersect with the specified rectangle.
 */
declare function GetHeightmapTopZForArea(x1: number, y1: number, x2: number, y2: number): number;
/**
 * Returns CGameWorldHeightMap's maximum Z among all grid nodes that intersect with the specified rectangle.
 */
declare function N_0x8abe8608576d9ce3(x1: number, y1: number, x2: number, y2: number): number;

/**
 * Returns CGameWorldHeightMap's maximum Z value at specified point (grid node).
 */
declare function GetHeightmapTopZForPosition(x: number, y: number): number;
/**
 * Returns CGameWorldHeightMap's maximum Z value at specified point (grid node).
 */
declare function N_0x29c24bfbed8ab8fb(x: number, y: number): number;

/**
 * Max 1000.
 * At 0 the main rotor will stall.
 */
declare function GetHeliMainRotorHealth(vehicle: number): number;
/**
 * Max 1000.
 * At 0 the main rotor will stall.
 */
declare function GetHeliMainRotorHealth(vehicle: number): number;

/**
 * Max 1000.
 * At -100 both helicopter rotors will stall.
 */
declare function GetHeliTailBoomHealth(vehicle: number): number;
/**
 * Max 1000.
 * At -100 both helicopter rotors will stall.
 */
declare function GetHeliEngineHealth(vehicle: number): number;

/**
 * Max 1000.
 * At 0 the tail rotor will stall.
 */
declare function GetHeliTailRotorHealth(vehicle: number): number;
/**
 * Max 1000.
 * At 0 the tail rotor will stall.
 */
declare function GetHeliTailRotorHealth(vehicle: number): number;

/**
 * HUD colors and their values: pastebin.com/d9aHPbXN
 */
declare function GetHudColour(hudColorIndex: number): [number, number, number, number];

declare function GetHudComponentPosition(id: number): number[];

/**
 * World to relative screen coords
 * this world to screen will keep the text on screen. it will keep it in the screen pos
 */
declare function GetHudScreenPositionFromWorldPosition(worldX: number, worldY: number, worldZ: number): [boolean, number, number];
/**
 * World to relative screen coords
 * this world to screen will keep the text on screen. it will keep it in the screen pos
 */
declare function N_0xf9904d11f1acbec3(worldX: number, worldY: number, worldZ: number): [boolean, number, number];
/**
 * World to relative screen coords
 * this world to screen will keep the text on screen. it will keep it in the screen pos
 */
declare function Get_2dCoordFrom_3dCoord(worldX: number, worldY: number, worldZ: number): [boolean, number, number];

/**
 * NativeDB Introduced: v2372
 */
declare function GetHydraulicWheelValue(vehicle: number, wheelId: number): number;

declare function GetIdOfThisThread(): number;

/**
 * x1, y1, z1 -- Coords of your ped model
 * x2, y2, z2 -- Coords of the ped you want to switch to
 */
declare function GetIdealPlayerSwitchType(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;

declare function GetIndexOfCurrentLevel(): number;

declare function GetIndexedItemInItemset(p0: number, p1: number): number;

declare function GetInstanceId(): number;

/**
 * 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)
 */
declare function GetInteriorAtCoords(x: number, y: number, z: number): number;

/**
 * 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.
 */
declare function GetInteriorAtCoordsWithType(x: number, y: number, z: number, interiorType: string): number;
/**
 * 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.
 */
declare function N_0x05b7a89bd78797fc(x: number, y: number, z: number, interiorType: string): number;

/**
 * Hashed version of GET_INTERIOR_AT_COORDS_WITH_TYPE
 */
declare function GetInteriorAtCoordsWithTypehash(x: number, y: number, z: number, typeHash: string | number): number;
/**
 * Hashed version of GET_INTERIOR_AT_COORDS_WITH_TYPE
 */
declare function N_0xf0f77adb9f67e79d(x: number, y: number, z: number, typeHash: string | number): number;
/**
 * Hashed version of GET_INTERIOR_AT_COORDS_WITH_TYPE
 */
declare function UnkGetInteriorAtCoords(x: number, y: number, z: number, typeHash: string | number): number;

declare function GetInteriorEntitiesExtents(interiorId: number): [number, number, number, number, number, number];

declare function GetInteriorFromCollision(x: number, y: number, z: number): number;

/**
 * Returns the handle of the interior that the entity is in. Returns 0 if outside.
 */
declare function GetInteriorFromEntity(entity: number): number;

/**
 * NativeDB Introduced: v1604
 */
declare function GetInteriorFromPrimaryView(): number;
/**
 * NativeDB Introduced: v1604
 */
declare function N_0xe7d267ec6ca966c3(): number;
/**
 * NativeDB Introduced: v1604
 */
declare function GetInteriorFromGameplayCam(): number;

/**
 * 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.
 */
declare function GetInteriorGroupId(interior: number): number;

/**
 * GET_INTERIOR_*
 * NativeDB Introduced: v1493
 */
declare function GetInteriorHeading(interior: number): number;

/**
 * NativeDB Introduced: v1290
 */
declare function GetInteriorLocationAndNamehash(interior: number): [number[], number];
/**
 * NativeDB Introduced: v1290
 */
declare function N_0x252bdc06b73fa6ea(interior: number): [number[], number];
/**
 * NativeDB Introduced: v1290
 */
declare function GetInteriorInfo(interior: number): [number[], number];

declare function GetInteriorPortalCornerPosition(interiorId: number, portalIndex: number, cornerIndex: number): [number, number, number];

declare function GetInteriorPortalCount(interiorId: number): number;

declare function GetInteriorPortalEntityArchetype(interiorId: number, portalIndex: number, entityIndex: number): number;

declare function GetInteriorPortalEntityCount(interiorId: number, portalIndex: number): number;

declare function GetInteriorPortalEntityFlag(interiorId: number, portalIndex: number, entityIndex: number): number;

declare function GetInteriorPortalEntityPosition(interiorId: number, portalIndex: number, entityIndex: number): [number, number, number];

declare function GetInteriorPortalEntityRotation(interiorId: number, portalIndex: number, entityIndex: number): [number, number, number, number];

declare function GetInteriorPortalFlag(interiorId: number, portalIndex: number): number;

declare function GetInteriorPortalRoomFrom(interiorId: number, portalIndex: number): number;

declare function GetInteriorPortalRoomTo(interiorId: number, portalIndex: number): number;

declare function GetInteriorPosition(interiorId: number): [number, number, number];

declare function GetInteriorRoomCount(interiorId: number): number;

declare function GetInteriorRoomExtents(interiorId: number, roomIndex: number): [number, number, number, number, number, number];

declare function GetInteriorRoomFlag(interiorId: number, roomIndex: number): number;

declare function GetInteriorRoomIndexByHash(interiorId: number, roomHash: number): number;

declare function GetInteriorRoomName(interiorId: number, roomIndex: number): string;

declare function GetInteriorRoomTimecycle(interiorId: number, roomIndex: number): number;

declare function GetInteriorRotation(interiorId: number): [number, number, number, number];

declare function GetInvokingResource(): string;

/**
 * NativeDB Introduced: v1604
 */
declare function GetIsArenaPropPhysicsDisabled(entity: number, p1: number): boolean;
/**
 * NativeDB Introduced: v1604
 */
declare function N_0x43c677f1e1158005(entity: number, p1: number): boolean;

/**
 * Returns true if profile setting 208 is equal to 0.
 */
declare function GetIsAutoSaveOff(): boolean;
/**
 * Returns true if profile setting 208 is equal to 0.
 */
declare function N_0x6e04f06094c87047(): boolean;

/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 */
declare function GetIsDoorValid(vehicle: number, doorIndex: number): boolean;
/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 */
declare function DoesVehicleHaveDoor(vehicle: number, doorIndex: number): boolean;

/**
 * false = Any resolution < 1280x720
 * true = Any resolution >= 1280x720
 */
declare function GetIsHidef(): boolean;

/**
 * From the driver's perspective, is the left headlight broken.
 */
declare function GetIsLeftVehicleHeadlightDamaged(vehicle: number): boolean;
/**
 * From the driver's perspective, is the left headlight broken.
 */
declare function IsHeadlightLBroken(vehicle: number): boolean;

declare function GetIsLoadingScreenActive(): boolean;

/**
 * gadgetHash - was always 0xFBAB5776 ("GADGET_PARACHUTE").
 */
declare function GetIsPedGadgetEquipped(ped: number, gadgetHash: string | number): boolean;

declare function GetIsPetrolDecalInRange(xCoord: number, yCoord: number, zCoord: number, radius: number): boolean;
declare function N_0x2f09f7976c512404(xCoord: number, yCoord: number, zCoord: number, radius: number): boolean;

/**
 * Although we don't have a jenkins hash for this one, the name is 100% confirmed.
 */
declare function GetIsPlayerInAnimalForm(): boolean;
/**
 * Although we don't have a jenkins hash for this one, the name is 100% confirmed.
 */
declare function N_0x9689123e3f213aa5(): boolean;

declare function GetIsPreloadedConversationReady(): boolean;
declare function N_0xe73364db90778ffa(): boolean;

/**
 * From the driver's perspective, is the right headlight broken.
 */
declare function GetIsRightVehicleHeadlightDamaged(vehicle: number): boolean;
/**
 * From the driver's perspective, is the right headlight broken.
 */
declare function IsHeadlightRBroken(vehicle: number): boolean;

/**
 * Task index enum: https://alloc8or.re/gta5/doc/enums/eTaskTypeIndex.txt
 */
declare function GetIsTaskActive(ped: number, taskIndex: number): boolean;

/**
 * Returns profile setting 225.
 */
declare function GetIsUsingAlternateDriveby(): boolean;
/**
 * Returns profile setting 225.
 */
declare function N_0x0f70731baccfbb96(): boolean;

/**
 * Returns whether this vehicle is currently disabled by an EMP mine.
 * NativeDB Introduced: v1604
 */
declare function GetIsVehicleEmpDisabled(vehicle: number): boolean;

/**
 * Returns true when in a vehicle, false whilst entering/exiting.
 */
declare function GetIsVehicleEngineRunning(vehicle: number): boolean;
/**
 * Returns true when in a vehicle, false whilst entering/exiting.
 */
declare function IsVehicleEngineOn(vehicle: number): boolean;

declare function GetIsVehiclePrimaryColourCustom(vehicle: number): boolean;

/**
 * Check if Vehicle Secondary is avaliable for customize
 */
declare function GetIsVehicleSecondaryColourCustom(vehicle: number): boolean;

/**
 * NativeDB Introduced: v1604
 */
declare function GetIsVehicleShuntBoostActive(vehicle: number): boolean;

declare function GetIsWaypointRecordingLoaded(name: string): boolean;

declare function GetIsWheelsLoweredStateActive(vehicle: number): boolean;
declare function N_0x1da0da9cb3f0c8bf(vehicle: number): boolean;

/**
 * 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.
 */
declare function GetIsWidescreen(): boolean;

declare function GetItemsetSize(x: number): number;

declare function GetJackTarget(ped: number): number;

/**
 * Seems to do the exact same as INTERIOR::GET_ROOM_KEY_FROM_ENTITY
 */
declare function GetKeyForEntityInRoom(entity: number): number;

/**
 * Gets a string literal from a label name.
 * GET_F*
 */
declare function GetLabelText(labelName: string): string;

/**
 * ```
 * Landing gear states:
 * 0: Deployed
 * 1: Closing (Retracting)
 * 3: Opening (Deploying)
 * 4: Retracted
 * 5: Broken
 * ```
 * Landing gear state 2 is never used.
 * @param vehicle The vehicle to check.
 * @return The current state of the vehicles landing gear.
 */
declare function GetLandingGearState(vehicle: number): number;
/**
 * ```
 * Landing gear states:
 * 0: Deployed
 * 1: Closing (Retracting)
 * 3: Opening (Deploying)
 * 4: Retracted
 * 5: Broken
 * ```
 * Landing gear state 2 is never used.
 * @param vehicle The vehicle to check.
 * @return The current state of the vehicles landing gear.
 */
declare function GetVehicleLandingGear(vehicle: number): number;

declare function GetLastDrivenVehicle(): number;
declare function N_0xb2d06faede65b577(): number;

declare function GetLastMaterialHitByEntity(entity: number): number;

declare function GetLastPedInVehicleSeat(vehicle: number, seatIndex: number): number;

/**
 * Returns last vehicle that was rammed by the given vehicle using the shunt boost.
 * NativeDB Introduced: v1604
 */
declare function GetLastRammedVehicle(vehicle: number): number;

/**
 * Returns the length of the string passed (much like strlen).
 */
declare function GetLengthOfLiteralString(_string: string): number;

declare function GetLengthOfLiteralStringInBytes(_string: string): number;
declare function N_0x43e4111189e54f0e(_string: string): number;
declare function GetLengthOfString(_string: string): number;

/**
 * Returns the string length of the string from the gxt string .
 */
declare function GetLengthOfStringWithThisTextLabel(gxt: string): number;

/**
 * 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
 */
declare function GetLiveryName(vehicle: number, liveryIndex: number): string;

/**
 * Returns the local player's targeting mode. See [`SET_PLAYER_TARGETING_MODE`](#\_0xB1906895227793F3).
 */
declare function GetLocalPlayerAimState(): number;

/**
 * Same behavior as GET_LOCAL_PLAYER_AIM_STATE but only used on the PC version.
 */
declare function GetLocalPlayerAimState_2(): number;
/**
 * Same behavior as GET_LOCAL_PLAYER_AIM_STATE but only used on the PC version.
 */
declare function N_0x59b9a7af4c95133c(): number;

/**
 * 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);
 */
declare function GetLocalTime(): [number, number, number, number, number, number];

declare function GetLockonDistanceOfCurrentPedWeapon(ped: number): number;
declare function N_0x840f03e9041e2c9c(ped: number): number;
declare function GetLockonRangeOfCurrentPedWeapon(ped: number): number;

declare function GetLodscale(): number;
declare function N_0x0c15b0e443b2349d(): number;

declare function GetMainPlayerBlipId(): number;

/**
 * Will return a vehicle's manufacturer display label.
 * Returns "CARNOTFOUND" if the hash doesn't match a vehicle hash.
 * ```
 * NativeDB Introduced: v1868
 * ```
 */
declare function GetMakeNameFromVehicleModel(modelHash: string | number): string;

/**
 * Returns the zoom level data by index from mapzoomdata.meta file.
 * @param index Zoom level index.
 * @param zoomScale fZoomScale value.
 * @param zoomSpeed fZoomSpeed value.
 * @param scrollSpeed fScrollSpeed value.
 * @param tilesX vTiles X.
 * @param tilesY vTiles Y.
 * @return A boolean indicating TRUE if the data was received successfully.
 */
declare function GetMapZoomDataLevel(index: number): [boolean, number, number, number, number, number];

/**
 * Retrieves the map data entity handle.
 * This function supports SDK infrastructure and is not intended to be used directly from your code.
 * @param mapDataHash A mapdata hash from `mapDataLoaded` event.
 * @param entityInternalIdx An internal entity's index.
 * @param entityHandle The output entity handle.
 * @return True if successful, false if not.
 */
declare function GetMapdataEntityHandle(mapDataHash: number, entityInternalIdx: number, entityHandle?: number): [boolean, number];

/**
 * Returns mapdata's entity matrix. This function supports SDK infrastructure and is not intended to be used directly from your code.
 * This should be used from JavaScript or another language supporting mutable buffers like ArrayBuffer.
 * Matrix layout is as follows:
 * *   Element \[0], \[1] and \[2] should represent the right vector.
 * *   Element \[4], \[5] and \[6] should represent the forward vector.
 * *   Element \[8], \[9] and \[10] should represent the up vector.
 * *   Element \[12], \[13] and \[14] should represent X, Y and Z translation coordinates.
 * *   All other elements should be \[0, 0, 0, 1].
 * @param mapDataHash A mapdata hash from `mapDataLoaded` event.
 * @param entityInternalIdx An internal entity's index.
 * @param matrixPtr A mutable pointer to a 64-byte buffer of floating-point values, representing an XMFLOAT4X4 in layout.
 * @return Whether or not the matrix was retrieved.
 */
declare function GetMapdataEntityMatrix(mapDataHash: number, entityInternalIdx: number, matrixPtr: number): boolean;

/**
 * Returns the transient map data index for a specified hash.
 * This function supports SDK infrastructure and is not intended to be used directly from your code.
 * @param mapdataHandle The input map data handle.
 * @return A transient (non-persistable) index to the requested mapdata, or -1.
 */
declare function GetMapdataFromHashKey(mapdataHandle: string | number): number;

declare function GetMaxAmmo(ped: number, weaponHash: string | number, ammo?: number): [boolean, number];

declare function GetMaxAmmoByType(ped: number, ammoType: string | number, ammo?: number): [boolean, number];
declare function N_0x585847c5e4e11709(ped: number, ammoType: string | number, ammo?: number): [boolean, number];
declare function GetMaxAmmo_2(ped: number, ammoType: string | number, ammo?: number): [boolean, number];

/**
 * p2 is mostly 1 in the scripts.
 */
declare function GetMaxAmmoInClip(ped: number, weaponHash: string | number, p2: boolean): number;

declare function GetMaxNumNetworkObjects(): number;
declare function N_0xc7be335216b5ec7c(): number;

declare function GetMaxNumNetworkPeds(): number;
declare function N_0x0c1f7d49c39d2289(): number;

declare function GetMaxNumNetworkPickups(): number;
declare function N_0xa72835064dd63e4c(): number;

declare function GetMaxNumNetworkVehicles(): number;
declare function N_0x0afce529f69b21ff(): number;

declare function GetMaxRangeOfCurrentPedWeapon(ped: number): number;

/**
 * Gets the maximum wanted level the player can get.
 * Ranges from 0 to 5.
 */
declare function GetMaxWantedLevel(): number;

/**
 * This function is hard-coded to always return 96.
 */
declare function GetMaximumNumberOfCloudPhotos(): number;
/**
 * This function is hard-coded to always return 96.
 */
declare function N_0xdc54a7af8b3a14ef(): number;
/**
 * This function is hard-coded to always return 96.
 */
declare function GetMaximumNumberOfPhotos_2(): number;

/**
 * This function is hard-coded to always return 0.
 */
declare function GetMaximumNumberOfPhotos(): number;

declare function GetMeleeTargetForPed(ped: number): number;

/**
 * p0 was always 0xAE2602A3.
 */
declare function GetMenuPedBoolStat(p0: string | number, p1?: number): [boolean, number];
/**
 * p0 was always 0xAE2602A3.
 */
declare function N_0x052991e59076e4e4(p0: string | number, p1?: number): [boolean, number];

declare function GetMenuPedFloatStat(p0: number, p1?: number): [boolean, number];
declare function N_0x5fbd7095fe7ae57f(p0: number, p1?: number): [boolean, number];

declare function GetMenuPedIntStat(p0: number, p1?: number): [boolean, number];
declare function SetUseridsUihidden(p0: number, p1?: number): [boolean, number];
declare function N_0xef4ced81cebedc6d(p0: number, p1?: number): [boolean, number];

declare function GetMenuPedMaskedIntStat(p0: number, p2: number, p3: number): [boolean, number];
declare function N_0x90a6526cf0381030(p0: number, p2: number, p3: number): [boolean, number];

/**
 * Returns how many real ms are equal to one game minute.
 * A getter for [`SetMillisecondsPerGameMinute`](#\_0x36CA2554).
 * @return A number of milliseconds that equals to one game minute.
 */
declare function GetMillisecondsPerGameMinute(): number;

declare function GetMinimapFowCoordinateIsRevealed(x: number, y: number, z: number): boolean;
declare function N_0x6e31b91145873922(x: number, y: number, z: number): boolean;
declare function IsMinimapAreaRevealed(x: number, y: number, z: number): boolean;

declare function GetMinimapFowDiscoveryRatio(): number;
declare function N_0xe0130b41d3cf4574(): number;
declare function GetMinimapRevealPercentage(): number;

declare function GetMissionFlag(): boolean;

declare function GetMobilePhonePosition(): number[];

declare function GetMobilePhoneRenderId(renderId: number): void;

declare function GetMobilePhoneRotation(p1: number): number[];

declare function GetModSlotName(vehicle: number, modType: number): string;

/**
 * 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 modType Refer to eVehicleModType in [`SET_VEHICLE_MOD`](#\_0x6AF0636DDEDCB6DD).
 */
declare function GetModTextLabel(vehicle: number, modType: number, modValue: number): string;

/**
 * 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);
 */
declare function GetModelDimensions(modelHash: string | number): [number[], number[]];

/**
 * 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;
 * }
 */
declare function GetMount(ped: number): number;

declare function GetMusicPlaytime(): number;

declare function GetNameOfThread(threadId: number): string;
declare function GetThreadName(threadId: number): string;

/**
 * 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
 */
declare function GetNameOfZone(x: number, y: number, z: number): string;

declare function GetNamedRendertargetRenderId(name: string): number;

/**
 * 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
 */
declare function GetNavmeshRouteDistanceRemaining(ped: number): [number, number, any /* actually bool */];

/**
 * See [`GET_NAVMESH_ROUTE_DISTANCE_REMAINING`](#\_0xC6F5C0BCDC74D62D) for more details.
 */
declare function GetNavmeshRouteResult(ped: number): number;

declare function GetNearestPlayerToEntity(entity: number): number;

declare function GetNearestPlayerToEntityOnTeam(entity: number, team: number): number;

/**
 * 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.
 */
declare function GetNetworkIdFromSoundId(soundId: number): number;

declare function GetNetworkTime(): number;

/**
 * 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 Returns the network time as an integer
 */
declare function GetNetworkTimeAccurate(): number;
/**
 * 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 Returns the network time as an integer
 */
declare function N_0x89023fbbf9200e9f(): number;

declare function GetNewSelectedMissionCreatorBlip(): number;
declare function DisableBlipNameForVar(): number;
declare function N_0x5c90988e7c8e1af4(): number;

declare function GetNextBlipInfoId(blipSprite: number): number;

/**
 * Gets the next zone that has been disabled using SET_GPS_DISABLED_ZONE_AT_INDEX.
 * ```
 * NativeDB Removed Parameter 1: int index
 * ```
 * @return The disabled zone index
 */
declare function GetNextGpsDisabledZoneIndex(index: number): number;
/**
 * Gets the next zone that has been disabled using SET_GPS_DISABLED_ZONE_AT_INDEX.
 * ```
 * NativeDB Removed Parameter 1: int index
 * ```
 * @return The disabled zone index
 */
declare function N_0xd3a6a0ef48823a8c(index: number): number;

/**
 * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
 */
declare function GetNextWeatherTypeHashName(): number;
/**
 * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
 */
declare function GetNextWeatherType(): number;

/**
 * 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"
 */
declare function GetNgstatBoolHash(index: number, spStat: boolean, charStat: boolean, character: number, section: string): number;
/**
 * 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"
 */
declare function N_0xba52ff538ed2bc71(index: number, spStat: boolean, charStat: boolean, character: number, section: string): number;

/**
 * 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"
 */
declare function GetNgstatIntHash(index: number, spStat: boolean, charStat: boolean, character: number, section: string): number;
/**
 * 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"
 */
declare function N_0x2b4cdca6f07ff3da(index: number, spStat: boolean, charStat: boolean, character: number, section: string): number;

declare function GetNoLoadingScreen(): boolean;
declare function GetNoLoadingScreen(): boolean;

declare function GetNorthRadarBlip(): number;
declare function N_0x3f0cf9cb7e589b88(): number;

declare function GetNthClosestVehicleNode(x: number, y: number, z: number, nthClosest: number, unknown1: number, unknown2: number, unknown3: number): [boolean, number[]];

/**
 * 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
 */
declare function GetNthClosestVehicleNodeFavourDirection(x: number, y: number, z: number, desiredX: number, desiredY: number, desiredZ: number, nthClosest: number, nodetype: number, p10: number, p11: number): [boolean, number[], number];

/**
 * Returns the id.
 */
declare function GetNthClosestVehicleNodeId(x: number, y: number, z: number, nth: number, nodetype: number, p5: number, p6: number): number;

declare function GetNthClosestVehicleNodeIdWithHeading(x: number, y: number, z: number, nthClosest: number, p6: number, p7: number, p8: number): [number, number[], number];

/**
 * Get the nth closest vehicle node and its heading. (unknown2 = 9, unknown3 = 3.0, unknown4 = 2.5)
 */
declare function GetNthClosestVehicleNodeWithHeading(x: number, y: number, z: number, nthClosest: number, unknown2: number, unknown3: number, unknown4: number): [boolean, number[], number, number];

declare function GetNuiCursorPosition(): [number, number];

declare function GetNumCommerceItems(): number;
declare function N_0xf2eac213d5ea0623(): number;

declare function GetNumCreatedMissionObjects(p0: boolean): number;
declare function N_0x12b6281b6c6706c0(p0: boolean): number;

declare function GetNumCreatedMissionPeds(p0: boolean): number;
declare function N_0xcb215c4b56a7fae7(p0: boolean): number;

declare function GetNumCreatedMissionVehicles(p0: boolean): number;
declare function N_0x0cd9ab83489430ea(p0: boolean): number;

declare function GetNumDispatchedUnitsForPlayer(dispatchService: number): number;
declare function N_0xeb4a0c2d56441717(dispatchService: number): number;
declare function GetNumberOfDispatchedUnitsForPlayer(dispatchService: number): number;

/**
 * Returns the total number of DLC vehicles.
 */
declare function GetNumDlcVehicles(): number;

/**
 * Returns the total number of DLC weapon components.
 */
declare function GetNumDlcWeaponComponents(dlcWeaponIndex: number): number;

/**
 * Returns the total number of DLC weapon components that are available in SP.
 * ```
 * NativeDB Introduced: v2060
 * ```
 */
declare function GetNumDlcWeaponComponentsSp(dlcWeaponIndex: number): number;

/**
 * Returns the total number of DLC weapons.
 */
declare function GetNumDlcWeapons(): number;

/**
 * Returns the total number of DLC weapons that are available in SP (availableInSP field in shop_weapon.meta).
 * ```
 * NativeDB Introduced: v2060
 * ```
 */
declare function GetNumDlcWeaponsSp(): number;

/**
 * Used for freemode (online) characters.
 */
declare function GetNumHairColors(): number;

declare function GetNumMakeupColors(): number;
declare function N_0xd1f7ca1535d22818(): number;

/**
 * paintType:
 * 0: Normal
 * 1: Metallic
 * 2: Pearl
 * 3: Matte
 * 4: Metal
 * 5: Chrome
 */
declare function GetNumModColors(paintType: number, p1: boolean): number;

declare function GetNumModKits(vehicle: number): number;

declare function GetNumNavmeshesExistingInArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): number;
declare function N_0x01708e8dd3ff8c65(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): number;

/**
 * p0 appears to be for MP
 * ```
 * ```
 * NativeDB Added Parameter 2: Any p1
 */
declare function GetNumReservedMissionObjects(p0: boolean): number;

/**
 * p0 appears to be for MP
 * ```
 * ```
 * NativeDB Added Parameter 2: Any p1
 */
declare function GetNumReservedMissionPeds(p0: boolean): number;

/**
 * p0 appears to be for MP
 * ```
 * ```
 * NativeDB Added Parameter 2: Any p1
 */
declare function GetNumReservedMissionVehicles(p0: boolean): number;

/**
 * Gets the amount of metadata values with the specified key existing in the specified resource's manifest.
 * See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
 * @param resourceName The resource name.
 * @param metadataKey The key to look up in the resource manifest.
 */
declare function GetNumResourceMetadata(resourceName: string, metadataKey: string): number;

declare function GetNumResources(): number;

declare function GetNumSuccessfulStuntJumps(): number;
declare function N_0x996dd1e1e02f1008(): number;

/**
 * Character types:
 * 0 = Michael,
 * 1 = Franklin,
 * 2 = Trevor,
 * 3 = MPMale,
 * 4 = MPFemale
 */
declare function GetNumTattooShopDlcItems(character: number): number;
/**
 * Character types:
 * 0 = Michael,
 * 1 = Franklin,
 * 2 = Trevor,
 * 3 = MPMale,
 * 4 = MPFemale
 */
declare function N_0x278f76c3b0a8f109(character: number): number;
/**
 * Character types:
 * 0 = Michael,
 * 1 = Franklin,
 * 2 = Trevor,
 * 3 = MPMale,
 * 4 = MPFemale
 */
declare function GetNumDecorations(character: number): number;

declare function GetNumUnlockedRadioStations(): number;
declare function MaxRadioStationIndex(): number;

/**
 * Returns how many possible mods a vehicle has for a given mod type
 * @param modType Refer to eVehicleModType in [`SET_VEHICLE_MOD`](#\_0x6AF0636DDEDCB6DD).
 */
declare function GetNumVehicleMods(vehicle: number, modType: number): number;

declare function GetNumVehicleWindowTints(): number;

declare function GetNumberOfActiveBlips(): number;

/**
 * eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork)
 */
declare function GetNumberOfEvents(eventGroup: number): number;

declare function GetNumberOfFiresInRange(x: number, y: number, z: number, radius: number): number;

declare function GetNumberOfFreeStacksOfThisSize(stackSize: number): number;
declare function GetFreeStackSlotsCount(stackSize: number): number;

/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function GetNumberOfPedDrawableVariations(ped: number, componentId: number): number;

/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function GetNumberOfPedPropDrawableVariations(ped: number, propId: number): number;

/**
 * Need to check behavior when drawableId = -1
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function GetNumberOfPedPropTextureVariations(ped: number, propId: number, drawableId: number): number;

/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function GetNumberOfPedTextureVariations(ped: number, componentId: number, drawableId: number): number;

/**
 * Gets the number of players in the current session.
 * If not multiplayer, always returns 1.
 */
declare function GetNumberOfPlayers(): number;

/**
 * NativeDB Introduced: v1180
 */
declare function GetNumberOfPlayersInTeam(team: number): number;

/**
 * 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;
 */
declare function GetNumberOfReferencesOfScriptWithNameHash(scriptHash: string | number): number;
/**
 * 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;
 */
declare function GetNumberOfInstancesOfStreamedScript(scriptHash: string | number): number;
/**
 * 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;
 */
declare function GetNumberOfInstancesOfScriptWithNameHash(scriptHash: string | number): number;

declare function GetNumberOfStreamingRequests(): number;

/**
 * Actually number of color combinations
 */
declare function GetNumberOfVehicleColours(vehicle: number): number;

declare function GetNumberOfVehicleDoors(vehicle: number): number;

/**
 * Returns the number of *types* of licence plates, enumerated below in SET_VEHICLE_NUMBER_PLATE_TEXT_INDEX.
 */
declare function GetNumberOfVehicleNumberPlates(): number;

declare function GetObjectFragmentDamageHealth(p0: number, p1: boolean): number;

/**
 * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
 */
declare function GetObjectIndexFromEntityIndex(entity: number): number;

declare function GetObjectOffsetFromCoords(xPos: number, yPos: number, zPos: number, heading: number, xOffset: number, yOffset: number, zOffset: number): number[];

declare function GetObjectTextureVariation(object: number): number;
declare function N_0xe84eb93729c5f36a(object: number): number;

/**
 * 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.
 */
declare function GetOffsetFromEntityGivenWorldCoords(entity: number, posX: number, posY: number, posZ: number): number[];

/**
 * Offset values are relative to the entity.
 * x = left/right
 * y = forward/backward
 * z = up/down
 */
declare function GetOffsetFromEntityInWorldCoords(entity: number, offsetX: number, offsetY: number, offsetZ: number): number[];

declare function GetOffsetFromInteriorInWorldCoords(interior: number, x: number, y: number, z: number): number[];

/**
 * 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"
 */
declare function GetOnlineVersion(): string;
/**
 * 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"
 */
declare function GetGameVersion(): string;

/**
 * Returns NULL unless UPDATE_ONSCREEN_KEYBOARD() returns 1 in the same tick.
 */
declare function GetOnscreenKeyboardResult(): string;

declare function GetPackedBoolStatKey(index: number, spStat: boolean, charStat: boolean, character: number): number;
declare function N_0x80c75307b1c42837(index: number, spStat: boolean, charStat: boolean, character: number): number;
declare function GetPstatBoolHash(index: number, spStat: boolean, charStat: boolean, character: number): number;

declare function GetPackedIntStatKey(index: number, spStat: boolean, charStat: boolean, character: number): number;
declare function N_0x61e111e323419e07(index: number, spStat: boolean, charStat: boolean, character: number): number;
declare function GetPstatIntHash(index: number, spStat: boolean, charStat: boolean, character: number): number;

declare function GetPackedTuBoolStatKey(index: number, spStat: boolean, charStat: boolean, character: number): number;
declare function N_0xc4bb08ee7907471e(index: number, spStat: boolean, charStat: boolean, character: number): number;
declare function GetTupstatBoolHash(index: number, spStat: boolean, charStat: boolean, character: number): number;
declare function GetPackedTitleUpdateBoolStatKey(index: number, spStat: boolean, charStat: boolean, character: number): number;

declare function GetPackedTuIntStatKey(index: number, spStat: boolean, charStat: boolean, character: number): number;
declare function N_0xd16c2ad6b8e32854(index: number, spStat: boolean, charStat: boolean, character: number): number;
declare function GetTupstatIntHash(index: number, spStat: boolean, charStat: boolean, character: number): number;
declare function GetPackedTitleUpdateIntStatKey(index: number, spStat: boolean, charStat: boolean, character: number): number;

/**
 * A getter for [SET_PARKED_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME](#\_0xEAE6DCC7EEE3DB1D).
 * @return Returns parked vehicle density multiplier value.
 */
declare function GetParkedVehicleDensityMultiplier(): number;

/**
 * Name between `GET_ONSCREEN_KEYBOARD_RESULT` and `GET_PAUSE_MENU_STATE`. Likely, `GET_PAUSE_MENU_*`.
 * @return If the pause menu is open, it will return a Vector3, Z is always 0.
If the pause menu is closed, it will return Vector3.Zero
 */
declare function GetPauseMenuCursorPosition(): number[];
/**
 * Name between `GET_ONSCREEN_KEYBOARD_RESULT` and `GET_PAUSE_MENU_STATE`. Likely, `GET_PAUSE_MENU_*`.
 * @return If the pause menu is open, it will return a Vector3, Z is always 0.
If the pause menu is closed, it will return Vector3.Zero
 */
declare function N_0x5bff36d6ed83e0ae(): number[];

declare function GetPauseMenuSelection(): [number, number];
declare function N_0x36c1451a88a09630(): [number, number];

/**
 * 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
 */
declare function GetPauseMenuSelectionData(): [number, number, number];
/**
 * 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
 */
declare function N_0x7e17be53e1aaabaf(): [number, number, number];

/**
 * Returns:
 * 0
 * 5
 * 10
 * 15
 * 20
 * 25
 * 30
 * 35
 */
declare function GetPauseMenuState(): number;

declare function GetPedAccuracy(ped: number): number;

/**
 * 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.
 */
declare function GetPedAlertness(ped: number): number;

declare function GetPedAmmoByType(ped: number, ammoType: string | number): number;

/**
 * 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.
 */
declare function GetPedAmmoTypeFromWeapon(ped: number, weaponHash: string | number): number;
/**
 * 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.
 */
declare function GetPedAmmoType(ped: number, weaponHash: string | number): number;

/**
 * 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)
 */
declare function GetPedAmmoTypeFromWeapon_2(ped: number, weaponHash: string | number): number;

declare function GetPedArmour(ped: number): number;

declare function GetPedAsGroupLeader(groupID: number): number;
declare function GetPedAsGroupLeader(groupID: number): number;

/**
 * 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
 */
declare function GetPedAsGroupMember(groupID: number, memberNumber: number): number;

/**
 * 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.
 */
declare function GetPedBoneCoords(ped: number, boneId: number, offsetX: number, offsetY: number, offsetZ: number): number[];

/**
 * 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
 * };
 */
declare function GetPedBoneIndex(ped: number, boneId: number): number;

/**
 * Returns the hash of the weapon/model/object that killed the ped.
 */
declare function GetPedCauseOfDeath(ped: number): number;

declare function GetPedCombatMovement(ped: number): number;

declare function GetPedCombatRange(ped: number): number;

/**
 * See [`SET_PED_CONFIG_FLAG`](#\_0x1913FE4CBF41C463).
 */
declare function GetPedConfigFlag(ped: number, flagId: number, p2: boolean): boolean;

declare function GetPedCurrentMovementSpeed(ped: number): [boolean, number, number];
declare function N_0xf60165e1d2c5370b(ped: number): [boolean, number, number];

/**
 * 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
 * };
 */
declare function GetPedDecorationZoneFromHashes(collection: string | number, overlay: string | number): number;
/**
 * 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
 * };
 */
declare function GetTattooZone(collection: string | number, overlay: string | number): number;

declare function GetPedDecorationsState(ped: number): number;
declare function N_0x71eab450d86954a1(ped: number): number;

declare function GetPedDefensiveAreaPosition(ped: number, p1: boolean): number[];

/**
 * A getter for [SET_PED_DENSITY_MULTIPLIER_THIS_FRAME](#\_0x95E3D6257B166CF2).
 * @return Returns ped density multiplier value.
 */
declare function GetPedDensityMultiplier(): number;

declare function GetPedDesiredMoveBlendRatio(ped: number): number;

/**
 * NativeDB Introduced: v2699
 */
declare function GetPedDiesInWater(ped: number): boolean;

/**
 * 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
 */
declare function GetPedDrawableVariation(ped: number, componentId: number): number;

/**
 * Use [`SetPedIlluminatedClothingGlowIntensity`](#\_0x4E90D746056E273D) to set the illuminated clothing glow intensity for a specific ped.
 * @param ped The ped to get the glow intensity from.
 * @return A float between 0.0 and 1.0 representing the current illuminated clothing glow intensity.
 */
declare function GetPedEmissiveIntensity(ped: number): number;
/**
 * Use [`SetPedIlluminatedClothingGlowIntensity`](#\_0x4E90D746056E273D) to set the illuminated clothing glow intensity for a specific ped.
 * @param ped The ped to get the glow intensity from.
 * @return A float between 0.0 and 1.0 representing the current illuminated clothing glow intensity.
 */
declare function N_0x1461b28a06717d68(ped: number): number;
/**
 * Use [`SetPedIlluminatedClothingGlowIntensity`](#\_0x4E90D746056E273D) to set the illuminated clothing glow intensity for a specific ped.
 * @param ped The ped to get the glow intensity from.
 * @return A float between 0.0 and 1.0 representing the current illuminated clothing glow intensity.
 */
declare function GetPedIlluminatedClothingGlowIntensity(ped: number): number;

declare function GetPedEnveffScale(ped: number): number;

/**
 * NativeDB Introduced: v2189
 */
declare function GetPedEventData(ped: number, eventType: number, outData?: number): [boolean, number];

/**
 * 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.
 */
declare function GetPedExtractedDisplacement(ped: number, worldSpace: boolean): number[];

/**
 * A getter for [\_SET_PED_EYE_COLOR](#\_0x50B56988B170AFDF). Returns -1 if fails to get.
 * @param ped The target ped
 * @return Returns ped's eye colour, or -1 if fails to get.
 */
declare function GetPedEyeColor(ped: number): number;

/**
 * A getter for [`_SET_PED_EYE_COLOR`](#\_0x50B56988B170AFDF).
 * @param ped The target ped
 * @return Returns ped's eye colour, or -1 if fails to get.
 */
declare function GetPedEyeColor(ped: number): number;
/**
 * A getter for [`_SET_PED_EYE_COLOR`](#\_0x50B56988B170AFDF).
 * @param ped The target ped
 * @return Returns ped's eye colour, or -1 if fails to get.
 */
declare function N_0x76bba2cee66d47e9(ped: number): number;

/**
 * A getter for [\_SET_PED_FACE_FEATURE](#\_0x71A5C1DBA060049E). Returns 0.0 if fails to get.
 * @param ped The target ped
 * @param index Face feature index
 * @return Returns ped's face feature value, or 0.0 if fails to get.
 */
declare function GetPedFaceFeature(ped: number, index: number): number;

/**
 * Returns the group id of which the specified ped is a member of.
 */
declare function GetPedGroupIndex(ped: number): number;

/**
 * A getter for [\_SET_PED_HAIR_COLOR](#\_0x4CFFC65454C93A49). Returns -1 if fails to get.
 * @param ped The target ped
 * @return Returns ped's primary hair colour.
 */
declare function GetPedHairColor(ped: number): number;

/**
 * A getter for [\_SET_PED_HAIR_COLOR](#\_0x4CFFC65454C93A49). Returns -1 if fails to get.
 * @param ped The target ped
 * @return Returns ped's secondary hair colour.
 */
declare function GetPedHairHighlightColor(ped: number): number;

/**
 * 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 The hair color index. Value between 0-63 (inclusive).
 * @param outR Output red value.
 * @param outG Output green value.
 * @param outB Output blue value.
 */
declare function GetPedHairRgbColor(hairColorIndex: number): [number, number, number];
/**
 * 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 The hair color index. Value between 0-63 (inclusive).
 * @param outR Output red value.
 * @param outG Output green value.
 * @param outB Output blue value.
 */
declare function N_0x4852fc386e2e1bb5(hairColorIndex: number): [number, number, number];
/**
 * 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 The hair color index. Value between 0-63 (inclusive).
 * @param outR Output red value.
 * @param outG Output green value.
 * @param outB Output blue value.
 */
declare function GetHairRgbColor(hairColorIndex: number): [number, number, number];

/**
 * 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;
 */
declare function GetPedHeadBlendData(ped: number, headBlendData?: number): [boolean, number];
/**
 * 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;
 */
declare function GetPedHeadBlendData(ped: number, headBlendData?: number): [boolean, number];

/**
 * 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.
 */
declare function GetPedHeadBlendFirstIndex(_type: number): number;
/**
 * 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.
 */
declare function GetFirstParentIdForPedType(_type: number): number;

/**
 * Type equals 0 for male non-dlc, 1 for female non-dlc, 2 for male dlc, and 3 for female dlc.
 */
declare function GetPedHeadBlendNumHeads(_type: number): number;
/**
 * Type equals 0 for male non-dlc, 1 for female non-dlc, 2 for male dlc, and 3 for female dlc.
 */
declare function GetNumParentPedsOfType(_type: number): number;

/**
 * A getter for [SET_PED_HEAD_OVERLAY](#\_0x48F44967FA05CC1E) and [\_SET_PED_HEAD_OVERLAY_COLOR](#\_0x497BF74A7B9CB952) natives.
 * @param ped The target ped
 * @param index Overlay index
 * @param overlayValue Overlay value pointer
 * @param colourType Colour type pointer
 * @param firstColour First colour pointer
 * @param secondColour Second colour pointer
 * @param overlayOpacity Opacity pointer
 * @return Returns ped's head overlay data.
 */
declare function GetPedHeadOverlayData(ped: number, index: number): [boolean, number, number, number, number, number];

/**
 * Used with freemode (online) characters.
 */
declare function GetPedHeadOverlayNum(overlayID: number): number;
/**
 * Used with freemode (online) characters.
 */
declare function GetNumHeadOverlayValues(overlayID: number): number;

/**
 * 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.
 */
declare function GetPedHeadOverlayValue(ped: number, overlayID: number): number;

declare function GetPedHelmetStoredHatPropIndex(ped: number): number;
declare function N_0x451294e859ecc018(ped: number): number;

declare function GetPedHelmetStoredHatTexIndex(ped: number): number;
declare function N_0x9d728c1e12bf5518(ped: number): number;

/**
 * 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 The vehicle to get the ped for.
 * @param seatIndex See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
 * @return A handle to a ped in the specified vehicle seat, or 0 if no such ped existed.
 */
declare function GetPedInVehicleSeat(vehicle: number, seatIndex: number): number;

/**
 * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
 */
declare function GetPedIndexFromEntityIndex(entity: number): number;

declare function GetPedLastDamageBone(ped: number, outBone?: number): [boolean, number];

/**
 * 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.
 */
declare function GetPedLastWeaponImpactCoord(ped: number): [boolean, number[]];

/**
 * 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 The hair color index. Value between 0-63 (inclusive).
 * @param outR Output red value.
 * @param outG Output green value.
 * @param outB Output blue value.
 */
declare function GetPedMakeupRgbColor(makeupColorIndex: number): [number, number, number];
/**
 * 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 The hair color index. Value between 0-63 (inclusive).
 * @param outR Output red value.
 * @param outG Output green value.
 * @param outB Output blue value.
 */
declare function N_0x013e5cfc38cd5387(makeupColorIndex: number): [number, number, number];
/**
 * 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 The hair color index. Value between 0-63 (inclusive).
 * @param outR Output red value.
 * @param outG Output green value.
 * @param outB Output blue value.
 */
declare function GetMakeupRgbColor(makeupColorIndex: number): [number, number, number];

declare function GetPedMaxHealth(ped: number): number;

declare function GetPedMoney(ped: number): number;

/**
 * Console/PC structure definitions and example: pastebin.com/SsFej963
 * For FiveM/Cfx.Re use-cases refer to: [`GET_GAME_POOL`](#\_0x2B9D4F50).
 * @param ignore Ped type to ignore
 */
declare function GetPedNearbyPeds(ped: number, ignore: number): [number, number];

/**
 * 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
 */
declare function GetPedNearbyVehicles(ped: number, sizeAndVehs?: number): [number, number];

/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function GetPedPaletteVariation(ped: number, componentId: number): number;

/**
 * -1: no landing
 * 0: landing on both feet
 * 1: stumbling
 * 2: rolling
 * 3: ragdoll
 */
declare function GetPedParachuteLandingType(ped: number): number;

/**
 * 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?
 */
declare function GetPedParachuteState(ped: number): number;

declare function GetPedParachuteTintIndex(ped: number, outTintIndex?: number): number;

/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function GetPedPropIndex(ped: number, componentId: number): number;

/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function GetPedPropTextureIndex(ped: number, componentId: number): number;

declare function GetPedRagdollBoneIndex(ped: number, bone: number): number;

declare function GetPedRelationshipGroupDefaultHash(ped: number): number;

declare function GetPedRelationshipGroupHash(ped: number): number;

declare function GetPedResetFlag(ped: number, flagId: number): boolean;

/**
 * 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.
 */
declare function GetPedSourceOfDeath(ped: number): number;
/**
 * 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.
 */
declare function GetPedKiller(ped: number): number;

/**
 * Returns whether the entity is in stealth mode
 */
declare function GetPedStealthMovement(ped: number): boolean;

/**
 * NativeDB Introduced: v2372
 */
declare function GetPedTaskCombatTarget(ped: number, p1: number): number;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x32c27a11307b01cc(ped: number, p1: number): number;

/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function GetPedTextureVariation(ped: number, componentId: number): number;

declare function GetPedTimeOfDeath(ped: number): number;
declare function GetPedTimeOfDeath(ped: number): number;
declare function N_0x1e98817b311ae98a(ped: number): number;

/**
 * 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
 * };
 * ```
 */
declare function GetPedType(ped: number): number;

/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 */
declare function GetPedUsingVehicleDoor(vehicle: number, doorIndex: number): number;
/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 */
declare function N_0x218297bf0cfd853b(vehicle: number, doorIndex: number): number;
/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 */
declare function GetPedUsingVehicleDoor(vehicle: number, doorIndex: number): number;

/**
 * NativeDB Introduced: v1493
 */
declare function GetPedVisualFieldCenterAngle(ped: number): number;

declare function GetPedWaypointDistance(p0: number): number;

declare function GetPedWaypointProgress(ped: number): number;

declare function GetPedWeaponLiveryColor(ped: number, weaponHash: string | number, camoComponentHash: string | number): number;
declare function N_0xf0a60040be558f2d(ped: number, weaponHash: string | number, camoComponentHash: string | number): number;

declare function GetPedWeaponTintIndex(ped: number, weaponHash: string | number): number;

declare function GetPedWeapontypeInSlot(ped: number, weaponSlot: string | number): number;

/**
 * gtaforums.com/topic/885580-ped-headshotmugshot-txd/
 */
declare function GetPedheadshotTxdString(id: number): string;

declare function GetPedsJacker(ped: number): number;

declare function GetPhoneGestureAnimCurrentTime(ped: number): number;

declare function GetPhoneGestureAnimTotalTime(ped: number): number;

declare function GetPickupCoords(pickup: number): number[];

declare function GetPickupGenerationRangeMultiplier(): number;
declare function N_0xb3eca65c7317f174(): number;

/**
 * returns pickup hash.
 */
declare function GetPickupHash(pickupHash: string | number): number;
/**
 * returns pickup hash.
 */
declare function N_0x5eaad83f8cfb4575(pickupHash: string | number): number;

/**
 * NativeDB Introduced: v1290
 */
declare function GetPickupHashFromWeapon(weapon: string | number): number;
/**
 * NativeDB Introduced: v1290
 */
declare function N_0xd6429a016084f1a5(weapon: string | number): number;

declare function GetPickupObject(pickup: number): number;
declare function N_0x5099bc55630b25ae(pickup: number): number;

declare function GetPlayerCurrentStealthNoise(player: number): number;

declare function GetPlayerFakeWantedLevel(player: number): number;
declare function N_0x56105e599cab0efa(player: number): number;

declare function GetPlayerFromServerId(serverId: number): number;

/**
 * Returns the group ID the player is member of.
 */
declare function GetPlayerGroup(player: number): number;

declare function GetPlayerHasReserveParachute(player: number): boolean;

declare function GetPlayerHealthRechargeLimit(player: number): number;
declare function N_0x8bc515bae4aaf8ff(player: number): number;

/**
 * Returns the same as PLAYER_ID and NETWORK_PLAYER_ID_TO_INT
 */
declare function GetPlayerIndex(): number;

/**
 * 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?
 */
declare function GetPlayerInvincible(player: number): boolean;

/**
 * Unlike [GET_PLAYER_INVINCIBLE](#\_0xB721981B2B939E07) this native gets both [SET_PLAYER_INVINCIBLE_KEEP_RAGDOLL_ENABLED](#\_0x6BC97F4F4BB3C04B) and [SET_PLAYER_INVINCIBLE](#\_0x239528EACDC3E7DE) invincibility state.
 * @param player The player id
 * @return A boolean to tell if the player is invincible.
 */
declare function GetPlayerInvincible_2(player: number): boolean;

declare function GetPlayerMaxArmour(player: number): number;

declare function GetPlayerMaxStamina(playerId: number): number;

/**
 * A getter for [SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER](#\_0x4A3DC7ECCC321032).
 * @param playerId The player index.
 * @return Returns player melee weapon damage modifier value.
 */
declare function GetPlayerMeleeWeaponDamageModifier(playerId: number): number;

/**
 * A getter for [SET_PLAYER_MELEE_WEAPON_DEFENSE_MODIFIER](#\_0xAE540335B4ABC4E2).
 * @param playerId The player index.
 * @return The value of player melee weapon defense modifier.
 */
declare function GetPlayerMeleeWeaponDefenseModifier(playerId: number): number;

/**
 * Returns the players name from a specified player index
 * @param player The player index, or -1 to get the local player ped.
 * @return The name of the queried player. "**Invalid**" if the player does not exist.
 */
declare function GetPlayerName(player: number): string;

/**
 * NativeDB Introduced: v2372
 */
declare function GetPlayerParachuteModelOverride(player: number): number;

declare function GetPlayerParachutePackTintIndex(player: number, tintIndex?: number): number;

declare function GetPlayerParachuteSmokeTrailColor(player: number): [number, number, number];

/**
 * 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,
 */
declare function GetPlayerParachuteTintIndex(player: number, tintIndex?: number): number;

/**
 * Gets the ped for a specified player index.
 * @param playerId The player index, or -1 to get the local player ped.
 * @return The specified player's ped, or 0 if invalid.
 */
declare function GetPlayerPed(playerId: number): number;

declare function GetPlayerPedIsFollowing(ped: number): number;

/**
 * Does the same like PLAYER::GET_PLAYER_PED
 */
declare function GetPlayerPedScriptIndex(player: number): number;

declare function GetPlayerRadioStationGenre(): number;

/**
 * Returns 255 (radio off index) if the function fails.
 */
declare function GetPlayerRadioStationIndex(): number;

/**
 * Returns active radio station name
 */
declare function GetPlayerRadioStationName(): string;

/**
 * NativeDB Introduced: v2372
 */
declare function GetPlayerReserveParachuteModelOverride(player: number): number;

/**
 * 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,
 */
declare function GetPlayerReserveParachuteTintIndex(player: number, index?: number): number;

declare function GetPlayerRgbColour(player: number): [number, number, number];

declare function GetPlayerServerId(player: number): number;

declare function GetPlayerShortSwitchState(): number;

declare function GetPlayerSprintStaminaRemaining(player: number): number;

declare function GetPlayerSprintTimeRemaining(player: number): number;

declare function GetPlayerStamina(playerId: number): number;

declare function GetPlayerSwitchInterpOutCurrentTime(): number;
declare function N_0x5b48a06dd0e792a5(): number;

declare function GetPlayerSwitchInterpOutDuration(): number;
declare function SetPlayerInvertedUp(): number;
declare function N_0x08c2d6c52a3104bb(): number;

declare function GetPlayerSwitchJumpCutIndex(): number;
declare function N_0x78c0d93253149435(): number;

declare function GetPlayerSwitchState(): number;

declare function GetPlayerSwitchType(): number;

/**
 * Assigns the handle of locked-on melee target to *entity that you pass it.
 * Returns false if no entity found.
 */
declare function GetPlayerTargetEntity(player: number, entity?: number): [boolean, number];

/**
 * Gets the player's team.
 * Does nothing in singleplayer.
 */
declare function GetPlayerTeam(player: number): number;

declare function GetPlayerUnderwaterTimeRemaining(player: number): number;

/**
 * A getter for [SET_PLAYER_VEHICLE_DAMAGE_MODIFIER](#\_0xA50E117CDDF82F0C).
 * @param playerId The player index.
 * @return The value of player vehicle damage modifier.
 */
declare function GetPlayerVehicleDamageModifier(playerId: number): number;

/**
 * A getter for [SET_PLAYER_VEHICLE_DEFENSE_MODIFIER](#\_0x4C60E6EFDAFF2462).
 * @param playerId The player index.
 * @return The value of player vehicle defense modifier.
 */
declare function GetPlayerVehicleDefenseModifier(playerId: number): number;

declare function GetPlayerWantedCentrePosition(player: number): number[];

declare function GetPlayerWantedLevel(player: number): number;

/**
 * A getter for [SET_PLAYER_WEAPON_DAMAGE_MODIFIER](#\_0xCE07B9F7817AADA3).
 * @param playerId The player index.
 * @return The value of player weapon damage modifier.
 */
declare function GetPlayerWeaponDamageModifier(playerId: number): number;

/**
 * A getter for [SET_PLAYER_WEAPON_DEFENSE_MODIFIER](#\_0x2D83BC011CA14A3C).
 * @param playerId The player index.
 * @return The value of player weapon defense modifier.
 */
declare function GetPlayerWeaponDefenseModifier(playerId: number): number;

/**
 * A getter for [\_SET_PLAYER_WEAPON_DEFENSE_MODIFIER\_2](#\_0xBCFDE9EDE4CF27DC).
 * @param playerId The player index.
 * @return The value of player weapon defense modifier 2.
 */
declare function GetPlayerWeaponDefenseModifier_2(playerId: number): number;

/**
 * Alternative: GET_VEHICLE_PED_IS_IN(PLAYER_PED_ID(), 1);
 */
declare function GetPlayersLastVehicle(): number;

declare function GetPointOnRoadSide(x: number, y: number, z: number, p3: number): [boolean, number[]];
declare function N_0x16f46fb18c8009e4(x: number, y: number, z: number, p3: number): [boolean, number[]];

/**
 * Distance traveled in the vehicles current recording.
 */
declare function GetPositionInRecording(vehicle: number): number;

/**
 * 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).
 */
declare function GetPositionOfVehicleRecordingAtTime(recording: number, time: number, script: string): number[];

declare function GetPositionOfVehicleRecordingIdAtTime(id: number, time: number): number[];
declare function N_0x92523b76657a517d(id: number, time: number): number[];

/**
 * 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);
 */
declare function GetPosixTime(): [number, number, number, number, number, number];

/**
 * Returns duration of how long the game has been in power-saving mode (aka "constrained") in milliseconds.
 */
declare function GetPowerSavingModeDuration(): number;
/**
 * Returns duration of how long the game has been in power-saving mode (aka "constrained") in milliseconds.
 */
declare function N_0xabb2fa71c83a1b72(): number;

/**
 * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
 */
declare function GetPrevWeatherTypeHashName(): number;
/**
 * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
 */
declare function GetPrevWeatherType(): number;

declare function GetProfileSetting(profileSetting: number): number;

declare function GetProjectileNearPed(ped: number, weaponHash: string | number, distance: number, ownedByPlayer: boolean): [boolean, number[], number];
declare function N_0x82fde6a57ee4ee44(ped: number, weaponHash: string | number, distance: number, ownedByPlayer: boolean): [boolean, number[], number];

/**
 * Returns String with radio station name.
 */
declare function GetRadioStationName(radioStation: number): string;

declare function GetRainLevel(): number;

declare function GetRandomEventFlag(): boolean;

declare function GetRandomFloatInRange(startRange: number, endRange: number): number;

declare function GetRandomIntInRange(startRange: number, endRange: number): number;

/**
 * NativeDB Introduced: v1734
 */
declare function GetRandomIntInRange_2(startRange: number, endRange: number): number;

/**
 * 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
 */
declare function GetRandomPedAtCoord(x: number, y: number, z: number, xRadius: number, yRadius: number, zRadius: number, pedType: number): number;

declare function GetRandomVehicleBackBumperInSphere(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;

/**
 * A getter for [SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME](#\_0xB3B3359379FE77D3).
 * Same as vehicle density multiplier.
 * @return Returns random vehicle density multiplier value.
 */
declare function GetRandomVehicleDensityMultiplier(): number;

declare function GetRandomVehicleFrontBumperInSphere(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;

/**
 * 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.
 */
declare function GetRandomVehicleInSphere(x: number, y: number, z: number, radius: number, modelHash: string | number, flags: number): number;

/**
 * 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
 */
declare function GetRandomVehicleModelInMemory(p0: boolean): [number, number];

declare function GetRandomVehicleNode(x: number, y: number, z: number, radius: number, p4: boolean, p5: boolean, p6: boolean): [boolean, number[], number];

/**
 * Example:
 * OBJECT::GET_RAYFIRE_MAP_OBJECT(-809.9619750976562, 170.919, 75.7406997680664, 3.0, "des_tvsmash");
 */
declare function GetRayfireMapObject(x: number, y: number, z: number, radius: number, name: string): number;
/**
 * Example:
 * OBJECT::GET_RAYFIRE_MAP_OBJECT(-809.9619750976562, 170.919, 75.7406997680664, 3.0, "des_tvsmash");
 */
declare function N_0xb48fced898292e52(x: number, y: number, z: number, radius: number, name: string): number;
/**
 * Example:
 * OBJECT::GET_RAYFIRE_MAP_OBJECT(-809.9619750976562, 170.919, 75.7406997680664, 3.0, "des_tvsmash");
 */
declare function GetDesObject(x: number, y: number, z: number, radius: number, name: string): number;

/**
 * `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 The des-object handle to get the animation progress from.
 * @return 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.
 */
declare function GetRayfireMapObjectAnimPhase(object: number): number;
/**
 * `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 The des-object handle to get the animation progress from.
 * @return 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.
 */
declare function N_0x260ee4fdbdf4db01(object: number): number;
/**
 * `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 The des-object handle to get the animation progress from.
 * @return 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.
 */
declare function GetDesObjectAnimProgress(object: number): number;

/**
 * Returns all commands that are registered in the command system.
 * The data returned adheres to the following layout:
 * ```
 * [
 * {
 * "name": "cmdlist"
 * },
 * {
 * "name": "command1"
 * }
 * ]
 * ```
 * @return An object containing registered commands.
 */
declare function GetRegisteredCommands(): any;

/**
 * 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);
 */
declare function GetRelationshipBetweenGroups(group1: string | number, group2: string | number): number;

/**
 * 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);
 */
declare function GetRelationshipBetweenPeds(ped1: number, ped2: number): number;

/**
 * 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
 */
declare function GetRenderedCharacterHeight(size: number, font: number): number;
/**
 * 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
 */
declare function N_0xdb88a37483346780(size: number, font: number): number;
/**
 * 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
 */
declare function GetTextScaleHeight(size: number, font: number): number;

declare function GetRenderingCam(): number;

declare function GetReplayStatAtIndex(index: number): number;
declare function N_0x8098c8d6597aae18(index: number): number;

declare function GetReplayStatCount(): number;
declare function N_0xdc9274a7ef6b2867(): number;

declare function GetReplayStatMissionType(): number;
declare function N_0x2b626a0150e4d449(): number;

declare function GetRequestingnightvision(): boolean;
declare function N_0x35fb78dc42b7bd21(): boolean;

declare function GetResourceByFindIndex(findIndex: number): string;

/**
 * A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938).
 * @param key The key to fetch
 * @return The floating-point value stored under the specified key, or 0.0 if not found.
 */
declare function GetResourceKvpFloat(key: string): number;

/**
 * A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8).
 * @param key The key to fetch
 * @return The integer value stored under the specified key, or 0 if not found.
 */
declare function GetResourceKvpInt(key: string): number;

/**
 * A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B).
 * @param key The key to fetch
 * @return The string value stored under the specified key, or nil/null if not found.
 */
declare function GetResourceKvpString(key: string): string;

/**
 * Gets the metadata value at a specified key/index from a resource's manifest.
 * See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
 * @param resourceName The resource name.
 * @param metadataKey The key in the resource manifest.
 * @param index The value index, in a range from \[0..GET_NUM_RESOURCE_METDATA-1].
 */
declare function GetResourceMetadata(resourceName: string, metadataKey: string, index: number): string;

/**
 * Returns the current state of the specified resource.
 * @param resourceName The name of the resource.
 * @return The resource state. One of `"missing", "started", "starting", "stopped", "stopping", "uninitialized" or "unknown"`.
 */
declare function GetResourceState(resourceName: string): string;

declare function GetRoadBoundaryUsingHeading(x: number, y: number, z: number, heading: number): [boolean, number[]];
declare function N_0xa0f8a7517a273c05(x: number, y: number, z: number, heading: number): [boolean, number[]];
declare function GetRoadSidePointWithHeading(x: number, y: number, z: number, heading: number): [boolean, number[]];

declare function GetRoomKeyForGameViewport(): number;
declare function N_0xa6575914d2a0b450(): number;
declare function GetRoomKeyFromGameplayCam(): number;

/**
 * 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.
 */
declare function GetRoomKeyFromEntity(entity: number): number;

/**
 * cpp
 * enum eRopeFlags
 * {
 * DrawShadowEnabled = 2,
 * Breakable = 4,
 * RopeUnwindingFront = 8,
 * RopeWinding = 32
 * }
 * @param rope The rope to get the flags for.
 * @return The rope's flags.
 */
declare function GetRopeFlags(rope: number): number;

declare function GetRopeLastVertexCoord(ropeId: number): number[];

declare function GetRopeLengthChangeRate(rope: number): number;

declare function GetRopeTimeMultiplier(rope: number): number;

declare function GetRopeUpdateOrder(rope: number): number;

declare function GetRopeVertexCoord(ropeId: number, vertex: number): number[];

declare function GetRopeVertexCount(ropeId: number): number;

declare function GetRotationOfVehicleRecordingAtTime(recording: number, time: number, script: string): number[];

declare function GetRotationOfVehicleRecordingIdAtTime(id: number, time: number): number[];
declare function N_0xf0f2103efaf8cba7(id: number, time: number): number[];

/**
 * Gets the height of the specified runtime texture.
 * @param tex A handle to the runtime texture.
 * @return The height in pixels.
 */
declare function GetRuntimeTextureHeight(tex: number): number;

/**
 * Gets the row pitch of the specified runtime texture, for use when creating data for `SET_RUNTIME_TEXTURE_ARGB_DATA`.
 * @param tex A handle to the runtime texture.
 * @return The row pitch in bytes.
 */
declare function GetRuntimeTexturePitch(tex: number): number;

/**
 * Gets the width of the specified runtime texture.
 * @param tex A handle to the runtime texture.
 * @return The width in pixels.
 */
declare function GetRuntimeTextureWidth(tex: number): number;

/**
 * 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.
 */
declare function GetSafeCoordForPed(x: number, y: number, z: number, onGround: boolean, flags: number): [boolean, number[]];

declare function GetSafePickupCoords(x: number, y: number, z: number, p3: number, p4: number): number[];

/**
 * Gets the scale of safe zone. if the safe zone size scale is max, it will return 1.0.
 */
declare function GetSafeZoneSize(): number;

/**
 * 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 Handle of the scaleform
 * @param received Returns a boolean indicating if the data was received successfully (in Lua).
 * @param selectionType The type of MouseEvent specified above.
 * @param context Context of the slot the mouse is hovering on.
 * @param slotIndex Index of the slot the mouse is hovering on.
 * @return *   **retVal** Returns true if MOUSE_EVENT callback from Scaleforms has been called.
 */
declare function GetScaleformMovieCursorSelection(scaleformHandle: number): [boolean, any /* actually bool */, number, number, number];
/**
 * 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 Handle of the scaleform
 * @param received Returns a boolean indicating if the data was received successfully (in Lua).
 * @param selectionType The type of MouseEvent specified above.
 * @param context Context of the slot the mouse is hovering on.
 * @param slotIndex Index of the slot the mouse is hovering on.
 * @return *   **retVal** Returns true if MOUSE_EVENT callback from Scaleforms has been called.
 */
declare function N_0x632b2940c67f4ea9(scaleformHandle: number): [boolean, any /* actually bool */, number, number, number];

/**
 * methodReturn: The return value of this native: END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE
 */
declare function GetScaleformMovieMethodReturnValueBool(methodReturn: number): boolean;
/**
 * methodReturn: The return value of this native: END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE
 */
declare function N_0xd80a80346a45d761(methodReturn: number): boolean;

/**
 * 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 The return value of this native: `EndScaleformMovieMethodReturn`
 * @return Returns an int in the same way `GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_STRING` returns a string.
 */
declare function GetScaleformMovieMethodReturnValueInt(method_return: number): number;
/**
 * 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 The return value of this native: `EndScaleformMovieMethodReturn`
 * @return Returns an int in the same way `GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_STRING` returns a string.
 */
declare function N_0x2de7efa66b906036(method_return: number): number;
/**
 * 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 The return value of this native: `EndScaleformMovieMethodReturn`
 * @return Returns an int in the same way `GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_STRING` returns a string.
 */
declare function GetScaleformMovieFunctionReturnInt(method_return: number): number;

/**
 * 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 The return value of this native: `EndScaleformMovieMethodReturn`
 * @return Returns a string in the same way `GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT` returns an int.
 */
declare function GetScaleformMovieMethodReturnValueString(method_return: number): 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 The return value of this native: `EndScaleformMovieMethodReturn`
 * @return Returns a string in the same way `GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT` returns an int.
 */
declare function SittingTv(method_return: number): 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 The return value of this native: `EndScaleformMovieMethodReturn`
 * @return Returns a string in the same way `GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT` returns an int.
 */
declare function GetScaleformMovieFunctionReturnString(method_return: number): string;

/**
 * A getter for [SET_SCENARIO_PED_DENSITY_MULTIPLIER_THIS_FRAME](#\_0x7A556143A1C03898).
 * @return Returns scenario ped density multiplier value.
 */
declare function GetScenarioPedDensityMultiplier(): number;

/**
 * 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.
 */
declare function GetScreenCoordFromWorldCoord(worldX: number, worldY: number, worldZ: number): [boolean, number, number];
/**
 * 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.
 */
declare function World3dToScreen2d(worldX: number, worldY: number, worldZ: number): [boolean, number, number];

/**
 * Hardcoded to always return 1280x720. Use [`_GET_ACTIVE_SCREEN_RESOLUTION`](?\_0x873C9F3104101DD3) to retrieve the correct screen resolution.
 */
declare function GetScreenResolution(): [number, number];

declare function GetScreenblurFadeCurrentTime(): number;
declare function IsParticleFxDelayedBlink(): number;

/**
 * Calculates the effective X/Y fractions when applying the values set by `SET_SCRIPT_GFX_ALIGN` and
 * `SET_SCRIPT_GFX_ALIGN_PARAMS`.
 * @param x The input X coordinate.
 * @param y The input Y coordinate.
 * @param calculatedX A pointer to the calculated X value.
 * @param calculatedY A pointer to the calculated Y value.
 */
declare function GetScriptGfxPosition(x: number, y: number): [number, number];
/**
 * Calculates the effective X/Y fractions when applying the values set by `SET_SCRIPT_GFX_ALIGN` and
 * `SET_SCRIPT_GFX_ALIGN_PARAMS`.
 * @param x The input X coordinate.
 * @param y The input Y coordinate.
 * @param calculatedX A pointer to the calculated X value.
 * @param calculatedY A pointer to the calculated Y value.
 */
declare function N_0x6dd8f5aa635eb4b2(x: number, y: number): [number, number];

/**
 * Gets the status of a script-assigned task.
 * taskHash: https://alloc8or.re/gta5/doc/enums/eScriptTaskHash.txt
 */
declare function GetScriptTaskStatus(ped: number, taskHash: string | number): number;

declare function GetScriptedCoverPointCoords(coverpoint: number): number[];

declare function GetSeatPedIsTryingToEnter(ped: number): number;

declare function GetSelectedPedWeapon(ped: number): number;

/**
 * returned values:
 * 0 to 7 = task that's currently in progress, 0 meaning the first one.
 * -1 no task sequence in progress.
 */
declare function GetSequenceProgress(ped: number): number;

/**
 * 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 A shape test handle.
 * @param hit Whether or not the shape test hit any collisions.
 * @param endCoords The resulting coordinates where the shape test hit a collision.
 * @param surfaceNormal The surface normal of the hit position.
 * @param entityHit Any dynamic entity hit by the shape test.
 * @return `0` if the handle is invalid, `1` if the shape test is still pending, or `2` if the shape test has completed, and the handle should be invalidated.
 */
declare function GetShapeTestResult(shapeTestHandle: number): [number, any /* actually bool */, number[], number[], number];
/**
 * 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 A shape test handle.
 * @param hit Whether or not the shape test hit any collisions.
 * @param endCoords The resulting coordinates where the shape test hit a collision.
 * @param surfaceNormal The surface normal of the hit position.
 * @param entityHit Any dynamic entity hit by the shape test.
 * @return `0` if the handle is invalid, `1` if the shape test is still pending, or `2` if the shape test has completed, and the handle should be invalidated.
 */
declare function GetRaycastResult(shapeTestHandle: number): [number, any /* actually bool */, number[], number[], number];

/**
 * 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 A shape test handle.
 * @param hit Whether or not the shape test hit any collisions.
 * @param endCoords The resulting coordinates where the shape test hit a collision.
 * @param surfaceNormal The surface normal of the hit position.
 * @param materialHash hash of the hit material or surface type, see materialFX.dat
 * @param entityHit Any dynamic entity hit by the shape test.
 * @return `0` if the handle is invalid, `1` if the shape test is still pending, or `2` if the shape test has completed, and the handle should be invalidated.
 */
declare function GetShapeTestResultIncludingMaterial(shapeTestHandle: number): [number, any /* actually bool */, number[], number[], number, number];
/**
 * 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 A shape test handle.
 * @param hit Whether or not the shape test hit any collisions.
 * @param endCoords The resulting coordinates where the shape test hit a collision.
 * @param surfaceNormal The surface normal of the hit position.
 * @param materialHash hash of the hit material or surface type, see materialFX.dat
 * @param entityHit Any dynamic entity hit by the shape test.
 * @return `0` if the handle is invalid, `1` if the shape test is still pending, or `2` if the shape test has completed, and the handle should be invalidated.
 */
declare function N_0x65287525d951f6be(shapeTestHandle: number): [number, any /* actually bool */, number[], number[], number, number];
/**
 * 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 A shape test handle.
 * @param hit Whether or not the shape test hit any collisions.
 * @param endCoords The resulting coordinates where the shape test hit a collision.
 * @param surfaceNormal The surface normal of the hit position.
 * @param materialHash hash of the hit material or surface type, see materialFX.dat
 * @param entityHit Any dynamic entity hit by the shape test.
 * @return `0` if the handle is invalid, `1` if the shape test is still pending, or `2` if the shape test has completed, and the handle should be invalidated.
 */
declare function GetShapeTestResultEx(shapeTestHandle: number): [number, any /* actually bool */, number[], number[], number, number];

/**
 * Returns number of possible values of the forcedComponentIndex argument of GET_FORCED_COMPONENT.
 */
declare function GetShopPedApparelForcedComponentCount(componentHash: string | number): number;
/**
 * Returns number of possible values of the forcedComponentIndex argument of GET_FORCED_COMPONENT.
 */
declare function GetNumForcedComponents(componentHash: string | number): number;

/**
 * Returns number of possible values of the forcedPropIndex argument of GET_FORCED_PROP.
 */
declare function GetShopPedApparelForcedPropCount(componentHash: string | number): number;
/**
 * Returns number of possible values of the forcedPropIndex argument of GET_FORCED_PROP.
 */
declare function N_0x017568a8182d98a6(componentHash: string | number): number;

declare function GetShopPedApparelVariantComponentCount(componentHash: string | number): number;
declare function N_0xc17ad0e5752becda(componentHash: string | number): number;

declare function GetShopPedApparelVariantPropCount(propHash: string | number): number;
declare function N_0xd40aac51e8e4c663(propHash: string | number): number;

/**
 * More info here: https://gist.github.com/root-cause/3b80234367b0c856d60bf5cb4b826f86
 */
declare function GetShopPedComponent(componentHash: string | number, outComponent?: number): number;

declare function GetShopPedOutfit(p0: number, p1?: number): number;

declare function GetShopPedOutfitComponentVariant(outfit: string | number, slot: number, outComponentVariant?: number): [boolean, number];
declare function GetPropFromOutfit(outfit: string | number, slot: number, outComponentVariant?: number): [boolean, number];

declare function GetShopPedOutfitLocate(p0: number): number;
declare function N_0x073ca26b079f956e(p0: number): number;

declare function GetShopPedOutfitPropVariant(outfitHash: string | number, variantIndex: number, outPropVariant?: number): [boolean, number];
declare function N_0xa9f9c2e0fde11cbb(outfitHash: string | number, variantIndex: number, outPropVariant?: number): [boolean, number];

declare function GetShopPedProp(componentHash: string | number, outProp?: number): number;
declare function N_0x5d5caff661ddf6fc(componentHash: string | number, outProp?: number): number;

declare function GetShopPedQueryComponent(componentId: number, outComponent?: number): number;

/**
 * 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;
 * };
 */
declare function GetShopPedQueryOutfit(outfitIndex: number, outfit?: number): number;

declare function GetShopPedQueryProp(componentId: number, outProp?: number): number;

declare function GetSizeOfSaveData(p0: boolean): number;
declare function N_0xa09f896ce912481f(p0: boolean): number;

declare function GetSnowLevel(): number;

declare function GetSoundId(): number;

/**
 * Counterpart: [`GET_NETWORK_ID_FROM_SOUND_ID`](#\_0x2DE3F0A134FFBC0D).
 * @param netId Network ID of sound.
 * @return Integer representing a sound id, -1 (0xFFFFFFFF) on failure.
 */
declare function GetSoundIdFromNetworkId(netId: number): number;
/**
 * Counterpart: [`GET_NETWORK_ID_FROM_SOUND_ID`](#\_0x2DE3F0A134FFBC0D).
 * @param netId Network ID of sound.
 * @return Integer representing a sound id, -1 (0xFFFFFFFF) on failure.
 */
declare function N_0x75262fd12d0a1c84(netId: number): number;

declare function GetStandardBlipEnumId(): number;
declare function N_0x4a9923385bdb9dad(): number;
declare function GetLevelBlipSprite(): number;

/**
 * Returns the value of a state bag key.
 * @return Value.
 */
declare function GetStateBagValue(bagName: string, key: string): any;

/**
 * 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)
 */
declare function GetStateOfClosestDoorOfType(_type: string | number, x: number, y: number, z: number): [any /* actually bool */, number];

/**
 * 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.
 */
declare function GetStateOfRayfireMapObject(object: number): number;
/**
 * 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.
 */
declare function N_0x899ba936634a322e(object: number): number;
/**
 * 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.
 */
declare function GetDesObjectState(object: number): number;

declare function GetStatusOfLoadMissionCreatorPhoto(p0: string): number;
declare function N_0x1670f8d05056f257(p0: string): number;

declare function GetStatusOfMissionRepeatSave(): number;
declare function N_0x2b5e102e4a42f2bf(): number;

declare function GetStatusOfSaveHighQualityPhoto(): number;
declare function N_0x0c0c4e81e1ac60a0(): number;

/**
 * 3 matches across 3 scripts. First 2 were 0, 3rd was 1. Possibly a bool.
 * appcamera, appmedia, and cellphone_controller.
 */
declare function GetStatusOfSortedListOperation(p0: boolean): number;
/**
 * 3 matches across 3 scripts. First 2 were 0, 3rd was 1. Possibly a bool.
 * appcamera, appmedia, and cellphone_controller.
 */
declare function N_0xf5bed327cea362b1(p0: boolean): number;

declare function GetStatusOfTakeHighQualityPhoto(): number;
declare function N_0x0d6ca79eeebd8ca3(): number;

declare function GetStatusOfTakeMissionCreatorPhoto(): number;
declare function N_0x90a78ecaa4e78453(): number;

/**
 * 0 = succeeded
 * 1 = pending
 * 2 = failed
 */
declare function GetStatusOfTextureDownload(p0: number): number;
/**
 * 0 = succeeded
 * 1 = pending
 * 2 = failed
 */
declare function N_0x8bd6c6dea20e82c6(p0: number): number;
/**
 * 0 = succeeded
 * 1 = pending
 * 2 = failed
 */
declare function GetStatusOfTextureDownload(p0: number): number;

declare function GetStreamPlayTime(): number;

/**
 * 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.
 */
declare function GetStreetNameAtCoord(x: number, y: number, z: number): [number, number];

/**
 * 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).
 */
declare function GetStreetNameFromHashKey(hash: string | number): string;

/**
 * NativeDB Introduced: v2189
 */
declare function GetSubmarineCrushDepthWarningState(submarine: number): number;

/**
 * NativeDB Introduced: v2189
 */
declare function GetSubmarineIsBelowFirstCrushDepth(submarine: number): boolean;

declare function GetSynchronizedScenePhase(sceneID: number): number;

declare function GetSynchronizedSceneRate(sceneID: number): number;

declare function GetTaskMoveNetworkEvent(ped: number, eventName: string): boolean;
declare function N_0xb4f47213df45a64c(ped: number, eventName: string): boolean;

declare function GetTaskMoveNetworkSignalBool(ped: number, signalName: string): boolean;
declare function N_0xa7ffba498e4aaf67(ped: number, signalName: string): boolean;

/**
 * NativeDB Introduced: v1493
 */
declare function GetTaskMoveNetworkSignalFloat(ped: number, signalName: string): number;

declare function GetTaskMoveNetworkState(ped: number): string;
declare function N_0x717e4d1f2048376d(ped: number): string;

/**
 * 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 Character types 0 = Michael, 1 = Franklin, 2 = Trevor, 3 = MPMale, 4 = MPFemale.
 * @param decorationIndex Tattoo index, value between 0 and GetNumDecorations(characterType).
 * @param outComponent The referenced struct.
 * @return A bool indicating that the tattoo data could be fetched(?)
 */
declare function GetTattooShopDlcItemData(characterType: number, decorationIndex: number, outComponent?: number): [boolean, number];
/**
 * 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 Character types 0 = Michael, 1 = Franklin, 2 = Trevor, 3 = MPMale, 4 = MPFemale.
 * @param decorationIndex Tattoo index, value between 0 and GetNumDecorations(characterType).
 * @param outComponent The referenced struct.
 * @return A bool indicating that the tattoo data could be fetched(?)
 */
declare function N_0xff56381874f82086(characterType: number, decorationIndex: number, outComponent?: number): [boolean, number];
/**
 * 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 Character types 0 = Michael, 1 = Franklin, 2 = Trevor, 3 = MPMale, 4 = MPFemale.
 * @param decorationIndex Tattoo index, value between 0 and GetNumDecorations(characterType).
 * @param outComponent The referenced struct.
 * @return A bool indicating that the tattoo data could be fetched(?)
 */
declare function GetTattooCollectionData(characterType: number, decorationIndex: number, outComponent?: number): [boolean, number];

declare function GetTennisSwingAnimComplete(ped: number): boolean;
declare function N_0x17df68d720aa77f8(ped: number): boolean;

/**
 * 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);
 */
declare function GetTextSubstring(text: string, position: number, length: number): string;

/**
 * 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;
 * }
 */
declare function GetTextSubstringSafe(text: string, position: number, length: number, maxLength: number): string;

/**
 * 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_"?
 */
declare function GetTextSubstringSlice(text: string, startPosition: number, endPosition: number): string;

/**
 * Returns the texture resolution of the passed texture dict+name.
 * Note: Most texture resolutions are doubled compared to the console version of the game.
 */
declare function GetTextureResolution(textureDict: string, textureName: string): number[];

declare function GetThisScriptName(): string;

declare function GetTimeAsString(time: number): string;
declare function FormatTime(time: number): string;

/**
 * Subtracts the second argument from the first.
 */
declare function GetTimeDifference(timeA: number, timeB: number): number;

/**
 * GET_TIME_*
 */
declare function GetTimeOfLastPedWeaponDamage(ped: number, weaponHash: string | number): number;
/**
 * GET_TIME_*
 */
declare function N_0x36b77bb84687c318(ped: number, weaponHash: string | number): number;

/**
 * Adds the first argument to the second.
 */
declare function GetTimeOffset(timeA: number, timeB: number): number;

/**
 * Can be used with GET_TOTAL_DURATION_OF_VEHICLE_RECORDING{_ID} to compute a percentage.
 */
declare function GetTimePositionInRecording(vehicle: number): number;

/**
 * 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.
 */
declare function GetTimeSinceLastArrest(): number;

/**
 * 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.
 */
declare function GetTimeSinceLastDeath(): number;

/**
 * The number of milliseconds since last padIndex registered pressed
 */
declare function GetTimeSinceLastInput(padIndex: number): number;
/**
 * The number of milliseconds since last padIndex registered pressed
 */
declare function N_0xd7d22f5592aed8ba(padIndex: number): number;

declare function GetTimeSincePlayerDroveAgainstTraffic(player: number): number;

declare function GetTimeSincePlayerDroveOnPavement(player: number): number;

declare function GetTimeSincePlayerHitPed(player: number): number;

declare function GetTimeSincePlayerHitVehicle(player: number): number;

/**
 * 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
 */
declare function GetTimecycleModifierIndex(): number;

declare function GetTimecycleTransitionModifierIndex(): number;
declare function N_0x459fd2c8d0ab78bc(): number;

declare function GetTogglePausedRenderphasesStatus(): boolean;
declare function N_0xeb3dac2c86001e5e(): boolean;

declare function GetTotalDurationOfVehicleRecording(recording: number, script: string): number;

declare function GetTotalDurationOfVehicleRecordingId(id: number): number;

declare function GetTotalSuccessfulStuntJumps(): number;
declare function N_0x6856ec3d35c81ea4(): number;

/**
 * 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.
 */
declare function GetTrainCarriage(train: number, trailerNumber: number): number;

declare function GetTrainCurrentTrackNode(train: number): number;

/**
 * Gets the door count for the specified train.
 * @param train The train to obtain the door count for.
 * @return The door count.
 */
declare function GetTrainDoorCount(train: number): number;

/**
 * Gets the ratio that a door is open for on a train.
 * @param train The train to obtain the door ratio for.
 * @param doorIndex Zero-based door index.
 * @return A value between 0.0 (fully closed) and 1.0 (fully open).
 */
declare function GetTrainDoorOpenRatio(train: number, doorIndex: number): number;

declare function GetTvChannel(): number;

declare function GetTvVolume(): number;

/**
 * NativeDB Introduced: v1868
 */
declare function GetTyreHealth(vehicle: number, wheelIndex: number): number;

/**
 * NativeDB Introduced: v2060
 */
declare function GetTyreWearMultiplier(vehicle: number, wheelIndex: number): number;

/**
 * 0.0 = no memory used
 * 1.0 = all memory used
 * Maximum model memory (as defined in common\data\missioncreatordata.meta) is 100 MiB
 * GET_*
 */
declare function GetUsedCreatorModelMemoryPercentage(): number;
/**
 * 0.0 = no memory used
 * 1.0 = all memory used
 * Maximum model memory (as defined in common\data\missioncreatordata.meta) is 100 MiB
 * GET_*
 */
declare function N_0x3d3d8b3be5a83d35(): number;

declare function GetUsingnightvision(): boolean;
declare function IsNightvisionInactive(): boolean;
declare function IsNightvisionActive(): boolean;

declare function GetUsingseethrough(): boolean;
declare function IsSeethroughActive(): boolean;

/**
 * Gets current UTC time
 */
declare function GetUtcTime(): [number, number, number, number, number, number];
/**
 * Gets current UTC time
 */
declare function GetUtcTime(): [number, number, number, number, number, number];

declare function GetVariantComponent(componentHash: string | number, variantComponentIndex: number): [number, number, number];

declare function GetVariantProp(componentHash: string | number, variantPropIndex: number): [number, number, number];
declare function N_0xd81b7f27bc773e66(componentHash: string | number, variantPropIndex: number): [number, number, number];

/**
 * static - max acceleration
 */
declare function GetVehicleAcceleration(vehicle: number): number;

declare function GetVehicleAlarmTimeLeft(vehicle: number): number;

/**
 * Returns attached vehicle (Vehicle in parameter must be cargobob)
 */
declare function GetVehicleAttachedToCargobob(cargobob: number): number;

/**
 * Seems related to vehicle health, like the one in IV.
 * Max 1000, min 0.
 * Vehicle does not necessarily explode or become undrivable at 0.
 */
declare function GetVehicleBodyHealth(vehicle: number): number;

/**
 * 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 The vehicle to get the amount of bombs from.
 * @return An int indicating the amount of bombs remaining on that plane.
 */
declare function GetVehicleBombCount(aircraft: number): number;
/**
 * 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 The vehicle to get the amount of bombs from.
 * @return An int indicating the amount of bombs remaining on that plane.
 */
declare function N_0xea12bd130d7569a1(aircraft: number): number;
/**
 * 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 The vehicle to get the amount of bombs from.
 * @return An int indicating the amount of bombs remaining on that plane.
 */
declare function GetAircraftBombCount(aircraft: number): number;

declare function GetVehicleCanActivateParachute(vehicle: number): boolean;
declare function CanVehicleParachuteBeActivated(vehicle: number): boolean;

/**
 * iVar3 = get_vehicle_cause_of_destruction(uLocal_248[iVar2]);
 * if (iVar3 == joaat("weapon_stickybomb"))
 * {
 * func_171(726);
 * iLocal_260 = 1;
 * }
 */
declare function GetVehicleCauseOfDestruction(vehicle: number): number;

/**
 * A getter for [SET_VEHICLE_CHEAT_POWER_INCREASE](#\_0xB59E4BD37AE292DB).
 * @param vehicle The target vehicle.
 * @return Returns vehicle's cheat power increase modifier value.
 */
declare function GetVehicleCheatPowerIncrease(vehicle: number): number;

/**
 * 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);
 */
declare function GetVehicleClass(vehicle: number): number;

declare function GetVehicleClassEstimatedMaxSpeed(vehicleClass: number): number;
declare function N_0x00c09f246abedd82(vehicleClass: number): number;
declare function GetVehicleClassMaxSpeed(vehicleClass: number): number;

/**
 * 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);
 */
declare function GetVehicleClassFromName(modelHash: string | number): number;

declare function GetVehicleClassMaxAcceleration(vehicleClass: number): number;

declare function GetVehicleClassMaxAgility(vehicleClass: number): number;

declare function GetVehicleClassMaxBraking(vehicleClass: number): number;

declare function GetVehicleClassMaxTraction(vehicleClass: number): number;

declare function GetVehicleClutch(vehicle: number): number;

/**
 * See [`SET_VEHICLE_CUSTOM_PRIMARY_COLOUR`](#\_0x7141766F91D15BEA) and [`SET_VEHICLE_CUSTOM_SECONDARY_COLOUR`](#\_0x36CED73BFED89754).
 * @param vehicle The target vehicle
 */
declare function GetVehicleColor(vehicle: number): [number, number, number];

declare function GetVehicleColourCombination(vehicle: number): number;

declare function GetVehicleColours(vehicle: number): [number, number];

/**
 * 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 The vehicle to get the amount of countermeasures from.
 * @return An int indicating the amount of countermeasures remaining on that plane.
 */
declare function GetVehicleCountermeasureCount(aircraft: number): number;
/**
 * 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 The vehicle to get the amount of countermeasures from.
 * @return An int indicating the amount of countermeasures remaining on that plane.
 */
declare function N_0xf846aa63df56b804(aircraft: number): number;
/**
 * 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 The vehicle to get the amount of countermeasures from.
 * @return An int indicating the amount of countermeasures remaining on that plane.
 */
declare function GetAircraftCountermeasureCount(aircraft: number): number;

declare function GetVehicleCrewEmblemRequestState(vehicle: number, p1: number): number;
declare function N_0xfe26117a5841b2ff(vehicle: number, p1: number): number;

declare function GetVehicleCurrentGear(vehicle: number): number;

declare function GetVehicleCurrentRpm(vehicle: number): number;

/**
 * Returns a float value between 0.0 and 3.0 related to its slipstream draft (boost/speedup).
 * GET_VEHICLE_*
 */
declare function GetVehicleCurrentSlipstreamDraft(vehicle: number): number;
/**
 * Returns a float value between 0.0 and 3.0 related to its slipstream draft (boost/speedup).
 * GET_VEHICLE_*
 */
declare function N_0x36492c2f0d134c56(vehicle: number): number;

declare function GetVehicleCustomPrimaryColour(vehicle: number): [number, number, number];

declare function GetVehicleCustomSecondaryColour(vehicle: number): [number, number, number];

declare function GetVehicleDashboardColor(vehicle: number, color?: number): number;
declare function GetVehicleDashboardColour(vehicle: number, color?: number): number;

declare function GetVehicleDashboardSpeed(vehicle: number): number;

/**
 * Returns hash of default vehicle horn
 * Hash is stored in audVehicleAudioEntity
 */
declare function GetVehicleDefaultHorn(vehicle: number): number;

declare function GetVehicleDefaultHornIgnoreMods(vehicle: number): number;
declare function N_0xacb5dcca1ec76840(vehicle: number): number;
declare function GetVehicleHornHash(vehicle: number): number;

/**
 * NativeDB Introduced: v1365
 */
declare function GetVehicleDefaultHornVariation(vehicle: number): number;
/**
 * NativeDB Introduced: v1365
 */
declare function N_0xd53f3a29bce2580e(vehicle: number): number;
/**
 * NativeDB Introduced: v1365
 */
declare function N_0x22fecb546c276a30(vehicle: number): number;

/**
 * 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);
 */
declare function GetVehicleDeformationAtPos(vehicle: number, offsetX: number, offsetY: number, offsetZ: number): number[];

/**
 * A getter for [SET_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME](#\_0x245A6883D966D537).
 * @return Returns vehicle density multiplier value.
 */
declare function GetVehicleDensityMultiplier(): number;

/**
 * A getter for [`SET_VEHICLE_DIRT_LEVEL`](#\_0x79D3B596FE44EE8B).
 * @param vehicle The vehicle to check.
 * @return A number between 0.0 and 15.0 representing the vehicles dirt level.
 */
declare function GetVehicleDirtLevel(vehicle: number): number;

/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 */
declare function GetVehicleDoorAngleRatio(vehicle: number, doorIndex: number): number;

/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 * Returns vehicle door destroy type previously set with \_SET_VEHICLE_DOOR_DESTROY_TYPE
 */
declare function GetVehicleDoorDestroyType(vehicle: number, doorIndex: number): number;
/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 * Returns vehicle door destroy type previously set with \_SET_VEHICLE_DOOR_DESTROY_TYPE
 */
declare function N_0xca4ac3eaae46ec7b(vehicle: number, doorIndex: number): number;

/**
 * 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).
 * }
 */
declare function GetVehicleDoorLockStatus(vehicle: number): number;

declare function GetVehicleDoorsLockedForPlayer(vehicle: number, player: number): boolean;

/**
 * Gets a vehicle's multiplier used with a wheel's GET_VEHICLE_WHEEL_STEERING_ANGLE to determine the angle the wheel is rendered.
 */
declare function GetVehicleDrawnWheelAngleMult(vehicle: number): number;

/**
 * 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
 */
declare function GetVehicleEngineHealth(vehicle: number): number;

declare function GetVehicleEngineTemperature(vehicle: number): number;

/**
 * formerly known as _GET_VEHICLE_PAINT_FADE
 * The result is a value from 0-1, where 0 is fresh paint.
 */
declare function GetVehicleEnveffScale(vehicle: number): number;
/**
 * formerly known as _GET_VEHICLE_PAINT_FADE
 * The result is a value from 0-1, where 0 is fresh paint.
 */
declare function GetVehiclePaintFade(vehicle: number): number;

declare function GetVehicleEstimatedMaxSpeed(vehicle: number): number;
declare function N_0x53af99baa671ca47(vehicle: number): number;
declare function GetVehicleMaxSpeed(vehicle: number): number;

declare function GetVehicleExtraColours(vehicle: number): [number, number];

declare function GetVehicleFlightNozzlePosition(aircraft: number): number;
declare function N_0xda62027c8bdb326e(aircraft: number): number;
declare function GetPlaneHoverModePercentage(aircraft: number): number;
declare function GetVehicleHoverModePercentage(aircraft: number): number;
declare function GetPlaneVtolDirection(aircraft: number): number;

declare function GetVehicleFuelLevel(vehicle: number): number;

declare function GetVehicleGravityAmount(vehicle: number): number;

declare function GetVehicleHandbrake(vehicle: number): boolean;

/**
 * Returns the effective handling data of a vehicle as a floating-point value.
 * Example: `local fSteeringLock = GetVehicleHandlingFloat(vehicle, 'CHandlingData', 'fSteeringLock')`
 * @param vehicle The vehicle to obtain data for.
 * @param class_ The handling class to get. Only "CHandlingData" is supported at this time.
 * @param fieldName The field name to get. These match the keys in `handling.meta`.
 * @return A floating-point value.
 */
declare function GetVehicleHandlingFloat(vehicle: number, class_: string, fieldName: string): number;

/**
 * Returns the effective handling data of a vehicle as an integer value.
 * Example: `local modelFlags = GetVehicleHandlingInt(vehicle, 'CHandlingData', 'strModelFlags')`
 * @param vehicle The vehicle to obtain data for.
 * @param class_ The handling class to get. Only "CHandlingData" is supported at this time.
 * @param fieldName The field name to get. These match the keys in `handling.meta`.
 * @return An integer.
 */
declare function GetVehicleHandlingInt(vehicle: number, class_: string, fieldName: string): number;

/**
 * Returns the effective handling data of a vehicle as a vector value.
 * Example: `local inertiaMultiplier = GetVehicleHandlingVector(vehicle, 'CHandlingData', 'vecInertiaMultiplier')`
 * @param vehicle The vehicle to obtain data for.
 * @param class_ The handling class to get. Only "CHandlingData" is supported at this time.
 * @param fieldName The field name to get. These match the keys in `handling.meta`.
 * @return An integer.
 */
declare function GetVehicleHandlingVector(vehicle: number, class_: string, fieldName: string): number[];

declare function GetVehicleHasKers(vehicle: number): boolean;
declare function N_0x50634e348c8d44ef(vehicle: number): boolean;
declare function HasVehicleKersBoost(vehicle: number): boolean;

declare function GetVehicleHasParachute(vehicle: number): boolean;
declare function HasVehicleParachute(vehicle: number): boolean;
declare function DoesVehicleHaveParachute(vehicle: number): boolean;

/**
 * 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
 */
declare function GetVehicleHealthPercentage(vehicle: number): number;
/**
 * 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
 */
declare function GetVehicleBodyHealth_2(vehicle: number): number;

declare function GetVehicleHighGear(vehicle: number): number;

/**
 * Returns a value depending on the lock-on state of vehicle weapons.
 * 0: not locked on
 * 1: locking on
 * 2: locked on
 */
declare function GetVehicleHomingLockonState(vehicle: number): number;
/**
 * Returns a value depending on the lock-on state of vehicle weapons.
 * 0: not locked on
 * 1: locking on
 * 2: locked on
 */
declare function N_0xe6b0e8cfc3633bf0(vehicle: number): number;

/**
 * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
 */
declare function GetVehicleIndexFromEntityIndex(entity: number): number;

/**
 * Gets the vehicle indicator light state. 0 = off, 1 = left, 2 = right, 3 = both
 * @return An integer.
 */
declare function GetVehicleIndicatorLights(vehicle: number): number;

declare function GetVehicleInteriorColor(vehicle: number, color?: number): number;
declare function GetVehicleInteriorColour(vehicle: number, color?: number): number;

/**
 * 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);
 * }
 */
declare function GetVehicleIsMercenary(vehicle: number): boolean;
/**
 * 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);
 * }
 */
declare function N_0xd4c4642cb7f50b5d(vehicle: number): boolean;

declare function GetVehicleLayoutHash(vehicle: number): number;

declare function GetVehicleLightMultiplier(vehicle: number): number;

declare function GetVehicleLightsState(vehicle: number): [boolean, any /* actually bool */, any /* actually bool */];

/**
 * -1 = no livery
 */
declare function GetVehicleLivery(vehicle: number): number;

/**
 * Returns -1 if the vehicle has no livery
 */
declare function GetVehicleLiveryCount(vehicle: number): number;

declare function GetVehicleLockOnTarget(vehicle: number, entity?: number): [boolean, number];
declare function GetVehicleOwner(vehicle: number, entity?: number): [boolean, number];

declare function GetVehicleMaxBraking(vehicle: number): number;

declare function GetVehicleMaxNumberOfPassengers(vehicle: number): number;

declare function GetVehicleMaxTraction(vehicle: number): number;

/**
 * Returns -1 if the vehicle mod is stock
 * @param modType Refer to eVehicleModType in [`SET_VEHICLE_MOD`](#\_0x6AF0636DDEDCB6DD).
 */
declare function GetVehicleMod(vehicle: number, modType: number): number;

declare function GetVehicleModColor_1(vehicle: number): [number, number, number];

/**
 * returns a string which is the codename of the vehicle's currently selected primary color
 * p1 is always 0
 */
declare function GetVehicleModColor_1Name(vehicle: number, p1: boolean): string;
/**
 * returns a string which is the codename of the vehicle's currently selected primary color
 * p1 is always 0
 */
declare function N_0xb45085b721efd38c(vehicle: number, p1: boolean): string;

declare function GetVehicleModColor_2(vehicle: number): [number, number];

/**
 * returns a string which is the codename of the vehicle's currently selected secondary color
 */
declare function GetVehicleModColor_2Name(vehicle: number): string;
/**
 * returns a string which is the codename of the vehicle's currently selected secondary color
 */
declare function N_0x4967a516ed23a5a1(vehicle: number): string;

/**
 * Can be used for IS_DLC_VEHICLE_MOD and _0xC098810437312FFF
 * @param modType Refer to eVehicleModType in [`SET_VEHICLE_MOD`](#\_0x6AF0636DDEDCB6DD).
 */
declare function GetVehicleModIdentifierHash(vehicle: number, modType: number, modIndex: number): number;
/**
 * Can be used for IS_DLC_VEHICLE_MOD and _0xC098810437312FFF
 * @param modType Refer to eVehicleModType in [`SET_VEHICLE_MOD`](#\_0x6AF0636DDEDCB6DD).
 */
declare function N_0x4593cf82aa179706(vehicle: number, modType: number, modIndex: number): number;
/**
 * Can be used for IS_DLC_VEHICLE_MOD and _0xC098810437312FFF
 * @param modType Refer to eVehicleModType in [`SET_VEHICLE_MOD`](#\_0x6AF0636DDEDCB6DD).
 */
declare function GetVehicleModData(vehicle: number, modType: number, modIndex: number): number;

declare function GetVehicleModKit(vehicle: number): number;

declare function GetVehicleModKitType(vehicle: number): number;

declare function GetVehicleModModifierValue(vehicle: number, modType: number, modIndex: number): number;

/**
 * Only used for wheels(ModType = 23/24) Returns true if the wheels are custom wheels
 * @param modType Refer to eVehicleModType in [`SET_VEHICLE_MOD`](#\_0x6AF0636DDEDCB6DD).
 */
declare function GetVehicleModVariation(vehicle: number, modType: number): boolean;

/**
 * Returns the acceleration of the specified model.
 */
declare function GetVehicleModelAcceleration(modelHash: string | number): number;

/**
 * GET_VEHICLE_MODEL_*
 * 9.8 * thrust if air vehicle, else 0.38 + drive force?
 */
declare function GetVehicleModelEstimatedAgility(modelHash: string | number): number;
/**
 * GET_VEHICLE_MODEL_*
 * 9.8 * thrust if air vehicle, else 0.38 + drive force?
 */
declare function N_0x53409b5163d5b846(modelHash: string | number): number;
/**
 * GET_VEHICLE_MODEL_*
 * 9.8 * thrust if air vehicle, else 0.38 + drive force?
 */
declare function GetVehicleModelDownForce(modelHash: string | number): number;

/**
 * Returns max speed (without mods) of the specified vehicle model in m/s.
 */
declare function GetVehicleModelEstimatedMaxSpeed(modelHash: string | number): number;
/**
 * Returns max speed (without mods) of the specified vehicle model in m/s.
 */
declare function GetVehicleModelMaxSpeed(modelHash: string | number): number;

/**
 * Returns max braking of the specified vehicle model.
 */
declare function GetVehicleModelMaxBraking(modelHash: string | number): number;

declare function GetVehicleModelMaxBrakingMaxMods(modelHash: string | number): number;
declare function N_0xbfba3ba79cff7ebf(modelHash: string | number): number;
declare function GetVehicleModelHandBrake(modelHash: string | number): number;

/**
 * GET_VEHICLE_MODEL_*
 * Function pertains only to aviation vehicles.
 */
declare function GetVehicleModelMaxKnots(modelHash: string | number): number;
/**
 * GET_VEHICLE_MODEL_*
 * Function pertains only to aviation vehicles.
 */
declare function N_0xc6ad107ddc9054cc(modelHash: string | number): number;

/**
 * Returns max traction of the specified vehicle model.
 */
declare function GetVehicleModelMaxTraction(modelHash: string | number): number;

/**
 * GET_VEHICLE_MODEL_*
 * called if the vehicle is a boat -- returns vecMoveResistanceX?
 */
declare function GetVehicleModelMoveResistance(modelHash: string | number): number;
/**
 * GET_VEHICLE_MODEL_*
 * called if the vehicle is a boat -- returns vecMoveResistanceX?
 */
declare function N_0x5aa3f878a178c4fc(modelHash: string | number): number;

/**
 * Returns max number of passengers (including the driver) for the specified vehicle model.
 */
declare function GetVehicleModelNumberOfSeats(modelHash: string | number): number;
/**
 * Returns max number of passengers (including the driver) for the specified vehicle model.
 */
declare function GetVehicleModelMaxNumberOfPassengers(modelHash: string | number): number;

/**
 * Returns `nMonetaryValue` from handling.meta for specific model, which is the vehicle's monetary value.
 */
declare function GetVehicleModelValue(vehicleModel: string | number): number;
/**
 * Returns `nMonetaryValue` from handling.meta for specific model, which is the vehicle's monetary value.
 */
declare function N_0x5873c14a52d74236(vehicleModel: string | number): number;
/**
 * Returns `nMonetaryValue` from handling.meta for specific model, which is the vehicle's monetary value.
 */
declare function GetVehicleModelMonetaryValue(vehicleModel: string | number): number;

/**
 * Gets the color of the neon lights of the specified vehicle.
 * See [`_SET_VEHICLE_NEON_LIGHTS_COLOUR`](#\_0x8E0A582209A62695) for more information
 */
declare function GetVehicleNeonLightsColour(vehicle: number): [number, number, number];

declare function GetVehicleNextGear(vehicle: number): number;

/**
 * Returns false for nodes that aren't used for GPS routes.
 * Example:
 * Nodes in Fort Zancudo and LSIA are false
 */
declare function GetVehicleNodeIsGpsAllowed(nodeID: number): boolean;
/**
 * Returns false for nodes that aren't used for GPS routes.
 * Example:
 * Nodes in Fort Zancudo and LSIA are false
 */
declare function N_0xa2ae5c478b96e3b6(nodeID: number): boolean;
/**
 * Returns false for nodes that aren't used for GPS routes.
 * Example:
 * Nodes in Fort Zancudo and LSIA are false
 */
declare function GetSupportsGpsRouteFlag(nodeID: number): boolean;

/**
 * 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
 */
declare function GetVehicleNodeIsSwitchedOff(nodeID: number): boolean;
/**
 * 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
 */
declare function N_0x4f5070aa58f69279(nodeID: number): boolean;
/**
 * 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
 */
declare function GetIsSlowRoadFlag(nodeID: number): boolean;

/**
 * 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().
 */
declare function GetVehicleNodePosition(nodeId: number): number[];

/**
 * 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.
 */
declare function GetVehicleNodeProperties(x: number, y: number, z: number): [boolean, number, number];

declare function GetVehicleNumberOfBrokenBones(vehicle: number): number;
declare function N_0x2c8cbfe1ea5fc631(vehicle: number): number;

/**
 * Also includes some "turnOffBones" when vehicle mods are installed.
 */
declare function GetVehicleNumberOfBrokenOffBones(vehicle: number): number;
/**
 * Also includes some "turnOffBones" when vehicle mods are installed.
 */
declare function N_0x42a4beb35d372407(vehicle: number): number;

/**
 * Gets the number of passengers, NOT including the driver. Use IS_VEHICLE_SEAT_FREE(Vehicle, -1) to also check for the driver
 */
declare function GetVehicleNumberOfPassengers(vehicle: number): number;

declare function GetVehicleNumberOfWheels(vehicle: number): number;

/**
 * Returns the license plate text from a vehicle.  8 chars maximum.
 */
declare function GetVehicleNumberPlateText(vehicle: number): string;

/**
 * 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,
 */
declare function GetVehicleNumberPlateTextIndex(vehicle: number): number;

declare function GetVehicleOilLevel(vehicle: number): number;

declare function GetVehiclePedIsEntering(ped: number): number;
declare function SetExclusivePhoneRelationships(ped: number): number;

/**
 * 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 The target ped
 * @param lastVehicle False = CurrentVehicle, True = LastVehicle
 * @return The vehicle id. Returns 0 if the ped is/was not in a vehicle.
 */
declare function GetVehiclePedIsIn(ped: number, lastVehicle: boolean): number;

declare function GetVehiclePedIsTryingToEnter(ped: number): number;

/**
 * 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.
 */
declare function GetVehiclePedIsUsing(ped: number): number;

/**
 * 1000 is max health
 * Begins leaking gas at around 650 health
 */
declare function GetVehiclePetrolTankHealth(vehicle: number): number;

/**
 * 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.
 */
declare function GetVehiclePlateType(vehicle: number): number;

/**
 * See [`REQUEST_VEHICLE_RECORDING`](#\_0xAF514CABE74CBF15).
 */
declare function GetVehicleRecordingId(recording: number, script: string): number;

/**
 * Returns index of the current vehicle's rooftop livery.
 * A getter for [\_SET_VEHICLE_ROOF_LIVERY](#\_0xA6D3A8750DC73270).
 * @param vehicle The vehicle handle.
 * @return An index of the current vehicle's rooftop livery.
 */
declare function GetVehicleRoofLivery(vehicle: number): number;
/**
 * Returns index of the current vehicle's rooftop livery.
 * A getter for [\_SET_VEHICLE_ROOF_LIVERY](#\_0xA6D3A8750DC73270).
 * @param vehicle The vehicle handle.
 * @return An index of the current vehicle's rooftop livery.
 */
declare function N_0x60190048c0764a26(vehicle: number): number;

/**
 * Returns a number of available rooftop liveries, or -1 if vehicle has no rooftop liveries available.
 * @param vehicle The vehicle handle.
 * @return A number of available rooftop liveries for vehicle.
 */
declare function GetVehicleRoofLiveryCount(vehicle: number): number;
/**
 * Returns a number of available rooftop liveries, or -1 if vehicle has no rooftop liveries available.
 * @param vehicle The vehicle handle.
 * @return A number of available rooftop liveries for vehicle.
 */
declare function N_0x5ecb40269053c0d4(vehicle: number): number;

declare function GetVehicleSteeringAngle(vehicle: number): number;

declare function GetVehicleSteeringScale(vehicle: number): number;

/**
 * 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.
 */
declare function GetVehicleSuspensionBounds(vehicle: number): [number[], number[]];
/**
 * 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.
 */
declare function N_0xdf7e3eeb29642c38(vehicle: number): [number[], number[]];

/**
 * 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.
 */
declare function GetVehicleSuspensionHeight(vehicle: number): number;

declare function GetVehicleThrottleOffset(vehicle: number): number;
declare function GetVehicleCurrentAcceleration(vehicle: number): number;

/**
 * A getter for [MODIFY_VEHICLE_TOP_SPEED](#\_0x93A3996368C94158). Returns -1.0 if a modifier is not set.
 * @param vehicle The target vehicle.
 * @return Returns vehicle's modified top speed.
 */
declare function GetVehicleTopSpeedModifier(vehicle: number): number;

/**
 * Gets the trailer of a vehicle and puts it into the trailer parameter.
 */
declare function GetVehicleTrailerVehicle(vehicle: number, trailer?: number): [boolean, number];

declare function GetVehicleTurboPressure(vehicle: number): number;

declare function GetVehicleTyreSmokeColor(vehicle: number): [number, number, number];

declare function GetVehicleTyresCanBurst(vehicle: number): boolean;

declare function GetVehicleWaypointProgress(vehicle: number): number;

declare function GetVehicleWaypointTargetPoint(vehicle: number): number;

declare function GetVehicleWeaponCapacity(vehicle: number, weaponIndex: number): number;
declare function N_0x8181ce2f25cb9bb7(vehicle: number, weaponIndex: number): number;

/**
 * Gets brake pressure of a wheel.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 * Normal values around 1.0f when braking.
 */
declare function GetVehicleWheelBrakePressure(vehicle: number, wheelIndex: number): number;

/**
 * Gets the flags of a wheel.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 * @return An unsigned int containing bit flags.
 */
declare function GetVehicleWheelFlags(vehicle: number, wheelIndex: number): number;

declare function GetVehicleWheelHealth(vehicle: number, wheelIndex: number): number;

/**
 * Gets whether the wheel is powered.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 * This is a shortcut to a flag in GET_VEHICLE_WHEEL_FLAGS.
 */
declare function GetVehicleWheelIsPowered(vehicle: number, wheelIndex: number): boolean;

/**
 * Gets power being sent to a wheel.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 */
declare function GetVehicleWheelPower(vehicle: number, wheelIndex: number): number;

declare function GetVehicleWheelRimColliderSize(vehicle: number, wheelIndex: number): number;

/**
 * Gets the rotation speed of a wheel.
 * This is used internally to calcuate GET_VEHICLE_WHEEL_SPEED.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 * @return The angular velocity of the wheel.
 */
declare function GetVehicleWheelRotationSpeed(vehicle: number, wheelIndex: number): number;

/**
 * Returns vehicle's wheels' size (size is the same for all the wheels, cannot get/set specific wheel of vehicle).
 * Only works on non-default wheels (returns 0 in case of default wheels).
 * @param vehicle The vehicle to obtain data for.
 * @return Float representing size of the wheel (usually between 0.5 and 1.5)
 */
declare function GetVehicleWheelSize(vehicle: number): number;

/**
 * Gets speed of a wheel at the tyre.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 * @return An integer.
 */
declare function GetVehicleWheelSpeed(vehicle: number, wheelIndex: number): number;

/**
 * Gets steering angle of a wheel.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 * @return The steering angle of the wheel, with 0 being straight.
 */
declare function GetVehicleWheelSteeringAngle(vehicle: number, wheelIndex: number): number;

declare function GetVehicleWheelSurfaceMaterial(vehicle: number, wheelIndex: number): number;

/**
 * Gets the current suspension compression of a wheel.
 * Returns a positive value. 0 means the suspension is fully extended, the wheel is off the ground.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 * @return The current compression of the wheel's suspension.
 */
declare function GetVehicleWheelSuspensionCompression(vehicle: number, wheelIndex: number): number;

declare function GetVehicleWheelTireColliderSize(vehicle: number, wheelIndex: number): number;

declare function GetVehicleWheelTireColliderWidth(vehicle: number, wheelIndex: number): number;

/**
 * Gets the traction vector length of a wheel.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 */
declare function GetVehicleWheelTractionVectorLength(vehicle: number, wheelIndex: number): number;

/**
 * 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
 * };
 * @return Returns an eVehicleWheelType integer value.
 */
declare function GetVehicleWheelType(vehicle: number): number;

/**
 * Returns vehicle's wheels' width (width is the same for all the wheels, cannot get/set specific wheel of vehicle).
 * Only works on non-default wheels (returns 0 in case of default wheels).
 * @param vehicle The vehicle to obtain data for.
 * @return Float representing width of the wheel (usually between 0.1 and 1.5)
 */
declare function GetVehicleWheelWidth(vehicle: number): number;

/**
 * Returns the offset of the specified wheel relative to the wheel's axle center.
 */
declare function GetVehicleWheelXOffset(vehicle: number, wheelIndex: number): number;

declare function GetVehicleWheelYRotation(vehicle: number, wheelIndex: number): number;
declare function GetVehicleWheelXrot(vehicle: number, wheelIndex: number): number;

/**
 * List of known states:
 * ```
 * 1: Not wheeling.
 * 65: Vehicle is ready to do wheelie (burnouting).
 * 129: Vehicle is doing wheelie.
 * ```
 * @param vehicle Vehicle
 * @return Vehicle's current wheelie state.
 */
declare function GetVehicleWheelieState(vehicle: number): number;

declare function GetVehicleWindowTint(vehicle: number): number;

/**
 * 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 The vehicle to get the headlight color from.
 * @return Returns an int, value between 0-12 or 255 if no color is set.
 */
declare function GetVehicleXenonLightsColor(vehicle: number): number;
/**
 * 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 The vehicle to get the headlight color from.
 * @return Returns an int, value between 0-12 or 255 if no color is set.
 */
declare function N_0x3dff319a831e0cdb(vehicle: number): number;
/**
 * 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 The vehicle to get the headlight color from.
 * @return Returns an int, value between 0-12 or 255 if no color is set.
 */
declare function GetVehicleHeadlightsColour(vehicle: number): number;
/**
 * 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 The vehicle to get the headlight color from.
 * @return Returns an int, value between 0-12 or 255 if no color is set.
 */
declare function GetVehicleXenonLightsColour(vehicle: number): number;

/**
 * Returns vehicle xenon lights custom RGB color values. Do note this native doesn't return non-RGB colors that was set with [\_SET_VEHICLE_XENON_LIGHTS_COLOR](#\_0xE41033B25D003A07).
 * @param vehicle The vehicle handle.
 * @param red Red color (0-255).
 * @param green Green color (0-255).
 * @param blue Blue color (0-255).
 * @return A boolean indicating if vehicle have custom xenon lights RGB color.
 */
declare function GetVehicleXenonLightsCustomColor(vehicle: number): [boolean, number, number, number];

/**
 * NativeDB Introduced: v2372
 */
declare function GetWantedLevelParoleDuration(): number;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xa72200f51875fea4(): number;

/**
 * Remnant from GTA IV. Does nothing in GTA V.
 */
declare function GetWantedLevelRadius(player: number): number;

/**
 * Drft
 */
declare function GetWantedLevelThreshold(wantedLevel: number): number;

/**
 * NativeDB Introduced: v1290
 */
declare function GetWarningMessageTitleHash(): number;

/**
 * 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
 */
declare function GetWaterHeight(x: number, y: number, z: number, height?: number): [boolean, number];

declare function GetWaterHeightNoWaves(x: number, y: number, z: number, height?: number): [boolean, number];

declare function GetWaypointBlipEnumId(): number;
declare function GetBlipInfoIdIterator(): number;

declare function GetWaypointDistanceAlongRoute(p0: string, p1: number): number;

/**
 * A getter for [SET_WEAPON_ANIMATION_OVERRIDE](\_0x1055AC3A667F09D9).
 * @param ped The target ped.
 * @return The weapon animation override.
 */
declare function GetWeaponAnimationOverride(ped: number): number;

/**
 * // 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);
 * }
 * }
 */
declare function GetWeaponClipSize(weaponHash: string | number): number;

/**
 * A getter for `CWeaponAccuracyModifier` in a weapon component.
 * @param componentHash Weapon component name hash.
 * @return A weapon component accuracy modifier.
 */
declare function GetWeaponComponentAccuracyModifier(componentHash: string | number): number;

/**
 * A getter for `CameraHash` in a weapon scope component.
 * @param componentHash Weapon component name hash.
 * @return The hash of the scope camera.
 */
declare function GetWeaponComponentCameraHash(componentHash: string | number): number;

/**
 * A getter for `ClipSize` in a weapon component.
 * @param componentHash Weapon component name hash.
 * @return A weapon component clip size.
 */
declare function GetWeaponComponentClipSize(componentHash: string | number): number;

/**
 * A getter for `CWeaponDamageModifier` in a weapon component.
 * @param componentHash Weapon component name hash.
 * @return A weapon component damage modifier.
 */
declare function GetWeaponComponentDamageModifier(componentHash: string | number): number;

declare function GetWeaponComponentHudStats(componentHash: string | number, outData?: number): [boolean, number];

/**
 * A getter for `CWeaponFallOffModifier` damage modifier value in a weapon component.
 * @param componentHash Weapon component name hash.
 * @return A weapon component damage modifier.
 */
declare function GetWeaponComponentRangeDamageModifier(componentHash: string | number): number;

/**
 * A getter for `CWeaponFallOffModifier` range modifier value in a weapon component.
 * @param componentHash Weapon component name hash.
 * @return A weapon component range modifier.
 */
declare function GetWeaponComponentRangeModifier(componentHash: string | number): number;

/**
 * A getter for `ReticuleHash` in a weapon scope component.
 * @param componentHash Weapon component name hash.
 * @return The hash of the reticule camera.
 */
declare function GetWeaponComponentReticuleHash(componentHash: string | number): number;

declare function GetWeaponComponentTypeModel(componentHash: string | number): number;

declare function GetWeaponComponentVariantExtraComponentCount(componentHash: string | number): number;
declare function N_0x6558ac7c17bfef58(componentHash: string | number): number;

declare function GetWeaponComponentVariantExtraComponentModel(componentHash: string | number, extraComponentIndex: number): number;
declare function N_0x4d1cb8dc40208a17(componentHash: string | number, extraComponentIndex: number): number;

/**
 * This native does not return damages of weapons from the melee and explosive group.
 * @param componentHash 0 in the decompiled scripts.
 * @return Damages of the weapon.
 */
declare function GetWeaponDamage(weaponHash: string | number, componentHash: string | number): number;
/**
 * This native does not return damages of weapons from the melee and explosive group.
 * @param componentHash 0 in the decompiled scripts.
 * @return Damages of the weapon.
 */
declare function N_0x3133b907d8b32053(weaponHash: string | number, componentHash: string | number): number;
/**
 * This native does not return damages of weapons from the melee and explosive group.
 * @param componentHash 0 in the decompiled scripts.
 * @return Damages of the weapon.
 */
declare function GetWeaponDamage(weaponHash: string | number, componentHash: string | number): number;

/**
 * A getter for [\_SET_WEAPON_DAMAGE_MODIFIER](#\_0x4757F00BC6323CFE).
 * @param weaponHash Weapon name hash.
 * @return A weapon damage modifier.
 */
declare function GetWeaponDamageModifier(weaponHash: string | number): number;

/**
 * 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)
 */
declare function GetWeaponDamageType(weaponHash: string | number): number;

/**
 * // 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...
 * }
 */
declare function GetWeaponHudStats(weaponHash: string | number, outData?: number): [boolean, number];

/**
 * Drops the current weapon and returns the object
 * Unknown behavior when unarmed.
 */
declare function GetWeaponObjectFromPed(ped: number, p1: boolean): number;

declare function GetWeaponObjectLiveryColor(weaponObject: number, camoComponentHash: string | number): number;
declare function N_0xb3ea4feabf41464b(weaponObject: number, camoComponentHash: string | number): number;

declare function GetWeaponObjectTintIndex(weapon: number): number;

declare function GetWeaponTimeBetweenShots(weaponHash: string | number): number;
declare function N_0x065d2aacad8cf7a4(weaponHash: string | number): number;

declare function GetWeaponTintCount(weaponHash: string | number): number;

declare function GetWeaponTypeFromPickupType(pickupHash: string | number): number;
declare function N_0x08f96ca6c551ad51(pickupHash: string | number): number;
declare function GetWeaponHashFromPickup(pickupHash: string | number): number;

declare function GetWeapontypeGroup(weaponHash: string | number): number;

/**
 * Returns the model of any weapon.
 * Can also take an ammo hash?
 * sub_6663a(&l_115B, WEAPON::GET_WEAPONTYPE_MODEL(${ammo_rpg}));
 */
declare function GetWeapontypeModel(weaponHash: string | number): number;

declare function GetWeapontypeSlot(weaponHash: string | number): number;

/**
 * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
 */
declare function GetWeatherTypeTransition(): [number, number, number];

declare function GetWindDirection(): number[];

declare function GetWindSpeed(): number;

/**
 * Converts a screen coordinate into its relative world coordinate.
 * @param screenX A screen horizontal axis coordinate (0.0 - 1.0).
 * @param screenY A screen vertical axis coordinate (0.0 - 1.0).
 * @param worldVector The world coord vector pointer.
 * @param normalVector The screen normal vector pointer.
 * @return A Vector3 representing the world coordinates relative to the specified screen coordinates and a screen plane normal Vector3 (normalised).
 */
declare function GetWorldCoordFromScreenCoord(screenX: number, screenY: number): [number[], number[]];

/**
 * Returns the coordinates of an entity-bone.
 */
declare function GetWorldPositionOfEntityBone(entity: number, boneIndex: number): number[];

declare function GetZoneAtCoords(x: number, y: number, z: number): number;

/**
 * '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
 */
declare function GetZoneFromNameId(zoneName: string): number;

declare function GetZonePopschedule(zoneId: number): number;

/**
 * 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 The zone id
 * @return The zone scumminess level
 */
declare function GetZoneScumminess(zoneId: number): number;

/**
 * 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.
 */
declare function GiveAchievementToPlayer(achievement: number): boolean;

/**
 * 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)
 */
declare function GiveDelayedWeaponToPed(ped: number, weaponHash: string | number, ammoCount: number, bForceInHand: boolean): void;

declare function GiveLoadoutToPed(ped: number, loadoutHash: string | number): void;
declare function N_0x68f8be6af5cdf8a6(ped: number, loadoutHash: string | number): void;

/**
 * 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.
 */
declare function GivePedHelmet(ped: number, cannotRemove: boolean, helmetFlag: number, textureIndex: number): void;

/**
 * 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.
 */
declare function GivePedNmMessage(ped: number): void;

/**
 * ```
 * 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.
 */
declare function GivePedToPauseMenu(ped: number, p1: number): void;

declare function GivePlayerRagdollControl(player: number, toggle: boolean): void;

declare function GiveWeaponComponentToPed(ped: number, weaponHash: string | number, componentHash: string | number): void;

/**
 * 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}
 */
declare function GiveWeaponComponentToWeaponObject(weaponObject: number, addonHash: string | number): void;

declare function GiveWeaponObjectToPed(weaponObject: number, ped: number): void;

declare function GiveWeaponToPed(ped: number, weaponHash: string | number, ammoCount: number, isHidden: boolean, bForceInHand: boolean): void;

declare function GolfTrailGetMaxHeight(): number;
declare function N_0xa4819f5e23e2ffad(): number;

declare function GolfTrailGetVisualControlPoint(p0: number): number[];
declare function N_0xa4664972a9b8f8ba(p0: number): number[];

declare function GolfTrailSetColour(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: number, p11: number): void;
declare function N_0x12995f2e53ffa601(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: number, p11: number): void;

declare function GolfTrailSetEnabled(toggle: boolean): void;
declare function N_0xa51c4b86b71652ae(toggle: boolean): void;

declare function GolfTrailSetFacing(p0: boolean): void;
declare function N_0x06f761ea47c1d3ed(p0: boolean): void;

/**
 * 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.
 */
declare function GolfTrailSetFixedControlPoint(_type: number, xPos: number, yPos: number, zPos: number, p4: number, red: number, green: number, blue: number, alpha: number): void;
/**
 * 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.
 */
declare function N_0xb1bb03742917a5d6(_type: number, xPos: number, yPos: number, zPos: number, p4: number, red: number, green: number, blue: number, alpha: number): void;

/**
 * p8 seems to always be false.
 */
declare function GolfTrailSetPath(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: boolean): void;
/**
 * p8 seems to always be false.
 */
declare function N_0x312342e1a4874f3f(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: boolean): void;

declare function GolfTrailSetRadius(p0: number, p1: number, p2: number): void;
declare function N_0x2485d34e50a22e84(p0: number, p1: number, p2: number): void;

/**
 * Only appeared in Golf & Golf_mp. Parameters were all ptrs
 */
declare function GolfTrailSetShaderParams(p0: number, p1: number, p2: number, p3: number, p4: number): void;
/**
 * Only appeared in Golf & Golf_mp. Parameters were all ptrs
 */
declare function N_0x9cfdd90b2b844bf7(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function GolfTrailSetTessellation(p0: number, p1: number): void;
declare function N_0xdbaa5ec848ba2d46(p0: number, p1: number): void;

declare function GrassLodResetScriptAreas(): void;
declare function N_0x302c91ab2d477f7e(): void;

/**
 * Wraps 0xAAE9BE70EC7C69AB with FLT_MAX as p7, Jenkins: 0x73E96210?
 */
declare function GrassLodShrinkScriptAreas(x: number, y: number, z: number, radius: number, p4: number, p5: number, p6: number): void;
/**
 * Wraps 0xAAE9BE70EC7C69AB with FLT_MAX as p7, Jenkins: 0x73E96210?
 */
declare function N_0x6d955f6a9e0295b1(x: number, y: number, z: number, radius: number, p4: number, p5: number, p6: number): void;

declare function HasAchievementBeenPassed(achievement: number): boolean;

declare function HasActionModeAssetLoaded(asset: string): boolean;

declare function HasAdditionalTextLoaded(slot: number): boolean;

declare function HasAnimDictLoaded(animDict: string): boolean;

/**
 * if (ENTITY::HAS_ANIM_EVENT_FIRED(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("CreateObject")))
 */
declare function HasAnimEventFired(entity: number, actionHash: string | number): boolean;

/**
 * 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).
 */
declare function HasAnimSetLoaded(animSet: string): boolean;

/**
 * Hardcoded to always return true.
 */
declare function HasAsyncInstallFinished(): boolean;
/**
 * Hardcoded to always return true.
 */
declare function N_0x14832bf2aba53fc5(): boolean;

/**
 * p3 - possibly radius?
 */
declare function HasBulletImpactedInArea(x: number, y: number, z: number, p3: number, p4: boolean, p5: boolean): boolean;

declare function HasBulletImpactedInBox(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: boolean, p7: boolean): boolean;

/**
 * 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
 */
declare function HasButtonCombinationJustBeenEntered(hash: string | number, amount: number): boolean;
/**
 * 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
 */
declare function N_0x071e2a839de82d90(hash: string | number, amount: number): boolean;

/**
 * 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.
 */
declare function HasCheatStringJustBeenEntered(hash: string | number): boolean;
/**
 * 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.
 */
declare function N_0x557e43c447e700a8(hash: string | number): boolean;

/**
 * Alias for HAS_ANIM_SET_LOADED.
 */
declare function HasClipSetLoaded(clipSet: string): boolean;

declare function HasClosestObjectOfTypeBeenBroken(p0: number, p1: number, p2: number, p3: number, modelHash: string | number, p5: number): boolean;

declare function HasClosestObjectOfTypeBeenCompletelyDestroyed(x: number, y: number, z: number, radius: number, modelHash: string | number, p5: boolean): boolean;
declare function N_0x46494a2475701343(x: number, y: number, z: number, radius: number, modelHash: string | number, p5: boolean): boolean;

/**
 * Sets the value of the specified variable to 0.
 * Always returns true.
 */
declare function HasCloudRequestsFinished(unused: number): [boolean, any /* actually bool */];
/**
 * Sets the value of the specified variable to 0.
 * Always returns true.
 */
declare function Nullify(unused: number): [boolean, any /* actually bool */];

declare function HasCollisionForModelLoaded(model: string | number): boolean;

declare function HasCollisionLoadedAroundEntity(entity: number): boolean;

/**
 * Simply checks if the cutscene has loaded and doesn't check via CutSceneManager as opposed to HAS_[THIS]_CUTSCENE_LOADED.
 */
declare function HasCutFileLoaded(cutsceneName: string): boolean;
/**
 * Simply checks if the cutscene has loaded and doesn't check via CutSceneManager as opposed to HAS_[THIS]_CUTSCENE_LOADED.
 */
declare function N_0xa1c996c2a744262e(cutsceneName: string): boolean;

declare function HasCutsceneCutThisFrame(): boolean;
declare function N_0x708bdd8cd795b043(): boolean;

declare function HasCutsceneFinished(): boolean;

declare function HasCutsceneLoaded(): boolean;

/**
 * HAS_*
 */
declare function HasDirectorModeBeenTriggered(): boolean;
/**
 * HAS_*
 */
declare function N_0xa277800a9eae340e(): boolean;

/**
 * ```
 * P3 is always 3 as far as i cant tell
 * ```
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function HasEntityAnimFinished(entity: number, animDict: string, animName: string, p3: number): boolean;

declare function HasEntityBeenDamagedByAnyObject(entity: number): boolean;

declare function HasEntityBeenDamagedByAnyPed(entity: number): boolean;

declare function HasEntityBeenDamagedByAnyVehicle(entity: number): boolean;

/**
 * Entity 1 = Victim
 * Entity 2 = Attacker
 * p2 seems to always be 1
 */
declare function HasEntityBeenDamagedByEntity(entity1: number, entity2: number, p2: boolean): boolean;

/**
 * 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.
 */
declare function HasEntityBeenDamagedByWeapon(entity: number, weaponHash: string | number, weaponType: number): boolean;

/**
 * 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 Entity to start from
 * @param entity2 Entity to check to
 * @param flags A bit mask with bits 1, 2, 4, etc, relating to collider types (see: [START_EXPENSIVE_SYNCHRONOUS_SHAPE_TEST_LOS_PROBE](#\_0x377906D8A31E5586)). 17 is most common in GTA scripts.
 * @return Returns `true` if no collider of specified bitmask is hit.
 */
declare function HasEntityClearLosToEntity(entity1: number, entity2: number, flags: number): boolean;

/**
 * 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
 */
declare function HasEntityClearLosToEntityInFront(entity1: number, entity2: number): boolean;

/**
 * NativeDB Introduced: v1868
 */
declare function HasEntityClearLosToEntity_2(entity1: number, entity2: number, traceType: number): number;
/**
 * NativeDB Introduced: v1868
 */
declare function N_0x394bde2a7bba031e(entity1: number, entity2: number, traceType: number): number;

/**
 * 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.
 */
declare function HasEntityCollidedWithAnything(entity: number): boolean;

/**
 * HAS_*
 */
declare function HasFilledVehiclePopulation(): boolean;
/**
 * HAS_*
 */
declare function N_0x91d6dd290888cbab(): boolean;

declare function HasForceCleanupOccurred(cleanupFlags: number): boolean;

/**
 * Returns whether or not the specific minimap overlay has loaded.
 * @param id A minimap overlay ID.
 * @return A boolean indicating load status.
 */
declare function HasMinimapOverlayLoaded(id: number): boolean;

/**
 * Checks if the specified model has loaded into memory.
 */
declare function HasModelLoaded(model: string | number): boolean;

/**
 * HAS_*
 */
declare function HasMultiplayerAudioDataLoaded(): boolean;
/**
 * HAS_*
 */
declare function N_0x544810ed9db6bbe6(): boolean;

/**
 * HAS_*
 */
declare function HasMultiplayerAudioDataUnloaded(): boolean;
/**
 * HAS_*
 */
declare function N_0x5b50abb1fe3746f4(): boolean;

declare function HasNamedPtfxAssetLoaded(fxName: string): boolean;

declare function HasNetworkTimeStarted(): boolean;
declare function N_0x46718aceedeafc84(): boolean;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function HasObjectBeenBroken(object: number): boolean;

/**
 * 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.
 */
declare function HasPedBeenDamagedByWeapon(ped: number, weaponHash: string | number, weaponType: number): boolean;

/**
 * p2 should be FALSE, otherwise it seems to always return FALSE
 * Bool does not check if the weapon is current equipped, unfortunately.
 */
declare function HasPedGotWeapon(ped: number, weaponHash: string | number, p2: boolean): boolean;

declare function HasPedGotWeaponComponent(ped: number, weaponHash: string | number, componentHash: string | number): boolean;

declare function HasPedHeadBlendFinished(ped: number): boolean;

declare function HasPedPreloadPropDataFinished(ped: number): boolean;
declare function N_0x784002a632822099(ped: number): boolean;

declare function HasPedPreloadVariationDataFinished(ped: number): boolean;
declare function N_0x66680a92700f43df(ped: number): boolean;

declare function HasPedReceivedEvent(ped: number, eventId: number): boolean;

declare function HasPedheadshotImgUploadFailed(): boolean;
declare function N_0x876928dddfccc9cd(): boolean;

declare function HasPedheadshotImgUploadSucceeded(): boolean;
declare function N_0xe8a169e666cbc541(): boolean;

declare function HasPickupBeenCollected(pickup: number): boolean;

declare function HasPlayerBeenShotByCop(player: number, ms: number, p2: boolean): boolean;
declare function N_0xbc0753c9ca14b506(player: number, ms: number, p2: boolean): boolean;

declare function HasPlayerBeenSpottedInStolenVehicle(player: number): boolean;

declare function HasPlayerDamagedAtLeastOneNonAnimalPed(player: number): boolean;

declare function HasPlayerDamagedAtLeastOnePed(player: number): boolean;

declare function HasPlayerLeftTheWorld(player: number): boolean;

declare function HasPreloadModsFinished(p0: number): boolean;

declare function HasPtfxAssetLoaded(): boolean;

/**
 * Hardcoded to return false.
 */
declare function HasResumedFromSuspend(): boolean;
/**
 * Hardcoded to return false.
 */
declare function N_0xe8b9c0ec9e183f35(): boolean;

declare function HasScaleformContainerMovieLoadedIntoParent(scaleformHandle: number): boolean;

/**
 * Only values used in the scripts are:
 * "heist_mp"
 * "heistmap_mp"
 * "instructional_buttons"
 * "heist_pre"
 */
declare function HasScaleformMovieFilenameLoaded(scaleformName: string): boolean;
/**
 * Only values used in the scripts are:
 * "heist_mp"
 * "heistmap_mp"
 * "instructional_buttons"
 * "heist_pre"
 */
declare function N_0x0c1c5d756fb5f337(scaleformName: string): boolean;
/**
 * Only values used in the scripts are:
 * "heist_mp"
 * "heistmap_mp"
 * "instructional_buttons"
 * "heist_pre"
 */
declare function HasNamedScaleformMovieLoaded(scaleformName: string): boolean;

declare function HasScaleformMovieLoaded(scaleformHandle: number): boolean;

declare function HasScaleformScriptHudMovieLoaded(hudComponent: number): boolean;
declare function HasHudScaleformLoaded(hudComponent: number): boolean;

/**
 * Returns if a script has been loaded into the game. Used to see if a script was loaded after requesting.
 */
declare function HasScriptLoaded(scriptName: string): boolean;

declare function HasScriptWithNameHashLoaded(scriptHash: string | number): boolean;
declare function HasStreamedScriptLoaded(scriptHash: string | number): boolean;

declare function HasSoundFinished(soundId: number): boolean;

declare function HasStealthModeAssetLoaded(asset: string): boolean;

declare function HasStreamedTextureDictLoaded(textureDict: string): boolean;

/**
 * Checks if the specified gxt has loaded into the passed slot.
 */
declare function HasThisAdditionalTextLoaded(gxt: string, slot: number): boolean;

declare function HasThisCutsceneLoaded(cutsceneName: string): boolean;

declare function HasVehicleAssetLoaded(vehicleAsset: number): boolean;

/**
 * Third Parameter = unsure, but pretty sure it is weapon hash
 * --> get_hash_key("weapon_stickybomb")
 * Fourth Parameter = unsure, almost always -1
 */
declare function HasVehicleGotProjectileAttached(driver: number, vehicle: number, weaponHash: string | number, p3: number): boolean;

declare function HasVehiclePhoneExplosiveDevice(): boolean;
declare function N_0x6adaabd3068c5235(): boolean;

declare function HasVehicleRecordingBeenLoaded(recording: number, script: string): boolean;

declare function HasWeaponAssetLoaded(weaponHash: string | number): boolean;

declare function HasWeaponGotWeaponComponent(weapon: number, addonHash: string | number): boolean;

declare function HaveAllStreamingRequestsCompleted(ped: number): boolean;
declare function N_0x7350823473013c02(ped: number): boolean;
declare function HasStreamedPedAssetsLoaded(ped: number): boolean;

declare function HaveCreditsReachedEnd(): boolean;
declare function N_0x075f1d57402c93ba(): boolean;

declare function HaveVehicleModsStreamedIn(vehicle: number): boolean;
declare function N_0x9a83f5f9963775ef(vehicle: number): boolean;
declare function IsVehicleModLoadDone(vehicle: number): boolean;

/**
 * HIDE_*_THIS_FRAME
 * Hides area and vehicle name HUD components for one frame.
 */
declare function HideAreaAndVehicleNameThisFrame(): void;
/**
 * HIDE_*_THIS_FRAME
 * Hides area and vehicle name HUD components for one frame.
 */
declare function N_0xa4dede28b1814289(): void;

declare function HideHelpTextThisFrame(): void;

/**
 * I think this works, but seems to prohibit switching to other weapons (or accessing the weapon wheel)
 */
declare function HideHudAndRadarThisFrame(): void;

/**
 * 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.
 */
declare function HideHudComponentThisFrame(id: number): void;

declare function HideLoadingOnFadeThisFrame(): void;

declare function HideMinimapExteriorMapThisFrame(): void;
declare function DisableRadarThisFrame(): void;

declare function HideMinimapInteriorMapThisFrame(): void;
declare function N_0x20fe7fdfeead38c0(): void;

declare function HideNumberOnBlip(blip: number): void;

declare function HidePedBloodDamageByZone(ped: number, p1: number, p2: boolean): void;
declare function N_0x62ab793144de75dc(ped: number, p1: number, p2: boolean): void;

/**
 * Hides the players weapon during a cutscene.
 */
declare function HidePedWeaponForScriptedCutscene(ped: number, toggle: boolean): void;

declare function HidePortablePickupWhenDetached(pickup: number, toggle: boolean): void;
declare function N_0x867458251d47ccb2(pickup: number, toggle: boolean): void;
declare function HidePickup(pickup: number, toggle: boolean): void;

declare function HideScriptedHudComponentThisFrame(id: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function HideVehicleTombstone(vehicle: number, toggle: boolean): void;

/**
 * NativeDB Added Parameter 3: Any p2
 */
declare function HintAmbientAudioBank(p0: number, p1: number): number;

/**
 * NativeDB Added Parameter 3: Any p2
 */
declare function HintScriptAudioBank(p0: number, p1: number): number;

declare function HiredLimo(p0: number, p1: number): void;
declare function N_0x792271ab35c356a4(p0: number, p1: number): void;

/**
 * Displays loading screen tips, requires `_0x56C8B608CFD49854` to be called beforehand.
 */
declare function HudDisplayLoadingScreenTips(): void;
/**
 * Displays loading screen tips, requires `_0x56C8B608CFD49854` to be called beforehand.
 */
declare function N_0x488043841bbe156f(): void;

/**
 * Forces the weapon wheel to show/hide.
 */
declare function HudForceWeaponWheel(show: boolean): void;
/**
 * Forces the weapon wheel to show/hide.
 */
declare function N_0xeb354e5376bc81a7(show: boolean): void;
/**
 * Forces the weapon wheel to show/hide.
 */
declare function ShowWeaponWheel(show: boolean): void;

/**
 * Set the active slotIndex in the wheel weapon to the slot associated with the provided Weapon hash
 */
declare function HudSetWeaponWheelTopSlot(weaponHash: string | number): void;
/**
 * Set the active slotIndex in the wheel weapon to the slot associated with the provided Weapon hash
 */
declare function N_0x72c1056d678bb7d8(weaponHash: string | number): void;
/**
 * Set the active slotIndex in the wheel weapon to the slot associated with the provided Weapon hash
 */
declare function HudWeaponWheelSetSlotHash(weaponHash: string | number): void;

/**
 * Returns the weapon hash to the selected/highlighted weapon in the wheel
 */
declare function HudWeaponWheelGetSelectedHash(): number;
/**
 * Returns the weapon hash to the selected/highlighted weapon in the wheel
 */
declare function N_0xa48931185f0536fe(): number;

/**
 * Returns the weapon hash active in a specific weapon wheel slotList
 */
declare function HudWeaponWheelGetSlotHash(weaponTypeIndex: number): number;
/**
 * Returns the weapon hash active in a specific weapon wheel slotList
 */
declare function N_0xa13e93403f26c812(weaponTypeIndex: number): number;

/**
 * Sets a global that disables many weapon input tasks (shooting, aiming, etc.). Does not work with vehicle weapons, only used in selector.ysc
 */
declare function HudWeaponWheelIgnoreControlInput(toggle: boolean): void;
/**
 * Sets a global that disables many weapon input tasks (shooting, aiming, etc.). Does not work with vehicle weapons, only used in selector.ysc
 */
declare function N_0x14c9fdcc41f81f63(toggle: boolean): void;

/**
 * Calling this each frame, stops the player from receiving a weapon via the weapon wheel.
 */
declare function HudWeaponWheelIgnoreSelection(): void;
/**
 * Calling this each frame, stops the player from receiving a weapon via the weapon wheel.
 */
declare function BlockWeaponWheelThisFrame(): void;
/**
 * Calling this each frame, stops the player from receiving a weapon via the weapon wheel.
 */
declare function N_0x0afc4af510774b47(): void;

declare function IgnoreNextRestart(toggle: boolean): void;

declare function InitCreatorBudget(): void;
declare function N_0xb5a4db34fe89b88a(): void;
declare function LoadMissionCreatorData(): void;

declare function InitShopPedComponent(outComponent: number): void;

declare function InitShopPedProp(outProp: number): void;

declare function InstantlyFillPedPopulation(): void;
declare function N_0x4759cc730f947c81(): void;

declare function InstantlyFillVehiclePopulation(): void;
declare function N_0x48adc8a773564670(): void;

/**
 * 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)))
 */
declare function IntToParticipantindex(value: number): number;

/**
 * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
 */
declare function IntToPlayerindex(value: number): number;

declare function InterruptConversation(p0: number): [number, number];

/**
 * One call found in the b617d scripts:
 * AUDIO::_8A694D7A68F8DC38(NETWORK::NET_TO_PED(l_3989._f26F[0 -- [[1]] ]), "CONV_INTERRUPT_QUIT_IT", "LESTER");
 */
declare function InterruptConversationAndPause(ped: number, p1: string, p2: string): void;
/**
 * One call found in the b617d scripts:
 * AUDIO::_8A694D7A68F8DC38(NETWORK::NET_TO_PED(l_3989._f26F[0 -- [[1]] ]), "CONV_INTERRUPT_QUIT_IT", "LESTER");
 */
declare function N_0x8a694d7a68f8dc38(ped: number, p1: string, p2: string): void;

/**
 * Resets the idle camera timer. Calling that in a loop once every few seconds is enough to disable the idle cinematic camera.
 */
declare function InvalidateIdleCam(): void;
/**
 * Resets the idle camera timer. Calling that in a loop once every few seconds is enough to disable the idle cinematic camera.
 */
declare function N_0xf4f2c0d4ee209e20(): void;

/**
 * Resets the vehicle idle camera timer. Calling this in a loop will disable the idle camera.
 */
declare function InvalidateVehicleIdleCam(): void;
/**
 * Resets the vehicle idle camera timer. Calling this in a loop will disable the idle camera.
 */
declare function N_0x9e4cfff989258472(): void;

declare function InvokeFunctionReference(referenceIdentity: string, argsSerialized: string, argsLength: number, retvalLength?: number): [string, number];

declare function IsAceAllowed(object: string): boolean;

declare function IsAimCamActive(): boolean;

/**
 * IS_A*
 */
declare function IsAimCamThirdPersonActive(): boolean;
/**
 * IS_A*
 */
declare function N_0x74bd83ea840f6bc9(): boolean;

/**
 * Example:
 * bool playing = AUDIO::IS_ALARM_PLAYING("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS");
 */
declare function IsAlarmPlaying(alarmName: string): boolean;

/**
 * Common in the scripts:
 * AUDIO::IS_AMBIENT_SPEECH_DISABLED(PLAYER::PLAYER_PED_ID());
 */
declare function IsAmbientSpeechDisabled(ped: number): boolean;

declare function IsAmbientSpeechPlaying(ped: number): boolean;

declare function IsAmbientZoneEnabled(ambientZone: string): boolean;

declare function IsAnEntity(handle: number): boolean;

declare function IsAnimalVocalizationPlaying(pedHandle: number): boolean;
declare function N_0xc265df9fb44a9fbd(pedHandle: number): boolean;

declare function IsAnyAirDefenseZoneInsideSphere(x: number, y: number, z: number, radius: number, outZoneId: number): boolean;
declare function N_0xdab963831dbfd3f4(x: number, y: number, z: number, radius: number, outZoneId: number): boolean;
declare function IsAirDefenseZoneInsideSphere(x: number, y: number, z: number, radius: number, outZoneId: number): boolean;

declare function IsAnyEntityAttachedToHandlerFrame(vehicle: number): boolean;
declare function N_0x62ca17b74c435651(vehicle: number): boolean;

declare function IsAnyEntityEntirelyInsideGarage(garageHash: string | number, p1: boolean, p2: boolean, p3: boolean, p4: number): boolean;
declare function N_0x673ed815d6e323b7(garageHash: string | number, p1: boolean, p2: boolean, p3: boolean, p4: number): boolean;

declare function IsAnyHostilePedNearPoint(ped: number, x: number, y: number, z: number, radius: number): boolean;
declare function N_0x68772db2b2526f9f(ped: number, x: number, y: number, z: number, radius: number): boolean;

declare function IsAnyObjectNearPoint(x: number, y: number, z: number, range: number, p4: boolean): boolean;

declare function IsAnyPedNearPoint(x: number, y: number, z: number, radius: number): boolean;

declare function IsAnyPedRappellingFromHeli(vehicle: number): boolean;
declare function N_0x291e373d483e7ee7(vehicle: number): boolean;
declare function AnyPassengersRappeling(vehicle: number): boolean;
declare function IsAnyPassengerRappelingFromVehicle(vehicle: number): boolean;

declare function IsAnyPedShootingInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p6: boolean, p7: boolean): boolean;

declare function IsAnySpeechPlaying(ped: number): boolean;

declare function IsAnyVehicleNearPoint(x: number, y: number, z: number, radius: number): boolean;

declare function IsAreaOccupied(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: boolean, p7: boolean, p8: boolean, p9: boolean, p10: boolean, p11: number, p12: boolean): boolean;

declare function IsAudioSceneActive(scene: string): boolean;

/**
 * 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.
 */
declare function IsAussieVersion(): boolean;

declare function IsAutoSaveInProgress(): boolean;

declare function IsBigVehicle(vehicle: number): boolean;

/**
 * <!-- Native implemented by Disquse. 0xFFF65C63 -->
 * Returns true if the minimap is currently expanded. False if it's the normal minimap state.
 * Use [`IsBigmapFull`](#\_0x66EE14B2) to check if the full map is currently revealed on the minimap.
 * @return A bool indicating if the minimap is currently expanded or normal state.
 */
declare function IsBigmapActive(): boolean;

/**
 * <!-- Native implemented by Disquse. 0x66EE14B2 -->
 * @return Returns true if the full map is currently revealed on the minimap.
Use [`IsBigmapActive`](#\_0xFFF65C63) to check if the minimap is currently expanded or in it's normal state.
 */
declare function IsBigmapFull(): boolean;

/**
 * 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
 */
declare function IsBitSet(address: number, offset: number): boolean;

declare function IsBlipFlashing(blip: number): boolean;

declare function IsBlipOnMinimap(blip: number): boolean;

declare function IsBlipShortRange(blip: number): boolean;

/**
 * IS_*
 */
declare function IsBoatAnchoredAndFrozen(vehicle: number): boolean;
/**
 * IS_*
 */
declare function N_0xb0ad1238a709b1a2(vehicle: number): boolean;

declare function IsBonnetCinematicCamRendering(): boolean;
declare function N_0xd7360051c885628b(): boolean;

/**
 * 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 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 * @return True if a bullet, as maintained by a pool within CWeaponManager, has been fired into the defined angled area.
 */
declare function IsBulletInAngledArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number, ownedByPlayer: boolean): boolean;

declare function IsBulletInArea(x: number, y: number, z: number, radius: number, ownedByPlayer: boolean): boolean;

declare function IsBulletInBox(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, ownedByPlayer: boolean): boolean;

/**
 * Returns whether or not the passed camera handle is active.
 */
declare function IsCamActive(cam: number): boolean;

declare function IsCamInterpolating(cam: number): boolean;

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function IsCamPlayingAnim(cam: number, animName: string, animDictionary: string): boolean;

declare function IsCamRendering(cam: number): boolean;

declare function IsCamShaking(cam: number): boolean;

declare function IsCamSplinePaused(p0: number): boolean;

/**
 * NativeDB Introduced: v1493
 */
declare function IsCinematicCamInputActive(): boolean;
/**
 * NativeDB Introduced: v1493
 */
declare function N_0xf5f1e89a970b7796(): boolean;
/**
 * NativeDB Introduced: v1493
 */
declare function IsCinematicCamActive(): boolean;

declare function IsCinematicCamRendering(): boolean;

declare function IsCinematicCamShaking(): boolean;

declare function IsCinematicIdleCamRendering(): boolean;
declare function N_0xca9d2aa3e326d720(): boolean;

declare function IsCinematicShotActive(p0: number): boolean;

/**
 * Returns true if the collision at the specified coords is marked as being outside (false if there's an interior)
 */
declare function IsCollisionMarkedOutside(x: number, y: number, z: number): boolean;
/**
 * Returns true if the collision at the specified coords is marked as being outside (false if there's an interior)
 */
declare function N_0xeea5ac2eda7c33e8(x: number, y: number, z: number): boolean;
/**
 * Returns true if the collision at the specified coords is marked as being outside (false if there's an interior)
 */
declare function AreCoordsCollidingWithExterior(x: number, y: number, z: number): boolean;

/**
 * Returns true if command line option '-benchmark' is set.
 */
declare function IsCommandLineBenchmarkValueSet(): boolean;
/**
 * Returns true if command line option '-benchmark' is set.
 */
declare function N_0xa049a5be0f04f2f8(): boolean;

declare function IsCommerceDataValid(): boolean;
declare function N_0xea14eef5b7cd2c30(): boolean;

declare function IsCommerceStoreOpen(): boolean;
declare function N_0x2eac52b4019e2782(): boolean;

declare function IsContentItemLocked(itemHash: string | number): boolean;
declare function IsOutfitEmpty(itemHash: string | number): boolean;
declare function IsDlcDataEmpty(itemHash: string | number): boolean;

declare function IsControlEnabled(padIndex: number, control: number): boolean;

/**
 * Returns whether a control was newly pressed since the last check.
 * @param padIndex The control system instance to use. See [`ENABLE_ALL_CONTROL_ACTIONS`](#\_0xA5FFE9B05F199DE7).
 * @param control The [control ID](https://docs.fivem.net/docs/game-references/controls/#controls) to check.
 * @return True if the control was pressed.
 */
declare function IsControlJustPressed(padIndex: number, control: number): boolean;

/**
 * Returns whether a control was newly released since the last check.
 * @param padIndex The control system instance to use. See [`ENABLE_ALL_CONTROL_ACTIONS`](#\_0xA5FFE9B05F199DE7).
 * @param control The [control ID](https://docs.fivem.net/docs/game-references/controls/#controls) to check.
 * @return True if the control was recently released.
 */
declare function IsControlJustReleased(padIndex: number, control: number): boolean;

/**
 * Returns whether a control is currently pressed.
 * @param padIndex The control system instance to use. See [`ENABLE_ALL_CONTROL_ACTIONS`](#\_0xA5FFE9B05F199DE7).
 * @param control The [control ID](https://docs.fivem.net/docs/game-references/controls/#controls) to check.
 * @return True if the control was pressed.
 */
declare function IsControlPressed(padIndex: number, control: number): boolean;

/**
 * Returns whether a control is currently *not* pressed.
 * @param padIndex The control system instance to use. See [`ENABLE_ALL_CONTROL_ACTIONS`](#\_0xA5FFE9B05F199DE7).
 * @param control The [control ID](https://docs.fivem.net/docs/game-references/controls/#controls) to check.
 * @return True if the control is not pressed.
 */
declare function IsControlReleased(padIndex: number, control: number): boolean;

declare function IsConversationPedDead(ped: number): boolean;

/**
 * xyz - relative to the world origin.
 */
declare function IsCopPedInArea_3d(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): boolean;

/**
 * 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);
 * }
 */
declare function IsCopVehicleInArea_3d(x1: number, x2: number, y1: number, y2: number, z1: number, z2: number): boolean;

declare function IsCutsceneActive(): boolean;

declare function IsCutscenePlaybackFlagSet(flag: number): boolean;
declare function N_0x71b74d2ae19338d0(flag: number): boolean;

declare function IsCutscenePlaying(): boolean;

declare function IsDamageTrackerActiveOnNetworkId(netID: number): boolean;

declare function IsDamageTrackerActiveOnPlayer(player: number): boolean;
declare function N_0xb2092a1eaa7fd45f(player: number): boolean;

declare function IsDecalAlive(decal: number): boolean;

declare function IsDisabledControlJustPressed(padIndex: number, control: number): boolean;

declare function IsDisabledControlJustReleased(padIndex: number, control: number): boolean;

declare function IsDisabledControlPressed(padIndex: number, control: number): boolean;

declare function IsDisabledControlReleased(padIndex: number, control: number): boolean;
declare function N_0xfb6c4072e9a32e92(padIndex: number, control: number): boolean;

/**
 * Example:
 * DLC::IS_DLC_PRESENT($\mpbusiness2\);
 * ($ = gethashkey)
 * bruteforce these:
 * 0xB119F6D
 * 0x96F02EE6
 */
declare function IsDlcPresent(dlcHash: string | number): boolean;

declare function IsDlcVehicleMod(hash: string | number): boolean;
declare function N_0x0564b9ff9631b82c(hash: string | number): boolean;

declare function IsDoorClosed(doorHash: string | number): boolean;

/**
 * if (OBJECT::IS_DOOR_REGISTERED_WITH_SYSTEM(doorHash))
 * {
 * OBJECT::REMOVE_DOOR_FROM_SYSTEM(doorHash);
 * }
 */
declare function IsDoorRegisteredWithSystem(doorHash: string | number): boolean;
/**
 * if (OBJECT::IS_DOOR_REGISTERED_WITH_SYSTEM(doorHash))
 * {
 * OBJECT::REMOVE_DOOR_FROM_SYSTEM(doorHash);
 * }
 */
declare function N_0xc153c43ea202c8c1(doorHash: string | number): boolean;
/**
 * if (OBJECT::IS_DOOR_REGISTERED_WITH_SYSTEM(doorHash))
 * {
 * OBJECT::REMOVE_DOOR_FROM_SYSTEM(doorHash);
 * }
 */
declare function DoesDoorExist(doorHash: string | number): boolean;

declare function IsDrivebyTaskUnderneathDrivingTask(ped: number): boolean;

/**
 * Returns whether or not a browser is created for a specified DUI browser object.
 * @param duiObject The DUI browser handle.
 * @return A boolean indicating TRUE if the browser is created.
 */
declare function IsDuiAvailable(duiObject: number): boolean;

/**
 * Gets whether or not this is the CitizenFX server.
 * @return A boolean value.
 */
declare function IsDuplicityVersion(): boolean;

declare function IsDurangoVersion(): boolean;

declare function IsEntityAMissionEntity(entity: number): boolean;

declare function IsEntityAPed(entity: number): boolean;

declare function IsEntityAVehicle(entity: number): boolean;

declare function IsEntityAnObject(entity: number): boolean;

/**
 * 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
 */
declare function IsEntityAtCoord(entity: number, xPos: number, yPos: number, zPos: number, xSize: number, ySize: number, zSize: number, p7: boolean, p8: boolean, p9: number): boolean;

/**
 * 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
 */
declare function IsEntityAtEntity(entity1: number, entity2: number, xSize: number, ySize: number, zSize: number, p5: boolean, p6: boolean, p7: number): boolean;

declare function IsEntityAttached(entity: number): boolean;

declare function IsEntityAttachedToAnyObject(entity: number): boolean;

declare function IsEntityAttachedToAnyPed(entity: number): boolean;

declare function IsEntityAttachedToAnyVehicle(entity: number): boolean;

declare function IsEntityAttachedToEntity(_from: number, to: number): boolean;

declare function IsEntityAttachedToHandlerFrame(vehicle: number, entity: number): boolean;
declare function SetPedEnabledBikeRingtone(vehicle: number, entity: number): boolean;
declare function IsVehicleNearEntity(vehicle: number, entity: number): boolean;

/**
 * NativeDB Added Parameter 2: BOOL p1
 */
declare function IsEntityDead(entity: number): boolean;

declare function IsEntityFocus(entity: number): boolean;

declare function IsEntityGhostedToLocalPlayer(entity: number): boolean;
declare function N_0x21d04d7bc538c146(entity: number): boolean;
declare function IsEntityAGhost(entity: number): boolean;

declare function IsEntityInAir(entity: number): boolean;

/**
 * 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 x1 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 * @param debug a debug flag invoking functions in the same path as `DRAW_MARKER`
 * @param includez If true, include the Z dimension when doing the height check; otherwise the query becomes two-dimensional
 */
declare function IsEntityInAngledArea(entity: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number, debug: boolean, includez: boolean, p10: number): boolean;

declare function IsEntityInArea(entity: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p7: boolean, p8: boolean, p9: number): boolean;

declare function IsEntityInWater(entity: number): boolean;

declare function IsEntityInZone(entity: number, zone: string): boolean;

declare function IsEntityOccluded(entity: number): boolean;

declare function IsEntityOnFire(entity: number): boolean;

/**
 * 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
 */
declare function IsEntityOnScreen(entity: number): boolean;

/**
 * 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/)
 */
declare function IsEntityPlayingAnim(entity: number, animDict: string, animName: string, taskFlag: number): boolean;

/**
 * A getter for [FREEZE_ENTITY_POSITION](#\_0x428CA6DBD1094446).
 * @param entity The entity to check for
 * @return Boolean stating if it is frozen or not.
 */
declare function IsEntityPositionFrozen(entity: number): boolean;

/**
 * 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.
 */
declare function IsEntityStatic(entity: number): boolean;

declare function IsEntityTouchingEntity(entity: number, targetEntity: number): boolean;

declare function IsEntityTouchingModel(entity: number, modelHash: string | number): boolean;

declare function IsEntityUpright(entity: number, angle: number): boolean;

declare function IsEntityUpsidedown(entity: number): boolean;

declare function IsEntityVisible(entity: number): boolean;

declare function IsEntityVisibleToScript(entity: number): boolean;

declare function IsEntityWaitingForWorldCollision(entity: number): boolean;

declare function IsExplosionActiveInArea(explosionType: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): boolean;
declare function N_0x6070104b699b2ef4(explosionType: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): boolean;

/**
 * See [`IS_POINT_IN_ANGLED_AREA`](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
 * @param explosionType explosion enum, -1 for any explosion type. See [ADD_EXPLOSION](#\_0xE3AD2BDBAEE269AC).
 * @param x1 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 */
declare function IsExplosionInAngledArea(explosionType: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number): boolean;

declare function IsExplosionInArea(explosionType: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): boolean;

declare function IsExplosionInSphere(explosionType: number, x: number, y: number, z: number, radius: number): boolean;

declare function IsFirstPersonAimCamActive(): boolean;

declare function IsFlashLightOn(ped: number): boolean;
declare function SetWeaponSmokegrenadeAssigned(ped: number): boolean;

declare function IsFloatingHelpTextOnScreen(hudIndex: number): boolean;
declare function N_0x2432784aca090da4(hudIndex: number): boolean;

declare function IsFollowPedCamActive(): boolean;

declare function IsFollowVehicleCamActive(): boolean;

/**
 * This function is hard-coded to always return 0.
 */
declare function IsFrontendFading(): boolean;

declare function IsFrontendReadyForControl(): boolean;
declare function N_0x3bab9a4e4f2ff5c7(): boolean;

/**
 * Hardcoded to return 1
 */
declare function IsGameInControlOfMusic(): boolean;

declare function IsGameplayCamLookingBehind(): boolean;

/**
 * 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.
 */
declare function IsGameplayCamRendering(): boolean;

declare function IsGameplayCamShaking(): boolean;

declare function IsGameplayHintActive(): boolean;

declare function IsGarageEmpty(garageHash: string | number, p1: boolean, p2: number): boolean;

declare function IsHandlerFrameAboveContainer(handler: number, container: number): boolean;
declare function N_0x89d630cf5ea96d23(handler: number, container: number): boolean;

declare function IsHeliLandingAreaBlocked(vehicle: number): boolean;
declare function N_0x634148744f385576(vehicle: number): boolean;

declare function IsHeliPartBroken(vehicle: number, p1: boolean, p2: boolean, p3: boolean): boolean;

declare function IsHelpMessageBeingDisplayed(): boolean;

declare function IsHelpMessageFadingOut(): boolean;

declare function IsHelpMessageOnScreen(): boolean;

/**
 * Checks whether the horn of a vehicle is currently played.
 */
declare function IsHornActive(vehicle: number): boolean;

declare function IsHoveringOverMissionCreatorBlip(): boolean;
declare function N_0x4167efe0527d706e(): boolean;

/**
 * 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;
 */
declare function IsHudComponentActive(id: number): boolean;

declare function IsHudHidden(): boolean;

declare function IsHudPreferenceSwitchedOn(): boolean;

declare function IsInItemset(p0: number, p1: number): boolean;

/**
 * aka "constrained"
 */
declare function IsInPowerSavingMode(): boolean;
/**
 * aka "constrained"
 */
declare function N_0x684a41975f077262(): boolean;

declare function IsInVehicleCamDisabled(): boolean;
declare function N_0x4f32c0d5a90a9b40(): boolean;

/**
 * =======================================================
 * 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.
 * =======================================================
 */
declare function IsIncidentValid(incidentId: number): boolean;

declare function IsInteriorCapped(interiorID: number): boolean;

declare function IsInteriorDisabled(interior: number): boolean;

declare function IsInteriorEntitySetActive(interior: number, entitySetName: string): boolean;
declare function N_0x35f7dd45e8c0a16d(interior: number, entitySetName: string): boolean;
declare function IsInteriorPropEnabled(interior: number, entitySetName: string): boolean;

declare function IsInteriorReady(interiorID: number): boolean;

/**
 * Returns a bool if interior rendering is disabled, if yes, all "normal" rendered interiors are invisible
 */
declare function IsInteriorRenderingDisabled(): boolean;

declare function IsInteriorScene(): boolean;

declare function IsIplActive(iplName: string): boolean;

declare function IsItemsetValid(p0: number): boolean;

declare function IsLookInverted(): boolean;

declare function IsMemoryCardInUse(): boolean;

declare function IsMessageBeingDisplayed(): boolean;

declare function IsMinigameInProgress(): boolean;

declare function IsMinimapInInterior(): boolean;
declare function N_0x9049fe339d5f6f6f(): boolean;

declare function IsMinimapRendering(): boolean;
declare function N_0xaf754f20eb5cd51a(): boolean;
declare function IsRadarEnabled(): boolean;

declare function IsMissionCompletePlaying(): boolean;

declare function IsMissionCompleteReadyForUi(): boolean;
declare function N_0x6f259f82d873b8b8(): boolean;

declare function IsMissionCreatorBlip(blip: number): boolean;

declare function IsMissionNewsStoryUnlocked(newsStory: number): boolean;
declare function GetNumberOfPassengerVoiceVariations(newsStory: number): boolean;

/**
 * NativeDB Introduced: v2372
 */
declare function IsMissionTrain(vehicle: number): boolean;

declare function IsMobilePhoneCallOngoing(): boolean;

declare function IsMobilePhoneRadioActive(): boolean;

declare function IsModelAPed(model: string | number): boolean;

/**
 * Returns whether the specified model represents a vehicle.
 */
declare function IsModelAVehicle(model: string | number): boolean;

/**
 * Check if model is in cdimage(rpf)
 */
declare function IsModelInCdimage(model: string | number): boolean;

/**
 * Returns whether the specified model exists in the game.
 */
declare function IsModelValid(model: string | number): boolean;

declare function IsMountedWeaponTaskUnderneathDrivingTask(ped: number): boolean;

/**
 * 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.
 */
declare function IsMouseCursorAboveInstructionalButtons(): boolean;
/**
 * 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.
 */
declare function N_0x3d9acb1eb139e702(): boolean;

declare function IsMoveBlendRatioRunning(ped: number): boolean;

declare function IsMoveBlendRatioSprinting(ped: number): boolean;

declare function IsMoveBlendRatioStill(ped: number): boolean;

declare function IsMoveBlendRatioWalking(ped: number): boolean;

declare function IsMpGamerTagActive(gamerTagId: number): boolean;
declare function N_0x4e929e7a5796fd26(gamerTagId: number): boolean;

declare function IsMpGamerTagFree(gamerTagId: number): boolean;
declare function AddTrevorRandomModifier(gamerTagId: number): boolean;

declare function IsMpGamerTagMovieActive(): boolean;
declare function N_0x6e0eb3eb47c8d7aa(): boolean;
declare function HasMpGamerTag(): boolean;

/**
 * Returns whether or not the text chat (MULTIPLAYER_CHAT Scaleform component) is active.
 */
declare function IsMultiplayerChatActive(): boolean;
/**
 * Returns whether or not the text chat (MULTIPLAYER_CHAT Scaleform component) is active.
 */
declare function IsTextChatActive(): boolean;

declare function IsMusicOneshotPlaying(): boolean;
declare function N_0xa097ab275061fb21(): boolean;

declare function IsNamedRendertargetLinked(modelHash: string | number): boolean;

declare function IsNamedRendertargetRegistered(name: string): boolean;

declare function IsNavigatingMenuContent(): number;
declare function N_0x4e3cd0ef8a489541(): number;

/**
 * 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...
 */
declare function IsNavmeshLoadedInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): boolean;

/**
 * IS_*
 */
declare function IsNavmeshRequiredRegionOwnedByAnyThread(): boolean;
/**
 * IS_*
 */
declare function N_0x705a844002b39dc0(): boolean;

declare function IsNetworkIdOwnedByParticipant(netId: number): boolean;
declare function N_0xa1607996431332df(netId: number): boolean;
declare function NetworkCanNetworkIdBeSeen(netId: number): boolean;

declare function IsNetworkLoadingScene(): boolean;

declare function IsNewLoadSceneActive(): boolean;

declare function IsNewLoadSceneLoaded(): boolean;

/**
 * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
 */
declare function IsNextWeatherType(weatherType: string): boolean;

/**
 * Checks if keyboard input is enabled during NUI focus using `SET_NUI_FOCUS_KEEP_INPUT`.
 * @return True or false.
 */
declare function IsNuiFocusKeepingInput(): boolean;

/**
 * Returns the current NUI focus state previously set with `SET_NUI_FOCUS`.
 * @return True or false.
 */
declare function IsNuiFocused(): boolean;

declare function IsObjectAPickup(object: number): boolean;
declare function N_0xfc481c641ebbd27d(object: number): boolean;

/**
 * NativeDB Introduced: v1365
 */
declare function IsObjectAPortablePickup(object: number): boolean;
/**
 * NativeDB Introduced: v1365
 */
declare function N_0x0378c08504160d0d(object: number): boolean;

declare function IsObjectEntirelyInsideGarage(garageHash: string | number, entity: number, p2: number, p3: number): boolean;
declare function N_0x372ef6699146a1e4(garageHash: string | number, entity: number, p2: number, p3: number): boolean;

declare function IsObjectNearPoint(objectHash: string | number, x: number, y: number, z: number, range: number): boolean;

declare function IsObjectPartiallyInsideGarage(garageHash: string | number, entity: number, p2: number): boolean;
declare function N_0xf0eed5a6bc7b237a(garageHash: string | number, entity: number, p2: number): boolean;

declare function IsObjectVisible(object: number): boolean;

declare function IsObjectWithinBrainActivationRange(object: number): boolean;

/**
 * Returns the same as `IS_SOCIAL_CLUB_ACTIVE`.
 */
declare function IsOnlinePoliciesMenuActive(): boolean;
/**
 * Returns the same as `IS_SOCIAL_CLUB_ACTIVE`.
 */
declare function N_0x6f72cd94f7b5b68c(): boolean;

declare function IsOrbisVersion(): boolean;

declare function IsPauseMenuActive(): boolean;

declare function IsPauseMenuRestarting(): boolean;

declare function IsPcVersion(): boolean;

/**
 * Returns true if the given ped has a valid pointer to CPlayerInfo in its CPed class. That's all.
 */
declare function IsPedAPlayer(ped: number): boolean;

/**
 * When passing a ped parameter, the function returns true if the ped is currently in any scenario.
 */
declare function IsPedActiveInScenario(ped: number): boolean;

declare function IsPedAimingFromCover(ped: number): boolean;

/**
 * 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 The ped to check armed state on.
 * @param typeFlags Type flags to check.
 * @return Whether or not the ped is currently equipped with any weapon matching typeFlags.
 */
declare function IsPedArmed(ped: number, typeFlags: number): boolean;

/**
 * This function is hard-coded to always return 0.
 */
declare function IsPedBeingArrested(ped: number): boolean;

declare function IsPedBeingJacked(ped: number): boolean;

declare function IsPedBeingStealthKilled(ped: number): boolean;

/**
 * p1 is always 0
 */
declare function IsPedBeingStunned(ped: number, p1: number): boolean;

declare function IsPedBlushColorValid(colorID: number): boolean;
declare function N_0x604e810189ee3a59(colorID: number): boolean;

declare function IsPedBlushColorValid_2(colorId: number): boolean;
declare function N_0xf41b5d290c99a3d6(colorId: number): boolean;

/**
 * NativeDB Introduced: v1290
 */
declare function IsPedBodyBlemishValid(colorID: number): boolean;
/**
 * NativeDB Introduced: v1290
 */
declare function N_0x09e7eca981d9b210(colorID: number): boolean;

declare function IsPedClimbing(ped: number): boolean;

/**
 * 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
 */
declare function IsPedComponentVariationValid(ped: number, componentId: number, drawableId: number, textureId: number): boolean;

declare function IsPedCuffed(ped: number): boolean;

/**
 * This native returns a true or false value.
 * Ped ped = The ped whose weapon you want to check.
 */
declare function IsPedCurrentWeaponSilenced(ped: number): boolean;

/**
 * Seems to consistently return true if the ped is dead, however, it does not detect the dying phase.
 * @param ped the ped
 * @param p1 always passed 1 in the scripts; requires more research.
 * @return Whether the ped is dead or dying.
 */
declare function IsPedDeadOrDying(ped: number, p1: boolean): boolean;

declare function IsPedDefensiveAreaActive(ped: number, p1: boolean): boolean;
declare function N_0xba63d9fe45412247(ped: number, p1: boolean): boolean;

declare function IsPedDiving(ped: number): boolean;

declare function IsPedDoingBeastJump(ped: number): boolean;
declare function N_0x451d05012ccec234(ped: number): boolean;

declare function IsPedDoingDriveby(ped: number): boolean;

declare function IsPedDucking(ped: number): boolean;

/**
 * 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)
 */
declare function IsPedEvasiveDiving(ped: number, evadingEntity?: number): [boolean, number];

declare function IsPedExclusiveDriverOfVehicle(ped: number, vehicle: number, outIndex: number): boolean;
declare function N_0xb09d25e77c33eb3f(ped: number, vehicle: number, outIndex: number): boolean;

/**
 * angle is ped's view cone
 */
declare function IsPedFacingPed(ped: number, otherPed: number, angle: number): boolean;

declare function IsPedFalling(ped: number): boolean;

/**
 * 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.
 */
declare function IsPedFatallyInjured(ped: number): boolean;

declare function IsPedFleeing(ped: number): boolean;

declare function IsPedGettingIntoAVehicle(ped: number): boolean;

declare function IsPedGettingUp(ped: number): boolean;

declare function IsPedGoingIntoCover(ped: number): boolean;

declare function IsPedGroupMember(ped: number, groupId: number): boolean;

declare function IsPedHairColorValid(colorID: number): boolean;
declare function N_0xe0d36e5d9e99cc21(colorID: number): boolean;

declare function IsPedHairColorValid_2(colorId: number): boolean;
declare function N_0xed6d8e27a43b8cde(colorId: number): boolean;

declare function IsPedHangingOnToVehicle(ped: number): boolean;

declare function IsPedHeadingTowardsPosition(ped: number, x: number, y: number, z: number, p4: number): boolean;
declare function N_0xfcf37a457cb96dc0(ped: number, x: number, y: number, z: number, p4: number): boolean;

declare function IsPedHeadtrackingEntity(ped: number, entity: number): boolean;

declare function IsPedHeadtrackingPed(ped1: number, ped2: number): boolean;

declare function IsPedHelmetUnk(ped: number): boolean;
declare function N_0xb9496ce47546db2c(ped: number): boolean;

/**
 * Returns true/false if the ped is/isn't humanoid.
 */
declare function IsPedHuman(ped: number): boolean;

/**
 * Returns whether the specified ped is hurt.
 */
declare function IsPedHurt(ped: number): boolean;

declare function IsPedInAnyBoat(ped: number): boolean;

declare function IsPedInAnyHeli(ped: number): boolean;

declare function IsPedInAnyPlane(ped: number): boolean;

declare function IsPedInAnyPoliceVehicle(ped: number): boolean;

declare function IsPedInAnySub(ped: number): boolean;

declare function IsPedInAnyTaxi(ped: number): boolean;

declare function IsPedInAnyTrain(ped: number): boolean;

/**
 * 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 The ped to check.
 * @param atGetIn `true` to also consider attempting to enter a vehicle.
 * @return Whether or not the ped is currently involved in any vehicle.
 */
declare function IsPedInAnyVehicle(ped: number, atGetIn: boolean): boolean;

/**
 * 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
 */
declare function IsPedInCombat(ped: number, target: number): boolean;

/**
 * p1 is nearly always 0 in the scripts.
 */
declare function IsPedInCover(ped: number, exceptUseWeapon: boolean): boolean;

declare function IsPedInCoverFacingLeft(ped: number): boolean;

declare function IsPedInCurrentConversation(ped: number): boolean;

declare function IsPedInFlyingVehicle(ped: number): boolean;

declare function IsPedInGroup(ped: number): boolean;

declare function IsPedInHighCover(ped: number): boolean;
declare function N_0x6a03bf943d767c93(ped: number): boolean;
declare function IsPedStandingInCover(ped: number): boolean;

/**
 * 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
 */
declare function IsPedInMeleeCombat(ped: number): boolean;

declare function IsPedInModel(ped: number, modelHash: string | number): boolean;

declare function IsPedInParachuteFreeFall(ped: number): boolean;

/**
 * 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.
 */
declare function IsPedInVehicle(ped: number, vehicle: number, atGetIn: boolean): boolean;

/**
 * This native checks if a ped is on the ground, in pain from a (gunshot) wound.
 * @return Returns `true` if the ped is in [writhe](https://dictionary.cambridge.org/dictionary/english/writhe), `false` otherwise.
 */
declare function IsPedInWrithe(ped: number): boolean;

/**
 * Gets a value indicating whether this ped's health is below its injured threshold.
 * The default threshold is 100.
 */
declare function IsPedInjured(ped: number): boolean;

declare function IsPedJacking(ped: number): boolean;

declare function IsPedJumping(ped: number): boolean;

declare function IsPedJumpingOutOfVehicle(ped: number): boolean;

declare function IsPedLipstickColorValid(colorID: number): boolean;
declare function N_0x0525a2c2562f3cd4(colorID: number): boolean;

declare function IsPedLipstickColorValid_2(colorId: number): boolean;
declare function N_0x3e802f11fbe27674(colorId: number): boolean;

/**
 * Returns true/false if the ped is/isn't male.
 */
declare function IsPedMale(ped: number): boolean;

declare function IsPedModel(ped: number, modelHash: string | number): boolean;

declare function IsPedOnAnyBike(ped: number): boolean;

declare function IsPedOnFoot(ped: number): boolean;

/**
 * Same function call as PED::GET_MOUNT, aka just returns 0
 */
declare function IsPedOnMount(ped: number): boolean;

declare function IsPedOnSpecificVehicle(ped: number, vehicle: number): boolean;

/**
 * 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.
 */
declare function IsPedOnVehicle(ped: number): boolean;

/**
 * IS_PED_*
 * Returns true if the ped is currently opening a door (CTaskOpenDoor).
 */
declare function IsPedOpeningADoor(ped: number): boolean;
/**
 * IS_PED_*
 * Returns true if the ped is currently opening a door (CTaskOpenDoor).
 */
declare function N_0x26af0e8e30bd2a2c(ped: number): boolean;

declare function IsPedPerformingDependentComboLimit(ped: number): boolean;
declare function N_0xebd0edba5be957cf(ped: number): boolean;

declare function IsPedPerformingMeleeAction(ped: number): boolean;
declare function N_0xdcca191df9980fd7(ped: number): boolean;

declare function IsPedPerformingStealthKill(ped: number): boolean;

declare function IsPedPlantingBomb(ped: number): boolean;

declare function IsPedPlayingBaseClipInScenario(ped: number): boolean;
declare function N_0x621c6e4729388e41(ped: number): boolean;

declare function IsPedProne(ped: number): boolean;

/**
 * If the ped handle passed through the parenthesis is in a ragdoll state this will return true.
 */
declare function IsPedRagdoll(ped: number): boolean;

/**
 * Returns whether the specified ped is reloading.
 */
declare function IsPedReloading(ped: number): boolean;

declare function IsPedRespondingToEvent(ped: number, event: number): boolean;

declare function IsPedRingtonePlaying(ped: number): boolean;

declare function IsPedRunning(ped: number): boolean;

declare function IsPedRunningArrestTask(ped: number): boolean;

declare function IsPedRunningMeleeTask(ped: number): boolean;
declare function N_0xd1871251f3b5acd7(ped: number): boolean;

declare function IsPedRunningMobilePhoneTask(ped: number): boolean;

declare function IsPedRunningRagdollTask(ped: number): boolean;

declare function IsPedShaderEffectValid(ped: number): boolean;
declare function N_0x81aa517fbba05d39(ped: number): boolean;

/**
 * Returns whether the specified ped is shooting.
 */
declare function IsPedShooting(ped: number): boolean;

declare function IsPedShootingInArea(ped: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p7: boolean, p8: boolean): boolean;

/**
 * Detect if ped is in any vehicle
 * [True/False]
 */
declare function IsPedSittingInAnyVehicle(ped: number): boolean;

/**
 * Detect if ped is sitting in the specified vehicle
 * [True/False]
 */
declare function IsPedSittingInVehicle(ped: number, vehicle: number): boolean;

declare function IsPedSprinting(ped: number): boolean;

declare function IsPedStill(ped: number): boolean;

/**
 * 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.
 */
declare function IsPedStopped(ped: number): boolean;

/**
 * What's strafing?
 */
declare function IsPedStrafing(ped: number): boolean;

declare function IsPedSwappingWeapon(Ped: number): boolean;
declare function N_0x3795688a307e1eb6(Ped: number): boolean;

declare function IsPedSwimming(ped: number): boolean;

declare function IsPedSwimmingUnderWater(ped: number): boolean;

declare function IsPedTakingOffHelmet(ped: number): boolean;
declare function N_0x14590ddbedb1ec85(ped: number): boolean;

declare function IsPedTracked(ped: number): boolean;

declare function IsPedTryingToEnterALockedVehicle(ped: number): boolean;

declare function IsPedUsingActionMode(ped: number): boolean;

declare function IsPedUsingAnyScenario(ped: number): boolean;

declare function IsPedUsingScenario(ped: number, scenario: string): boolean;

declare function IsPedVaulting(ped: number): boolean;

declare function IsPedWalking(ped: number): boolean;

declare function IsPedWeaponComponentActive(ped: number, weaponHash: string | number, componentHash: string | number): boolean;

declare function IsPedWeaponReadyToShoot(ped: number): boolean;

/**
 * Returns true if the ped passed through the parenthesis is wearing a helmet.
 */
declare function IsPedWearingHelmet(ped: number): boolean;

declare function IsPedheadshotImgUploadAvailable(): boolean;
declare function N_0xebb376779a760aa8(): boolean;

/**
 * gtaforums.com/topic/885580-ped-headshotmugshot-txd/
 */
declare function IsPedheadshotReady(id: number): boolean;

/**
 * gtaforums.com/topic/885580-ped-headshotmugshot-txd/
 */
declare function IsPedheadshotValid(id: number): boolean;

declare function IsPickupWeaponObjectValid(object: number): boolean;
declare function N_0x11d1e53a726891fe(object: number): boolean;

declare function IsPlaneLandingGearIntact(plane: number): boolean;
declare function N_0x4198ab0022b15f87(plane: number): boolean;
declare function VehicleHasLandingGear(plane: number): boolean;

declare function IsPlaybackGoingOnForVehicle(vehicle: number): boolean;

declare function IsPlaybackUsingAiGoingOnForVehicle(vehicle: number): boolean;

/**
 * Returns true if an unk value is greater than 0.0f
 */
declare function IsPlayerBattleAware(player: number): boolean;
/**
 * Returns true if an unk value is greater than 0.0f
 */
declare function N_0x38d28da81e4e9bf9(player: number): boolean;

/**
 * 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.
 */
declare function IsPlayerBeingArrested(player: number, atArresting: boolean): boolean;

declare function IsPlayerBluetoothEnable(player: number): boolean;
declare function N_0x65faee425de637b0(player: number): boolean;

/**
 * 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.
 */
declare function IsPlayerCamControlDisabled(): boolean;
/**
 * 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.
 */
declare function N_0x7c814d2fb49f40c0(): boolean;

/**
 * Returns TRUE if the player ('s ped) is climbing at the moment.
 */
declare function IsPlayerClimbing(player: number): boolean;

/**
 * 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.
 */
declare function IsPlayerControlOn(player: number): boolean;

declare function IsPlayerDead(player: number): boolean;

declare function IsPlayerEntirelyInsideGarage(garageHash: string | number, player: number, p2: number, p3: number): boolean;
declare function N_0x024a60deb0ea69f0(garageHash: string | number, player: number, p2: number, p3: number): boolean;

/**
 * Gets a value indicating whether the specified player is currently aiming freely.
 */
declare function IsPlayerFreeAiming(player: number): boolean;

/**
 * Gets a value indicating whether the specified player is currently aiming freely at the specified entity.
 */
declare function IsPlayerFreeAimingAtEntity(player: number, entity: number): boolean;

declare function IsPlayerFreeForAmbientTask(player: number): boolean;

declare function IsPlayerInCutscene(player: number): boolean;

/**
 * this function is hard-coded to always return 0.
 */
declare function IsPlayerLoggingInNp(): boolean;

/**
 * Returns TRUE if the game is in online mode and FALSE if in offline mode.
 * This is an alias for NETWORK_IS_SIGNED_ONLINE.
 */
declare function IsPlayerOnline(): boolean;

declare function IsPlayerPartiallyInsideGarage(garageHash: string | number, player: number, p2: number): boolean;
declare function N_0x1761dc5d8471cbaa(garageHash: string | number, player: number, p2: number): boolean;

/**
 * Checks whether the specified player has a Ped, the Ped is not dead, is not injured and is not arrested.
 */
declare function IsPlayerPlaying(player: number): boolean;

declare function IsPlayerPressingHorn(player: number): boolean;

declare function IsPlayerReadyForCutscene(player: number): boolean;

/**
 * Returns true if the player is riding a train.
 */
declare function IsPlayerRidingTrain(player: number): boolean;

declare function IsPlayerScriptControlOn(player: number): boolean;

/**
 * Returns true if the player is currently switching, false otherwise.
 * (When the camera is in the sky moving from Trevor to Franklin for example)
 */
declare function IsPlayerSwitchInProgress(): boolean;
/**
 * Returns true if the player is currently switching, false otherwise.
 * (When the camera is in the sky moving from Trevor to Franklin for example)
 */
declare function N_0xd9d2cfff49fab35f(): boolean;

declare function IsPlayerTargettingAnything(player: number): boolean;

declare function IsPlayerTargettingEntity(player: number, entity: number): boolean;

declare function IsPlayerTeleportActive(): boolean;

declare function IsPlayerVehRadioEnable(): boolean;
declare function N_0x5f43d83fd6738741(): boolean;
declare function IsPlayerVehicleRadioEnabled(): boolean;

declare function IsPlayerWantedLevelGreater(player: number, wantedLevel: number): boolean;

declare function IsPlayingPhoneGestureAnim(ped: number): boolean;

/**
 * NativeDB Introduced: v1604
 */
declare function IsPlaylistUnk(tvChannel: number, p1: number): boolean;

/**
 * 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 The x coordinate.
 * @param yPos The y coordinate.
 * @param zPos The z coordinate.
 * @param x1 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 * @param p10 a debug flag invoking functions in the same path as `DRAW_MARKER`
 * @param includez If true, include the Z dimension when doing the height check; otherwise the query becomes two-dimensional
 */
declare function IsPointInAngledArea(xPos: number, yPos: number, zPos: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number, p10: boolean, includez: boolean): boolean;

declare function IsPointObscuredByAMissionEntity(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): boolean;

/**
 * Gets a value indicating whether the specified position is on a road.
 * The vehicle parameter is not implemented (ignored).
 */
declare function IsPointOnRoad(x: number, y: number, z: number, vehicle: number): boolean;

/**
 * NativeDB Introduced: v1290
 */
declare function IsPopMultiplierAreaUnk(id: number): boolean;

/**
 * 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 X coordinate of the position to check.
 * @param y Y coordinate of the position to check.
 * @param z Z coordinate of the position to check.
 * @param range The range, seems to not be very accurate during testing.
 * @param p4 Unknown, when set to true it seems to always return true no matter what I try.
 * @param checkVehicles Check for any vehicles in that area.
 * @param checkPeds Check for any peds in that area.
 * @param p7 Unknown.
 * @param p8 Unknown.
 * @param ignoreEntity This entity will be ignored if it's in the area. Set to 0 if you don't want to exclude any entities.
 * @param p10 Unknown.
 * @return Returns true if there is anything in that location matching the provided parameters.
 */
declare function IsPositionOccupied(x: number, y: number, z: number, range: number, p4: boolean, checkVehicles: boolean, checkPeds: boolean, p7: boolean, p8: boolean, ignoreEntity: number, p10: boolean): boolean;

/**
 * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
 */
declare function IsPrevWeatherType(weatherType: string): boolean;

declare function IsPrincipalAceAllowed(principal: string, object: string): boolean;

/**
 * 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.
 */
declare function IsProjectileInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, ownedByPlayer: boolean): boolean;

/**
 * See [`IS_POINT_IN_ANGLED_AREA`](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
 * ```
 * NativeDB Removed Parameter 7: float p7
 * ```
 * @param x1 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 */
declare function IsProjectileTypeInAngledArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number, p7: number, weaponHash: string | number, ownedByPlayer: boolean): boolean;

/**
 * Determines whether there is a projectile of a specific type within the specified coordinates. The coordinates form a axis-aligned bounding box.
 */
declare function IsProjectileTypeInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, _type: number, ownedByPlayer: boolean): boolean;

declare function IsProjectileTypeWithinDistance(x: number, y: number, z: number, projHash: string | number, radius: number, ownedByPlayer: boolean): boolean;
declare function N_0x34318593248c8fb2(x: number, y: number, z: number, projHash: string | number, radius: number, ownedByPlayer: boolean): boolean;
declare function IsProjectileTypeInRadius(x: number, y: number, z: number, projHash: string | number, radius: number, ownedByPlayer: boolean): boolean;

declare function IsPs3Version(): boolean;

declare function IsRadarHidden(): boolean;

declare function IsRadarPreferenceSwitchedOn(): boolean;

declare function IsRadioFadedOut(): boolean;
declare function N_0x0626a247d2405330(): boolean;

declare function IsRadioRetuning(): boolean;

/**
 * NativeDB Introduced: v2699
 */
declare function IsRadioStationVisible(radioStation: string): boolean;

/**
 * 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
 */
declare function IsRecording(): boolean;

declare function IsReportugcMenuOpen(): boolean;
declare function N_0x9135584d09a3437e(): boolean;

declare function IsRockstarMessageReadyForScript(): boolean;
declare function N_0xbc1cc91205ec8d6e(): boolean;

/**
 * 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 The return value of this native: `EndScaleformMovieMethodReturn`
 * @return Returns true if the return value of a scaleform function is ready to be collected
 */
declare function IsScaleformMovieMethodReturnValueReady(method_return: number): boolean;
/**
 * 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 The return value of this native: `EndScaleformMovieMethodReturn`
 * @return Returns true if the return value of a scaleform function is ready to be collected
 */
declare function N_0x768ff8961ba904d6(method_return: number): boolean;
/**
 * 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 The return value of this native: `EndScaleformMovieMethodReturn`
 * @return Returns true if the return value of a scaleform function is ready to be collected
 */
declare function GetScaleformMovieFunctionReturnBool(method_return: number): boolean;

/**
 * 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")) {
 */
declare function IsScenarioGroupEnabled(scenarioGroup: string): boolean;

declare function IsScenarioOccupied(p0: number, p1: number, p2: number, p3: number, p4: boolean): boolean;

/**
 * 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.
 */
declare function IsScenarioTypeEnabled(scenarioType: string): boolean;

declare function IsScreenFadedIn(): boolean;

declare function IsScreenFadedOut(): boolean;

declare function IsScreenFadingIn(): boolean;

declare function IsScreenFadingOut(): boolean;

/**
 * Returns whether screen transition to blur/from blur is running.
 */
declare function IsScreenblurFadeRunning(): boolean;
/**
 * Returns whether screen transition to blur/from blur is running.
 */
declare function N_0x7b226c785a52a0a9(): boolean;

/**
 * In drunk_controller.c4, sub_309
 * if (CAM::IS_SCRIPT_GLOBAL_SHAKING()) {
 * CAM::STOP_SCRIPT_GLOBAL_SHAKING(0);
 * }
 */
declare function IsScriptGlobalShaking(): boolean;
/**
 * In drunk_controller.c4, sub_309
 * if (CAM::IS_SCRIPT_GLOBAL_SHAKING()) {
 * CAM::STOP_SCRIPT_GLOBAL_SHAKING(0);
 * }
 */
declare function N_0xc912af078af19212(): boolean;

declare function IsScriptedConversationLoaded(): boolean;

declare function IsScriptedConversationOngoing(): boolean;

declare function IsScriptedHudComponentActive(id: number): boolean;

declare function IsScriptedHudComponentHiddenThisFrame(id: number): boolean;
declare function N_0x09c0403ed9a751c2(id: number): boolean;

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function IsScriptedScenarioPedUsingConditionalAnim(ped: number, animDict: string, anim: string): boolean;

declare function IsScriptedSpeechPlaying(p0: number): boolean;

/**
 * NativeDB Introduced: v1493
 */
declare function IsScubaGearLightEnabled(ped: number): boolean;

declare function IsSeatWarpOnly(vehicle: number, seatIndex: number): boolean;
declare function N_0xf7f203e31f96f6a1(vehicle: number, seatIndex: number): boolean;

/**
 * eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt
 */
declare function IsShockingEventInSphere(eventType: number, x: number, y: number, z: number, radius: number): boolean;

/**
 * Determines whether there is a sniper bullet within the specified coordinates. The coordinates form an axis-aligned bounding box.
 */
declare function IsSniperBulletInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): boolean;

/**
 * This function is hard-coded to always return 0.
 */
declare function IsSniperInverted(): boolean;

declare function IsSocialClubActive(): boolean;
declare function N_0xc406be343fc4b9af(): boolean;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function IsSpecialAbilityActive(player: number): boolean;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function IsSpecialAbilityEnabled(player: number): boolean;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function IsSpecialAbilityMeterFull(player: number): boolean;

declare function IsSpecialAbilityUnlocked(playerModel: string | number): boolean;

declare function IsSphereVisible(x: number, y: number, z: number, radius: number): boolean;

declare function IsSphereVisibleToAnotherMachine(p0: number, p1: number, p2: number, p3: number): boolean;

declare function IsSphereVisibleToPlayer(p0: number, p1: number, p2: number, p3: number, p4: number): boolean;

/**
 * Returns true when the srl from BEGIN_SRL is loaded.
 * @return *   A boolean once BeginSrl srl is loaded.
 */
declare function IsSrlLoaded(): boolean;

declare function IsStoreAvailableToUser(): boolean;
declare function N_0x883d79c4071e18b3(): boolean;

declare function IsStreamPlaying(): boolean;

declare function IsStreamingAdditionalText(p0: number): boolean;

/**
 * **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
 * Returns whether an asynchronous streaming file registration completed.
 * @param registerAs The file name to check, for example `asset.ydr`.
 * @return Whether or not the streaming file has been registered.
 */
declare function IsStreamingFileReady(registerAs: string): boolean;

declare function IsStreamvolActive(): boolean;
declare function N_0xbc9823ab80a3dcac(): boolean;

declare function IsStringNull(_string: string): boolean;

declare function IsStringNullOrEmpty(_string: string): boolean;

declare function IsStuntJumpInProgress(): boolean;

declare function IsStuntJumpMessageShowing(): boolean;
declare function N_0x2272b0a1343129f4(): boolean;

declare function IsSubtitlePreferenceSwitchedOn(): boolean;

declare function IsSwitchReadyForDescent(): boolean;
declare function N_0xdfa80cb25d0a19b3(): boolean;

declare function IsSwitchSkippingDescent(): boolean;
declare function DestroyPlayerInPauseMenu(): boolean;

declare function IsSynchronizedSceneHoldLastFrame(sceneID: number): boolean;
declare function N_0x7f2f4f13ac5257ef(sceneID: number): boolean;

declare function IsSynchronizedSceneLooped(sceneID: number): boolean;

/**
 * Returns true if a synchronized scene is running
 */
declare function IsSynchronizedSceneRunning(sceneId: number): boolean;

declare function IsSystemUiBeingDisplayed(): boolean;

declare function IsTaskMoveNetworkActive(ped: number): boolean;
declare function N_0x921ce12c489c4c41(ped: number): boolean;

declare function IsTaskMoveNetworkReadyForTransition(ped: number): boolean;
declare function N_0x30ed88d5e0c56a37(ped: number): boolean;

declare function IsTaxiLightOn(vehicle: number): boolean;

declare function IsTennisMode(ped: number): boolean;

declare function IsThisAMinigameScript(): boolean;

declare function IsThisModelABicycle(model: string | number): boolean;

declare function IsThisModelABike(model: string | number): boolean;

declare function IsThisModelABoat(model: string | number): boolean;

/**
 * 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!)
 */
declare function IsThisModelACar(model: string | number): boolean;

declare function IsThisModelAHeli(model: string | number): boolean;

/**
 * Checks if model is a boat, then checks for FLAG_IS_JETSKI.
 */
declare function IsThisModelAJetski(model: string | number): boolean;
/**
 * Checks if model is a boat, then checks for FLAG_IS_JETSKI.
 */
declare function IsThisModelASubmersible(model: string | number): boolean;
/**
 * Checks if model is a boat, then checks for FLAG_IS_JETSKI.
 */
declare function IsThisModelAnEmergencyBoat(model: string | number): boolean;

declare function IsThisModelAPlane(model: string | number): boolean;

declare function IsThisModelAQuadbike(model: string | number): boolean;

declare function IsThisModelATrain(model: string | number): boolean;

declare function IsThisModelAnAmphibiousCar(model: string | number): boolean;

declare function IsThisModelAnAmphibiousQuadbike(model: string | number): boolean;
declare function N_0xa1a9fc1c76a6730d(model: string | number): boolean;

declare function IsThreadActive(threadId: number): boolean;

/**
 * Returns true if the two times are equal; otherwise returns false.
 */
declare function IsTimeEqualTo(timeA: number, timeB: number): boolean;
/**
 * Returns true if the two times are equal; otherwise returns false.
 */
declare function AreIntegersEqual(timeA: number, timeB: number): boolean;

/**
 * Subtracts the second argument from the first, then returns whether the result is negative.
 */
declare function IsTimeLessThan(timeA: number, timeB: number): boolean;
/**
 * Subtracts the second argument from the first, then returns whether the result is negative.
 */
declare function SubtractBFromAAndCheckIfNegative(timeA: number, timeB: number): boolean;

/**
 * Subtracts the first argument from the second, then returns whether the result is negative.
 */
declare function IsTimeMoreThan(timeA: number, timeB: number): boolean;
/**
 * Subtracts the first argument from the second, then returns whether the result is negative.
 */
declare function SubtractAFromBAndCheckIfNegative(timeA: number, timeB: number): boolean;

declare function IsToggleModOn(vehicle: number, modType: number): boolean;

/**
 * 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.
 */
declare function IsTrackedPedVisible(ped: number): boolean;

declare function IsTrackedPointVisible(point: number): boolean;

declare function IsTurretSeat(vehicle: number, seatIndex: number): boolean;
declare function N_0xe33ffa906ce74880(vehicle: number, seatIndex: number): boolean;

/**
 * IS_*
 */
declare function IsTvPlaylistItemPlaying(videoCliphash: string | number): boolean;
/**
 * IS_*
 */
declare function N_0x0ad973ca1e077b60(videoCliphash: string | number): boolean;
/**
 * IS_*
 */
declare function LoadTvChannel(videoCliphash: string | number): boolean;

declare function IsUsingKeyboard(padIndex: number): boolean;
declare function GetLastInputMethod(padIndex: number): boolean;
declare function IsInputDisabled(padIndex: number): boolean;

declare function IsUsingKeyboard_2(padIndex: number): boolean;
declare function N_0x13337b38db572509(padIndex: number): boolean;
declare function IsInputJustDisabled(padIndex: number): boolean;

declare function IsValidInterior(interior: number): boolean;

/**
 * IS_*
 */
declare function IsValidMpGamerTagMovie(gamerTagId: number): boolean;
/**
 * IS_*
 */
declare function N_0xeb709a36958abe0d(gamerTagId: number): boolean;
/**
 * IS_*
 */
declare function HasMpGamerTag_2(gamerTagId: number): boolean;
/**
 * IS_*
 */
declare function HasMpGamerTagCrewFlagsSet(gamerTagId: number): boolean;

/**
 * p1 is false almost always.
 * However, in launcher_carwash/carwash1/carwash2 scripts, p1 is true and is accompanied by DOES_VEHICLE_HAVE_ROOF
 */
declare function IsVehicleAConvertible(vehicle: number, p1: boolean): boolean;

declare function IsVehicleAlarmActivated(vehicle: number): boolean;

declare function IsVehicleAlarmSet(vehicle: number): boolean;

declare function IsVehicleAttachedToCargobob(cargobob: number, vehicleAttached: number): boolean;

/**
 * Scripts verify that towTruck is the first parameter, not the second.
 */
declare function IsVehicleAttachedToTowTruck(towTruck: number, vehicle: number): boolean;

declare function IsVehicleAttachedToTrailer(vehicle: number): boolean;

declare function IsVehicleAudiblyDamaged(vehicle: number): boolean;
declare function N_0x5db8010ee71fdef2(vehicle: number): boolean;

/**
 * Returns true if vehicle is halted by BRING_VEHICLE_TO_HALT
 * _IS_VEHICLE_*
 * ```
 * ```
 * NativeDB Introduced: v1493
 */
declare function IsVehicleBeingHalted(vehicle: number): boolean;
/**
 * Returns true if vehicle is halted by BRING_VEHICLE_TO_HALT
 * _IS_VEHICLE_*
 * ```
 * ```
 * NativeDB Introduced: v1493
 */
declare function N_0xc69bb1d832a710ef(vehicle: number): boolean;

declare function IsVehicleBumperBouncing(vehicle: number, frontBumper: boolean): boolean;
declare function N_0x27b926779deb502d(vehicle: number, frontBumper: boolean): boolean;

declare function IsVehicleBumperBrokenOff(vehicle: number, front: boolean): boolean;

/**
 * Appears to return true if the vehicle has any damage, including cosmetically.
 * GET_*
 */
declare function IsVehicleDamaged(vehicle: number): boolean;

/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 */
declare function IsVehicleDoorDamaged(veh: number, doorID: number): boolean;

/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 * @param vehicle The vehicle to check.
 * @param doorIndex The index of the door to check.
 * @return A bool indiciating if the specified door is fully open on the specified vehicle.
 */
declare function IsVehicleDoorFullyOpen(vehicle: number, doorIndex: number): boolean;

/**
 * p1 is always 0 in the scripts.
 * p1 = check if vehicle is on fire
 */
declare function IsVehicleDriveable(vehicle: number, isOnFireCheck: boolean): boolean;

/**
 * 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 The vehicle to check.
 * @return Returns true when the engine of your vehicle is on fire. Returns false if it's not on fire.
 */
declare function IsVehicleEngineOnFire(vehicle: number): boolean;
/**
 * 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 The vehicle to check.
 * @return Returns true when the engine of your vehicle is on fire. Returns false if it's not on fire.
 */
declare function N_0xec69adf931aae0c3(vehicle: number): boolean;

declare function IsVehicleEngineStarting(vehicle: number): boolean;

declare function IsVehicleExtraTurnedOn(vehicle: number, extraId: number): boolean;

declare function IsVehicleHighDetail(vehicle: number): boolean;

/**
 * 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
 */
declare function IsVehicleInBurnout(vehicle: number): boolean;

/**
 * garageName example "Michael - Beverly Hills"
 */
declare function IsVehicleInGarageArea(garageName: string, vehicle: number): boolean;

/**
 * NativeDB Introduced: v1290
 */
declare function IsVehicleInSubmarineMode(vehicle: number): boolean;
/**
 * NativeDB Introduced: v1290
 */
declare function GetIsSubmarineVehicleTransformed(vehicle: number): boolean;

declare function IsVehicleInteriorLightOn(vehicle: number): boolean;

/**
 * mpsum2_g9ec
 * ```
 * ```
 * NativeDB Introduced: v2699
 */
declare function IsVehicleModHswExclusive(vehicle: number, modType: number, modIndex: number): boolean;

declare function IsVehicleModel(vehicle: number, model: string | number): boolean;

declare function IsVehicleNeedsToBeHotwired(vehicle: number): boolean;

/**
 * indices:
 * 0 = Left
 * 1 = Right
 * 2 = Front
 * 3 = Back
 */
declare function IsVehicleNeonLightEnabled(vehicle: number, index: number): boolean;

/**
 * Returns true if the id is non zero.
 */
declare function IsVehicleNodeIdValid(vehicleNodeId: number): boolean;

/**
 * Public Function isVehicleOnAllWheels(vh As Vehicle) As Boolean
 * Return Native.Function.Call(Of Boolean)(Hash.IS_VEHICLE_ON_ALL_WHEELS, vh)
 * End Function
 */
declare function IsVehicleOnAllWheels(vehicle: number): boolean;

/**
 * Does not work for vehicle of type: CBike, CBmx, CBoat, CTrain, CSubmarine.
 */
declare function IsVehicleParachuteActive(vehicle: number): boolean;
/**
 * Does not work for vehicle of type: CBike, CBmx, CBoat, CTrain, CSubmarine.
 */
declare function N_0x3de51e9c80b116cf(vehicle: number): boolean;

declare function IsVehiclePreviouslyOwnedByPlayer(vehicle: number): boolean;

/**
 * IS_VEHICLE_*
 * @param vehicle The vehicle to check
 * @return Is the given vehicle's radio enabled
 */
declare function IsVehicleRadioEnabled(vehicle: number): boolean;
/**
 * IS_VEHICLE_*
 * @param vehicle The vehicle to check
 * @return Is the given vehicle's radio enabled
 */
declare function N_0x0be4be946463f917(vehicle: number): boolean;

declare function IsVehicleRadioLoud(vehicle: number): boolean;

declare function IsVehicleRocketBoostActive(vehicle: number): boolean;

/**
 * Possibly: Returns whether the searchlight (found on police vehicles) is toggled on.
 */
declare function IsVehicleSearchlightOn(vehicle: number): boolean;

/**
 * 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 vehicle The vehicle to check.
 * @param seatIndex See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
 */
declare function IsVehicleSeatAccessible(ped: number, vehicle: number, seatIndex: number, side: boolean, onEnter: boolean): boolean;
/**
 * 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 vehicle The vehicle to check.
 * @param seatIndex See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
 */
declare function N_0x639431e895b9aa57(ped: number, vehicle: number, seatIndex: number, side: boolean, onEnter: boolean): boolean;

/**
 * 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 The vehicle to check.
 * @param seatIndex The eSeatPosition or -2 for **any** vehicle seat.
 */
declare function IsVehicleSeatFree(vehicle: number, seatIndex: number): boolean;

declare function IsVehicleSirenAudioOn(vehicle: number): boolean;
declare function N_0xb5cc40fbcb586380(vehicle: number): boolean;
declare function IsVehicleSirenSoundOn(vehicle: number): boolean;

declare function IsVehicleSirenOn(vehicle: number): boolean;

declare function IsVehicleSlipstreamLeader(vehicle: number): boolean;
declare function N_0x48c633e94a8142a7(vehicle: number): boolean;

/**
 * Returns false if the vehicle has the FLAG_NO_RESPRAY flag set.
 */
declare function IsVehicleSprayable(vehicle: number): boolean;
/**
 * Returns false if the vehicle has the FLAG_NO_RESPRAY flag set.
 */
declare function N_0x8d474c8faeff6cde(vehicle: number): boolean;
/**
 * Returns false if the vehicle has the FLAG_NO_RESPRAY flag set.
 */
declare function IsVehicleShopResprayAllowed(vehicle: number): boolean;

declare function IsVehicleStolen(vehicle: number): boolean;

/**
 * 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.
 * @return True if the vehicle's speed is equal to, or less than 0.02 meters per second, or 0.05 meters per second, if the vehicle's handbrake is engaged.
 */
declare function IsVehicleStopped(vehicle: number): boolean;

/**
 * Is this for red lights only?  more testing required.
 */
declare function IsVehicleStoppedAtTrafficLights(vehicle: number): boolean;

declare function IsVehicleStuckOnRoof(vehicle: number): boolean;

/**
 * p1 can be anywhere from 0 to 3 in the scripts. p2 is generally somewhere in the 1000 to 10000 range.
 */
declare function IsVehicleStuckTimerUp(vehicle: number, p1: number, p2: number): boolean;

/**
 * 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
 */
declare function IsVehicleTyreBurst(vehicle: number, wheelID: number, completely: boolean): boolean;

declare function IsVehicleVisible(vehicle: number): boolean;

declare function IsVehicleWanted(vehicle: number): boolean;

declare function IsVehicleWeaponDisabled(weaponHash: string | number, vehicle: number, owner: number): boolean;
declare function N_0x563b65a643ed072e(weaponHash: string | number, vehicle: number, owner: number): boolean;

/**
 * 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,
 * }
 */
declare function IsVehicleWindowIntact(vehicle: number, windowIndex: number): boolean;

/**
 * Returns true if a Warning Message or ReportUGC menu is active.
 */
declare function IsWarningMessageActive(): boolean;
/**
 * Returns true if a Warning Message or ReportUGC menu is active.
 */
declare function IsMedicalDisabled(): boolean;

/**
 * IS_WARNING_MESSAGE_*
 */
declare function IsWarningMessageActive_2(): boolean;
/**
 * IS_WARNING_MESSAGE_*
 */
declare function N_0xaf42195a42c63bba(): boolean;

declare function IsWaypointActive(): boolean;

declare function IsWaypointPlaybackGoingOnForPed(p0: number): boolean;

declare function IsWaypointPlaybackGoingOnForVehicle(vehicle: number): boolean;

declare function IsWeaponValid(weaponHash: string | number): boolean;

/**
 * Gets whether the world point the calling script is registered to is within desired range of the player.
 */
declare function IsWorldPointWithinBrainActivationRange(): boolean;

declare function IsXbox360Version(): boolean;

/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function KnockOffPedProp(ped: number, p1: boolean, p2: boolean, p3: boolean, p4: boolean): void;

declare function KnockPedOffVehicle(ped: number): void;

/**
 * Returns true if the current frontend menu is FE_MENU_VERSION_LANDING_MENU
 */
declare function LandingMenuIsActive(): boolean;
/**
 * Returns true if the current frontend menu is FE_MENU_VERSION_LANDING_MENU
 */
declare function N_0x3bbbd13e5041a79e(): boolean;

declare function Leaderboards2ReadByHandle(): [boolean, number, number];

declare function Leaderboards2ReadByPlatform(gamerHandleCsv: string, platformName: string): [boolean, number];
declare function N_0xf1ae5dcdbfca2721(gamerHandleCsv: string, platformName: string): [boolean, number];

declare function Leaderboards2ReadByRadius(p1: number): [boolean, number, number];

declare function Leaderboards2ReadByRank(p1: number, p2: number): [boolean, number];

declare function Leaderboards2ReadByRow(p2: number, p4: number, p6: number): [boolean, number, number, number, number];

declare function Leaderboards2ReadByScoreFloat(p1: number, p2: number): [boolean, number];

declare function Leaderboards2ReadByScoreInt(p1: number, p2: number): [boolean, number];

declare function Leaderboards2ReadFriendsByRow(p2: number, p3: boolean, p4: number, p5: number): [boolean, number, number];

declare function Leaderboards2ReadRankPrediction(): [boolean, number, number, number];
declare function N_0xc38dc1e90d22547c(): [boolean, number, number, number];

declare function Leaderboards2WriteData(p0: number): [boolean, number];

declare function Leaderboards2WriteDataForEventType(): [boolean, number, number];
declare function N_0xc980e62e33df1d5c(): [boolean, number, number];

declare function LeaderboardsCacheDataRow(p0: number): [boolean, number];

declare function LeaderboardsClearCacheData(): void;

declare function LeaderboardsDeaths(statName: string | number, value: number): void;
declare function N_0x428eaf89e24f6c36(statName: string | number, value: number): void;

declare function LeaderboardsGetCacheDataRow(p0: number, p1: number, p2?: number): [boolean, number];

declare function LeaderboardsGetCacheExists(p0: number): boolean;

declare function LeaderboardsGetCacheNumberOfRows(p0: number): number;
declare function N_0x58a651cd201d89ad(p0: number): number;

declare function LeaderboardsGetCacheTime(p0: number): number;

declare function LeaderboardsGetColumnId(p0: number, p1: number, p2: number): number;

declare function LeaderboardsGetColumnType(p0: number, p1: number, p2: number): number;

declare function LeaderboardsGetNumberOfColumns(p0: number, p1: number): number;

declare function LeaderboardsReadAnyPending(): boolean;
declare function N_0xa31fd15197b192bd(): boolean;

declare function LeaderboardsReadClear(p0: number, p1: number, p2: number): number;

declare function LeaderboardsReadClearAll(): number;

declare function LeaderboardsReadPending(p0: number, p1: number, p2: number): boolean;

declare function LeaderboardsReadSuccessful(p0: number, p1: number, p2: number): boolean;

declare function LeaderboardsWriteAddColumn(p0: number, p1: number, p2: number): void;
declare function N_0x0bca1d2c47b0d269(p0: number, p1: number, p2: number): void;

declare function LeaderboardsWriteAddColumnLong(p0: number, p1: number, p2: number): void;
declare function N_0x2e65248609523599(p0: number, p1: number, p2: number): void;

/**
 * Leaves cursor mode. This function supports SDK infrastructure and is not intended to be used directly from your code.
 */
declare function LeaveCursorMode(): void;

declare function LinkNamedRendertarget(modelHash: string | number): void;

/**
 * L* (LINK_*?)
 */
declare function LinkStaticEmitterToEntity(emitterName: string, entity: number): void;
/**
 * L* (LINK_*?)
 */
declare function N_0x651d3228960d08af(emitterName: string, entity: number): void;

declare function LoadAllObjectsNow(): void;

/**
 * This native has been removed in v1180.
 * @param keepInMemory if true, all path nodes will be loaded and be kept in memory; otherwise, all path nodes will be loaded, but unloaded as the game sees fit.
 */
declare function LoadAllPathNodes(keepInMemory: boolean): boolean;

/**
 * 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
 */
declare function LoadCloudHat(name: string, transitionTime: number): void;
/**
 * 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
 */
declare function SetCloudHatTransition(name: string, transitionTime: number): void;

/**
 * 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
 */
declare function LoadContentChangeSetGroup(hash: string | number): void;

/**
 * 0 - default
 * 1 - HeistIsland
 * ```
 * NativeDB Introduced: v2189
 * ```
 */
declare function LoadGlobalWaterType(waterType: number): void;

declare function LoadMissionCreatorPhoto(p0: string, p3: boolean): [boolean, number, number];
declare function N_0x4862437a486f91b0(p0: string, p3: boolean): [boolean, number, number];

declare function LoadMovieMeshSet(movieMeshSetName: string): number;

/**
 * Reads the contents of a text file in a specified resource.
 * If executed on the client, this file has to be included in `files` in the resource manifest.
 * Example: `local data = LoadResourceFile("devtools", "data.json")`
 * @param resourceName The resource name.
 * @param fileName The file in the resource.
 * @return The file contents
 */
declare function LoadResourceFile(resourceName: string, fileName: string): string;

/**
 * Rope presets can be found in the gamefiles. One example is "ropeFamily3", it is NOT a hash but rather a string.
 */
declare function LoadRopeData(ropeId: number, rope_preset: string): void;

declare function LoadScene(x: number, y: number, z: number): void;

/**
 * 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.
 */
declare function LoadStream(streamName: string, soundSet: string): boolean;

/**
 * Example:
 * AUDIO::LOAD_STREAM_WITH_START_OFFSET("STASH_TOXIN_STREAM", 2400, "FBI_05_SOUNDS");
 * Only called a few times in the scripts.
 */
declare function LoadStreamWithStartOffset(streamName: string, startOffset: number, soundSet: string): boolean;

declare function LoadingscreenGetLoadFreemode(): boolean;
declare function N_0xef7d17bc6c85264c(): boolean;

declare function LoadingscreenGetLoadFreemodeWithEventName(): boolean;
declare function N_0x8aa464d4e0f6accd(): boolean;

declare function LoadingscreenIsLoadingFreemode(): boolean;
declare function N_0xc6dc823253fbb366(): boolean;
declare function IsUiLoadingMultiplayer(): boolean;

declare function LoadingscreenSetIsLoadingFreemode(toggle: boolean): void;
declare function N_0xc7e7181c09f33b69(toggle: boolean): void;

declare function LoadingscreenSetLoadFreemode(toggle: boolean): void;
declare function GetBroadcastFinshedLosSound(toggle: boolean): void;
declare function N_0xb0c56bd3d808d863(toggle: boolean): void;

/**
 * Only occurrence was false, in maintransition.
 */
declare function LoadingscreenSetLoadFreemodeWithEventName(toggle: boolean): void;
/**
 * Only occurrence was false, in maintransition.
 */
declare function N_0xfc309e94546fcdb5(toggle: boolean): void;
/**
 * Only occurrence was false, in maintransition.
 */
declare function IsInLoadingScreen(toggle: boolean): void;

/**
 * Possible return values: 0, 1, 2
 */
declare function LocalizationGetSystemDateFormat(): number;
/**
 * Possible return values: 0, 1, 2
 */
declare function GetUserLanguageId(): number;

/**
 * Same return values as GET_CURRENT_LANGUAGE
 */
declare function LocalizationGetSystemLanguage(): number;
/**
 * Same return values as GET_CURRENT_LANGUAGE
 */
declare function N_0x497420e022796b3f(): number;

/**
 * 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.
 */
declare function LockLoadingScreenButtons(): void;
/**
 * 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.
 */
declare function N_0xb1577667c3708f9b(): void;

/**
 * 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.
 */
declare function LockMinimapAngle(angle: number): void;

/**
 * Locks the minimap to the specified world position.
 */
declare function LockMinimapPosition(x: number, y: number): void;

/**
 * Disables the radio station (hides it from the radio wheel).
 * NativeDB Introduced: v1493
 */
declare function LockRadioStation(radioStationName: string, toggle: boolean): void;
/**
 * Disables the radio station (hides it from the radio wheel).
 * NativeDB Introduced: v1493
 */
declare function N_0x94f2e83ead7e6b82(radioStationName: string, toggle: boolean): void;
/**
 * Disables the radio station (hides it from the radio wheel).
 * NativeDB Introduced: v1493
 */
declare function SetRadioStationDisabled(radioStationName: string, toggle: boolean): void;

/**
 * NativeDB Introduced: v2372
 */
declare function LockRadioStationTrackList(radioStation: string, trackListName: string): void;

/**
 * NativeDB Introduced: v1604
 */
declare function Log10(value: number): number;

/**
 * Not present in retail version of the game, actual definiton seems to be
 * _LOG_DEBUG_INFO(const char* category, const char* debugText);
 */
declare function LogDebugInfo(p0: string): void;
/**
 * Not present in retail version of the game, actual definiton seems to be
 * _LOG_DEBUG_INFO(const char* category, const char* debugText);
 */
declare function N_0x2162c446dfdf38fd(p0: string): void;

declare function LowerConvertibleRoof(vehicle: number, instantlyLower: boolean): void;

declare function LowerRetractableWheels(vehicle: number): void;
declare function N_0x5335be58c083e74e(vehicle: number): void;

/**
 * Forces a ped to reload only if they are able to; if they have a full magazine, they will not reload.
 */
declare function MakePedReload(ped: number): boolean;

/**
 * is this like setting is as no longer needed?
 */
declare function MarkObjectForDeletion(object: number): void;

declare function ModifyVehicleTopSpeed(vehicle: number, value: number): void;
declare function SetVehicleEnginePowerMultiplier(vehicle: number, value: number): void;

/**
 * Sets the water height for a given position and radius.
 */
declare function ModifyWater(x: number, y: number, height: number, radius: number): void;

declare function MoveVehicleDecals(p0: number, p1: number): void;

/**
 * Starts listening to the specified channel, when available.
 * @param channel A game voice channel ID.
 */
declare function MumbleAddVoiceChannelListen(channel: number): void;

/**
 * Adds the specified channel to the target list for the specified Mumble voice target ID.
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 * @param channel A game voice channel ID.
 */
declare function MumbleAddVoiceTargetChannel(targetId: number, channel: number): void;

/**
 * Adds the specified player to the target list for the specified Mumble voice target ID.
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 * @param player A game player index.
 */
declare function MumbleAddVoiceTargetPlayer(targetId: number, player: number): void;

/**
 * Adds the specified player to the target list for the specified Mumble voice target ID.
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 * @param serverId The player's server id.
 */
declare function MumbleAddVoiceTargetPlayerByServerId(targetId: number, serverId: number): void;

declare function MumbleClearVoiceChannel(): void;

/**
 * Clears the target list for the specified Mumble voice target ID.
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 */
declare function MumbleClearVoiceTarget(targetId: number): void;

/**
 * Clears channels from the target list for the specified Mumble voice target ID.
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 */
declare function MumbleClearVoiceTargetChannels(targetId: number): void;

/**
 * Clears players from the target list for the specified Mumble voice target ID.
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 */
declare function MumbleClearVoiceTargetPlayers(targetId: number): void;

declare function MumbleGetTalkerProximity(): number;

/**
 * Returns the mumble voice channel from a player's server id.
 * @param serverId The player's server id.
 * @return Int representing the identifier of the voice channel.
 */
declare function MumbleGetVoiceChannelFromServerId(serverId: number): number;

declare function MumbleIsActive(): boolean;

/**
 * This native will return true if the user succesfully connected to the voice server.
 * If the user disabled the voice-chat setting it will return false.
 * @return True if the player is connected to a mumble server.
 */
declare function MumbleIsConnected(): boolean;

declare function MumbleIsPlayerTalking(player: number): boolean;

/**
 * Stops listening to the specified channel.
 * @param channel A game voice channel ID.
 */
declare function MumbleRemoveVoiceChannelListen(channel: number): void;

/**
 * Removes the specified voice channel from the user's voice targets.
 * Performs the opposite operation of [MUMBLE_ADD_VOICE_TARGET_CHANNEL](#\_0x4D386C9E)
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 * @param channel The game voice channel ID to remove from the target.
 */
declare function MumbleRemoveVoiceTargetChannel(targetId: number, channel: number): void;

/**
 * Removes the specified player from the user's voice targets.
 * Performs the opposite operation of [MUMBLE_ADD_VOICE_TARGET_PLAYER](#\_0x32C5355A)
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 * @param player The player index to remove from the target.
 */
declare function MumbleRemoveVoiceTargetPlayer(targetId: number, player: number): void;

/**
 * Removes the specified player from the user's voice targets.
 * Performs the opposite operation of [MUMBLE_ADD_VOICE_TARGET_PLAYER_BY_SERVER_ID](#\_0x25F2B65F)
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive).
 * @param serverId The player's server id to remove from the target.
 */
declare function MumbleRemoveVoiceTargetPlayerByServerId(targetId: number, serverId: number): void;

declare function MumbleSetActive(state: boolean): void;

/**
 * Sets the current input distance. The player will be able to talk to other players within this distance.
 * @param distance The input distance.
 */
declare function MumbleSetAudioInputDistance(distance: number): void;

/**
 * Use this native to disable noise suppression and high pass filters.
 * The possible intents for this are as follows (backticks are used to represent hashes):
 * | Index | Description |
 * |-|-|
 * | \`speech\` | Default intent |
 * | \`music\` | Disable noise suppression and high pass filter |
 * @param intentHash The intent hash.
 */
declare function MumbleSetAudioInputIntent(intentHash: string | number): void;

/**
 * Sets the current output distance. The player will be able to hear other players talking within this distance.
 * @param distance The output distance.
 */
declare function MumbleSetAudioOutputDistance(distance: number): void;

/**
 * Changes the Mumble server address to connect to, and reconnects to the new address.
 * @param address The address of the mumble server.
 * @param port The port of the mumble server.
 */
declare function MumbleSetServerAddress(address: string, port: number): void;

/**
 * Sets the audio submix ID for a specified player using Mumble 'Native Audio' functionality.
 * @param serverId The player's server ID.
 * @param submixId The submix ID.
 */
declare function MumbleSetSubmixForServerId(serverId: number, submixId: number): void;

declare function MumbleSetTalkerProximity(value: number): void;

declare function MumbleSetVoiceChannel(channel: number): void;

/**
 * Sets the current Mumble voice target ID to broadcast voice to.
 * @param targetId A Mumble voice target ID, ranging from 1..30 (inclusive). 0 disables voice targets, and 31 is server loopback.
 */
declare function MumbleSetVoiceTarget(targetId: number): void;

/**
 * Overrides the output volume for a particular player on Mumble. This will also bypass 3D audio and distance calculations. -1.0 to reset the override.
 * Set to -1.0 to reset the Volume override.
 * @param player A game player index.
 * @param volume The volume, ranging from 0.0 to 1.0 (or above).
 */
declare function MumbleSetVolumeOverride(player: number, volume: number): void;

/**
 * Overrides the output volume for a particular player with the specified server id and player name on Mumble. This will also bypass 3D audio and distance calculations. -1.0 to reset the override.
 * @param serverId The player's server id.
 * @param volume The volume, ranging from 0.0 to 1.0 (or above).
 */
declare function MumbleSetVolumeOverrideByServerId(serverId: number, volume: number): void;

/**
 * 2 matches in 1 script - am_hold_up
 * Used in multiplayer scripts?
 */
declare function N_0x0032a6dba562c518(): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x006e4b040ed37ec3(p0: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x0077f15613d36993(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x011883f41211432a(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p6: number): void;

declare function N_0x0150b6ff25a9e2e5(): void;

declare function N_0x015b03ee1c43e6ec(p0: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x0205f5365292d2eb(vehicle: number, p1: number): void;

declare function N_0x0218ba067d249dea(): void;

/**
 * some camera effect that is (also) 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. Possibly a cinematic or script-cam version of _0x487A82C650EB7799
 */
declare function N_0x0225778816fdc28c(p0: number): void;

/**
 * DISABLE_S*
 */
declare function N_0x02369d5c8a51fdcf(toggle: boolean): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x023acab2dc9dc4a4(): number;

/**
 * Found in the scripts:
 * MISC::_02DEAAC8F8EA7FE7("");
 */
declare function N_0x02deaac8f8ea7fe7(p0: string): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x02e93c796abd3a97(p0: boolean): void;

declare function N_0x03300b57fcac6ddb(p0: boolean): void;

declare function N_0x0395cb47b022e62c(p0: number): [boolean, number];

declare function N_0x03c2eebb04b3fb72(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;

declare function N_0x03ea03af85a85cb7(ped: number, p1: boolean, p2: boolean, p3: boolean, p4: boolean, p5: boolean, p6: boolean, p7: boolean, p8: number): boolean;

declare function N_0x03f1a106bda7dd3e(): void;

declare function N_0x0419b167ee128f33(p0: number, p1: number): number;

declare function N_0x041c7f2a6c9894e6(p0: number, p1: number, p2: number): number;

/**
 * SET_*
 */
declare function N_0x04655f9d075d0ae5(toggle: boolean): void;

declare function N_0x04918a41bc9b8157(p0: number, p1: number, p2: number): number;

declare function N_0x0581730ab9380412(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

declare function N_0x0596843b34b95ce5(p0: number, p1: number): void;

declare function N_0x06087579e7aa85a9(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): boolean;

declare function N_0x061cb768363d6424(ped: number, toggle: boolean): void;

/**
 * FORCE_*
 */
declare function N_0x062d5ead4da2fa6a(): void;

/**
 * A vehicle recording playback flag only used in jewelry_heist
 */
declare function N_0x063ae2b2cc273588(vehicle: number, p1: boolean): void;

/**
 * CLEAR_*
 */
declare function N_0x06462a961e94b67c(): void;

declare function N_0x065d03a9d6b2c6b5(p0: number, p1: number): void;

declare function N_0x06eaf70ae066441e(p0: number): void;

declare function N_0x06ee9048fd080382(p0: boolean): void;

declare function N_0x07dbd622d9533857(p0: number): number;

declare function N_0x07eab372c8841d99(p0: number, p1: number, p2: number): number;

declare function N_0x0811381ef5062fec(p0: number): void;

/**
 * Returns false if amount > wallet balance or daily transfer limit has been hit.
 * NativeDB Introduced: v323
 */
declare function N_0x08e8eeadfd0dc4a0(amount: number): boolean;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x0a3f820a9a9a9ac5(vehicle: number, x: number, y: number, z: number): void;

/**
 * CLEAR_VEHICLE_*
 */
declare function N_0x0a436b8643716d14(): void;

declare function N_0x0a9c7f36e5d7b683(p0: number): void;

declare function N_0x0aa27680a0bd43fa(): void;

declare function N_0x0ad9e8f87ff7c16f(p0: number, p1: boolean): void;

declare function N_0x0ae73d8df3a762b2(p0: boolean): void;

declare function N_0x0b3e35ac043707d9(p0: number, p1: number): void;

declare function N_0x0b40ed49d7d6ff84(): void;

declare function N_0x0b565b0aae56a0e8(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;

declare function N_0x0b568201dd99f0eb(p0: boolean): void;

declare function N_0x0b8b7f74bf061c6d(): number;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x0bbb9a7a8ffe931b(p0: number, p1: number, p2: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x0c698d8f099174c7(p0: number): void;

declare function N_0x0cf54f20de43879c(p0: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x0cf6cc51aa18f0f8(p0: number, p1: number, p2: number): number;

/**
 * 0 as param = weird black and green screen
 * 0.1 - 0.99 = Prevent rain effect from falling (still sound and effects on puddles) and prevent puddles from increase/decrease, seems than it prevent any weather change too
 * 1 and more = "Unfreeze" rain puddles but clear weather too
 * When 'freezing' is enabled, it seem to also freeze value getted with GetRainLevel
 */
declare function N_0x0cf97f497fe7d048(p0: number): void;

declare function N_0x0d01d20616fc73fb(p0: number, p1: number): void;

declare function N_0x0d30eb83668e63c5(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NETWORK_SET_*
 */
declare function N_0x0d77a82dc2d0da59(): [number, number];

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x0dd362f14f18942a(amount: number, p1: number, p2: number): void;

declare function N_0x0e4299c549f0d1f1(toggle: boolean): void;

declare function N_0x0ede326d47cd0f3e(ped: number, player: number): boolean;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0x0f1a4b45b7693b95(p0: number, p1: number): void;

declare function N_0x0f62619393661d6e(p0: number, p1: number, p2: number): void;

/**
 * BG_*
 * NativeDB Introduced: v323
 */
declare function N_0x0f6f1ebbc4e1d5e6(scriptIndex: number, p1: string): boolean;

/**
 * Doesn't actually return anything.
 * ```
 * NativeDB Introduced: v2060
 * ```
 */
declare function N_0x0ffb3c758e8c07b9(ped: number, p1: boolean): number;

/**
 * Returns some sort of index/offset for overlays/decorations.
 * ```
 * Character types:
 * 0 = Michael,
 * 1 = Franklin,
 * 2 = Trevor,
 * 3 = MPMale,
 * 4 = MPFemale
 * ```
 * ```
 * NativeDB Introduced: v2189
 * ```
 */
declare function N_0x10144267dd22866c(overlayHash: string | number, p1: number, character: number): number;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x107a473d7a6647a9(vehicle: number): void;

/**
 * UI3DSCENE_*
 */
declare function N_0x108be26959a9d9bb(toggle: boolean): void;

/**
 * In agency_heist3b.c4, its like this 90% of the time:
 * PED::_110F526AB784111F(ped, 0.099);
 * PED::SET_PED_ENVEFF_SCALE(ped, 1.0);
 * PED::_D69411AA0CEBF9E9(ped, 87, 81, 68);
 * PED::SET_ENABLE_PED_ENVEFF_SCALE(ped, 1);
 * and its like this 10% of the time:
 * PED::_110F526AB784111F(ped, 0.2);
 * PED::SET_PED_ENVEFF_SCALE(ped, 0.65);
 * PED::_D69411AA0CEBF9E9(ped, 74, 69, 60);
 * PED::SET_ENABLE_PED_ENVEFF_SCALE(ped, 1);
 */
declare function N_0x110f526ab784111f(ped: number, p1: number): void;

declare function N_0x112209ce0290c03a(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x1153fa02a659051c(): void;

declare function N_0x11579d940949c49e(p0: number): void;

declare function N_0x116fb94dc4b79f17(p0: string): void;

declare function N_0x1171a97a3d3981b6(p2: number, p3: number): [boolean, number, number];

/**
 * NativeDB Introduced: v2189
 */
declare function N_0x1178e104409fe58c(p0: number, p1: number): void;

/**
 * SET_TEXT_??? - Used in golf and golf_mp
 */
declare function N_0x1185a8087587322c(p0: boolean): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x1216e0bfa72cc703(p0: number, p1: number): void;

/**
 * Hardcoded to only work in multiplayer.
 */
declare function N_0x12ded8ca53d47ea5(p0: number): void;

declare function N_0x1312ddd8385aee4e(p0: number, p1: number): void;

declare function N_0x1398582b7f72b3ed(p0: number): void;

declare function N_0x13b350b8ad0eee10(): void;

/**
 * SET_NETWORK_*
 */
declare function N_0x13f1fcb111b820b0(p0: boolean): void;

declare function N_0x140e6a44870a11ce(): void;

declare function N_0x144da052257ae7d8(p0: number): void;

/**
 * NETWORK_IS_*
 */
declare function N_0x14922ed3e38761f0(): boolean;

declare function N_0x149aee66f0cb3a99(p0: number, p1: number): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x14d29bb12d47f68c(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function N_0x14e0b2d1ad1044e0(): [number, number, number, number];

declare function N_0x14eda9ee27bd1626(p0: number): void;

declare function N_0x14fc5833464340a8(): void;

/**
 * Checks some commerce stuff
 * NativeDB Introduced: v1290
 */
declare function N_0x155467aca0f55705(): number;

declare function N_0x159b7318403a1cd8(p0: number): void;

declare function N_0x1612c45f9e3e0d44(): void;

declare function N_0x162c23ca83ed0a62(p0: number): boolean;

declare function N_0x164c5ff663790845(p0: number): void;

declare function N_0x16da8172459434aa(): number;

declare function N_0x170910093218c8b9(p0: number): [boolean, number];

/**
 * NativeDB Introduced: v2060
 */
declare function N_0x17c9e241111a674d(p0: number, p1: number): void;

declare function N_0x17fca7199a530203(): void;

declare function N_0x182f266c2d9e2beb(vehicle: number, p1: number): void;

declare function N_0x19853b5b17d77bca(p0: number, p1?: number): [boolean, number];

declare function N_0x19af7ed9b9d23058(): void;

/**
 * GET_TENNIS_*; references 0xFBFEC0E9 = interruptswing
 */
declare function N_0x19bfed045c647c49(ped: number): boolean;

/**
 * SET_ENTITY_*
 */
declare function N_0x1a092bb0c3808b96(entity: number, p1: boolean): void;

/**
 * Only appears in lamar1 script.
 */
declare function N_0x1a330d297aac6bc1(ped: number, p1: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x1a6cbb06e2d0d79d(p0: number, p1: number): void;

declare function N_0x1a7ce7cd3e653485(p0: number): void;

declare function N_0x1a8ea222f9c67dbb(p0: number): number;

/**
 * Sets a value that appears to affect door opening behavior when damaged.
 * SET_*
 */
declare function N_0x1b212b26dd3c04df(vehicle: number, toggle: boolean): void;

declare function N_0x1b7abe26cbcbf8c7(ped: number, p1: number, p2: number): void;

/**
 * SCRIPT_RACE_*
 */
declare function N_0x1bb299305c3e8c13(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x1bbc135a4d25edde(p0: boolean): void;

/**
 * ENABLE_VEHICLE_*
 */
declare function N_0x1c073274e065c6d2(vehicle: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x1c57c94a6446492a(p0: number, p1: number): void;

/**
 * SET_TRA*
 */
declare function N_0x1cba05ae7bd7ee05(p0: number): void;

/**
 * NativeDB Added Parameter 1: char* p0
 * NativeDB Added Parameter 2: char* p1
 * NativeDB Added Parameter 3: char* p2
 * NativeDB Introduced: v323
 */
declare function N_0x1d12a56fc95be92e(): boolean;

/**
 * IS_COMMERCE_*
 */
declare function N_0x1d4dc17c38feaff0(): boolean;

declare function N_0x1d610eb0fea716d9(p0: number): boolean;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x1dc9b749e7ae282b(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x1e3f1b1b891a2aaa(p0: number, p1: number): void;

/**
 * GET_*
 */
declare function N_0x1e77fa7a62ee6c4c(p0: number): number;

declare function N_0x1e9057a74fd73e23(): void;

/**
 * Unsure about the use of this native but here's an example:
 * void sub_8709() {
 * MISC::_1EAE0A6E978894A2(0, 1);
 * MISC::_1EAE0A6E978894A2(1, 1);
 * MISC::_1EAE0A6E978894A2(2, 1);
 * MISC::_1EAE0A6E978894A2(3, 1);
 * MISC::_1EAE0A6E978894A2(4, 1);
 * MISC::_1EAE0A6E978894A2(5, 1);
 * MISC::_1EAE0A6E978894A2(6, 1);
 * MISC::_1EAE0A6E978894A2(7, 1);
 * MISC::_1EAE0A6E978894A2(8, 1);
 * }
 * So it appears that p0 ranges from 0 to 8.
 * ENABLE_DISPATCH_SERVICE, seems to have a similar layout.
 */
declare function N_0x1eae0a6e978894a2(p0: number, p1: boolean): void;

declare function N_0x1f2300cb7fa7b7f6(): number;

declare function N_0x1f34b0626c594380(p0: number, p1: number): void;

declare function N_0x1f351cf1c6475734(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x1f7bc3539f9e0224(): void;

declare function N_0x1f8e00fb18239600(p0: number): void;

declare function N_0x1f9fb66f3a3842d2(vehicle: number, p1: boolean): void;

/**
 * SET_PED_STE*
 */
declare function N_0x2016c603d6b8987c(ped: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0x202a5ed9ce01d6e7(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): void;

declare function N_0x20746f7b1032a3c7(p0: boolean, p1: boolean, p2: boolean, p3: boolean): void;

/**
 * -This function appears to be deprecated/ unused. Tracing the call internally leads to a _nullsub -
 * first one seems to be a string of a mission name, second one seems to be a bool/toggle
 * p1 was always 0.
 */
declare function N_0x208784099002bc30(missionNameLabel: string, p1: number): void;

declare function N_0x20c6c7e4eb082a7f(p0: boolean): void;

/**
 * HAS_*
 */
declare function N_0x2107a3773771186d(): boolean;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x211c4ef450086857(): void;

/**
 * HAS_S*
 */
declare function N_0x214cd562a939246a(): boolean;

/**
 * GET_C*
 */
declare function N_0x21c235bc64831e5a(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: boolean): number[];

declare function N_0x225798743970412b(p0: number): [boolean, number];

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x226c284c830d0ca8(p0: number, p1: number, p2: number, p3: number): void;

/**
 * BG_*
 * NativeDB Introduced: v323
 */
declare function N_0x22e21fbcfc88c149(scriptIndex: number, p1: string): number;

declare function N_0x2302c0264ea58d31(): void;

/**
 * NativeDB Introduced: v2372
 */
declare function N_0x2310a8f9421ebf43(p0: number): void;

declare function N_0x2311dd7159f00582(vehicle: number, p1: boolean): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x23227df0b2115469(): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x237440e46d918649(p0: number): void;

declare function N_0x2382ab11450ae7ba(p0: number, p1: number): void;

/**
 * Hardcoded to return false.
 * @param padIndex The control system instance to use. See [`ENABLE_ALL_CONTROL_ACTIONS`](#\_0xA5FFE9B05F199DE7).
 */
declare function N_0x23f09eadc01449d6(padIndex: number): boolean;

/**
 * Only used once in scripts, in maintransition.
 * maintransition.c4, line ~82432:
 * if (PED::_7350823473013C02(PLAYER::PLAYER_PED_ID()) && (DECORATOR::_241FCA5B1AA14F75() == 0)) {
 * g_2542A5 = a_1; // 'g_2542A5' used in 'building_controller.ysc' for IPL stuff?
 * return 1;
 * }
 * Likely used solely for the players ped. The function it's in seems to only be used for initialization/quitting. Called among natives to discard scaleforms, disable frontend, fading in/out, etc. Neighboring strings to some calls include "HUD_JOINING", "HUD_QUITTING".
 * Most likely ARE_*
 */
declare function N_0x241fca5b1aa14f75(): boolean;

/**
 * NativeDB Introduced: v2060
 */
declare function N_0x243296a510b562b6(): void;

declare function N_0x247acbc4abbc9d1c(p0: boolean): void;

declare function N_0x24a49beaf468dc90(p0: number, p2: number, p3: number, p4: number): [boolean, number];

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x24c024ba8379a70a(p0: number, p1: number): void;

declare function N_0x24e4e51fc16305f9(): number;

declare function N_0x25361a96e0f7e419(p0: number, p1: number, p2: number, p3: number): number;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x2542269291c6ac84(p0: number): number;

/**
 * Does nothing (it's a nullsub).
 * NativeDB Introduced: v323
 */
declare function N_0x2555cf7da5473794(): number;

/**
 * NativeDB Added Parameter 1: char* p0
 * NativeDB Added Parameter 2: float* p1
 * NativeDB Added Parameter 3: char* p2
 * NativeDB Introduced: v323
 */
declare function N_0x2570e26be63964e3(): boolean;

declare function N_0x259ba6d4e6f808f1(p0: number): void;

/**
 * NativeDB Introduced: v1365
 */
declare function N_0x25aaa32bdc98f2a3(): number;

declare function N_0x25d990f8e0e3f13c(): void;

declare function N_0x25fc3e33a31ad0c9(p0: boolean): void;

declare function N_0x261e97ad7bcf3d40(p0: boolean): void;

declare function N_0x265559da40b3f327(p0: number): void;

declare function N_0x265635150fb0d82e(): void;

/**
 * STATS::0x343B27E2(0);
 * STATS::0x343B27E2(1);
 * STATS::0x343B27E2(2);
 * STATS::0x343B27E2(3);
 * STATS::0x343B27E2(4);
 * STATS::0x343B27E2(5);
 * STATS::0x343B27E2(6);
 * STATS::0x343B27E2(7);
 * Identical in ingamehud & maintransition.
 */
declare function N_0x26d7399b9587fe89(p0: number): void;

declare function N_0x26d99d5a82fd18e8(p0: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x26e13d440e7f6064(vehicle: number, value: number): void;

declare function N_0x26f07dd83a5f7f98(): number;

declare function N_0x271017b9ba825366(p0: number, p1: boolean): void;

declare function N_0x271401846bd26e92(p0: boolean, p1: boolean): void;

declare function N_0x2735233a786b1bef(ped: number, p1: number): void;

/**
 * SET_F*
 */
declare function N_0x2790f4b17d098e26(toggle: boolean): void;

declare function N_0x27aa1c973cacfe63(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number): void;

declare function N_0x27cfb1b1e078cb2d(): void;

/**
 * NativeDB Introduced: v2372
 */
declare function N_0x27f248c3febfaad3(p0: number, p1: number): void;

declare function N_0x27feb5254759cde3(textureDict: string, p1: boolean): boolean;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0x2818ff6638cb09de(p0: number): void;

declare function N_0x282b6739644f4347(p0: number): void;

declare function N_0x283b6062a2c01e9b(): void;

/**
 * [`SET_VEHICLE_STEER_BIAS`](#\_0x42A8EC77D5150CBE) for peds, e.g., `_SET_PED_STEER_BIAS`.
 */
declare function N_0x288df530c92dad6f(ped: number, value: number): void;

/**
 * F\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0x28b022a17b068a3a(p0: number, p1: number): void;

declare function N_0x28ecb8ac2f607db2(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function N_0x2916a928514c9827(): void;

declare function N_0x293220da1b46cebc(p0: number, p1: number, p2: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x29682e2ccf21e9b5(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: number, p11: number, p12: number, p13: number): void;

/**
 * NativeDB Introduced: v323
 */
declare function N_0x2a251aa48b2b46db(): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x2a7cec72c3443bcc(p0: number, p1: number, p2: number): void;

declare function N_0x2a893980e96b659a(p0: boolean): boolean;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x2a93c46aab1eacc9(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x2acabed337622df2(p0: string): void;

declare function N_0x2afc2d19b50797f2(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x2b1c623823db0d9d(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;

declare function N_0x2b40a97646381508(p0: number): void;

declare function N_0x2b51edbefc301339(p0: number, p1: string): boolean;

declare function N_0x2b694afcf64e6994(ped: number, p1: boolean): void;

declare function N_0x2bf66d2e7414f686(): number;

/**
 * GET_BLIP_\*
 * Seems to always return 0 from what I can tell. I've tried a lot of different blip related natives and it always seems to return 0. Decompiled scripts always pass a blip handle as p0.
 * @param blip The blip to check.
 * @return Seems to always return 0 from what I can tell. I've tried a lot of different blip related natives and it always seems to return 0.
 */
declare function N_0x2c173ae2bdb9385e(blip: number): number;

declare function N_0x2c1d8b3b19e517cc(p0: number, p1: number): number;

declare function N_0x2c42340f916c5930(p0: number): number;

/**
 * SET_VEHICLE_W* (next character is either H or I)
 */
declare function N_0x2c4a1590abf43e8b(vehicle: number, p1: boolean): void;

/**
 * Correct native name lies between SET_BLIP_SPRITE and SET_RADIUS_BLIP_EDGE alphabetically.
 */
declare function N_0x2c9f302398e13141(blip: number, p1: number): void;

declare function N_0x2cd90358f67d0aa8(p0: number): void;

declare function N_0x2ce9d95e4051aecd(p0: number): void;

/**
 * Used in arcade games and Beam hack minigame in Doomsday Heist. For example, [Penetrator Arcade Game](https://streamable.com/8igrzw)
 * NativeDB Introduced: v1290
 * @param textureDict inside script_txds.rpf, browse it with OpenIV
 * @param textureName textureName
 * @param x x position must be between 0.0 and 1.0 (1.0 being the most right side of the screen)
 * @param y y position must be between 0.0 and 1.0 (1.0 being the most bottom side of the screen)
 * @param width width 0.0 - 1.0 is the reasonable amount generally
 * @param height height 0.0 - 1.0 is the reasonable amount generally
 * @param p6 almost always 0.0
 * @param red red color
 * @param green green color
 * @param blue blue color
 * @param alpha alpha
 */
declare function N_0x2d3b147afad49de0(textureDict: string, textureName: string, x: number, y: number, width: number, height: number, p6: number, red: number, green: number, blue: number, alpha: number, p11: number): void;

declare function N_0x2d5dc831176d0114(p0: number): boolean;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x2d7a9b577e72385e(p0: number): void;

/**
 * NativeDB Introduced: v323
 */
declare function N_0x2d874d4ae612a65f(): number;

declare function N_0x2da41ed6e1fcd7a5(p0: number, p1: number): number;

/**
 * NativeDB Introduced: v463
 */
declare function N_0x2dd39bf3e2f9c47f(): number;

declare function N_0x2de6c5e2e996f178(p0: number): void;

declare function N_0x2dfc81c9b9608549(ped: number, p1?: number): [boolean, number];

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x2e0259babc27a327(p0: number): void;

declare function N_0x2e0bf682cc778d49(p0: number): boolean;

declare function N_0x2e22fefa0100275e(): boolean;

declare function N_0x2e4c123d1c8a710e(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;

/**
 * Appears to return whether the player is using the pause menu store. Can't be sure though.
 */
declare function N_0x2f057596f2bd0061(): boolean;

declare function N_0x2f074c904d85129e(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;

declare function N_0x2f137b508de238f2(p0: boolean): void;

declare function N_0x2f3c3d9f50681de4(p0: number, p1: boolean): void;

declare function N_0x2f41a3bae005e5fa(p0: number, p1: number): void;

/**
 * Used with radios:
 * void sub_cf383(auto _a0) {
 * if ((a_0)==1) {
 * if (MISC::IS_BIT_SET((g_240005._f1), 3)) {
 * PLAYER::_2F7CEB6520288061(0);
 * AUDIO::SET_AUDIO_FLAG("AllowRadioDuringSwitch", 0);
 * AUDIO::SET_MOBILE_PHONE_RADIO_STATE(0);
 * AUDIO::SET_AUDIO_FLAG("MobileRadioInGame", 0);
 * }
 * sub_cf3f6(1);
 * } else {
 * if (MISC::IS_BIT_SET((g_240005._f1), 3)) {
 * PLAYER::_2F7CEB6520288061(1);
 * AUDIO::SET_AUDIO_FLAG("AllowRadioDuringSwitch", 1);
 * AUDIO::SET_MOBILE_PHONE_RADIO_STATE(1);
 * AUDIO::SET_AUDIO_FLAG("MobileRadioInGame", 1);
 * }
 * sub_cf3f6(0);
 * }
 * }
 * SET_PLAYER_S*
 */
declare function N_0x2f7ceb6520288061(p0: boolean): void;

declare function N_0x2f7f2b26dd3f18ee(p0: number, p1: number): void;

declare function N_0x2fa2494b47fdd009(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0x2fa3173480008493(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function N_0x2fab6614ce22e196(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x2fcb133ca50a49eb(p0: number): number;

declare function N_0x3001bef2feca3680(): boolean;

/**
 * GET_CURRENT_*
 * NativeDB Introduced: v1493
 */
declare function N_0x30432a0118736e00(): number;

declare function N_0x3044240d2e0fa842(): boolean;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0x30ca2ef91d15adf8(): number;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x31125fd509d9043f(p0: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0x31574b1b41268673(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x316db59cd14c1774(p0: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x31ba138f6304fb9f(p0: number, p1: number): void;

declare function N_0x31e90b8873a4cd3b(player: number, p1: number): void;

declare function N_0x31f924b53eaddf65(p0: boolean): void;

/**
 * NativeDB Introduced: v323
 */
declare function N_0x324c5aa411da7737(p0: number): void;

declare function N_0x32cac93c9de73d32(): number;

declare function N_0x32ebd154cb6b8b99(p0: number, p1: number, p2: number): void;

declare function N_0x32f34ff7f617643b(p0: number, p1: number): void;

declare function N_0x336b3d200ab007cb(p0: number, p1: number, p2: number, p3: number, p4: number): number;

declare function N_0x33d47e85b476abcd(p0: boolean): boolean;

declare function N_0x33d72899e24c3365(p0: number, p1: number): number;

/**
 * NativeDB Added Parameter 1: char* p0
 * NativeDB Added Parameter 2: char* p1
 * NativeDB Introduced: v323
 */
declare function N_0x33df47cc0642061b(): boolean;

declare function N_0x33e3c6c6f2f0b506(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x3441cad2f2231923(vehicle: number, p1: boolean): void;

declare function N_0x346ef3ecaaab149e(): void;

declare function N_0x34770b9ce0e03b91(p0: number, p1?: number): [boolean, number];

declare function N_0x352e2b5cf420bf3b(p0: number, p1: number): void;

declare function N_0x357b152ef96c30b6(): number;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x35a3cd97b2c0a6d2(blip: number): void;

declare function N_0x35bb21de06784373(p0: number, p1: number): void;

declare function N_0x35e0654f4bad7971(p0: boolean): void;

declare function N_0x36391f397731595d(p0: number): number;

declare function N_0x367ef5e2f439b4c6(p0: number): void;

/**
 * ROPE_*
 */
declare function N_0x36ccb9be67b970fd(ropeId: number, p1: boolean): void;

/**
 * Does nothing. It's a nullsub.
 * NativeDB Introduced: v1604
 */
declare function N_0x36de109527a2c0c4(toggle: boolean): void;

declare function N_0x36f1b38855f2a8df(player: number): void;

declare function N_0x36f32de87082343e(p0: number, p1: number): void;

declare function N_0x36f6626459d91457(p0: number): void;

/**
 * I've had this return the player's ped handle sometimes, but also other random entities.
 * Whatever p0 is, it's at least not synced to other players.
 * At least not all the time, some p0 values actually output the same entity, (different handle of course, but same entity).
 * But another p0 value may return an entity for player x, but not for player y (it'll just return -1 even if the entity exists on both clients).
 * @param p0 unknown.
 * @return Returns an entity handle or -1, value changes based on p0's value.
 */
declare function N_0x37d5f739fd494675(p0: number): number;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x380b4968d1e09e55(): void;

declare function N_0x38491439b6ba7f7d(p0: number, p1: number): number;

declare function N_0x3855fb5eb2c5e8b2(p0: number): number;

/**
 * NativeDB Introduced: v1734
 */
declare function N_0x38b7c51ab1edc7d8(entity: number, toggle: boolean): void;

/**
 * Sets profile setting 934
 */
declare function N_0x38baaa5dd4c9d19f(value: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x38c1cb1cb119a016(p0: number, p1: number): void;

declare function N_0x393bd2275ceb7793(): number;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x39455bf4f4f55186(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: number, p11: number, p12: number): number;

declare function N_0x394cd08e31313c28(): void;

declare function N_0x397baa01068baa96(): number;

declare function N_0x39917e1b4cb0f911(p0: boolean): void;

declare function N_0x39a5fb7eaf150840(p0: number, p1: number): void;

declare function N_0x3a48ab4445d499be(): number;

/**
 * NativeDB Removed Parameter 3: int R
 * NativeDB Removed Parameter 4: int G
 * NativeDB Removed Parameter 5: int B
 * NativeDB Introduced: v757
 */
declare function N_0x3b2fd68db5f8331c(object: number, toggle: boolean, R: number, G: number, B: number): void;
/**
 * NativeDB Removed Parameter 3: int R
 * NativeDB Removed Parameter 4: int G
 * NativeDB Removed Parameter 5: int B
 * NativeDB Introduced: v757
 */
declare function SetObjectColour(object: number, toggle: boolean, R: number, G: number, B: number): void;

/**
 * Usually used alongside other vehicle door natives.
 */
declare function N_0x3b458ddb57038f08(vehicle: number, doorIndex: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x3bd770d281982db5(p0: number, p1: number): number;

/**
 * Sets some voice chat related value.
 * NETWORK_SET_*
 */
declare function N_0x3c5c1e2c2ff814b1(toggle: boolean): void;

/**
 * ```
 * NativeDB Introduced: v1180
 * ```
 * Sets the given checkpoint target to the new coords
 * @param checkpointHandle the handle of a created checkpoint
 */
declare function N_0x3c788e7f6438754d(checkpointHandle: number, x: number, y: number, z: number): void;

declare function N_0x3de3aa516fb126a4(p0: number): void;

/**
 * IS_*
 */
declare function N_0x3e38e28a1d80ddf6(ped: number): boolean;

declare function N_0x3e9679c1dfcf422c(p0: number, p1: number): void;

declare function N_0x3ebeac6c3f81f6bd(p0: number): void;

declare function N_0x3fa36981311fa4ff(netId: number, state: boolean): void;

/**
 * nullsub, doesn't do anything
 * ```
 * NativeDB Introduced: v1868
 * ```
 */
declare function N_0x3fc795691834481d(p0: number, p1: number): void;

declare function N_0x4008edf7d6e48175(p0: boolean): void;

/**
 * Usage: INTERIOR::_0x405DC2AEF6AF95B9(INTERIOR::GET_KEY_FOR_ENTITY_IN_ROOM(PLAYER::PLAYER_PED_ID()));
 */
declare function N_0x405dc2aef6af95b9(roomHashKey: string | number): void;

declare function N_0x40763ea7b9b783e7(p0: string, p1: number, p2: number): number;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x407dc5e97db1a4d3(p0: number, p1: number): void;

declare function N_0x4128464231e3ca0b(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x41290b40fa63e6da(p0: number): void;

declare function N_0x412f1364fa066cfb(p0: number): number;

declare function N_0x41350b4fc28e3941(p0: boolean): void;

declare function N_0x419615486bbf1956(p0: number): void;

declare function N_0x4237e822315d8ba9(): boolean;

declare function N_0x425aecf167663f48(ped: number, p1: boolean): void;

declare function N_0x4282e08174868be3(): number;

/**
 * SET_*
 */
declare function N_0x428ad3e26c8d9eb0(vehicle: number, x: number, y: number, z: number, p4: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x430a7631a84c9be7(p0: number): void;

declare function N_0x4348bfda56023a2f(p0: number, p1: number): number;

declare function N_0x43fa0dfc5df87815(vehicle: number, p1: boolean): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x43fa7cbe20dab219(p0: number): void;

/**
 * CLEAR_VEHICLE_*
 */
declare function N_0x4419966c9936071a(vehicle: number): void;

/**
 * related to:
 * NETWORK_BAIL
 * NETWORK_BAIL_TRANSITION
 * NETWORK_JOIN_GROUP_ACTIVITY
 * NETWORK_JOIN_TRANSITION
 * NETWORK_LAUNCH_TRANSITION
 * NETWORK_SESSION_HOST
 * NETWORK_SESSION_HOST_CLOSED
 * NETWORK_SESSION_HOST_FRIENDS_ONLY
 * NETWORK_SESSION_HOST_SINGLE_PLAYER
 * NETWORK_SESSION_VOICE_LEAVE
 */
declare function N_0x444c4525ece0a4b9(): void;

declare function N_0x44919cc079bb60bf(p0: number): void;

declare function N_0x44aca259d67651db(p1: number): number;

/**
 * NativeDB Added Parameter 1: char* p0
 * NativeDB Introduced: v323
 */
declare function N_0x450819d8cf90c416(): boolean;

declare function N_0x45a83257ed02d9bc(): void;

declare function N_0x45e816772e93a9db(): number;

/**
 * NETWORK_A\*
 * Similar structure as NETWORK_ADD_ENTITY_TO_SYNCHRONISED_SCENE but it includes this time a hash.
 * In casino_slots it is used one time in a synced scene involving a ped and the slot machine?
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0x45f35c0edc33b03b(netScene: number, modelHash: string | number, x: number, y: number, z: number, p5: number, p6: string, p7: number, p8: number, flags: number): void;

/**
 * This has been found in use in the decompiled files.
 */
declare function N_0x4669b3ed80f24b4e(player: number): void;

declare function N_0x469f2ecdec046337(p0: boolean): void;

/**
 * Checks if the specified unknown flag is set in the ped's model.
 * The engine itself seems to exclusively check for flags 1 and 4 (Might be inlined code of the check that checks for other flags).
 * Game scripts exclusively check for flags 1 and 4.
 */
declare function N_0x46b05bcae43856b0(ped: number, flag: number): boolean;

declare function N_0x46d1a61a21f566fc(p0: number): void;

declare function N_0x46f3add1e2d5baf2(p0: number, p1: number): void;

declare function N_0x472397322e92a856(): void;

declare function N_0x4737980e8a283806(p0: number, p1?: number): [boolean, number];

declare function N_0x4811bbac21c5fcd5(p0: number): void;

declare function N_0x483aca1176ca93f1(): void;

declare function N_0x48621c9fca3ebd28(p0: number): void;

declare function N_0x487912fd248efddf(p0: number, p1: number): boolean;

/**
 * A*
 */
declare function N_0x4879e4fe39074cdf(): boolean;

/**
 * Only found 3 times in decompiled scripts. Not a whole lot to go off of.
 * MISC::_48F069265A0E4BEC(a_0, "Movie_Name_For_This_Player");
 * MISC::_48F069265A0E4BEC(&a_0._fB, "Ringtone_For_This_Player");
 * MISC::_48F069265A0E4BEC(&a_0._f1EC4._f12[v_A -- [[6]] ], &v_13); // where v_13 is "MPATMLOGSCRS0" thru "MPATMLOGSCRS15"
 */
declare function N_0x48f069265a0e4bec(name: string): number;

/**
 * Does nothing (essentially a nullsub).
 */
declare function N_0x490861b88f4fd846(p0: number): void;

/**
 * SET_PED_ALLOW*
 */
declare function N_0x49e50bdb8ba4dab2(ped: number, toggle: boolean): void;

declare function N_0x4a7d6e727f941747(p0: number): [number, number];

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x4a9fde3a5a6d0437(toggle: boolean): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x4ad280eb48b2d8e6(vehicle: number, togle: boolean): void;

declare function N_0x4ad490ae1536933b(p0: number, p1: number): number;

declare function N_0x4af92acd3141d96c(): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x4aff7e02e485e92b(): void;

declare function N_0x4b5b620c9b59ed34(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x4c134b4df76025d0(p0: number, p1: number): void;

/**
 * Only used once in the entire game scripts.
 * Does not actually return anything.
 */
declare function N_0x4c2330e61d3deb56(interior: number): number;

declare function N_0x4c2a9fdc22377075(): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x4c3b75694f7e0d9c(p0: number, p1: number, p2: number): void;

declare function N_0x4c89fe2bdeb3f169(): number;

/**
 * NativeDB Introduced: v2060
 */
declare function N_0x4c9034162368e206(): number;

/**
 * This function is hard-coded to always return 1.
 */
declare function N_0x4cebc1ed31e8925e(cutsceneName: string): boolean;

declare function N_0x4d02279c83be69fe(): number;

/**
 * Something like flush_all_scripts
 * Most of time comes after NETWORK_END_TUTORIAL_SESSION() or before TERMINATE_THIS_THREAD()
 */
declare function N_0x4d953df78ebf8158(): void;

declare function N_0x4d9d109f63fee1d4(p0: number, p1: boolean): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0x4dc416f246a41fc8(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x4dcdf92bf64236cd(p0: string, p1: string): void;

declare function N_0x4df7cfff471a7fb1(p0: number): boolean;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x4e52e752c76e7e7a(p0: number): void;

/**
 * NativeDB Introduced: v323
 */
declare function N_0x4ed9c8d6da297639(): number;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x4fcd976da686580c(p0: number): number;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x4fcdbd3f0a813c25(p0: number, p1: number): void;

/**
 * Related to the ped's weapon - flag used when disabling ped vehicle weapon
 * SET_PED_\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0x50276ef8172f5f12(ped: number): void;

declare function N_0x5068f488ddb54dd8(): number;

/**
 * NativeDB Added Parameter 1: char* p0
 * NativeDB Added Parameter 2: float* p1
 * NativeDB Introduced: v323
 */
declare function N_0x50a8a36201dbf83e(): boolean;

/**
 * GET_*
 */
declare function N_0x511f1a683387c7e2(ped: number): number;

declare function N_0x51db102f4a3ba5e0(toggle: boolean): void;

/**
 * Usex in decompiled scripts in combination with [`_GET_VEHICLE_SUSPENSION_BOUNDS`](#\_0xDF7E3EEB29642C38).
 * NativeDB Introduced: v1180
 * ```
 * // Example from fm_bj_race_controller.c
 * if (!VEHICLE::_0x51F30DB60626A20E(uParam0->f_26, uParam0->f_12.f_3, uParam0->f_12, 2, 1) && !func_282(uParam0->f_6))
 * {
 * VEHICLE::_GET_VEHICLE_SUSPENSION_BOUNDS(*uParam0, &vVar15, &uVar16);
 * VEHICLE::_GET_VEHICLE_SUSPENSION_BOUNDS(uParam0->f_26, &vVar17, &uVar18);
 * fVar19 = SYSTEM::VDIST2(0f, 0f, vVar15.z, 0f, 0f, vVar17.z);
 * uParam0->f_12.f_3.f_2 = (uParam0->f_12.f_3.f_2 + fVar19);
 * if (!VEHICLE::_0x51F30DB60626A20E(uParam0->f_26, uParam0->f_12.f_3, uParam0->f_12, 2, 1))
 * {
 * uParam0->f_12.f_3 = { uParam0->f_6 };
 * uParam0->f_12 = { uParam0->f_9 };
 * }
 * }
 * ```
 * @param vehicle the target vehicle
 * @param x vehicle location
 * @param y vehicle location
 * @param z vehicle location
 * @param rotX some kind of vehicle rotation value
 * @param rotY some kind of vehicle rotation value
 * @param rotZ some kind of vehicle rotation value
 * @param p7 usually 2
 * @param p8 usually 1
 * @return A BOOL value, purpose unknown.
 */
declare function N_0x51f30db60626a20e(vehicle: number, x: number, y: number, z: number, rotX: number, rotY: number, rotZ: number, p7: number, p8: number): boolean;

declare function N_0x5324a0e3e4ce3570(p0: number, p1: number): [boolean, number, number];

declare function N_0x53c10c8bd774f2c9(): number;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x53c31853ec9531ff(p0: number): void;

declare function N_0x53cae13e9b426993(p0: number): void;

/**
 * Related to [`_CLEAR_VEHICLE_TASKS`](#\_0xDBBC7A2432524127) and requires more research (e.g., \_CLEAR_VEHICLE_SECONDARY_TASKS).
 * ```
 * CLEAR_*
 * NativeDB Introduced: v1290
 * ```
 * @param vehicle The vehicle to have tasks cleared
 */
declare function N_0x53ddc75bc3ac0a90(vehicle: number): void;

declare function N_0x5407b7288d0478b7(p0: number): number;

declare function N_0x547237aa71ab44de(p0: number): void;

declare function N_0x54e22ea2c1956a8d(p0: number): void;

/**
 * From the scripts:
 * MISC::_54F157E0336A3822(sub_aa49(a_0), "ForcedStopDirection", v_E);
 * Related to tennis mode.
 * SET_*
 */
declare function N_0x54f157e0336a3822(ped: number, p1: string, p2: number): void;

/**
 * Name between DISABLE_ALL_CONTROL_ACTIONS and DISABLE_CONTROL_ACTION
 */
declare function N_0x5501b7a5cdb79d37(player: number): void;

/**
 * Sets profile setting 935
 */
declare function N_0x55384438fc55ad8e(value: number): void;

declare function N_0x5539c3ebf104a53a(p0: boolean): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x5574637681911fda(p0: number, p1: number, p2: number, p3: number): void;

/**
 * _NETWORK_CAN_VIEW_* - _NETWORK_CAN_SESSION*
 * NETWORK_CAN_PLAY_GAMER_USER_CONTENT?
 * ```
 * ```
 * NativeDB Introduced: v2699
 */
declare function N_0x559ebf901a8c68e0(gamerHandle: number): [boolean, number];

declare function N_0x55a1e095db052fa5(p0: number, p1: number): void;

declare function N_0x55a8becaf28a4eb7(): number;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x55ecf4d13d9903b0(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x55f5a5f07134de60(): void;

declare function N_0x55fcc0c390620314(player1: number, player2: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x560b423d73015e77(p0: number): number;

/**
 * STAT_SET_*
 */
declare function N_0x5688585e6d563cd8(p0: number): void;

declare function N_0x56eb5e94318d3fb6(vehicle: number, p1: boolean): void;

declare function N_0x577599cced639ca2(p0: number): void;

/**
 * FORCE_*
 */
declare function N_0x57d760d55f54e071(p0: number): void;

declare function N_0x583df8e3d4afbd98(): number;

declare function N_0x5845066d8a1ea7f7(vehicle: number, x: number, y: number, z: number, p4: number): void;

declare function N_0x584770794d758c18(p0: number, p1?: number): [boolean, number];

declare function N_0x58bb377bec7cd5f4(p0: boolean, p1: boolean): void;

/**
 * IS_*
 */
declare function N_0x59328eb08c5ceb2b(): boolean;

declare function N_0x593feae1f73392d4(): number;

declare function N_0x59424bd75174c9b1(): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x59c3757b3b7408e8(vehicle: number, toggle: boolean, p2: number): void;

declare function N_0x59d421683d31835a(p0: number): void;

declare function N_0x5a34cd9c3c5bec44(p0: number): boolean;

declare function N_0x5a43c76f7fc7ba5f(): void;

declare function N_0x5a556b229a169402(): boolean;

declare function N_0x5a7f62fda59759bd(): void;

/**
 * Disables some other rendering (internal)
 */
declare function N_0x5ad3932daeb1e5d3(): void;

declare function N_0x5b0316762afd4a64(): number;

declare function N_0x5b1f2e327b6b6fe1(): number;

declare function N_0x5b6010b3cbc29095(p0: number, p1: boolean): void;

declare function N_0x5b73c77d9eb66e24(p0: boolean): void;

declare function N_0x5b9853296731e88d(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

declare function N_0x5ba68a0840d546ac(p0: number, p1: number): number;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x5bbcf35bf6e456f7(toggle: boolean): void;

declare function N_0x5bd5f255321c4aaf(p0: number): number;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x5bf29846c6527c54(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * Only called once in the scripts.
 * Related to weapon objects.
 */
declare function N_0x5c3b791d580e0bc2(entity: number, p1: number): void;

declare function N_0x5c41e6babc9e2112(p0: number): void;

/**
 * W*
 */
declare function N_0x5c48a1d6e3b33179(cam: number): boolean;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x5c497525f803486b(): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x5cdaed54b34b0ed0(p0: number): void;

declare function N_0x5d2bfaab8d956e0e(): void;

/**
 * p1: 0..16
 * ```
 * NativeDB Introduced: v2060
 * ```
 */
declare function N_0x5d96cfb59da076a0(vehicle: number, p1: number, p2: number): void;

declare function N_0x5dbf05db5926d089(p0: number): void;

declare function N_0x5debd9c4dc995692(): void;

declare function N_0x5e3aa4ca2b6fb0ee(p0: number): void;

declare function N_0x5e569ec46ec21cae(vehicle: number, toggle: boolean): void;

/**
 * example from completionpercentage_controller.ysc.c4
 * if (STATS::_5EAD2BF6484852E4()) {
 * MISC::SET_BIT(g_17b95._f20df._ff10, 15);
 * STATS::_11FF1C80276097ED(0xe9ec4dd1, 200, 0);
 * }
 */
declare function N_0x5ead2bf6484852e4(): boolean;

declare function N_0x5ecd378ee64450ab(p0: number): void;

declare function N_0x5edef0cf8c1dab3c(): boolean;

/**
 * Sets some health value. Looks like it's used for helis.
 */
declare function N_0x5ee5632f47ae9695(vehicle: number, health: number): void;

declare function N_0x5f456788b05faeac(p0: number, p1: number, p2: number): void;

/**
 * DISABLE_*
 */
declare function N_0x5f6df3d92271e8a1(toggle: boolean): void;
/**
 * DISABLE_*
 */
declare function SetParticleFxBloodScale(toggle: boolean): void;

/**
 * Appears once in "re_dealgonewrong"
 */
declare function N_0x5fc472c501ccadb3(player: number): boolean;

declare function N_0x5ff2c33b13a02a11(p0: number): void;

declare function N_0x600f8cb31c7aab6e(p0: number): void;

/**
 * Returns true if profile setting 901 is set to true and sets it to false.
 * NETWORK_C*
 */
declare function N_0x60edd13eb3ac1ff3(): boolean;

declare function N_0x60eedc12af66e846(p0: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0x6100b3cefd43452e(p0: number): void;

declare function N_0x613f125ba3bd2eb9(): boolean;

/**
 * Unknown. Called after creating a checkpoint (type: 51) in the creators.
 */
declare function N_0x615d3925e87a3b26(checkpoint: number): void;

declare function N_0x61631f5df50d1c34(p0: boolean): void;

/**
 * NETWORK_GET_NUM_*
 */
declare function N_0x617f49c2668e6155(): number;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x61f95e5bb3e0a8c6(p0: number): void;

declare function N_0x62374889a4d59f72(): void;

declare function N_0x62454a641b41f3c5(p0: number): void;

declare function N_0x629526aba383bcaa(): void;

declare function N_0x62e849b7eb28e770(p0: boolean): void;

declare function N_0x62ecfcfdee7885d6(): void;

declare function N_0x63b406d7884bfa95(): number;

declare function N_0x63eb2b972a218cac(): void;

/**
 * NativeDB Introduced: v1365
 */
declare function N_0x63ecf581bc70e363(p0: number, p1: number): void;

declare function N_0x641f272b52e2f0f8(p0: number, p1: number): void;

declare function N_0x6483c25849031c4f(p0: number, p1: number, p2: number, p3?: number): number;

declare function N_0x649c97d52332341a(p0: number): void;

/**
 * NETWORK_GET_*
 */
declare function N_0x64d779659bc37b19(entity: number): number[];

/**
 * Hardcoded to return false.
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0x64e5c4cc82847b73(): boolean;

declare function N_0x6501129c9e0ffa05(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x65482bfd0923c8a1(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

declare function N_0x6551b1f7f6cd46ea(p0: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x659f9d71f52843f8(p0: number, p1: number): void;

declare function N_0x65b080555ea48149(p0: number): void;

/**
 * Sets GtaThread+0x14A
 * SET_S*
 */
declare function N_0x65d2ebb47e1cec21(toggle: boolean): void;

/**
 * SET_CAM_*
 */
declare function N_0x661b5c8654add825(cam: number, p1: boolean): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x66972397e0757e7a(p0: number, p1: number, p2: number): void;

declare function N_0x66a49d021870fe88(): void;

declare function N_0x66e3aaface2d1eb8(p0: number, p1: number, p2: number): void;

declare function N_0x66e7cb63c97b7d20(): number;

declare function N_0x675721c9f644d161(): void;

declare function N_0x675d19c6067cae08(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x678f86d8fc040bdb(p0: number): void;

declare function N_0x67fc09bc554a75e5(): number;

declare function N_0x68103e2247887242(): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x68b562e124cc0aef(p0: number, p1: number): void;

/**
 * IS_*
 */
declare function N_0x690a61a6d13583f6(player: number): boolean;

/**
 * NativeDB Introduced: v2372
 */
declare function N_0x690b76bd2763e068(): number;

declare function N_0x692d58df40657e8c(p0: number, p1: number, p2: number, p4: number, p5: boolean): [boolean, number];

declare function N_0x693478acbd7f18e7(): void;

/**
 * SET_ENTITY_R*
 */
declare function N_0x694e00132f2823ed(entity: number, toggle: boolean): void;

declare function N_0x699e4a5c8c893a18(p0: number, p1: string, p2?: number): [boolean, number];

declare function N_0x69ef772b192614c1(p0: number, p1: number, p2: number, p3: number): void;

/**
 * SET_F*
 */
declare function N_0x6a51f78772175a51(toggle: boolean): void;

/**
 * Sets some voice chat related value.
 * NETWORK_SET_*
 */
declare function N_0x6a5d89d7769a40d8(toggle: boolean): void;

declare function N_0x6a60e43998228229(p0: number): void;

/**
 * NativeDB Introduced: v2060
 */
declare function N_0x6a7f19756f1a9016(): boolean;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x6a973569ba094650(vehicle: number, p1: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0x6ad0bd5e087866cb(p0: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x6b7e4fb50d5f3d65(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function N_0x6bc0acd0673acebe(p0: number, p1: number, p2: number): void;

declare function N_0x6bccf9948492fd85(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function N_0x6bfb12ce158e3dd4(p0: number): boolean;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x6bff5f84102df80a(player: number): void;

declare function N_0x6cd79468a1e595c6(padIndex: number): boolean;

declare function N_0x6ce50e47f5543d0c(): void;

/**
 * Returns some sort of index/offset for props.
 * Needs \_GET_NUM_PROPS_FROM_OUTFIT to be called with p3 = true and componentId = -1 first, returns -1 otherwise.
 * ```
 * NativeDB Introduced: v2189
 * ```
 */
declare function N_0x6cebe002e58dee97(componentHash: string | number): number;

/**
 * Possible values:
 * act_cinema
 * am_mp_carwash_launch
 * am_mp_carwash_control
 * am_mp_property_ext
 * chop
 * fairgroundHub
 * launcher_BasejumpHeli
 * launcher_BasejumpPack
 * launcher_CarWash
 * launcher_golf
 * launcher_Hunting_Ambient
 * launcher_MrsPhilips
 * launcher_OffroadRacing
 * launcher_pilotschool
 * launcher_Racing
 * launcher_rampage
 * launcher_rampage
 * launcher_range
 * launcher_stunts
 * launcher_stunts
 * launcher_tennis
 * launcher_Tonya
 * launcher_Triathlon
 * launcher_Yoga
 * ob_mp_bed_low
 * ob_mp_bed_med
 */
declare function N_0x6d6840cee8845831(action: string): void;

declare function N_0x6dee77aff8c21bd1(): [boolean, number, number];

declare function N_0x6e0a5253375c4584(): number;

declare function N_0x6e4361ff3e8cd7ca(p0: number): number;

/**
 * Looks like a cousin of above function _6D6840CEE8845831 as it was found among them. Must be similar
 * Here are possible values of argument -
 * "ob_tv"
 * "launcher_Darts"
 */
declare function N_0x6e91b04e08773030(action: string): void;

declare function N_0x6eaaefc76acc311f(p0: number): number;

declare function N_0x6ebfb22d646ffc18(vehicle: number, p1: boolean): void;

/**
 * Sets bit 3 in GtaThread+0x150
 * SET_T*
 */
declare function N_0x6f2135b6129620c1(toggle: boolean): void;

declare function N_0x6f361b8889a792a3(): void;

declare function N_0x6fb7bb3607d27fa2(): number;

/**
 * This function is hard-coded to always return 1.
 */
declare function N_0x6fcf8ddea146c45b(p0: number): boolean;

declare function N_0x6fd97159fe3c971a(p0: number, p1: number, p2: number, p3: number): void;

/**
 * Does nothing (it's a nullsub).
 * NativeDB Introduced: v323
 */
declare function N_0x6fd992c4a1c1b986(): number;

/**
 * SET_P*
 */
declare function N_0x6fddad856e36988a(vehicle: number, toggle: boolean): void;

/**
 * HAS_*
 * Probably something like "has game been started for the first time".
 */
declare function N_0x6fddf453c0c756ec(): boolean;

/**
 * Clears the fields sets by [N\_0xc7f29ca00f46350e](#\_0xC7F29CA00F46350E) (1604 retail: 0x1424A7A10, 0x1424A7A11) and iterates over the global CDoor's bucket-list.
 * Related to its "Pre-networked state"?
 */
declare function N_0x701fda1e82076ba4(): void;

declare function N_0x702bc4d605522539(p0: number): void;

declare function N_0x7033eefd9b28088e(p0: number): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x703cc7f60cbb2b57(p0: number): void;

declare function N_0x705a276ebff3133d(): boolean;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x70a382adec069dd3(coordX: number, coordY: number, coordZ: number): void;

declare function N_0x70b8ec8fc108a634(p0: boolean, p1: number): void;

/**
 * NativeDB Added Parameter 1: char* p0
 * NativeDB Added Parameter 2: int* p1
 * NativeDB Introduced: v323
 */
declare function N_0x710bcda8071eded1(): boolean;

declare function N_0x711794453cfd692b(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x7148e0f43d11f0d9(): void;

declare function N_0x71b008056e5692d6(): void;

declare function N_0x71e7b2e657449aad(): number;

declare function N_0x723c1ce13fbfdb67(p0: number, p1: number): void;

/**
 * Jenkins hash _might_ be 0xFC227584.
 */
declare function N_0x7241ccb7d020db69(entity: number, toggle: boolean): void;

/**
 * Last named native above this one is `TRACK_VEHICLE_VISIBILITY` and first named native below is `UNCUFF_PED`.
 * Unknown what it does, couldn't find good examples in the decompiled scripts.
 */
declare function N_0x725012a415dba050(p0: number, p2: number): [number, number];

/**
 * _RESET_*
 * _RESET_GAMEPLAY_CAM_RELATIVE_ORBIT_HOLD_TIME?
 * ```
 * ```
 * NativeDB Introduced: v2699
 */
declare function N_0x7295c203dd659dfe(): void;

declare function N_0x72beccf4b829522e(p0: number, p1: number): void;

declare function N_0x72eb7ba9b69bf6ab(): boolean;

declare function N_0x73001e34f85137f8(p0: number): void;

declare function N_0x733c87d4ce22bea2(ped: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x734e1714d077da9a(p0: number, p1: number): void;

declare function N_0x73561d4425a021a2(p0: number, p1: number): void;

declare function N_0x737e398138550fff(vehicle: number, toggle: boolean): void;

/**
 * Has something to do with a host request.
 * NETWORK_RE*
 */
declare function N_0x741a3d8380319a81(): void;

declare function N_0x742b58f723233ed9(p0: number): number;

/**
 * NET_GAMESERVER_*
 */
declare function N_0x74a0fd0688f1ee45(p0: number): number;

/**
 * Hardcoded to return zero.
 * ==== PS4 specific info ====
 * Returns some sort of unavailable reason:
 * -1 = REASON_INVALID
 * 0 = REASON_OTHER
 * 1 = REASON_SYSTEM_UPDATE
 * 2 = REASON_GAME_UPDATE
 * 3 = REASON_SIGNED_OUT
 * 4 = REASON_AGE
 * 5 = REASON_CONNECTION
 * =================================
 * @return Hard-coded to always return 0.
 */
declare function N_0x74fb3e29e6d10fa9(): number;

/**
 * Checks some commerce stuff
 * NativeDB Introduced: v1290
 */
declare function N_0x754615490a029508(): number;

declare function N_0x759650634f07b6b4(p0: number): boolean;

/**
 * REQUEST_*
 */
declare function N_0x75ba1cb3b7d40caf(ped: number, p1: boolean): void;

/**
 * Sets bit 1 in GtaThread+0x154
 * BG_*
 * NativeDB Introduced: v323
 */
declare function N_0x760910b49d2b98ea(): void;

declare function N_0x762db2d380b48d04(p0: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0x76b3f29d3f967692(p0: number, p1: number): void;

/**
 * SET_VEHICLE_*
 */
declare function N_0x76d26a22750e849e(vehicle: number): void;

declare function N_0x77faddcbe3499df7(p0: number): void;

declare function N_0x7808619f31ff22db(): number;

/**
 * SET_PICKUP_\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0x7813e8b8c4ae4799(pickup: number): void;

declare function N_0x78321bea235fd8cd(p0: number, p1: boolean): boolean;

declare function N_0x78ceee41f49f421f(p0: number, p1: number): void;

/**
 * Related to cutscene entities. Unsure about the use.
 * SET_ENTITY_*
 */
declare function N_0x78e8e3a640178255(entity: number): void;

declare function N_0x793ff272d5b365f4(): number;

declare function N_0x796a877e459b99ea(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function N_0x79c0e43eb9b944e2(hash: string | number): boolean;

/**
 * Sets profile setting 940 and 941
 * _SET_F* - _SET_G*
 * ```
 * ```
 * NativeDB Introduced: v2699
 */
declare function N_0x79d310a861697cc9(profileSetting: number, settingValue: number): void;

/**
 * NET_GAMESERVER_*
 * Checks if the transaction status is equal to 3.
 * NativeDB Introduced: v1365
 */
declare function N_0x79edac677ca62f81(transactionId: number): boolean;

/**
 * UI3DSCENE_*
 */
declare function N_0x7a42b2e236e71415(): void;

declare function N_0x7ac24eab6d74118d(p0: boolean): boolean;

declare function N_0x7b18da61f6bae9d5(p0: number): void;

declare function N_0x7b8a361c1813fbef(): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x7bae68775557ae0b(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

declare function N_0x7bbe7ff626a591fe(p0: number): void;

declare function N_0x7c226d5346d4d10a(p0: number): void;

declare function N_0x7c4fccd2e4deb394(): boolean;

declare function N_0x7d36291161859389(p0: number): void;

declare function N_0x7d395ea61622e116(p0: boolean): void;

/**
 * SET_VEHICLE_AL*
 */
declare function N_0x7d6f9a3ef26136a0(vehicle: number, toggle: boolean, p2: boolean): void;

declare function N_0x7d8ba05688ad64c7(p0: number): void;

declare function N_0x7db18ca8cad5b098(): number;

declare function N_0x7db53b37a2f211a0(): number;

declare function N_0x7e07c78925d5fd96(p0: number): number;

/**
 * **This native does absolutely nothing, just a nullsub**
 * ```
 * Something to do with phone cameras.
 * startup.c4:
 * void sub_2a3d() {
 * UNK2::_7E2BD3EF6C205F09("No_Filter", 1);
 * UNK2::_7E2BD3EF6C205F09("phone_cam1", 1);
 * UNK2::_7E2BD3EF6C205F09("phone_cam2", 1);
 * UNK2::_7E2BD3EF6C205F09("phone_cam3", 1);
 * UNK2::_7E2BD3EF6C205F09("phone_cam4", 1);
 * UNK2::_7E2BD3EF6C205F09("phone_cam5", 1);
 * UNK2::_7E2BD3EF6C205F09("phone_cam6", 1);
 * UNK2::_7E2BD3EF6C205F09("phone_cam7", 1);
 * UNK2::_7E2BD3EF6C205F09("phone_cam9", 1);
 * UNK2::_7E2BD3EF6C205F09("phone_cam12", 0);
 * }
 * ```
 */
declare function N_0x7e2bd3ef6c205f09(p0: string, p1: boolean): void;

declare function N_0x7e6946f68a38b74f(p0: number): boolean;

declare function N_0x7ec3c679d0e7e46b(p0: number, p1: number, p2: number, p3: number): void;

/**
 * Possibly used to clear scenario points.
 * CLEAR_*
 */
declare function N_0x7ec6f9a478a6a512(): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x7ecdf98587e92dec(p0: number): void;

/**
 * _PLAYSTATS_ROB_ARMOURD_TRUCK
 */
declare function N_0x7eec2a316c250073(p0: number, p1: number, p2: number): void;

/**
 * IS_*
 */
declare function N_0x7ef7649b64d7ff10(entity: number): boolean;

declare function N_0x7f2c4cdf2e82df4c(p0: number): boolean;

declare function N_0x7f8f6405f4777af6(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: boolean): number;

/**
 * SET_VEHICLE_*
 */
declare function N_0x7f96f23fa9b73327(modelHash: string | number): void;

declare function N_0x7fa5d82b8f58ec06(): boolean;

declare function N_0x7fcc39c46c3c03bd(p0: number): boolean;

/**
 * NativeDB Introduced: v323
 */
declare function N_0x7ffcbfee44ecfabf(): number;

/**
 * CLEAR_PED_*
 */
declare function N_0x80054d7fcc70eec6(ped: number): void;

/**
 * IS_*
 */
declare function N_0x801879a9b4f4b2fb(): boolean;

declare function N_0x80e3357fdef45c21(vehicle: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x810b5fcc52ec7ff0(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x814af7dcaacc597b(p0: number): void;

/**
 * UI::_817B86108EB94E51(1, &g_189F36._f10CD1[0 -- [[16]] ], &g_189F36._f10CD1[1 -- [[16]] ], &g_189F36._f10CD1[2 -- [[16]] ], &g_189F36._f10CD1[3 -- [[16]] ], &g_189F36._f10CD1[4 -- [[16]] ], &g_189F36._f10CD1[5 -- [[16]] ], &g_189F36._f10CD1[6 -- [[16]] ], &g_189F36._f10CD1[7 -- [[16]] ]);
 */
declare function N_0x817b86108eb94e51(p0: boolean): [number, number, number, number, number, number, number, number];

declare function N_0x81cbae94390f9f89(): void;

declare function N_0x820e9892a77e97cd(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x8235f1bead557629(vehicle: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v2060
 */
declare function N_0x823ec8e82ba45986(p0: number): void;

/**
 * Only found 2 times in decompiled scripts. Not a whole lot to go off of.
 * MISC::_8269816F6CFD40F8(&a_0._f1F5A._f6[0 -- [[8]] ], "TEMPSTAT_LABEL"); // gets saved in a struct called "g_SaveData_STRING_ScriptSaves"
 * MISC::_8269816F6CFD40F8(&a_0._f4B4[v_1A -- [[8]] ], &v_5); // where v_5 is "Name0" thru "Name9", gets saved in a struct called "OUTFIT_Name"
 */
declare function N_0x8269816f6cfd40f8(name: string): number;

declare function N_0x826d1ee4d1cafc78(p0: number, p1: number): void;

/**
 * BG_*
 * NativeDB Introduced: v323
 */
declare function N_0x829cd22e043a2577(p0: string | number): number;

declare function N_0x82acc484ffa3b05f(p0: number): number;

/**
 * Does nothing. It's a nullsub.
 * NativeDB Introduced: v1604
 */
declare function N_0x82e0ac411e41a5b4(toggle: boolean): void;

declare function N_0x82ebb79e258fa2b7(entity: number, interiorID: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x830c3a44eb3f2cf9(p0: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function N_0x834344a414c7c85d(p0: number, p1: number): void;

declare function N_0x83660b734994124d(p0: number, p1: number, p2: number): number;

/**
 * Returns true if bit 0 in GtaThread+0x154 is set.
 * BG_*
 * NativeDB Introduced: v323
 */
declare function N_0x836b62713e0534ca(): boolean;

declare function N_0x83a169eabcdb10a2(p0: number, p1: number): void;

declare function N_0x83fe8d7229593017(): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x8410c5e0cd847b9d(): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x8423541e8b3a1589(p0: number, p1: number, p2: number): void;

declare function N_0x84a810b375e69c0e(): number;

/**
 * NativeDB Introduced: v2372
 */
declare function N_0x84b418e93894ac1c(): number;

declare function N_0x84de3b5fb3e666f0(ropeId: number): [boolean, number];

declare function N_0x84dfc579c2fc214c(p0: number): void;

declare function N_0x851cd923176eba7c(): void;

declare function N_0x8533cafde1f0f336(p0: number): number;

declare function N_0x858ec9fd25de04aa(p0: number, p1: number): void;

declare function N_0x85f6c9aba1de2bcf(): number;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x86255b1fc929e33e(p0: number): number;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x8634cef2522d987b(ped: number, p1: string, value: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0x8664170ef165c4a6(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x870289a558348378(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x870b8b7a766615c8(p0: number, p1: number, p2: number): void;

/**
 * SET_A*
 */
declare function N_0x87ddeb611b329a9c(multiplier: number): void;

declare function N_0x88087ee1f28024ae(p0: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x8821196d91fa2de5(vehicle: number, toggle: boolean): void;

declare function N_0x88578f6ec36b4a3a(p0: number, p1: number): number;

/**
 * NativeDB Introduced: v1365
 */
declare function N_0x887fa38787de8c72(vehicle: number): void;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function N_0x8881c98a31117998(p0: number): void;
/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function N_0xa90e7227a9303fa9(p0: number): void;

declare function N_0x88b588b41ff7868e(): number;

declare function N_0x88bc673ca9e0ae99(vehicle: number, p1: boolean): void;

declare function N_0x892b6ab8f33606f5(p0: number, entity: number): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x8951eb9c6906d3c8(): void;

declare function N_0x8989cbd7b4e82534(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x8a4416c0db05fa66(p0: number): boolean;

declare function N_0x8aa9180de2fedd45(vehicle: number, p1: boolean): void;

declare function N_0x8b0c2964ba471961(): number;

declare function N_0x8b4ffc790ca131ef(p0: number, p1: number, p2: number, p3: number): number;

declare function N_0x8b9cdbd6c566c38c(): number;

declare function N_0x8bf907833be275de(p0: number, p1: number): void;

declare function N_0x8c8d2739ba44af0f(p0: number): boolean;

declare function N_0x8c9d11605e59d955(p0: number): void;

declare function N_0x8caab2bd3ea58bd4(p0: number): void;

declare function N_0x8cc469ab4d349b7c(p0: number, p1: string, p2?: number): [boolean, number];

/**
 * Used only once in the scripts (taxi_clowncar)
 * SET_PARTICLE_FX_*
 */
declare function N_0x8cde909a0370bb3a(toggle: boolean): void;

/**
 * NativeDB Introduced: v757
 */
declare function N_0x8cff648fbd7330f1(p0: number): void;

/**
 * I*
 */
declare function N_0x8d74e26f54b4e5c3(p0: string): void;

/**
 * SET_PLAYER_MAX_*
 */
declare function N_0x8d768602adef2245(player: number, p1: number): void;

declare function N_0x8d8adb562f09a245(p0: number): void;

/**
 * SET_SCRIPT_*
 * Sets the cutscene's owning thread ID.
 */
declare function N_0x8d9df6eca8768583(threadId: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x8dca505a5c196f05(p0: number, p1: number): void;

declare function N_0x8e243837643d9583(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x8ec74ceb042e7cff(p0: number): void;

/**
 * NETWORK_SET_\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0x8ef52acaecc51d9c(toggle: boolean): void;

declare function N_0x8f08017f9d7c47bd(p0: number, p2: number): [boolean, number];

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x8f0d5ba1c2cc91d7(toggle: boolean): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x906ca41a4b74eca4(): number;

/**
 * NativeDB Introduced: v323
 */
declare function N_0x908311265d42a820(p0: number): void;

/**
 * ADD_\*
 * ```
 * NativeDB Introduced: v1868
 * ```
 */
declare function N_0x9097eb6d4bb9a12a(player: number, entity: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0x90cd7c6871fbf1b4(p0: number, p1: number, p2: number, p3: number): void;

/**
 * Does nothing (it's a nullsub). Seems to be PS4 specific.
 * ```
 * NativeDB Introduced: v2060
 * ```
 */
declare function N_0x916ca67d26fd1e37(p0: string): void;

declare function N_0x91ef6ee6419e5b97(p0: boolean): void;

declare function N_0x9237e334f6e43156(p0: number): number;

declare function N_0x92da6e70ef249bd1(p0: string, p1?: number): [boolean, number];

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x92fc0eedfac04a14(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

declare function N_0x930f504203f561c9(p0: number): void;

/**
 * Probably IS_SWITCH_*
 */
declare function N_0x933bbeeb8c61b5f4(): boolean;

declare function N_0x94538037ee44f5cf(p0: boolean): void;

declare function N_0x9465e683b12d3f6b(): void;

declare function N_0x9489659372a81585(): boolean;

declare function N_0x949f397a288b28b3(p0: number): void;

declare function N_0x95a7dabddbb78ae7(iplName1: string, iplName2: string): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x95baf97c82464629(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x9640e30a7f395e4b(vehicle: number, p1: number, p2: number, p3: number, p4: number): void;

declare function N_0x9641588dab93b4b5(p0: number): void;

/**
 * Returns some sort of index/offset for components.
 * Needs \_GET_NUM_PROPS_FROM_OUTFIT to be called with p3 = false and componentId with the drawable's component slot first, returns -1 otherwise.
 * ```
 * NativeDB Introduced: v2189
 * ```
 */
declare function N_0x96e2929292a4db77(componentHash: string | number): number;

declare function N_0x96e6d5150dbf1c09(p0: number, p1: number, p2: number): void;

declare function N_0x973d76aa760a6cb6(p0: boolean): void;

/**
 * SET_WEAPON_OBJECT_*
 */
declare function N_0x977ca98939e82e4b(weaponObject: number, p1: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x97841634ef7df1d6(vehicle: number, toggle: boolean): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x97e7e2c04245115b(p0: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function N_0x97ffb4adeed08066(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x9849de24fcf23ccc(vehicle: number, toggle: boolean): void;

/**
 * GET_F*
 */
declare function N_0x98c3cf913d895111(_string: string, length: number): string;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x98d18905bf723b99(): number;

declare function N_0x98e2bc1ca26287c3(): void;

/**
 * REQUEST_*
 */
declare function N_0x98edf76a7271e4f2(): void;

declare function N_0x9911f4a24485f653(p0: boolean): void;

declare function N_0x998e18ceb44487fc(p0: number, p1: number, p2: number, p3: number): void;

/**
 * Does nothing. It's a nullsub.
 * NativeDB Introduced: v1604
 */
declare function N_0x99a05839c46ce316(toggle: boolean): void;

declare function N_0x99cad8e7afdb60fa(vehicle: number, p1: number, p2: number): void;

declare function N_0x9a62ec95ae10e011(): number;

/**
 * Related to car generators & CPlayerSwitchMgrLong
 * SET_VEHICLE_*
 * SET_VEHICLE_GENERATORS_EXPECTED_GAMEPLAY_PT ?
 */
declare function N_0x9a75585fb2e54fad(x: number, y: number, z: number, radius: number): void;

declare function N_0x9a77dfd295e29b09(ped: number, toggle: boolean): void;

declare function N_0x9ac92eed5e4793ab(): void;

/**
 * FORCE_*
 */
declare function N_0x9b079e5221d984d3(p0: boolean): void;

declare function N_0x9b4bd21d69b1e609(): void;

/**
 * Hardcoded to return 0.
 * NativeDB Introduced: v323
 */
declare function N_0x9b5016a6433a68c5(): number;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x9bd7bd55e4533183(p0: number, p1: number, p2: number): void;

declare function N_0x9bddc73cc6a115d4(vehicle: number, p1: boolean, p2: boolean): void;

declare function N_0x9becd4b9fef3f8a6(vehicle: number, p1: boolean): void;

declare function N_0x9c6a6c19b6c0c496(ped: number, p1?: number): [boolean, number];

/**
 * NativeDB Introduced: v1868
 */
declare function N_0x9d252648778160df(p0: number): number;

declare function N_0x9d30687c57baa0bb(p0: number): void;

/**
 * SET_H*
 */
declare function N_0x9d3af56e94c9ae98(vehicle: number, p1: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0x9d724b400a7e8ffc(p0: number, p1: number): void;

/**
 * Sets some voice chat related value.
 * NETWORK_SET_*
 */
declare function N_0x9d7afcbf21c51712(toggle: boolean): void;

/**
 * NativeDB Added Parameter 1: char* p0
 * NativeDB Added Parameter 2: char* p1
 * NativeDB Introduced: v323
 */
declare function N_0x9de5d2f723575ed0(): boolean;

/**
 * SET_FOLLOW_*
 */
declare function N_0x9dfe13ecdc1ec196(p0: boolean, p1: boolean): void;
/**
 * SET_FOLLOW_*
 */
declare function SetTimeIdleDrop(p0: boolean, p1: boolean): void;

declare function N_0x9e30e91fb03a2caf(): [boolean, number, number];

/**
 * DISABLE_*
 */
declare function N_0x9e6542f0ce8e70a3(toggle: boolean): void;

/**
 * SET_*
 */
declare function N_0x9ebd751e5787baf2(p0: boolean): void;

declare function N_0x9ec8858184cd253a(): number;

declare function N_0x9edd76e87d5d51ba(player: number): void;

/**
 * REMOVE_\*
 * ```
 * NativeDB Introduced: v1868
 * ```
 */
declare function N_0x9f260bfb59adbca3(player: number, entity: number): void;

declare function N_0x9f3f689b814f2599(vehicle: number, p1: boolean): void;

/**
 * B\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0x9f97da93681f87ea(): void;

/**
 * SET_C\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0x9fcb3cbfb3ead69a(p0: number, p1: number): void;

declare function N_0x9fedf86898f100e9(): number;

/**
 * Gets hash related to task happening with seat index
 * Native name: GET_I\*
 */
declare function N_0xa01bc64dd4bfbbac(vehicle: number, seatIndex: number): number;

declare function N_0xa08fe5e49bdc39dd(p0: number, p1: number, p2: boolean): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0xa0ad167e4b39d9a2(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: number, p11: number, p12: number, p13: number): number;

declare function N_0xa0cefcea390aab9b(p0: number): void;

declare function N_0xa0f93d5465b3094d(p0: number): [boolean, number];

declare function N_0xa0fa4ec6a05da44e(): number;

declare function N_0xa0fe76168a189ddb(): number;

declare function N_0xa12d3a5a3753cc23(): number;

declare function N_0xa17784fca9548d15(p0: number, p1: number, p2: number): void;

/**
 * ROPE_\*
 * ```
 * NativeDB Introduced: v1868
 * ```
 */
declare function N_0xa1ae736541b0fca3(p1: boolean): number;

declare function N_0xa213b11dff526300(): boolean;

declare function N_0xa238192f33110615(): [boolean, number, number, number];

declare function N_0xa247f9ef01d8082e(p0: number): void;

declare function N_0xa2767257a320fc82(p0: number, p1: boolean): void;

/**
 * CLEAR_*
 */
declare function N_0xa2c1f5e92afe49ed(): void;

declare function N_0xa2c9ac24b4061285(ped: number, weaponHash: string | number): number;

/**
 * Needs more research. If the "phone_cam12" filter is applied, this function is called with "TRUE"; otherwise, "FALSE".
 * Example (XBOX 360):
 * // check current filter selection
 * if (MISC::ARE_STRINGS_EQUAL(getElem(g_2471024, &l_17, 4), "phone_cam12") != 0)
 * {
 * MOBILE::_0xC273BB4D(0); // FALSE
 * }
 * else
 * {
 * MOBILE::_0xC273BB4D(1); // TRUE
 * }
 */
declare function N_0xa2ccbe62cd4c91a4(toggle: number): void;

/**
 * Appears to set whether a transition should be started when the session is migrating.
 * NETWORK_SET_*
 */
declare function N_0xa2e9c1ab8a92e8cd(toggle: boolean): void;

declare function N_0xa306f470d1660581(): number;

declare function N_0xa3c53804bdb68ed2(p0: number, p1: number): void;

/**
 * Only called once in the scripts:
 * if (sub_1abd() && (!PED::_A3F3564A5B3646C0(l_8C))) {
 * if (sub_52e3("RESNA_CELLR", 0)) {
 * PED::SET_PED_CAN_PLAY_GESTURE_ANIMS(l_8C, 1);
 * PED::SET_PED_CAN_PLAY_AMBIENT_ANIMS(l_8C, 1);
 * PED::SET_PED_CAN_PLAY_VISEME_ANIMS(l_8C, 1, 0);
 * l_184 += 1;
 * }
 * }
 * Checks something related to the mobile phone task.
 * IS_*
 */
declare function N_0xa3f3564a5b3646c0(ped: number): boolean;

/**
 * NativeDB Added Parameter 1: int p0
 * NativeDB Introduced: v323
 */
declare function N_0xa468e0be12b12c70(): boolean;

declare function N_0xa46b73faa3460ae1(p0: boolean): void;

declare function N_0xa4822f1cf23f4810(p1: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): [boolean, number[], number[]];

/**
 * GET_SAVE_*
 * GET_SAVE_UNLESS_CUSTOM_DOT ?
 */
declare function N_0xa4a0065e39c9f25c(): [boolean, number[], number, any /* actually bool */, any /* actually bool */];

/**
 * NativeDB Introduced: v1604
 */
declare function N_0xa4a9a4c40e615885(p0: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0xa51338e0dccd4065(p0: number, p1: number, p2: number): void;

declare function N_0xa51b086b0b2c0f7a(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0xa52d5247a4227e14(p0: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0xa5eafe473e45c442(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number): void;

declare function N_0xa660faf550eb37e5(p0: number, p1: boolean): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0xa6eef01087181edd(p0: number, p1: number): number;

declare function N_0xa6f54bb2ffca35ea(p0: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0xa6fceccf4721d679(p0: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0xa7092afe81944852(): void;

declare function N_0xa736cf7fb7c5bff4(): [number, number, number, number];

declare function N_0xa761d4ac6115623d(): number;

declare function N_0xa7862bc5ed1dfd7e(p0: number, p1: number): [boolean, number, number];

/**
 * STATS::0xE3247582(0);
 * STATS::0xE3247582(1);
 * STATS::0xE3247582(2);
 * STATS::0xE3247582(3);
 * STATS::0xE3247582(4);
 * STATS::0xE3247582(5);
 * STATS::0xE3247582(6);
 */
declare function N_0xa78b8fa58200da56(p0: number): void;

declare function N_0xa7dcdf4ded40a8f4(vehicle: number, p1: boolean): void;

/**
 * Some property related to gates. Native name between `DOOR_SYSTEM_SET_AUTOMATIC_RATE` and `DOOR_SYSTEM_SET_DOOR_STATE`.
 */
declare function N_0xa85a21582451e951(doorHash: string | number, p1: boolean): void;

declare function N_0xa8733668d1047b51(p0: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0xa8a7d434afb4b97b(p0: string, p1: number): void;

declare function N_0xa8acb6459542a8c8(): number;

declare function N_0xa943fd1722e11efd(): number;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0xa95cfb4e02390842(p0: number, p1: number, p2: number): void;

declare function N_0xa95f667a755725da(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0xa9b61a329bfdcbea(p0: number, p1: boolean): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0xaa059c615de9dd03(p0: number, p1: number): void;

declare function N_0xaa19f5572c38b564(p0: number): [number, number];

declare function N_0xaa525dff66bb82f5(p0: number, p1: number, p2: number): void;

/**
 * NativeDB Added Parameter 1: Entity entity
 */
declare function N_0xaa5fafcd2c5f5e47(): number[];

/**
 * NativeDB Introduced: v1290
 */
declare function N_0xaa653ae61924b0a0(vehicle: number, toggle: boolean): void;

declare function N_0xaa76052dda9bfc3e(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;

declare function N_0xaaa6a3698a69e048(p0: number): number;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0xaabd62873ffb1a33(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0xaae9be70ec7c69ab(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void;

declare function N_0xab04325045427aae(vehicle: number, p1: boolean): void;

/**
 * Used only once in the scripts (fm_mission_controller) like so:
 * TASK::_0xAB13A5565480B6D9(iLocal_3160, "Cutting");
 * SET_*
 */
declare function N_0xab13a5565480b6d9(ped: number, p1: string): number;

declare function N_0xab31ef4de6800ce9(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0xab6781a5f3101470(p0: number, p1: number): void;

declare function N_0xac2890471901861c(p0: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0xad27d957598e49e9(ped: number, p1: number, p2: number, hash: string | number, p4: number, p5: number): void;

/**
 * This has been found in use in the decompiled files.
 */
declare function N_0xad73ce5a09e42d12(player: number): void;

/**
 * gets 2 floats from the CNetGamePlayer of p0 and stores them in p1 and p2.
 * Possibly waypoint?
 */
declare function N_0xadb57e5b663cca8b(p0: number): [number, number];

/**
 * NativeDB Introduced: v2189
 */
declare function N_0xadd6627c4d325458(p0: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0xadf084fb8f075d06(p0: number): boolean;

declare function N_0xae3fee8709b39dcb(vehicle: number): boolean;

declare function N_0xae51bc858f32ba66(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function N_0xaeab987727c5a8a4(p0: number): boolean;

/**
 * Does nothing (it's a nullsub).
 * NativeDB Introduced: v323
 */
declare function N_0xaedf1bc1c133d6e3(): number;

/**
 * Exemple of use(carmod_shop.c4)
 * INTERIOR::_AF348AFCB575A441("V_CarModRoom");
 */
declare function N_0xaf348afcb575a441(roomName: string): void;

declare function N_0xaf60e6a2936f982a(p0: number, p1: number): void;

/**
 * SET_PED_*
 */
declare function N_0xafc976fd0580c7b3(ped: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v1734
 */
declare function N_0xafe24e4d29249e4a(object: number, p1: number, p2: number, p3: boolean): boolean;

declare function N_0xaff47709f1d5dcce(): number;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0xb1381b97f70c7b30(): void;

declare function N_0xb13e88e655e5a3bc(): void;

declare function N_0xb17bc6453f6cf5ac(p0: number, p1: number): void;

declare function N_0xb1b6216ca2e7b55e(p0: number, p1: boolean, p2: boolean): void;

declare function N_0xb1d2bb1e1631f5b1(): boolean;

/**
 * This native doesn't seem to do anything, might be a debug-only native.
 * Confirmed, it is a debug native.
 */
declare function N_0xb264c4d2f2b0a78b(vehicle: number): void;

/**
 * NativeDB Added Parameter 2: Any p1
 * NativeDB Introduced: v1493
 */
declare function N_0xb26f670685631727(p0: number): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0xb282749d5e028163(p0: number, p1: number): void;

declare function N_0xb2d0bde54f0e8e5a(object: number, toggle: boolean): void;

/**
 * SET_C*
 */
declare function N_0xb2e0c0d6922d31f2(vehicle: number, toggle: boolean): void;

declare function N_0xb2ebe8cbc58b90e9(): number;

declare function N_0xb309ebea797e001f(p0: number): number;

/**
 * _SET_PED_HEAD_* - _SET_PED_HEARING_*
 * _SET_PED_HEALTH_...
 * ```
 * ```
 * NativeDB Introduced: v2699
 */
declare function N_0xb3352e018d6f89df(toggle: boolean): void;

declare function N_0xb37e4e6a2388ca7b(): boolean;

/**
 * Setter for 0xE59343E9E96529E7
 * SET_M*
 */
declare function N_0xb3c641f3630bf6da(p0: number): void;

/**
 * This function is hard-coded to always return 1.
 * NETWORK_IS_*
 */
declare function N_0xb3da2606774a8e2d(): boolean;

/**
 * PLAYER::0xBF6993C7(rPtr((&l_122) + 71)); // Found in decompilation
 * ***
 * In "am_hold_up.ysc" used once:
 * l_8d._f47 = MISC::GET_RANDOM_FLOAT_IN_RANGE(18.0, 28.0);
 * PLAYER::_B45EFF719D8427A6((l_8d._f47));
 */
declare function N_0xb45eff719d8427a6(p0: number): void;

declare function N_0xb4c2ec463672474e(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0xb4deae67f35e2acd(p0: number): void;

declare function N_0xb51b9ab9ef81868c(toggle: boolean): void;

declare function N_0xb542de8c3d1cb210(p0: boolean): void;

declare function N_0xb552929b85fc27ec(p0: number, p1: number): void;

declare function N_0xb569f41f3e7e83a4(p0: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0xb5b58e24868cb09e(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0xb5b7742424bd4445(p0: number, p1: number): void;

declare function N_0xb5d3453c98456528(): number;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0xb606e6cc59664972(p0: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0xb68cfaf83a02768d(vehicle: number, toggle: boolean): void;

/**
 * ROPE_*
 */
declare function N_0xb743f735c03d7810(ropeId: number, p1: number): void;

declare function N_0xb746d20b17f2a229(): [boolean, number, number];

/**
 * SET_C\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0xb7b873520c84c118(): void;

/**
 * Clears all areas created by 0xD4A7A435B3710D05
 * CLEAR_*
 * NativeDB Introduced: v1290
 */
declare function N_0xb7c6d80fb371659a(): void;

declare function N_0xb81cf134aeb56ffb(): void;

/**
 * Disables something. Used only once in R* scripts (freemode.ysc).
 * DISABLE_PLAYER_*
 */
declare function N_0xb885852c39cc265d(): void;

declare function N_0xb8b52e498014f5b0(ped: number): boolean;

/**
 * NativeDB Introduced: v2060
 */
declare function N_0xb9351a07a0d458b1(p0: number): number;

declare function N_0xb9562064627ff9db(p0: number, p1: number): void;

/**
 * Returns profile setting 237.
 * GET_*
 */
declare function N_0xb9cf1f793a9f1bf1(): boolean;

declare function N_0xba0127da25fd54c9(p0: number, p1: number): void;

/**
 * SET_PARTICLE_FX_*
 */
declare function N_0xba3d194057c79a7b(p0: string): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0xba4b8d83bdc75551(p0: number): void;

declare function N_0xba7f0b77d80a4eb7(p0: number, p1: number): void;

/**
 * FORCE_*
 */
declare function N_0xba8d65c1c65702e5(toggle: boolean): void;

declare function N_0xba91d045575699ad(vehicle: number): boolean;

declare function N_0xba9749cc94c1fd85(): number;

declare function N_0xbaa2f0490e146be8(p0: number): void;

declare function N_0xbb2333bb87ddd87f(p0: number, p1: number): void;

declare function N_0xbb90e12cac1dab25(p0: number): void;

/**
 * Most likely ROPE_ATTACH_*
 */
declare function N_0xbc0ce682d4d05650(ropeId: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: number, p11: number, p12: number, p13: number): void;

/**
 * Seems to only appear in scripts used in Singleplayer.
 * Always used like this in scripts
 * PLAYER::_BC9490CA15AEA8FB(PLAYER::PLAYER_ID());
 */
declare function N_0xbc9490ca15aea8fb(player: number): void;

declare function N_0xbcedb009461da156(): number;

declare function N_0xbd0efb25cca8f97a(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0xbd545d44cce70597(): boolean;

/**
 * NETWORK_SESSION_IS_*
 */
declare function N_0xbdb6f89c729cf388(): boolean;

/**
 * This function is hard-coded to always return 0.
 */
declare function N_0xbe197eaa669238f4(p0: number, p1: number, p2: number, p3: number): number;

declare function N_0xbe3db208333d9844(): number;

declare function N_0xbe5c1255a1830ff5(vehicle: number, toggle: boolean): void;

declare function N_0xbeb2d9a1d9a8f55a(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0xbed8ca5ff5e04113(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0xbed9f5693f34ed17(statName: string | number, p1: number, outValue?: number): [boolean, number];

declare function N_0xbef34b1d9624d5dd(p0: boolean): void;

declare function N_0xbf22e0f32968e967(player: number, p1: boolean): void;

declare function N_0xbf371cd2b64212fd(p0: number): void;

declare function N_0xbf4dc1784be94dfa(ped: number, p1: boolean, hash: string | number): void;

declare function N_0xbf4f34a85ca2970c(): void;

declare function N_0xbf72910d0f26f025(): number;

declare function N_0xbfafdb5faaa5c5ab(p0: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0xbffe53ae7e67fcdc(p0: number, p1: number): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 * ```
 * NativeDB Introduced: v2372
 * ```
 */
declare function N_0xc01d2470f22cde5a(): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0xc03fab2c2f92289b(p0: number): void;

/**
 * GOLF_TRAIL_SET_*
 */
declare function N_0xc0416b061f2b7e5e(p0: boolean): void;

declare function N_0xc0e0d686ddfc6eae(): number;

declare function N_0xc0ed6438e6d39ba8(p0: number, p1: number, p2: number): void;

declare function N_0xc13c38e47ea5df31(p0: number): [boolean, number];

declare function N_0xc141b8917e0017ec(): void;

/**
 * NativeDB Added Parameter 2: Any p1
 * NativeDB Introduced: v1493
 */
declare function N_0xc14bd9f5337219b2(p0: number): void;

/**
 * SET_VEH*
 */
declare function N_0xc1805d05e6d4fe10(vehicle: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0xc1e963c58664b556(p0: number): void;

/**
 * NativeDB Added Parameter 1: char* p0
 * NativeDB Introduced: v323
 */
declare function N_0xc2c97ea97711d1ae(): boolean;

/**
 * Getter for 0xCD74233600C4EA6B
 * GET_*
 */
declare function N_0xc2d2ad9eaae265b8(): boolean;

declare function N_0xc2ee020f5fb4db53(ped: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0xc30bdaee47256c13(p0: number): number;

declare function N_0xc32ea7a2f6ca7557(): number;

/**
 * - This is called after SET_ALL_RANDOM_PEDS_FLEE_THIS_FRAME
 */
declare function N_0xc3376f42b1faccc6(player: number): void;
/**
 * - This is called after SET_ALL_RANDOM_PEDS_FLEE_THIS_FRAME
 */
declare function SetAreasGeneratorOrientation(player: number): void;

/**
 * SET_ENTITY_*
 */
declare function N_0xc34bc448da29f5e9(entity: number, toggle: boolean): void;

declare function N_0xc35a6d07c93802b2(): void;

/**
 * Vehicle must be a plane.
 * Native name is between SET_VEHICLE_BRAKE_LIGHTS and SET_VEHICLE_BULLDOZER_ARM_POSITION alphabetically.
 */
declare function N_0xc361aa040d6637a8(vehicle: number, p1: boolean): void;

declare function N_0xc42dd763159f3461(): boolean;

declare function N_0xc434133d9ba52777(p0: number, p1: number): number;

/**
 * GET_IS_LOADING_\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0xc4637a6d03c24cc3(): boolean;

declare function N_0xc4b3347bd68bd609(p0: number): void;

/**
 * SET_VEHICLE_LI*
 */
declare function N_0xc50ce861b55eab8b(vehicle: number, p1: boolean): void;

declare function N_0xc56fbf2f228e1dac(modelHash: string | number, p1: number, p2: number): number;

/**
 * NETWORK_IS_TRANSITION_*
 */
declare function N_0xc571d0e77d8bbc29(): boolean;

declare function N_0xc594b315edf2d4af(ped: number): void;

/**
 * NativeDB Added Parameter 1: int p0
 * NativeDB Added Parameter 2: char* p1
 * NativeDB Added Parameter 3: float* p2
 * NativeDB Introduced: v323
 */
declare function N_0xc5a35c73b68f3c49(): boolean;

declare function N_0xc5c8f970d4edff71(p0: number): void;

declare function N_0xc6033d32241f6fb5(object: number, toggle: boolean): void;

/**
 * Toggles a value (bool) for cutscenes.
 * SET_*
 */
declare function N_0xc61b86c9f61eb404(toggle: boolean): void;

/**
 * GET_NE*
 * NativeDB Introduced: v1493
 */
declare function N_0xc64a06d939f826f5(): [boolean, number, number, number];

/**
 * NativeDB Introduced: v2189
 */
declare function N_0xc67db108a9ade3be(p0: number, p1: number): void;

/**
 * Sets profile setting 939
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0xc67e2da1cbe759e2(): void;

declare function N_0xc6e0e2616a7576bb(): number;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0xc6e74cf8c884c880(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;

/**
 * See [`N_0x701fda1e82076ba4`](#\_0x701FDA1E82076BA4).
 */
declare function N_0xc7f29ca00f46350e(p0: boolean): void;

/**
 * NET_GAMESERVER_*
 * Checks if the transaction status is equal to 1.
 * NativeDB Introduced: v1365
 */
declare function N_0xc830417d630a50f9(transactionId: number): boolean;

declare function N_0xc8391c309684595a(): void;

declare function N_0xc847b43f369ac0b5(): void;

declare function N_0xc87e740d9f3872cc(): number;

/**
 * IS_MOBILE_PHONE_*
 */
declare function N_0xc8b1b2425604cdd0(): boolean;

declare function N_0xc8b5c4a79cc18b94(cam: number): void;

declare function N_0xc8e1071177a23be5(): [boolean, number, number, number];

declare function N_0xc8ede9bdbccba6d4(p1: number, p2: number, p3: number): number;

declare function N_0xca465d9cc0d231ba(p0: number): void;

declare function N_0xca4ae345a153d573(p0: boolean): void;

declare function N_0xca575c391fea25cc(p0: number): void;

/**
 * NETWORK_S\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0xca59ccae5d01e4ce(): void;

declare function N_0xca6b2f7ce32ab653(p0: number, p2: number): [boolean, number];

/**
 * Found in "director_mode", "fm_bj_race_controler", "fm_deathmatch_controler", "fm_impromptu_dm_controler", "fm_race_controler", "gb_deathmatch".
 */
declare function N_0xcac57395b151135f(player: number, p1: boolean): void;

declare function N_0xcb0360efefb2580d(padIndex: number): void;

/**
 * Returns profile setting 243.
 * GET_*
 */
declare function N_0xcb645e85e97ea48b(): boolean;

declare function N_0xcb82a0bf0e3e3265(p0: number): number;

declare function N_0xcc25a4553dfbf9ea(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * RESET_*
 */
declare function N_0xcc6e963682533882(object: number): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0xccd078c2665d2973(p0: boolean): void;

/**
 * REQUEST_*
 */
declare function N_0xcd018c591f94cb43(ped: number, p1: boolean): void;

/**
 * Does nothing (it's a nullsub).
 * NativeDB Introduced: v323
 */
declare function N_0xcd0f5b5d932ae473(): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0xcd4d66b43b1dd28d(p0: number, p1: number, p2: number): void;

/**
 * Setter for 0xC2D2AD9EAAE265B8
 * SET_*
 */
declare function N_0xcd74233600c4ea6b(toggle: boolean): void;

declare function N_0xcea7c8e1b48ff68c(p0: number, p1: number): void;

declare function N_0xced08cbe8ebb97c7(p0: number, p1: number): void;

declare function N_0xceda60a74219d064(p0: number, p1: boolean): void;

declare function N_0xcf9159024555488c(p0: number): void;

/**
 * NativeDB Introduced: v2060
 */
declare function N_0xcfd16f0db5a3535c(toggle: boolean): void;

/**
 * what does this do?
 */
declare function N_0xcfd778e7904c255e(vehicle: number): void;

declare function N_0xcfeb46dcd7d8d5eb(p0: boolean): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0xd05a3241b9a86f19(p0: number, p1: number): void;

declare function N_0xd10282b6e3751ba0(): number;

declare function N_0xd1942374085c8469(p0: number): void;

declare function N_0xd1a1ee3b4fa8e760(p0: number): void;

/**
 * SET_TV_???
 */
declare function N_0xd1c55b110e4df534(p0: number): void;

declare function N_0xd1c7cb175e012964(scaleformHandle: number): boolean;

declare function N_0xd1c9b92bdd3f151d(p0: number, p1: number, p2: number): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0xd2049635deb9c375(): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0xd29334ed1a256dbf(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function N_0xd2dccd8e16e20997(p0: number): void;

/**
 * NETWORK_SESSION_IS_*
 */
declare function N_0xd313de83394af134(): boolean;

declare function N_0xd3301660a57c9272(p0: number): void;

declare function N_0xd33daa36272177c4(ped: number): void;

declare function N_0xd3e51c0ab8c26eee(p0: number, p1: number): number;

declare function N_0xd4196117af7bb974(p0: number, p1: number): number;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0xd4367d310f079db0(p0: number, p1: number, p2: number, p3: number): void;

/**
 * Adds an area that seems to be related to pickup physics behavior.
 * Max amount of areas is 10. Only works in multiplayer.
 * ADD_*
 * NativeDB Introduced: v1290
 */
declare function N_0xd4a7a435b3710d05(x: number, y: number, z: number, radius: number): void;

declare function N_0xd558bec0bba7e8d2(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function N_0xd565f438137f0e10(p0: number, p1: number): void;

declare function N_0xd642319c54aadeb6(): number;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0xd6ca58b3b53a0f22(p0: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0xd6d7478ca62b8d41(p0: number, p1: number): void;

declare function N_0xd7b6c73cad419bcf(p0: boolean): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0xd7b80e7c3befc396(p0: number, p1: number): void;

declare function N_0xd8122c407663b995(): number;

declare function N_0xd821056b9acf8052(player: number, p1: number): void;

declare function N_0xd9454b5752c857dc(): void;

/**
 * RESET_*
 */
declare function N_0xd9f692d349249528(): void;

declare function N_0xda07819e452ffe8f(p0: number): void;

declare function N_0xdaf80797fc534bec(p0: number): void;

declare function N_0xdaf87174be7454ff(p0: number): boolean;

/**
 * ```
 * NativeDB Introduced: v1180
 * ```
 * This native is used for the "larger" circular checkpoints, and sets the circle/ring around the checkpoint to point in the same direction as the inner arrow
 * @param checkpointHandle the handle of a created checkpoint
 */
declare function N_0xdb1ea9411c8911ec(checkpointHandle: number): void;

declare function N_0xdb41d07a45a6d4b7(p0: number): number;

/**
 * NativeDB Introduced: v1734
 */
declare function N_0xdb663cc9ff3407a9(player: number): number;

declare function N_0xdb90c6cca48940f1(p0: boolean): void;

/**
 * Related to locking the vehicle or something similar.
 * In the decompiled scripts, its always called after
 * VEHICLE::_SET_EXCLUSIVE_DRIVER(a_0, 0, 0);
 * VEHICLE::SET_VEHICLE_DOORS_LOCKED_FOR_ALL_PLAYERS(a_0, 1);
 * VEHICLE::SET_VEHICLE_DOORS_LOCKED_FOR_PLAYER(a_0, PLAYER::PLAYER_ID(), 0);
 */
declare function N_0xdbc631f109350b8c(vehicle: number, p1: boolean): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0xdbf860cf1db8e599(p0: number): number;

/**
 * SET_*
 * Only called within 1 script for x360. 'fm_mission_controller' and it used on an object.
 * Ran after these 2 natives,
 * set_object_targettable(uParam0, 0);
 * set_entity_invincible(uParam0, 1);
 */
declare function N_0xdc6f8601faf2e893(entity: number, toggle: boolean): void;

/**
 * Always returns false.
 * ```
 * NativeDB Introduced: v1868
 * ```
 */
declare function N_0xdcc07526b8ec45af(player: number): boolean;

/**
 * NativeDB Added Parameter 1: Vehicle vehicle
 * NativeDB Added Parameter 2: Any p1
 */
declare function N_0xdce97bdf8a0eabc8(): void;

/**
 * 2 occurrences in agency_heist3a. p1 was 0.7f then 0.4f.
 */
declare function N_0xdd2620b7b9d16ff1(player: number, p1: number): boolean;

/**
 * Tune Backwards... ?
 * SET_RADIO_*
 */
declare function N_0xdd6bcf9e94425df9(): void;

declare function N_0xdd79df9f4d26e1c9(): void;

declare function N_0xde03620f8703a9df(): number;

declare function N_0xde45d1a1ef45ee61(player: number, toggle: boolean): void;
declare function SetHudAnimStopLevel(player: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v2060
 */
declare function N_0xde68e30d89f97132(amount: number, p1: number): void;

declare function N_0xdeaaf77eb3687e97(p0: number, p1?: number): [number, number];

declare function N_0xdf4b952f7d381b95(): number;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0xdfbd93bf2943e29b(p0: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0xdfcdb14317a9b361(p0: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0xdfe68c4b787e1bfb(ped: number): void;

declare function N_0xe058175f8eafe79a(p0: boolean): void;

declare function N_0xe05dd0e9707003a3(p0: number, p1: boolean): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0xe05f6aeefeb0bb02(p0: number, p1: number, p2: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0xe0f82d68c7039158(p0: number): void;

declare function N_0xe111a7c0d200cbc5(p0: number, p1: number): void;

/**
 * This function is hard-coded to always return 1.
 */
declare function N_0xe154b48b68ef72bc(p0: number): boolean;

/**
 * Used with IS_LOOK_INVERTED() and negates its affect.
 * --
 * Not sure how the person above got that description, but here's an actual example:
 * if (PAD::_GET_LAST_INPUT_METHOD(2)) {
 * if (a_5) {
 * if (PAD::IS_LOOK_INVERTED()) {
 * a_3 *= -1;
 * }
 * if (PAD::_E1615EC03B3BB4FD()) {
 * a_3 *= -1;
 * }
 * }
 * }
 */
declare function N_0xe1615ec03b3bb4fd(): boolean;

declare function N_0xe16aa70ce9beedc3(p0: number): number;

declare function N_0xe23adc6fcb1f29ae(p0: number, p1: number, p2: number): void;

declare function N_0xe2892e7e55d7073a(p0: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function N_0xe2bb399d90942091(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v2060
 */
declare function N_0xe2e244ab823b4483(amount: number, p1: number): void;

/**
 * RESET_*
 * Resets the effect of 0x428AD3E26C8D9EB0
 */
declare function N_0xe2f53f172b45ede1(): void;

declare function N_0xe3261d791eb44acb(p0: number): void;

declare function N_0xe36a98d8ab3d3c66(p0: boolean): void;

/**
 * sets something to 1
 */
declare function N_0xe3d969d2785ffb5e(): void;

/**
 * Sets an unknown value related to timecycles.
 */
declare function N_0xe3e2c1b4c59dbc77(unk: number): void;

declare function N_0xe3e5a7c64ca2c6ed(): number;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0xe42d626eec94e5d9(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;

declare function N_0xe496a53ba5f50a56(p0: number): number;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0xe4c3b169876d33d7(p0: number): void;

declare function N_0xe4dcec7fd5b739a5(ped: number): void;

/**
 * STOP_S*
 */
declare function N_0xe4e6dd5566d28c82(): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0xe4f6e8d07a2f0f51(p0: number): number;

/**
 * SET_*
 */
declare function N_0xe532ec1a63231b4f(p0: number, p1: number): void;

declare function N_0xe5810ac70602f2f5(vehicle: number, p1: number): void;

/**
 * Getter for 0xB3C641F3630BF6DA
 * GET_M*
 */
declare function N_0xe59343e9e96529e7(): number;

/**
 * NativeDB Introduced: v2372
 */
declare function N_0xe5e9746a66359f9d(): number;

/**
 * TOGGLE_*
 */
declare function N_0xe63d7c6eececb66b(toggle: boolean): void;

/**
 * SET_ENTITY_M\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0xe66377cddada4810(entity: number, p1: boolean): void;

declare function N_0xe6717e652b8c8d8a(p0: number, p1: number): void;

declare function N_0xe67c6dfd386ea5e7(p0: boolean): void;

/**
 * NativeDB Introduced: v2372
 */
declare function N_0xe6d2cedd370ff98e(p0: number, p1: number): void;

/**
 * NativeDB Added Parameter 1: char* p0
 * NativeDB Added Parameter 2: int* p1
 * NativeDB Added Parameter 3: char* p2
 * NativeDB Introduced: v323
 */
declare function N_0xe75a4a2e5e316d86(): boolean;

/**
 * This function is hard-coded to always return 0.
 */
declare function N_0xe791df1f73ed2c8b(p0: number): number;

declare function N_0xe851e480b814d4ba(vehicle: number, p1: boolean): void;

/**
 * GET_H*
 * NativeDB Introduced: v1604
 */
declare function N_0xe8718faf591fd224(vehicle: number): boolean;

declare function N_0xe8853fbce7d8d0d6(): number;

declare function N_0xe906ec930f5fe7c8(p0: number, p1: number): void;

/**
 * Related to tennis mode. Checks for `0x0FCED5ADF = swung`
 */
declare function N_0xe95b0c7d5ba3b96b(ped: number): boolean;

/**
 * NativeDB Introduced: v1868
 */
declare function N_0xea8c0ddb10e2822a(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0xea95c0853a27888e(): void;

declare function N_0xea9960d07dadcf10(p0: number): number;

declare function N_0xeaf0fa793d05c592(): number;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0xeb078ca2b5e82add(p0: number, p1: number): void;

declare function N_0xeb2104e905c6f2e9(): number;

declare function N_0xeb6f1a9b5510a5d2(p0: number, p1: boolean): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0xeb81a3dadd503187(): void;

declare function N_0xebcab9e5048434f4(): number;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0xebd3205a207939ed(p0: number): void;

declare function N_0xebf8284d8cadeb53(): void;

declare function N_0xebfa8d50addc54c4(p0: number): boolean;

/**
 * SET_PED_*
 * Has most likely to do with some shooting attributes as it sets the float which is in the same range as shootRate.
 */
declare function N_0xec4b4b3b9908052a(ped: number, unk: number): void;

/**
 * This function is hard-coded to always return 0.
 */
declare function N_0xec72c258667be5ea(p0: number): number;

/**
 * STAT_LOAD_*
 */
declare function N_0xecb41ac6ab754401(): boolean;

/**
 * FORCE_*
 */
declare function N_0xed3c76adfa6d07c4(ped: number): void;

declare function N_0xed5ede9e676643c9(p0: number, p1: number): void;

declare function N_0xed5fd7af10f5e262(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0xed76d195e6e3bf7f(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0xedbc8405b3895cc9(p0: number, p1: number): void;

declare function N_0xedbf6c9b0d2c65c8(p0: number): void;

/**
 * Some kind of flags.
 */
declare function N_0xeebfc7a7efdc35b4(vehicle: number): number;

declare function N_0xef398beee4ef45f9(p0: boolean): void;

declare function N_0xef39ee20c537e98c(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

/**
 * Only used in R* Script fm_content_cargo
 * ```
 * ```
 * NativeDB Introduced: v2699
 */
declare function N_0xef9d388f8d377f44(vehicle: number, p1: boolean): void;

/**
 * AD*
 */
declare function N_0xefabc7722293da7c(): void;

/**
 * GET_*
 */
declare function N_0xf033419d1b81fae8(p0: number): number;

declare function N_0xf051d9bfb6ba39c0(p0: number): void;

declare function N_0xf06a6f41cb445443(p0: number): void;

/**
 * NETWORK_RE*
 */
declare function N_0xf083835b70ba9bfe(): void;

/**
 * Only 1 occurrence. p1 was 2.
 */
declare function N_0xf10b44fd479d69f3(player: number, p1: number): boolean;

declare function N_0xf11f01d98113536a(p0: number): number;

declare function N_0xf13fe2a80c05c561(): boolean;

/**
 * Sets profile setting 933
 */
declare function N_0xf1a1803d3476f215(value: number): void;

declare function N_0xf22ca0fd74b80e7a(p0: number): boolean;

/**
 * Initial guess of native: `_IS_PED_WEARING_MOTORCYCLE_HELMET`.
 */
declare function N_0xf2385935bffd4d92(ped: number): boolean;

declare function N_0xf239400e16c23e08(padIndex: number, p1: number): void;

declare function N_0xf25e02cb9c5818f8(): void;

declare function N_0xf284ac67940c6812(): number;

declare function N_0xf287f506767cc8a9(): number;

/**
 * SET_PED_ALLOW*
 * toggle was always false except in one instance (b678).
 * The one time this is set to true seems to do with when you fail the mission.
 */
declare function N_0xf2bebcdfafdaa19e(toggle: boolean): void;

declare function N_0xf2ca003f167e21d2(): number;
declare function ReturnZero(): number;

declare function N_0xf2e07819ef1a5289(): boolean;

/**
 * SET_VEHICLE_*
 */
declare function N_0xf3365489e0dd50f9(vehicle: number, toggle: boolean): void;

declare function N_0xf3b0e0aed097a3f5(p0: number, p1: number): number;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0xf3f776ada161e47d(p0: number, p1: number): void;

declare function N_0xf49abc20d8552257(p0: number): void;

declare function N_0xf4a0dadb70f57fa6(): void;

declare function N_0xf51d36185993515d(checkpoint: number, posX: number, posY: number, posZ: number, unkX: number, unkY: number, unkZ: number): void;

declare function N_0xf534d94dfa2ead26(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function N_0xf55e4046f6f831dc(p0: number, p1: number): void;

declare function N_0xf56dfb7b61be7276(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: number, p11: number, p12?: number): [boolean, number];

declare function N_0xf6baaaf762e1bf40(p0: string, p1?: number): [boolean, number];

declare function N_0xf6f4383b7c92f11a(p0: number): void;

declare function N_0xf78b803082d4386f(p0: number): void;

declare function N_0xf78f94d60248c737(vehicle: number, p1: boolean): boolean;

declare function N_0xf814fec6a19fd6e0(): void;

declare function N_0xf8155a7f03ddfc8e(p0: number): void;

/**
 * NativeDB Added Parameter 9: Any p8
 * NativeDB Introduced: v1290
 */
declare function N_0xf83d0febe75e62c9(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void;

declare function N_0xf854439efbb3b583(): void;

/**
 * BL\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0xf8ad2eed7c47e8fe(ped: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v2060
 */
declare function N_0xf8b49f5ba7f850e7(vehicle: number, p1: number): void;

declare function N_0xf8c54a461c3e11dc(): [number, number, number, number];

/**
 * NativeDB Introduced: v1868
 */
declare function N_0xf9096193df1f99d4(p0: number): void;

declare function N_0xf92099527db8e2a7(p0: number, p1: number): void;

/**
 * p1 was always 1 (true).
 * Kicks the ped from the current vehicle and keeps the rendering-focus on this ped (also disables its collision). If doing this for your player ped, you'll still be able to drive the vehicle.
 * Actual name begins with 'S'
 */
declare function N_0xf9acf4a08098ea25(ped: number, p1: boolean): void;

declare function N_0xf9c1681347c8bd15(object: number): void;

declare function N_0xf9f2922717b819ec(): number;

declare function N_0xfa07759e6fddd7cf(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0xfa1e0e893d915215(toggle: boolean): void;

declare function N_0xfa2888e3833c8e96(): void;

/**
 * NativeDB Introduced: v2060
 */
declare function N_0xfa3ffb0eebc288a3(p0: boolean): void;

/**
 * REMOVE_*
 * NativeDB Introduced: v1493
 */
declare function N_0xfa83ca6776038f64(x: number, y: number, z: number): void;

/**
 * Another unknown label type...
 * MISC::_FAA457EF263E8763(a_0, "Thumb_label");
 * MISC::_FAA457EF263E8763(&a_0._f10, "Photo_label");
 * MISC::_FAA457EF263E8763(a_0, "GXTlabel");
 * MISC::_FAA457EF263E8763(&a_0._f21, "StringComp");
 * MISC::_FAA457EF263E8763(&a_0._f43, "SecondStringComp");
 * MISC::_FAA457EF263E8763(&a_0._f53, "ThirdStringComp");
 * MISC::_FAA457EF263E8763(&a_0._f32, "SenderStringComp");
 * MISC::_FAA457EF263E8763(&a_0._f726[v_1A -- [[16]] ], &v_20); // where v_20 is "LastJobTL_0_1" thru "LastJobTL_2_1", gets saved in a struct called "LAST_JobGamer_TL"
 * MISC::_FAA457EF263E8763(&a_0._f4B, "PAID_PLAYER");
 * MISC::_FAA457EF263E8763(&a_0._f5B, "RADIO_STATION");
 */
declare function N_0xfaa457ef263e8763(name: string): number;

/**
 * SET_A\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0xfab944d4d481accb(ped: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0xfac18e7356bd3210(): void;

declare function N_0xfac75988a7d078d3(player: number): void;

declare function N_0xfae628f1e9adb239(p0: string | number, p1: number, p2: string | number): void;

declare function N_0xfaf2a78061fd9ef4(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0xfb00ca71da386228(): void;

declare function N_0xfb199266061f820a(): boolean;

/**
 * p0 is always 0. p1 is pointing to a global.
 */
declare function N_0xfb1f9381e80fa13f(p0: number, p1?: number): [number, number];

declare function N_0xfb680d403909dc70(p0: number, p1: number): void;

/**
 * Toggles some stunt jump stuff.
 */
declare function N_0xfb80ab299d2ee1bd(toggle: boolean): void;

declare function N_0xfcc228e07217fcac(p0: number): void;

/**
 * SET_CHECKPOINT_\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0xfcf6788fc4860cd4(checkpoint: number): void;

declare function N_0xfd3151cd37ea2245(entity: number): void;

declare function N_0xfd325494792302d7(ped: number, toggle: boolean): void;
declare function SetTimeExclusiveDisplayTexture(ped: number, toggle: boolean): void;

declare function N_0xfd75dabc0957bf33(p0: boolean): void;

/**
 * A\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function N_0xfdc07c58e8aab715(pickupHash: string | number): void;

declare function N_0xfe4c1d0d3b9cc17e(p0: number, p1: boolean): boolean;

/**
 * Native to check whether [`_SET_PED_SCUBA_GEAR_VARIATION`](#\_0x36c6984c3ed0c911) is enabled/actived.
 */
declare function N_0xfec9a3b1820f3331(ped: number): boolean;

/**
 * Tune Forward... ?
 * SET_RADIO_*
 */
declare function N_0xff266d1d0eb1195d(): void;

/**
 * Related to Peds dropping pickup_health_snack; p0 is a value between [0.0, 1.0] that corresponds to drop rate
 */
declare function N_0xff4803bc019852d9(p0: number, p1: number): void;

declare function N_0xff8f3a92b75ed67a(): number;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function N_0xffee8fa29ab9a18e(player: number): void;

declare function NetGameserverBasketAddItem(quantity: number): [boolean, number];
declare function N_0xf30980718c8ed876(quantity: number): [boolean, number];
declare function NetworkShopBasketAddItem(quantity: number): [boolean, number];

declare function NetGameserverBasketApplyServerData(p0: number, p1?: number): [boolean, number];
declare function N_0xe1a0450ed46a7812(p0: number, p1?: number): [boolean, number];
declare function NetworkShopBasketApplyServerData(p0: number, p1?: number): [boolean, number];

/**
 * NativeDB Introduced: v372
 */
declare function NetGameserverBasketDelete(): boolean;

declare function NetGameserverBasketEnd(): boolean;
declare function N_0xa65568121df2ea26(): boolean;
declare function N_0xe547e9114277098f(): boolean;
declare function NetworkShopBasketEnd(): boolean;

declare function NetGameserverBasketIsFull(): boolean;
declare function N_0x27f76cc6c55ad30e(): boolean;
declare function NetworkShopBasketIsFull(): boolean;

declare function NetGameserverBasketStart(categoryHash: string | number, actionHash: string | number, flags: number): [boolean, number];
declare function NetworkShopBasketStart(categoryHash: string | number, actionHash: string | number, flags: number): [boolean, number];

declare function NetGameserverBeginService(categoryHash: string | number, itemHash: string | number, actionTypeHash: string | number, value: number, flags: number): [boolean, number];
declare function N_0x3c5fd37b5499582e(categoryHash: string | number, itemHash: string | number, actionTypeHash: string | number, value: number, flags: number): [boolean, number];
declare function NetworkShopBeginService(categoryHash: string | number, itemHash: string | number, actionTypeHash: string | number, value: number, flags: number): [boolean, number];

declare function NetGameserverCatalogIsReady(): boolean;
declare function N_0x3c4487461e9b0dcb(): boolean;

declare function NetGameserverCatalogItemExists(name: string): boolean;
declare function N_0xbd4d7eaf8a30f637(name: string): boolean;
declare function NetworkShopIsItemUnlocked(name: string): boolean;
declare function NetworkShopDoesItemExist(name: string): boolean;

declare function NetGameserverCatalogItemExistsHash(hash: string | number): boolean;
declare function N_0x247f0f73a182ea0b(hash: string | number): boolean;
declare function NetworkShopIsItemUnlockedHash(hash: string | number): boolean;
declare function NetworkShopDoesItemExistHash(hash: string | number): boolean;

declare function NetGameserverCheckoutStart(transactionId: number): boolean;
declare function N_0x39be7cea8d9cc8e6(transactionId: number): boolean;
declare function NetworkShopCheckoutStart(transactionId: number): boolean;

declare function NetGameserverDeleteCharacterSlot(slot: number, transfer: boolean, reason: string | number): boolean;
declare function N_0x51f1a8e48c3d2f6d(slot: number, transfer: boolean, reason: string | number): boolean;

declare function NetGameserverDeleteCharacterSlotGetStatus(): number;
declare function N_0x0a6d923dffc9bd89(): number;

declare function NetGameserverDeleteSetTelemetryNonceSeed(): boolean;
declare function N_0x112cef1615a1139f(): boolean;
declare function NetworkShopDeleteSetTelemetryNonceSeed(): boolean;

declare function NetGameserverEndService(transactionId: number): boolean;
declare function N_0xe2a99a9b524befff(transactionId: number): boolean;
declare function NetworkShopEndService(transactionId: number): boolean;
declare function NetworkShopTerminateService(transactionId: number): boolean;

/**
 * Note: only one of the arguments can be set to true at a time
 */
declare function NetGameserverGetBalance(inventory: boolean, playerbalance: boolean): boolean;
/**
 * Note: only one of the arguments can be set to true at a time
 */
declare function N_0x35a1b3e1d1315cfa(inventory: boolean, playerbalance: boolean): boolean;

declare function NetGameserverGetCatalogState(state: number): [boolean, number];
declare function N_0xcf38dafbb49ede5e(state: number): [boolean, number];

/**
 * bool is always true in game scripts
 */
declare function NetGameserverGetPrice(itemHash: string | number, categoryHash: string | number, p2: boolean): number;
/**
 * bool is always true in game scripts
 */
declare function NetworkShopGetPrice(itemHash: string | number, categoryHash: string | number, p2: boolean): number;

declare function NetGameserverGetTransactionManagerData(): [boolean, number, any /* actually bool */];
declare function N_0x897433d292b44130(): [boolean, number, any /* actually bool */];

declare function NetGameserverIsCatalogValid(): boolean;
declare function N_0x2b949a1e6aec8f6a(): boolean;

declare function NetGameserverIsSessionRefreshPending(): boolean;
declare function N_0x810e8431c0614bf9(): boolean;
declare function NetworkShopGetTransactionsDisabled(): boolean;

declare function NetGameserverIsSessionValid(charSlot: number): boolean;
declare function N_0xb24f0944da203d9e(charSlot: number): boolean;
declare function NetworkShopGetTransactionsEnabledForCharacter(charSlot: number): boolean;

declare function NetGameserverSessionApplyReceivedData(charSlot: number): boolean;
declare function N_0x2f41d51ba3bcd1f1(charSlot: number): boolean;
declare function NetworkShopSessionApplyReceivedData(charSlot: number): boolean;

declare function NetGameserverSetTelemetryNonceSeed(p0: number): boolean;
declare function N_0x9507d4271988e1ae(p0: number): boolean;
declare function NetworkShopSetTelemetryNonceSeed(p0: number): boolean;

declare function NetGameserverStartSession(charSlot: number): boolean;
declare function N_0xa135ac892a58fc07(charSlot: number): boolean;
declare function NetworkShopStartSession(charSlot: number): boolean;

declare function NetGameserverTransferBankToWallet(charSlot: number, amount: number): boolean;
declare function N_0xd47a2c1ba117471d(charSlot: number, amount: number): boolean;
declare function NetworkTransferBankToWallet(charSlot: number, amount: number): boolean;

/**
 * Same as 0x350AA5EBC03D3BD2
 */
declare function NetGameserverTransferCashGetStatus(): number;
/**
 * Same as 0x350AA5EBC03D3BD2
 */
declare function N_0x23789e777d14ce44(): number;

/**
 * Same as 0x23789E777D14CE44
 */
declare function NetGameserverTransferCashGetStatus_2(): number;
/**
 * Same as 0x23789E777D14CE44
 */
declare function N_0x350aa5ebc03d3bd2(): number;

/**
 * Used to be NETWORK_SHOP_CASH_TRANSFER_SET_TELEMETRY_NONCE_SEED
 */
declare function NetGameserverTransferCashSetTelemetryNonceSeed(): boolean;
/**
 * Used to be NETWORK_SHOP_CASH_TRANSFER_SET_TELEMETRY_NONCE_SEED
 */
declare function N_0x498c1e05ce5f7877(): boolean;
/**
 * Used to be NETWORK_SHOP_CASH_TRANSFER_SET_TELEMETRY_NONCE_SEED
 */
declare function NetworkShopCashTransferSetTelemetryNonceSeed(): boolean;

declare function NetGameserverTransferWalletToBank(charSlot: number, amount: number): boolean;
declare function N_0xc2f7fe5309181c7d(charSlot: number, amount: number): boolean;
declare function NetworkTransferWalletToBank(charSlot: number, amount: number): boolean;

/**
 * NativeDB Introduced: v1290
 */
declare function NetGameserverUseServerTransactions(): boolean;

/**
 * gets the entity id of a network id
 */
declare function NetToEnt(netHandle: number): number;

/**
 * gets the object id of a network id
 */
declare function NetToObj(netHandle: number): number;

/**
 * gets the ped id of a network id
 */
declare function NetToPed(netHandle: number): number;

declare function NetToVeh(netHandle: number): number;

/**
 * NETWORK_RE*
 * Triggers a CEventNetworkInviteConfirmed event
 */
declare function NetworkAcceptInvite(): boolean;
/**
 * NETWORK_RE*
 * Triggers a CEventNetworkInviteConfirmed event
 */
declare function N_0x62a0296c1bb1ceb3(): boolean;

declare function NetworkAcceptPresenceInvite(p0: number): boolean;

declare function NetworkAccessTunableBool(tunableContext: string, tunableName: string): boolean;
declare function N_0xaa6a47a573abb75a(tunableContext: string, tunableName: string): boolean;

declare function NetworkAccessTunableBoolHash(tunableContext: string | number, tunableName: string | number): boolean;
declare function N_0xea16b69d93d71a45(tunableContext: string | number, tunableName: string | number): boolean;
declare function NetworkAccessTunableBoolHash(tunableContext: string | number, tunableName: string | number): boolean;

declare function NetworkAccessTunableFloat(tunableContext: string, tunableName: string, value?: number): [boolean, number];
declare function N_0xe5608ca7bc163a5f(tunableContext: string, tunableName: string, value?: number): [boolean, number];

declare function NetworkAccessTunableFloatHash(tunableContext: string | number, tunableName: string | number, value?: number): [boolean, number];
declare function N_0x972bc203bbc4c4d5(tunableContext: string | number, tunableName: string | number, value?: number): [boolean, number];
declare function NetworkAccessTunableFloatHash(tunableContext: string | number, tunableName: string | number, value?: number): [boolean, number];

declare function NetworkAccessTunableInt(tunableContext: string, tunableName: string, value?: number): [boolean, number];
declare function N_0x8be1146dfd5d4468(tunableContext: string, tunableName: string, value?: number): [boolean, number];

declare function NetworkAccessTunableIntHash(tunableContext: string | number, tunableName: string | number, value?: number): [boolean, number];
declare function N_0x40fce03e50e8dbe8(tunableContext: string | number, tunableName: string | number, value?: number): [boolean, number];
declare function NetworkAccessTunableIntHash(tunableContext: string | number, tunableName: string | number, value?: number): [boolean, number];

declare function NetworkActionFollowInvite(): number;
declare function N_0xc88156ebb786f8d5(): number;

/**
 * To remove, see: [`NETWORK_REMOVE_ENTITY_AREA`](#\_0x93CF869BAA0C4874).
 * See [`IS_POINT_IN_ANGLED_AREA`](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
 * @param x1 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 */
declare function NetworkAddEntityAngledArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number): number;
/**
 * To remove, see: [`NETWORK_REMOVE_ENTITY_AREA`](#\_0x93CF869BAA0C4874).
 * See [`IS_POINT_IN_ANGLED_AREA`](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
 * @param x1 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 */
declare function N_0x376c6375ba60293a(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number): number;
/**
 * To remove, see: [`NETWORK_REMOVE_ENTITY_AREA`](#\_0x93CF869BAA0C4874).
 * See [`IS_POINT_IN_ANGLED_AREA`](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
 * @param x1 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 */
declare function NetworkAddEntityAngledArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number): number;

declare function NetworkAddEntityArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): number;

declare function NetworkAddEntityDisplayedBoundaries(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): number;
declare function N_0x25b99872d588a101(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): number;

declare function NetworkAddEntityToSynchronisedScene(entity: number, netScene: number, animDict: string, animName: string, speed: number, speedMulitiplier: number, flag: number): void;

/**
 * ..
 */
declare function NetworkAddFollowers(p1: number): number;
/**
 * ..
 */
declare function N_0x236406f60cf216d6(p1: number): number;

declare function NetworkAddFriend(message: string): [boolean, number];

declare function NetworkAddPedToSynchronisedScene(ped: number, netScene: number, animDict: string, animnName: string, blendInSpeed: number, blendOutSpeed: number, duration: number, flag: number, playbackRate: number, p9: number): void;

declare function NetworkAddSynchronisedSceneCamera(netScene: number, animDict: string, animName: string): void;
declare function N_0xcf8bd3b0bd6d42d7(netScene: number, animDict: string, animName: string): void;

declare function NetworkAllocateTunablesRegistrationDataMap(): boolean;
declare function N_0xfafc23aee23868db(): boolean;

declare function NetworkAllowLocalEntityAttachment(entity: number, toggle: boolean): void;
declare function N_0x267c78c60e806b9a(entity: number, toggle: boolean): void;

declare function NetworkAmIBlockedByGamer(networkHandle: number): [boolean, number];

declare function NetworkAmIBlockedByPlayer(player: number): boolean;

declare function NetworkAmIMutedByGamer(networkHandle: number): [boolean, number];

declare function NetworkAmIMutedByPlayer(player: number): boolean;

declare function NetworkApplyCachedPlayerHeadBlendData(ped: number, player: number): boolean;
declare function N_0x99b72c7abde5c910(ped: number, player: number): boolean;
declare function NetworkCopyPedBlendData(ped: number, player: number): boolean;

declare function NetworkApplyPedScarData(ped: number, p1: number): void;
declare function N_0xe66c690248f11150(ped: number, p1: number): void;

declare function NetworkApplyTransitionParameter(p0: number, p1: number): void;
declare function N_0x521638ada1ba0d18(p0: number, p1: number): void;

declare function NetworkApplyTransitionParameterString(p0: number, _string: string, p2: boolean): void;
declare function N_0xebefc2e77084f599(p0: number, _string: string, p2: boolean): void;

declare function NetworkApplyVoiceProximityOverride(x: number, y: number, z: number): void;
declare function IsNetworkVehicleBeenDamagedByAnyObject(x: number, y: number, z: number): void;

/**
 * Getter for SET_NETWORK_CUTSCENE_ENTITIES.
 * ```
 * ```
 * NativeDB Introduced: v2699
 */
declare function NetworkAreCutsceneEntities(): boolean;

declare function NetworkAreHandlesTheSame(): [boolean, number, number];

declare function NetworkAreSocialClubPoliciesCurrent(): boolean;
declare function N_0xba9775570db788cf(): boolean;

declare function NetworkAreTransitionDetailsValid(p0: number): boolean;
declare function N_0x2615aa2a695930c1(p0: number): boolean;

declare function NetworkAttachSynchronisedSceneToEntity(netScene: number, entity: number, bone: number): void;

/**
 * NativeDB Added Parameter 1: int p0
 * NativeDB Added Parameter 2: int p1
 * NativeDB Added Parameter 3: int p2
 */
declare function NetworkBail(): void;

/**
 * NativeDB Added Parameter 1: int p0
 * NativeDB Added Parameter 2: int p1
 * NativeDB Added Parameter 3: int p2
 */
declare function NetworkBailTransition(): void;

/**
 * NativeDB Introduced: v2699
 */
declare function NetworkBailTransitionQuickmatch(): void;

declare function NetworkBlockInvites(toggle: boolean): void;

declare function NetworkBlockJoinQueueInvites(toggle: boolean): void;
declare function N_0xcfeb8af24fc1d0bb(toggle: boolean): void;
declare function NetworkBlockInvites_2(toggle: boolean): void;

declare function NetworkBlockKickedPlayers(p0: boolean): void;
declare function N_0x6b07b9ce4d390375(p0: boolean): void;

/**
 * p1 = 0 (always)
 * p2 = 1 (always)
 */
declare function NetworkBuyAirstrike(cost: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkBuyBackupGang(p0: number, p1: number, p2: boolean, p3: boolean): void;

/**
 * p1 is just an assumption. p2 was false and p3 was true.
 */
declare function NetworkBuyBounty(amount: number, victim: number, p2: boolean, p3: boolean): void;

declare function NetworkBuyContraband(p0: number, p1: number, p2: string | number, p3: boolean, p4: boolean): void;
declare function N_0x30fd873ece50e9f6(p0: number, p1: number, p2: string | number, p3: boolean, p4: boolean): void;

/**
 * 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
 */
declare function NetworkBuyFairgroundRide(amountSpent: number, p1: number, p2: boolean, p3: boolean): void;
/**
 * 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
 */
declare function N_0x8a7b3952dd64d2b5(amountSpent: number, p1: number, p2: boolean, p3: boolean): void;

declare function NetworkBuyHealthcare(cost: number, p1: boolean, p2: boolean): void;

/**
 * p1 = 0 (always)
 * p2 = 1 (always)
 */
declare function NetworkBuyHeliStrike(cost: number, p1: boolean, p2: boolean): void;

declare function NetworkBuyItem(amount: number, item: string | number, p2: number, p3: number, p4: boolean, item_name: string, p6: number, p7: number, p8: number, p9: boolean): void;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkBuyLotteryTicket(p0: number, p1: number, p2: boolean, p3: boolean): void;

declare function NetworkBuyProperty(propertyCost: number, propertyName: string | number, p2: boolean, p3: boolean): void;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkBuySmokes(p0: number, p1: boolean, p2: boolean): void;

declare function NetworkCacheLocalPlayerHeadBlendData(): void;
declare function N_0xbd0be0bfc927eac1(): void;

/**
 * 11 - Need to download tunables.
 * 12 - Need to download background script.
 * Returns 1 if the multiplayer is loaded, otherwhise 0.
 */
declare function NetworkCanAccessMultiplayer(loadingState: number): [boolean, number];
/**
 * 11 - Need to download tunables.
 * 12 - Need to download background script.
 * Returns 1 if the multiplayer is loaded, otherwhise 0.
 */
declare function N_0xaf50da1a3f8b1ba4(loadingState: number): [boolean, number];

declare function NetworkCanBail(): boolean;

declare function NetworkCanBet(amount: number): boolean;
declare function N_0x3a54e33660ded67f(amount: number): boolean;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkCanBuyLotteryTicket(cost: number): boolean;

declare function NetworkCanCommunicateWithGamer(networkHandle: number): [boolean, number];

/**
 * Same as NETWORK_CAN_COMMUNICATE_WITH_GAMER
 * NETWORK_CAN_*
 */
declare function NetworkCanCommunicateWithGamer_2(networkHandle: number): [boolean, number];
/**
 * Same as NETWORK_CAN_COMMUNICATE_WITH_GAMER
 * NETWORK_CAN_*
 */
declare function N_0x8f5d1ad832aeb06c(networkHandle: number): [boolean, number];

declare function NetworkCanEnterMultiplayer(): boolean;

declare function NetworkCanGamerPlayMultiplayerWithMe(networkHandle: number): [boolean, number];
declare function N_0x135f9b7b7add2185(networkHandle: number): [boolean, number];

declare function NetworkCanPlayMultiplayerWithGamer(networkHandle: number): [boolean, number];
declare function N_0x07dd29d5e22763f1(networkHandle: number): [boolean, number];

declare function NetworkCanReceivePlayerCash(p0: number, p1: number, p2: number, p3: number): boolean;

declare function NetworkCanSessionEnd(): boolean;

declare function NetworkCanSetWaypoint(): boolean;

declare function NetworkCanShareJobCash(): boolean;
declare function N_0x1c2473301b1c66ba(): boolean;

/**
 * NativeDB Added Parameter 6: Any p5
 */
declare function NetworkCanSpendMoney(p0: number, p1: boolean, p2: boolean, p3: boolean, p4: number): boolean;
/**
 * NativeDB Added Parameter 6: Any p5
 */
declare function N_0xab3caa6b422164da(p0: number, p1: boolean, p2: boolean, p3: boolean, p4: number): boolean;

/**
 * NETWORK_CAN_R??? or NETWORK_CAN_S???
 * ```
 * ```
 * NativeDB Added Parameter 7: Any p6
 */
declare function NetworkCanSpendMoney_2(p0: number, p1: boolean, p2: boolean, p3: boolean, p5: number): [boolean, number];
/**
 * NETWORK_CAN_R??? or NETWORK_CAN_S???
 * ```
 * ```
 * NativeDB Added Parameter 7: Any p6
 */
declare function N_0x7303e27cc6532080(p0: number, p1: boolean, p2: boolean, p3: boolean, p5: number): [boolean, number];

declare function NetworkCanViewGamerUserContent(networkHandle: number): [boolean, number];
declare function N_0xb57a49545ba53ce7(networkHandle: number): [boolean, number];

declare function NetworkCancelRespawnSearch(): void;
declare function N_0xfb8f2a6f3df08cbe(): void;

/**
 * NETWORK_C\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function NetworkCasinoCanGamble(p0: number): boolean;

/**
 * Same as 0x8968D4D8C6C40C11.
 * NETWORK_C\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function NetworkCasinoCanPurchaseChipsWithPvc(): boolean;

/**
 * Same as 0x394DCDB9E836B7A9.
 * NETWORK_C\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function NetworkCasinoCanPurchaseChipsWithPvc_2(): boolean;

/**
 * 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
 * ```
 */
declare function NetworkCasinoCanUseGamblingType(hash: string | number): boolean;

/**
 * NETWORK_C\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function NetworkCasinoPurchaseChips(p0: number, p1: number): boolean;

/**
 * NETWORK_C\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function NetworkCasinoSellChips(p0: number, p1: number): boolean;

declare function NetworkChangeTransitionSlots(p0: number, p1: number): void;
declare function N_0xeeeda5e6d7080987(p0: number, p1: number): void;

declare function NetworkCheckCommunicationPrivileges(p0: number, p1: number, p2: boolean): boolean;
declare function N_0x83f28ce49fbbffba(p0: number, p1: number, p2: boolean): boolean;

/**
 * Checks if the friendDataIndex in the friend data manager contains the data for the specified networkHandle
 */
declare function NetworkCheckDataManagerSucceededForHandle(friendDataIndex: number, networkHandle?: number): [boolean, number];
/**
 * Checks if the friendDataIndex in the friend data manager contains the data for the specified networkHandle
 */
declare function N_0x44b37cdcae765aae(friendDataIndex: number, networkHandle?: number): [boolean, number];

declare function NetworkCheckUserContentPrivileges(p0: number, p1: number, p2: boolean): boolean;
declare function N_0x595f028698072dd9(p0: number, p1: number, p2: boolean): boolean;

/**
 * Only documented...
 */
declare function NetworkClanAnimation(animDict: string, animName: string): boolean;
/**
 * Only documented...
 */
declare function N_0x729e3401f0430686(animDict: string, animName: string): boolean;

declare function NetworkClanAnyDownloadMembershipPending(): boolean;
declare function N_0xb3f64a6a91432477(): boolean;
declare function NetworkIsClanMembershipFinishedDownloading(): boolean;

declare function NetworkClanDownloadMembership(networkHandle: number): [boolean, number];

declare function NetworkClanDownloadMembershipPending(p0: number): [boolean, number];

declare function NetworkClanGetEmblemTxdName(txdName: string): [boolean, number];
declare function N_0x5835d9cd92e83184(txdName: string): [boolean, number];
declare function NetworkGetPlayerCrewEmblemTxdName(txdName: string): [boolean, number];

declare function NetworkClanGetLocalMembershipsCount(): number;
declare function N_0x1f471b79acc90bef(): number;
declare function GetNumMembershipDesc(): number;
declare function NetworkClanGetNumMembershipDesc(): number;

/**
 * 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 A player network handle.
 * @param clanMembership Output buffer for the membership data. Also known as "desc".
 * @param membershipIndex If the player has multiple crews/memberships, use \[0-9], or -1 to get the active crew/membership.
 * @return Returns true on success, false otherwise.
 */
declare function NetworkClanGetMembership(membershipIndex: number): [boolean, number, number];

declare function NetworkClanGetMembershipCount(p0: number): [number, number];

declare function NetworkClanGetMembershipDesc(p1: number): [boolean, number];

/**
 * Checks if a crew/membership for a player, from the cache (i.e. downloaded via NETWORK_CLAN_DOWNLOAD_MEMBERSHIP) is valid.
 * @param networkHandle A player network handle.
 * @param membershipIndex If the player has multiple crews/memberships, use \[0-9], or -1 to get the active crew/membership.
 * @return Returns true if valid, false otherwise.
 */
declare function NetworkClanGetMembershipValid(membershipIndex: number): [boolean, number];

/**
 * bufferSize is 35 in the scripts.
 */
declare function NetworkClanGetUiFormattedTag(bufferSize: number, formattedTag: string): number;
/**
 * bufferSize is 35 in the scripts.
 */
declare function N_0xf45352426ff3a4f0(bufferSize: number, formattedTag: string): number;

declare function NetworkClanIsEmblemReady(p0: number, p1?: number): [boolean, number];
declare function N_0xa134777ff7f33331(p0: number, p1?: number): [boolean, number];

/**
 * bufferSize is 35 in the scripts.
 */
declare function NetworkClanIsRockstarClan(bufferSize: number): [boolean, number];
/**
 * bufferSize is 35 in the scripts.
 */
declare function N_0x7543bb439f63792b(bufferSize: number): [boolean, number];

declare function NetworkClanJoin(clanDesc: number): boolean;

/**
 * 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
 */
declare function NetworkClanPlayerGetDesc(bufferSize: number): [boolean, number, number];

declare function NetworkClanPlayerIsActive(networkHandle: number): [boolean, number];

declare function NetworkClanReleaseEmblem(p0: number): void;
declare function N_0x113e6e3e50e286b0(p0: number): void;

declare function NetworkClanRemoteMembershipsAreInCache(p0: number): [boolean, number];

declare function NetworkClanRequestEmblem(p0: number): boolean;
declare function N_0x13518ff1c6b28938(p0: number): boolean;

declare function NetworkClanServiceIsValid(): boolean;
declare function NetworkPlayerIsInClan(): boolean;

declare function NetworkClearCharacterWallet(characterSlot: number): void;
declare function N_0xa921ded15fdf28f5(characterSlot: number): void;

declare function NetworkClearClockTimeOverride(): void;
declare function N_0xd972df67326f966e(): void;

declare function NetworkClearFollowInvite(): number;
declare function N_0x439bfde3cd0610f6(): number;

declare function NetworkClearFollowers(): void;
declare function N_0x058f43ec59a8631a(): void;

declare function NetworkClearFoundGamers(): void;

declare function NetworkClearGetGamerStatus(): void;
declare function N_0x86e0660e4f5c956d(): void;

declare function NetworkClearGroupActivity(): void;
declare function N_0x1888694923ef4591(): void;

declare function NetworkClearPropertyId(): void;
declare function N_0xc2b82527ca77053e(): void;

declare function NetworkClearTransitionCreatorHandle(): void;

declare function NetworkClearVoiceChannel(): void;
declare function N_0xe036a705f989e049(): void;

declare function NetworkClearVoiceProximityOverride(): void;
declare function N_0xf03755696450470c(): void;

declare function NetworkCloseTransitionMatchmaking(): void;
declare function N_0x43f4dba69710e01e(): void;

declare function NetworkConcealEntity(entity: number, toggle: boolean): void;

/**
 * This is what R\* uses to hide players in MP interiors.
 */
declare function NetworkConcealPlayer(player: number, toggle: boolean, p2: boolean): void;

declare function NetworkCreateSynchronisedScene(x: number, y: number, z: number, xRot: number, yRot: number, zRot: number, rotationOrder: number, holdLastFrame: boolean, looped: boolean, p9: number, animTime: number, animSpeed: number): number;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkDeductCash(amount: number, p1: string, p2: string, p3: boolean, p4: boolean, p5: boolean): void;

/**
 * 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);
 */
declare function NetworkDeleteCharacter(characterSlot: number, p1: boolean, p2: boolean): void;

declare function NetworkDidFindGamersSucceed(): boolean;
declare function N_0xf9b83b77929d8863(): boolean;

declare function NetworkDidGetGamerStatusSucceed(): boolean;
declare function N_0x5ae17c6b0134b7f1(): boolean;

declare function NetworkDisableInvincibleFlashing(player: number, toggle: boolean): void;
declare function N_0x9dd368bf06983221(player: number, toggle: boolean): void;

declare function NetworkDisableLeaveRemotePedBehind(toggle: boolean): void;
declare function N_0xc505036a35afd01b(toggle: boolean): void;

declare function NetworkDisableProximityMigration(netID: number): void;
declare function N_0x407091cf6037118e(netID: number): void;

/**
 * Hardcoded to return -1.
 */
declare function NetworkDisplaynamesFromHandlesStart(p1: number): [number, number];
/**
 * Hardcoded to return -1.
 */
declare function N_0xd66c9e72b3cc4982(p1: number): [number, number];

/**
 * NativeDB Added Parameter 5: Any p4
 * NativeDB Added Parameter 6: Any p5
 */
declare function NetworkDoTransitionQuickmatch(p0: number, p1: number, p2: number, p3: number): boolean;
/**
 * NativeDB Added Parameter 5: Any p4
 * NativeDB Added Parameter 6: Any p5
 */
declare function N_0x71fb0ebcd4915d56(p0: number, p1: number, p2: number, p3: number): boolean;

/**
 * NativeDB Added Parameter 5: Any p4
 * NativeDB Added Parameter 6: Any p5
 */
declare function NetworkDoTransitionQuickmatchAsync(p0: number, p1: number, p2: number, p3: number): boolean;
/**
 * NativeDB Added Parameter 5: Any p4
 * NativeDB Added Parameter 6: Any p5
 */
declare function N_0xa091a5e44f0072e5(p0: number, p1: number, p2: number, p3: number): boolean;

/**
 * NativeDB Added Parameter 7: Any p6
 * NativeDB Added Parameter 8: Any p7
 */
declare function NetworkDoTransitionQuickmatchWithGroup(p0: number, p1: number, p2: number, p3: number, p5: number): [boolean, number];

/**
 * 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.
 */
declare function NetworkDoTransitionToFreemode(p1: number, p2: boolean, players: number, p4: boolean): [boolean, number];

declare function NetworkDoTransitionToGame(p0: boolean, maxPlayers: number): boolean;

declare function NetworkDoTransitionToNewFreemode(players: number, p3: boolean, p4: boolean, p5: boolean): [boolean, number, number];

declare function NetworkDoTransitionToNewGame(p0: boolean, maxPlayers: number, p2: boolean): boolean;

declare function NetworkDoesEntityExistWithNetworkId(netId: number): boolean;

declare function NetworkDoesNetworkIdExist(netId: number): boolean;

declare function NetworkDoesTunableExist(tunableContext: string, tunableName: string): boolean;

declare function NetworkDoesTunableExistHash(tunableContext: string | number, tunableName: string | number): boolean;
declare function N_0xe4e53e1419d81127(tunableContext: string | number, tunableName: string | number): boolean;
declare function NetworkDoesTunableExistHash(tunableContext: string | number, tunableName: string | number): boolean;

declare function NetworkEarnBoss(p0: number, p1: number, p2: number): void;
declare function N_0x08b0ca7a6ab3ac32(p0: number, p1: number, p2: number): void;

declare function NetworkEarnBossAgency(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0x0cb1be0633c024a8(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function NetworkEarnBountyHunterReward(p0: number): void;
/**
 * NativeDB Introduced: v1493
 */
declare function N_0xf6b170f9a02e9e87(p0: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function NetworkEarnCasinoHeist(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function NetworkEarnCasinoHeistBonus(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * NativeDB Introduced: v2060
 */
declare function NetworkEarnCollectableCompletedCollection(amount: number, p1: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function NetworkEarnFmbbWageBonus(p0: number): void;
/**
 * NativeDB Introduced: v1493
 */
declare function N_0xfffba1b1f7c0b6f4(p0: number): void;

/**
 * DSPORT
 */
declare function NetworkEarnFromAiTargetKill(p0: number, p1: number): void;
/**
 * DSPORT
 */
declare function N_0x515b4a22e4d3c6d7(p0: number, p1: number): void;

/**
 * Example for p1: "AM_DISTRACT_COPS"
 */
declare function NetworkEarnFromAmbientJob(p0: number, p1: string, p2?: number): number;
/**
 * Example for p1: "AM_DISTRACT_COPS"
 */
declare function N_0xfb6db092fbae29e6(p0: number, p1: string, p2?: number): number;
/**
 * Example for p1: "AM_DISTRACT_COPS"
 */
declare function NetworkEarnFromAmbientJob(p0: number, p1: string, p2?: number): number;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkEarnFromArenaCareerProgression(amount: number, p1: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkEarnFromArenaSkillLevelProgression(amount: number, p1: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkEarnFromArenaWar(amount: number, p1: number, p2: number, p3: number): void;

/**
 * For the money bags that drop a max of $40,000. Often called 40k bags.
 * Most likely NETWORK_EARN_FROM_ROB***
 */
declare function NetworkEarnFromArmourTruck(amount: number): void;
/**
 * For the money bags that drop a max of $40,000. Often called 40k bags.
 * Most likely NETWORK_EARN_FROM_ROB***
 */
declare function N_0xf514621e8ea463d0(amount: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkEarnFromAssassinateTargetKilled(amount: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkEarnFromAssassinateTargetKilled_2(amount: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkEarnFromAutoshopBusiness(p0: number, p1: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x36a7fd5a7194b03e(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkEarnFromAutoshopIncome(p0: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xc66d1cf99ed7fe25(p0: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkEarnFromBbEventBonus(amount: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkEarnFromBbEventCargo(amount: number): void;

declare function NetworkEarnFromBendJob(amount: number, heistHash: string): void;
declare function N_0x61326ee6df15b0ca(amount: number, heistHash: string): void;
declare function NetworkEarnFromMissionH(amount: number, heistHash: string): void;

declare function NetworkEarnFromBetting(amount: number, p1: string): void;

/**
 * NativeDB Introduced: v2699
 */
declare function NetworkEarnFromBikeShopBusiness(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v2699
 */
declare function NetworkEarnFromBikerIncome(p0: number): void;

declare function NetworkEarnFromBounty(amount: number, p3: number): [number, number];

/**
 * NativeDB Introduced: v1493
 */
declare function NetworkEarnFromBusinessBattle(p0: number): void;
/**
 * NativeDB Introduced: v1493
 */
declare function N_0x42fce14f50f27291(p0: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function NetworkEarnFromBusinessHubSell(p0: number, p1: number, p2: number): void;
/**
 * NativeDB Introduced: v1493
 */
declare function N_0x0b39cf0d53f1c883(p0: number, p1: number, p2: number): void;

/**
 * NativeDB Introduced: v2699
 */
declare function NetworkEarnFromBusinessHubSource(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkEarnFromBusinessProduct(amount: number, p1: number, p2: number, p3: number): void;
declare function N_0x8586789730b10caf(amount: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkEarnFromCarclubMembership(p0: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xbc6227792a188e2e(p0: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromCashingOut(amount: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkEarnFromCasinoAward(amount: number, hash: string | number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkEarnFromCasinoMissionParticipation(amount: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkEarnFromCasinoMissionReward(amount: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkEarnFromCasinoStoryMissionReward(amount: number): void;

declare function NetworkEarnFromChallengeWin(p0: number, p2: boolean): number;
declare function N_0x2b171e6b2f64d8df(p0: number, p2: boolean): number;

/**
 * NativeDB Introduced: v1493
 */
declare function NetworkEarnFromClubManagementParticipation(p0: number): void;
/**
 * NativeDB Introduced: v1493
 */
declare function N_0xa75eac69f59e96e7(p0: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkEarnFromCollectablesActionFigures(amount: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkEarnFromCollectionItem(amount: number, p1: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkEarnFromCompleteCollection(amount: number): void;

declare function NetworkEarnFromContraband(amount: number, p1: number): void;
declare function N_0xeca658ce2a4e5a72(amount: number, p1: number): void;

declare function NetworkEarnFromCrateDrop(amount: number): void;
declare function N_0xb1cc1b9ec3007a2a(amount: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromCriminalMastermindBonus(p0: number, p1: number, p2: number): void;
/**
 * NativeDB Introduced: v1290
 */
declare function N_0xd20d79671a598594(p0: number, p1: number, p2: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkEarnFromDailyObjectiveEvent(amount: number): void;

declare function NetworkEarnFromDailyObjectives(p0: number, p1: string, p2: number): void;
declare function N_0x6ea318c91c1a8786(p0: number, p1: string, p2: number): void;
declare function NetworkEarnFromDailyObjective(p0: number, p1: string, p2: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromDarChallenge(amount: number, p1: number): void;

declare function NetworkEarnFromDestroyingContraband(p0: number): void;
declare function N_0x84c0116d012e8fc2(p0: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromDoomsdayFinaleBonus(amount: number, vehicleHash: string | number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function NetworkEarnFromFmbbBossWork(p0: number): void;
/**
 * NativeDB Introduced: v1493
 */
declare function N_0x1fda0aa679c9919b(p0: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function NetworkEarnFromFmbbPhonecallMission(p0: number): void;
/**
 * NativeDB Introduced: v1493
 */
declare function N_0xc5156361f26e2212(p0: number): void;

declare function NetworkEarnFromGangPickup(amount: number): void;
declare function N_0xa03d4ace0a3284ce(amount: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromGangopsAwards(amount: number, unk: string, p2: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromGangopsElite(amount: number, unk: string, actIndex: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromGangopsJobsFinale(amount: number, unk: string): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromGangopsJobsPrepParticipation(amount: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromGangopsJobsSetup(amount: number, unk: string): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromGangopsWages(amount: number, p1: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromGangopsWagesBonus(amount: number, p1: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function NetworkEarnFromHackerTruckMission(p0: number, amount: number, p2: number, p3: number): void;

declare function NetworkEarnFromHoldups(amount: number): void;

declare function NetworkEarnFromImportExport(amount: number, modelHash: string | number): void;

declare function NetworkEarnFromJob(amount: number, p1: string): void;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkEarnFromJobBonus(p0: number): [number, number];
/**
 * NativeDB Introduced: v323
 */
declare function N_0x6816fb4416760775(p0: number): [number, number];
/**
 * NativeDB Introduced: v323
 */
declare function NetworkEarnFromJobBonus(p0: number): [number, number];

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkEarnFromJobX2(amount: number, p1: string): void;

declare function NetworkEarnFromNotBadsport(amount: number): void;
declare function N_0x4337511fa8221d36(amount: number): void;

declare function NetworkEarnFromPersonalVehicle(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): void;
declare function N_0x3f4d00167e41e0ad(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): void;

declare function NetworkEarnFromPickup(amount: number): void;

declare function NetworkEarnFromPremiumJob(amount: number, p1: string): void;
declare function N_0xc8407624cef2354b(amount: number, p1: string): void;

declare function NetworkEarnFromProperty(amount: number, propertyName: string | number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkEarnFromRcTimeTrial(amount: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromRdrBonus(amount: number, p1: number): void;

declare function NetworkEarnFromRockstar(amount: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromSellBase(amount: number, baseNameHash: string | number): void;

declare function NetworkEarnFromSellBunker(amount: number, bunkerHash: string | number): void;
declare function N_0x9251b6abf2d0a5b4(amount: number, bunkerHash: string | number): void;

/**
 * NativeDB Added Parameter 2: Any p1
 * NativeDB Added Parameter 3: Any p2
 * NativeDB Introduced: v1734
 */
declare function NetworkEarnFromSellingVehicle(amount: number): void;

/**
 * NativeDB Introduced: v2699
 */
declare function NetworkEarnFromSightseeing(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function NetworkEarnFromSmuggling(amount: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkEarnFromSpinTheWheelCash(amount: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromTargetRefund(amount: number, p1: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkEarnFromTimeTrialWin(amount: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkEarnFromTunerAward(p0: number, p1: number, p2: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xb846f547d3792df6(p0: number, p1: number, p2: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkEarnFromTunerFinale(p0: number, p1: number, p2: number, p3: number, p4: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xbcb266247193ac61(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkEarnFromUpgradeAutoshopLocation(p0: number, p1: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xc10322a8d3e061ee(p0: number, p1: number): void;

declare function NetworkEarnFromVehicle(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkEarnFromVehicleAutoshop(p0: number, p1: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x533073e8a596008c(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkEarnFromVehicleAutoshopBonus(p0: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xfe65afe7308e32b2(p0: number): void;

declare function NetworkEarnFromVehicleExport(amount: number, p1: number, p2: number): void;
declare function N_0xedead9a91ec768b3(amount: number, p1: number, p2: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function NetworkEarnFromWagePayment(amount: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function NetworkEarnFromWagePaymentBonus(amount: number): void;

/**
 * NativeDB Added Parameter 1: int amount
 * NativeDB Added Parameter 2: int id
 */
declare function NetworkEarnFromWarehouse(): void;
/**
 * NativeDB Added Parameter 1: int amount
 * NativeDB Added Parameter 2: int id
 */
declare function N_0x3e4adaff1830f146(): void;

declare function NetworkEarnGoon(p0: number, p1: number, p2: number): void;
declare function N_0xcda1c62be2777802(p0: number, p1: number, p2: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function NetworkEarnIslandHeist(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnJobBonusFirstTimeBonus(p0: number, p1: number, p2: number): void;
/**
 * NativeDB Introduced: v1290
 */
declare function N_0x11b0a20c493f7e36(p0: number, p1: number, p2: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnJobBonusHeistAward(p0: number, p1: number, p2: number): void;
/**
 * NativeDB Introduced: v1290
 */
declare function N_0x9d4fdbb035229669(p0: number, p1: number, p2: number): void;

declare function NetworkEndTutorialSession(): void;

declare function NetworkEntityAreaDoesExist(areaHandle: number): boolean;
declare function N_0xe64a3ca08dfa37a9(areaHandle: number): boolean;

declare function NetworkEntityAreaIsOccupied(areaHandle: number): boolean;
declare function N_0x4a2d4e8bf4265b0f(areaHandle: number): boolean;

declare function NetworkExplodeHeli(heli: number, isAudible: boolean, isInvisible: boolean, netScriptEntityId: number): void;
declare function N_0x2a5e0621dd815a9a(heli: number, isAudible: boolean, isInvisible: boolean, netScriptEntityId: number): void;

/**
 * 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.
 */
declare function NetworkExplodeVehicle(vehicle: number, isAudible: boolean, isInvisible: boolean, p3: boolean): void;

/**
 * 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
 */
declare function NetworkFadeInEntity(entity: number, state: boolean): void;

/**
 * normal - transition like when your coming out of LSC
 * slow - transition like when you walk into a mission
 */
declare function NetworkFadeOutEntity(entity: number, normal: boolean, slow: boolean): void;

declare function NetworkFindGamersInCrew(p0: number): boolean;
declare function N_0xe532d6811b3a4d2a(p0: number): boolean;
declare function NetworkXAffectsGamers(p0: number): boolean;

declare function NetworkFindMatchedGamers(p0: number, p1: number, p2: number, p3: number): boolean;
declare function N_0xf7b2cfde5c9f700d(p0: number, p1: number, p2: number, p3: number): boolean;

declare function NetworkFinishBroadcastingData(): void;
declare function N_0x64f62afb081e260d(): void;

declare function NetworkForceLocalUseOfSyncedSceneCamera(sceneId: number): void;
declare function N_0xc9b43a33d09cada7(sceneId: number): void;

declare function NetworkGamerHasHeadset(networkHandle: number): [boolean, number];

declare function NetworkGamertagFromHandlePending(): boolean;

declare function NetworkGamertagFromHandleStart(networkHandle: number): [boolean, number];

declare function NetworkGamertagFromHandleSucceeded(): boolean;

declare function NetworkGetActivityPlayerNum(p0: boolean): number;

declare function NetworkGetAgeGroup(): number;
declare function N_0x9614b71f8adb982b(): number;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkGetAverageLatencyForPlayer(player: number): number;
/**
 * NativeDB Introduced: v323
 */
declare function N_0xd414be129bb81b32(player: number): number;

/**
 * Same as _NETWORK_GET_AVERAGE_LATENCY_FOR_PLAYER (0xD414BE129BB81B32)
 * ```
 * ```
 * NativeDB Introduced: v323
 */
declare function NetworkGetAverageLatencyForPlayer_2(player: number): number;
/**
 * Same as _NETWORK_GET_AVERAGE_LATENCY_FOR_PLAYER (0xD414BE129BB81B32)
 * ```
 * ```
 * NativeDB Introduced: v323
 */
declare function N_0x0e3a041ed6ac2b45(player: number): number;

/**
 * NETWORK_GET_*
 * NativeDB Introduced: v323
 */
declare function NetworkGetAveragePacketLossForPlayer(player: number): number;
/**
 * NETWORK_GET_*
 * NativeDB Introduced: v323
 */
declare function N_0x350c23949e43686c(player: number): number;

declare function NetworkGetBackgroundLoadingRecipients(p0: number, p1: number): [boolean, number, number];
declare function N_0x97a770beef227e2b(p0: number, p1: number): [boolean, number, number];

/**
 * 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.
 */
declare function NetworkGetContentModifierListId(contentHash: string | number): number;
/**
 * 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.
 */
declare function N_0x187382f8a3e0a6c3(contentHash: string | number): number;
/**
 * 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.
 */
declare function GetTunablesContentModifierId(contentHash: string | number): number;

declare function NetworkGetCurrentlySelectedGamerHandleFromInviteMenu(p0: number): [boolean, number];

declare function NetworkGetDestroyerOfEntity(p0: number, p1: number, weaponHash?: number): [boolean, number];
declare function N_0x4caca84440fa26f6(p0: number, p1: number, weaponHash?: number): [boolean, number];
declare function NetworkGetDesroyerOfEntity(p0: number, p1: number, weaponHash?: number): [boolean, number];

declare function NetworkGetDestroyerOfNetworkId(netId: number, weaponHash?: number): [number, number];

declare function NetworkGetDisplaynamesFromHandles(p0: number, p1: number, p2: number): number;
declare function N_0x58cc181719256197(p0: number, p1: number, p2: number): number;

/**
 * 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 the network id of the entity
 * @return The local entity handle of the network id
 */
declare function NetworkGetEntityFromNetworkId(netId: number): number;

declare function NetworkGetEntityIsLocal(entity: number): boolean;

declare function NetworkGetEntityIsNetworked(entity: number): boolean;
declare function N_0xc7827959479dcc78(entity: number): boolean;

declare function NetworkGetEntityKillerOfPlayer(player: number, weaponHash?: number): [number, number];

declare function NetworkGetEntityNetScriptId(entity: number): number;
declare function N_0x815f18ad865f057f(entity: number): number;

/**
 * Returns the owner ID of the specified entity.
 * @param entity The entity to get the owner for.
 * @return On the server, the server ID of the entity owner. On the client, returns the player/slot ID of the entity owner.
 */
declare function NetworkGetEntityOwner(entity: number): number;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkGetEvcBalance(): number;

declare function NetworkGetFoundGamer(p1: number): [boolean, number];

declare function NetworkGetFriendCount(): number;

declare function NetworkGetFriendName(friendIndex: number): string;

declare function NetworkGetFriendNameFromIndex(friendIndex: number): string;

declare function NetworkGetGamerStatusFromQueue(): boolean;
declare function N_0x2cc848a861d01493(): boolean;

declare function NetworkGetGamerStatusResult(p1: number): [boolean, number];
declare function N_0x02a8bec6fd9af660(p1: number): [boolean, number];

declare function NetworkGetGamertagFromHandle(networkHandle: number): [string, number];

declare function NetworkGetGlobalMultiplayerClock(): [number, number, number];
declare function N_0x6d03bfbd643b2a02(): [number, number, number];
declare function NetworkGetServerTime(): [number, number, number];

/**
 * scriptName examples:
 * "freemode", "AM_CR_SecurityVan", ...
 * Most of the time, these values are used:
 * p1 = -1
 * p2 = 0
 */
declare function NetworkGetHostOfScript(scriptName: string, p1: number, p2: number): number;

declare function NetworkGetHostOfThisScript(): number;

declare function NetworkGetInstanceIdOfThisScript(): number;
declare function N_0x638a3a81733086db(): number;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkGetIsHighEarner(): boolean;

/**
 * Used by NetBlender
 */
declare function NetworkGetLastVelocityReceived(entity: number): number[];
/**
 * Used by NetBlender
 */
declare function N_0x33de49edf4dde77a(entity: number): number[];

/**
 * Retrieves the local player's NetworkHandle* and stores it in the given buffer.
 * * Currently unknown struct
 */
declare function NetworkGetLocalHandle(bufferSize: number): number;

declare function NetworkGetLocalSceneFromNetworkId(netId: number): number;
declare function N_0x02c40bf885c567b6(netId: number): number;
declare function NetworkUnlinkNetworkedSynchronisedScene(netId: number): number;
declare function NetworkConvertSynchronisedSceneToSynchronizedScene(netId: number): number;

declare function NetworkGetMaxFriends(): number;

/**
 * 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));
 */
declare function NetworkGetMaxNumParticipants(): number;
/**
 * 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));
 */
declare function NetworkGetNumParticipantsHost(): number;

/**
 * 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 the handle of the entity from which the network id should be taken
 * @return The network id of the given entity
 */
declare function NetworkGetNetworkIdFromEntity(entity: number): number;

declare function NetworkGetNumBodyTrackers(): number;
declare function N_0xd38c4a6d047c019d(): number;

/**
 * Returns the amount of players connected in the current session. Only works when connected to a session/server.
 */
declare function NetworkGetNumConnectedPlayers(): number;

declare function NetworkGetNumFoundGamers(): number;

declare function NetworkGetNumParticipants(): number;

declare function NetworkGetNumPresenceInvites(): number;
declare function N_0xcefa968912d0f78d(): number;

declare function NetworkGetNumScriptParticipants(p1: number, p2: number): [number, number];
declare function N_0x3658e8cd94fc121a(p1: number, p2: number): [number, number];

/**
 * NativeDB Introduced: v323
 */
declare function NetworkGetNumUnackedForPlayer(player: number): number;

/**
 * NETWORK_GET_*
 * NativeDB Introduced: v323
 */
declare function NetworkGetOldestResendCountForPlayer(player: number): number;

declare function NetworkGetParticipantIndex(index: number): number;

declare function NetworkGetPlatformPartyMembers(dataSize: number): [number, number];
declare function N_0x120364de2845daf8(dataSize: number): [number, number];

declare function NetworkGetPlatformPartyUnk(): number;
declare function N_0x01abce5e7cbda196(): number;

/**
 * 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 The player id, MUST be another player.
 * @return A Vector3 containing the coordinates of another player.
 */
declare function NetworkGetPlayerCoords(player: number): number[];
/**
 * 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 The player id, MUST be another player.
 * @return A Vector3 containing the coordinates of another player.
 */
declare function N_0x125e6d638b8605d4(player: number): number[];

declare function NetworkGetPlayerFromGamerHandle(networkHandle: number): [number, number];

declare function NetworkGetPlayerIndex(player: number): number;

/**
 * Returns the Player associated to a given Ped when in an online session.
 */
declare function NetworkGetPlayerIndexFromPed(ped: number): number;
/**
 * Returns the Player associated to a given Ped when in an online session.
 */
declare function N_0x6c0e2e0125610278(ped: number): number;

declare function NetworkGetPlayerLoudness(player: number): number;

declare function NetworkGetPlayerOwnsWaypoint(player: number): boolean;
declare function N_0x82377b65e943f72d(player: number): boolean;

declare function NetworkGetPlayerTutorialSessionInstance(player: number): number;
declare function N_0x3b39236746714134(player: number): number;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkGetPositionHashOfThisScript(): number;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x257ed0fadf750bcf(): number;

declare function NetworkGetPresenceInviteContentId(p0: number): number;
declare function N_0x24409fc4c55cb22d(p0: number): number;

declare function NetworkGetPresenceInviteFromAdmin(p0: number): boolean;
declare function N_0x3dbf2df0aeb7d289(p0: number): boolean;

declare function NetworkGetPresenceInviteHandle(p0: number, p1?: number): [boolean, number];

declare function NetworkGetPresenceInviteId(p0: number): number;
declare function N_0xdff09646e12ec386(p0: number): number;

/**
 * Returns the Name of the inviter of the specific selected Invite.
 * @return The Name of the inviter.
 */
declare function NetworkGetPresenceInviteInviter(inviteIndex: number): string;
/**
 * Returns the Name of the inviter of the specific selected Invite.
 * @return The Name of the inviter.
 */
declare function N_0x4962cc4aa2f345b7(inviteIndex: number): string;

declare function NetworkGetPresenceInviteIsTournament(p0: number): boolean;
declare function N_0x8806cebfabd3ce05(p0: number): boolean;

declare function NetworkGetPresenceInvitePlaylistCurrent(p0: number): number;
declare function N_0x728c4cc7920cd102(p0: number): number;

declare function NetworkGetPresenceInvitePlaylistLength(p0: number): number;
declare function N_0xd39b3fff8ffdd5bf(p0: number): number;

/**
 * The Native returns a hash of the session id as string from the specific invite index!
 * @return A hash of the session id.
 */
declare function NetworkGetPresenceInviteSessionId(inviteIndex: number): number;
/**
 * The Native returns a hash of the session id as string from the specific invite index!
 * @return A hash of the session id.
 */
declare function N_0x26e1cd96b0903d60(inviteIndex: number): number;

declare function NetworkGetPrimaryClanDataCancel(): void;
declare function N_0x042e4b70b93e6054(): void;

declare function NetworkGetPrimaryClanDataClear(): number;
declare function N_0x9aa46badad0e27ed(): number;

declare function NetworkGetPrimaryClanDataNew(): [boolean, number, number];

declare function NetworkGetPrimaryClanDataPending(): number;
declare function N_0xb5074db804e28ce7(): number;

declare function NetworkGetPrimaryClanDataStart(p1: number): [boolean, number];

declare function NetworkGetPrimaryClanDataSuccess(): number;
declare function N_0x5b4f04f19376a0ba(): number;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkGetPvcBalance(): number;

/**
 * Same as 0xEA560AC9EEB1E19B.
 * ```
 * ```
 * Same as 0xEA560AC9EEB1E19B.
 * NativeDB Introduced: v323
 */
declare function NetworkGetPvcTransferBalance(): number;
/**
 * Same as 0xEA560AC9EEB1E19B.
 * ```
 * ```
 * Same as 0xEA560AC9EEB1E19B.
 * NativeDB Introduced: v323
 */
declare function NetworkGetRemainingVcDailyTransfers(): number;

declare function NetworkGetRandomInt(): number;
declare function N_0x599e4fa1f87eb5ff(): number;

/**
 * Same as GET_RANDOM_INT_IN_RANGE
 */
declare function NetworkGetRandomIntRanged(rangeStart: number, rangeEnd: number): number;
/**
 * Same as GET_RANDOM_INT_IN_RANGE
 */
declare function N_0xe30cf56f1efa5f43(rangeStart: number, rangeEnd: number): number;
/**
 * Same as GET_RANDOM_INT_IN_RANGE
 */
declare function NetworkGetRandomIntInRange(rangeStart: number, rangeEnd: number): number;

/**
 * Same as 0x13A8DE2FD77D04F3.
 * NativeDB Introduced: v323
 */
declare function NetworkGetRemainingTransferBalance(): number;
/**
 * Same as 0x13A8DE2FD77D04F3.
 * NativeDB Introduced: v323
 */
declare function NetworkGetRemainingVcDailyTransfers_2(): number;

/**
 * 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..
 */
declare function NetworkGetRespawnResult(randomInt: number): [number[], number];

declare function NetworkGetRespawnResultFlags(p0: number): number;
declare function N_0x6c34f1208b8923fd(p0: number): number;

declare function NetworkGetRosPrivilege_24(): boolean;
declare function N_0x593570c289a77688(): boolean;

declare function NetworkGetRosPrivilege_25(): boolean;
declare function N_0x91b87c55093de351(): boolean;

declare function NetworkGetRosPrivilege_9(): boolean;
declare function N_0x66b59cffd78467af(): boolean;

declare function NetworkGetScriptStatus(): number;

declare function NetworkGetStringBankBalance(): string;
declare function N_0xa6fa3979bed01b81(): string;
declare function NetworkGetBankBalanceString(): string;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkGetStringBankWalletBalance(): string;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkGetStringWalletBalance(characterSlot: number): string;

declare function NetworkGetTalkerProximity(): number;

declare function NetworkGetTargetingMode(): number;
declare function N_0xdffa5be8381c3314(): number;

declare function NetworkGetThisScriptIsNetworkScript(): boolean;

declare function NetworkGetTimeoutTime(): number;
declare function N_0x5ed0356a0ce3a34f(): number;

declare function NetworkGetTotalNumPlayers(): number;
declare function N_0xcf61d4b4702ee9eb(): number;

declare function NetworkGetTransitionHost(networkHandle: number): [boolean, number];

/**
 * Returns count.
 */
declare function NetworkGetTransitionMembers(dataCount: number): [number, number];

/**
 * Actually returns the version (TUNABLE_VERSION)
 */
declare function NetworkGetTunableCloudCrc(): number;
/**
 * Actually returns the version (TUNABLE_VERSION)
 */
declare function N_0x10bd227a753b0d84(): number;
/**
 * Actually returns the version (TUNABLE_VERSION)
 */
declare function NetworkGetTunablesVersion(): number;

/**
 * NETWORK_*
 * NativeDB Introduced: v323
 */
declare function NetworkGetUnreliableResendCountForPlayer(player: number): number;
/**
 * NETWORK_*
 * NativeDB Introduced: v323
 */
declare function N_0x3765c3a3e8192e10(player: number): number;

declare function NetworkGetVcBalance(): number;
declare function N_0x5cbad97e059e1b94(): number;

declare function NetworkGetVcBankBalance(): number;
declare function N_0x76ef28da05ea395a(): number;

/**
 * Returns true if bank balance >= amount.
 * NativeDB Introduced: v323
 */
declare function NetworkGetVcBankBalanceIsNotLessThan(amount: number): boolean;

/**
 * Returns true if bank balance + wallet balance >= amount.
 */
declare function NetworkGetVcBankWalletBalanceIsNotLessThan(amount: number, characterSlot: number): boolean;
/**
 * Returns true if bank balance + wallet balance >= amount.
 */
declare function N_0xdc18531d7019a535(amount: number, characterSlot: number): boolean;

declare function NetworkGetVcWalletBalance(characterSlot: number): number;
declare function N_0xa40f9c2623f6a8b5(characterSlot: number): number;

/**
 * Returns true if wallet balance >= amount.
 * NativeDB Introduced: v323
 */
declare function NetworkGetVcWalletBalanceIsNotLessThan(amount: number, characterSlot: number): boolean;

declare function NetworkGivePlayerJobshareCash(amount: number, networkHandle?: number): number;

declare function NetworkHandleFromFriend(friendIndex: number, bufferSize: number): number;

/**
 * Returns a NetworkHandle* from the specified member ID and stores it in a given buffer.
 * * Currently unknown struct
 */
declare function NetworkHandleFromMemberId(memberId: string, bufferSize: number): number;

/**
 * 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;
 * }
 */
declare function NetworkHandleFromPlayer(player: number, bufferSize: number): number;

/**
 * Returns a NetworkHandle* from the specified user ID and stores it in a given buffer.
 * * Currently unknown struct
 */
declare function NetworkHandleFromUserId(userId: string, bufferSize: number): number;

declare function NetworkHasAgeRestrictedProfile(): boolean;
declare function N_0x1353f87e89946207(): boolean;

declare function NetworkHasCachedPlayerHeadBlendData(player: number): boolean;
declare function N_0x237d5336a9a54108(player: number): boolean;

declare function NetworkHasControlOfDoor(doorHash: string | number): boolean;

declare function NetworkHasControlOfEntity(entity: number): boolean;

declare function NetworkHasControlOfNetworkId(netId: number): boolean;

declare function NetworkHasControlOfPickup(pickup: number): boolean;

declare function NetworkHasEntityBeenRegisteredWithThisThread(entity: number): boolean;
declare function N_0xb07d3185e11657a5(entity: number): boolean;

declare function NetworkHasFollowInvite(): boolean;
declare function N_0x76d9b976c4c09fde(): boolean;

/**
 * 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."
 */
declare function NetworkHasGameBeenAltered(): boolean;
/**
 * 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."
 */
declare function N_0x659cf2ef7f550c4f(): boolean;

declare function NetworkHasHeadset(): boolean;

declare function NetworkHasInviteBeenAcked(networkHandle: number): [boolean, number];
declare function N_0x71dc455f5cd1c2b1(networkHandle: number): [boolean, number];

declare function NetworkHasInvitedGamer(p0: number): [boolean, number];

declare function NetworkHasInvitedGamerToTransition(p0: number): [boolean, number];

declare function NetworkHasPendingInvite(): boolean;

declare function NetworkHasPlayerStartedTransition(player: number): boolean;

declare function NetworkHasReceivedHostBroadcastData(): boolean;
declare function N_0x5d10b3795f3fc886(): boolean;

/**
 * index is always 18 in scripts
 */
declare function NetworkHasRosPrivilege(index: number): boolean;
/**
 * index is always 18 in scripts
 */
declare function N_0xa699957e60d80214(index: number): boolean;

declare function NetworkHasRosPrivilegeEndDate(privilege: number): [boolean, number, number[]];
declare function N_0xc22912b1d85f26b1(privilege: number): [boolean, number, number[]];
declare function NetworkGetBanData(privilege: number): [boolean, number, number[]];

declare function NetworkHasSocialClubAccount(): boolean;
declare function N_0x67a5589628e0cff6(): boolean;

declare function NetworkHasSocialNetworkingSharingPriv(): boolean;
declare function N_0x76bf03fadbf154f5(): boolean;

declare function NetworkHasTransitionInviteBeenAcked(networkHandle: number): [boolean, number];
declare function N_0x3f9990bf5f22759c(networkHandle: number): [boolean, number];

/**
 * Returns whether the signed-in user has valid Rockstar Online Services (ROS) credentials.
 */
declare function NetworkHasValidRosCredentials(): boolean;
/**
 * Returns whether the signed-in user has valid Rockstar Online Services (ROS) credentials.
 */
declare function N_0x85443ff4c328f53b(): boolean;
/**
 * Returns whether the signed-in user has valid Rockstar Online Services (ROS) credentials.
 */
declare function NetworkAreRosAvailable(): boolean;
/**
 * Returns whether the signed-in user has valid Rockstar Online Services (ROS) credentials.
 */
declare function NetworkHaveJustUploadLater(): boolean;

declare function NetworkHasViewGamerUserContentResult(networkHandle: number): [boolean, number];
declare function N_0xcca4318e1ab03f1f(networkHandle: number): [boolean, number];

declare function NetworkHashFromGamerHandle(networkHandle: number): [number, number];
declare function N_0x58575ac3cf2ca8ec(networkHandle: number): [number, number];
declare function NetworkHashFromGamerHandle(networkHandle: number): [number, number];

declare function NetworkHashFromPlayerHandle(player: number): number;
declare function N_0xbc1d768f2f5d6c05(player: number): number;
declare function NetworkHashFromPlayerHandle(player: number): number;

declare function NetworkHaveCommunicationPrivileges(p0: number, player: number): boolean;
declare function N_0xaeef48cdf5b6ce7c(p0: number, player: number): boolean;

declare function NetworkHaveOnlinePrivilege_2(): boolean;
declare function N_0x5ea784d197556507(): boolean;

declare function NetworkHaveOnlinePrivileges(): boolean;

declare function NetworkHaveRosBannedPriv(): boolean;
declare function IsRockstarBanned(): boolean;
declare function NetworkHasPlayerBeenBanned(): boolean;

declare function NetworkHaveRosCreateTicketPriv(): boolean;
declare function IsSocialclubBanned(): boolean;
declare function NetworkHaveSocialClubPrivilege(): boolean;

declare function NetworkHaveRosLeaderboardWritePriv(): boolean;
declare function N_0x422d396f80a96547(): boolean;
declare function NetworkGetRosPrivilege_4(): boolean;

declare function NetworkHaveRosMultiplayerPriv(): boolean;
declare function IsPlayerBanned(): boolean;
declare function CanPlayOnline(): boolean;
declare function NetworkGetRosPrivilege_3(): boolean;

declare function NetworkHaveRosSocialClubPriv(): boolean;
declare function N_0x606e4d3e3cccf3eb(): boolean;
declare function NetworkGetRosPrivilege_10(): boolean;

declare function NetworkHaveUserContentPrivileges(p0: number): boolean;
declare function N_0x72d918c99bcacc54(p0: number): boolean;

/**
 * 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 Unknown int
 * @param p1 Unknown int
 * @param p2 Unknown int
 * @param p3 Unknown int
 * @param p4 Unknown always 0 in decompiled scripts
 * @param p5 BOOL purpose unknown, both 0 and 1 are used in decompiled scripts.
 * @param p6 BOOL purpose unknown, both 0 and 1 are used in decompiled scripts.
 * @param p7 Unknown int, it's an int according to decompiled scripts, however the value is always 0 or 1.
 * @param p8 Unknown int, it's an int according to decompiled scripts, however the value is always 0 or 1.
 * @param p9 Unknown int, sometimes 0, but also 32768 or 16384 appear in decompiled scripst, maybe a flag of some sort?
 * @return Probably a bool indicating if the transition was created.
 */
declare function NetworkHostTransition(p0: number, p1: number, p2: number, p3: number, p4: number, p5: boolean, p6: boolean, p7: number, p8: number, p9: number): boolean;

declare function NetworkInitializeCash(wallet: number, bank: number): void;
declare function N_0x3da5ecd1a56cba6d(wallet: number, bank: number): void;

declare function NetworkInviteGamers(p1: number): [boolean, number, number, number];

declare function NetworkInviteGamersToTransition(p1: number): [boolean, number];

declare function NetworkIsActivitySession(): boolean;

declare function NetworkIsActivitySpectator(): boolean;

declare function NetworkIsActivitySpectatorFromHandle(networkHandle: number): [boolean, number];

declare function NetworkIsAddingFriend(): number;

declare function NetworkIsCableConnected(): boolean;
declare function N_0xeffb25453d8600f9(): boolean;

/**
 * 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.
 */
declare function NetworkIsChattingInPlatformParty(networkHandle: number): [boolean, number];

declare function NetworkIsClockTimeOverridden(): boolean;
declare function N_0xd7c95d322ff57522(): boolean;

declare function NetworkIsCloudAvailable(): boolean;

declare function NetworkIsCloudBackgroundScriptRequestPending(): boolean;
declare function N_0x8132c0eb8b2b3293(): boolean;
declare function HasBgScriptBeenDownloaded(): boolean;
declare function NetworkIsCloudBackgroundScriptsRequestPending(): boolean;

/**
 * NETWORK_IS_*
 * NativeDB Introduced: v323
 */
declare function NetworkIsConnectionEndpointRelayServer(player: number): boolean;
/**
 * NETWORK_IS_*
 * NativeDB Introduced: v323
 */
declare function N_0x16d3d49902f697bb(player: number): boolean;

declare function NetworkIsDoorNetworked(doorHash: string | number): boolean;
declare function N_0xc01e93fac20c3346(doorHash: string | number): boolean;
declare function NetworkHasControlOfPavementStats(doorHash: string | number): boolean;

/**
 * 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).
 */
declare function NetworkIsEntityConcealed(entity: number): boolean;

declare function NetworkIsEntityFading(entity: number): boolean;
declare function N_0x422f32cc7e56abad(entity: number): boolean;

declare function NetworkIsFindingGamers(): boolean;

declare function NetworkIsFriend(networkHandle: number): [boolean, number];

declare function NetworkIsFriendHandleOnline(networkHandle: number): [boolean, number];
declare function N_0x87eb7a3ffcb314db(networkHandle: number): [boolean, number];
declare function NetworkIsFriendOnline_2(networkHandle: number): [boolean, number];

declare function NetworkIsFriendInMultiplayer(friendName: string): boolean;

/**
 * In scripts R* calls 'NETWORK_GET_FRIEND_NAME' in this param.
 */
declare function NetworkIsFriendInSameTitle(friendName: string): boolean;

declare function NetworkIsFriendIndexOnline(friendIndex: number): boolean;
declare function N_0xbad8f2a42b844821(friendIndex: number): boolean;

declare function NetworkIsFriendOnline(name: string): boolean;

declare function NetworkIsGameInProgress(): boolean;

declare function NetworkIsGamerBlockedByMe(networkHandle: number): [boolean, number];

declare function NetworkIsGamerInMySession(networkHandle: number): [boolean, number];

declare function NetworkIsGamerMutedByMe(networkHandle: number): [boolean, number];

declare function NetworkIsGamerTalking(networkHandle: number): [boolean, number];

declare function NetworkIsGettingGamerStatus(): boolean;
declare function N_0x94a8394d150b013a(): boolean;

declare function NetworkIsHandleValid(bufferSize: number): [boolean, number];

/**
 * If you are host, returns true else returns false.
 */
declare function NetworkIsHost(): boolean;

declare function NetworkIsHostOfThisScript(): boolean;

declare function NetworkIsInMpCutscene(): boolean;

/**
 * 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
 */
declare function NetworkIsInParty(): boolean;

/**
 * Hardcoded to return false.
 */
declare function NetworkIsInPlatformParty(): boolean;
/**
 * Hardcoded to return false.
 */
declare function N_0x2fc5650b0271cb57(): boolean;

/**
 * Hardcoded to return false.
 */
declare function NetworkIsInPlatformPartyChat(): boolean;
/**
 * Hardcoded to return false.
 */
declare function N_0xfd8b834a8ba05048(): boolean;

declare function NetworkIsInSession(): boolean;

declare function NetworkIsInSpectatorMode(): boolean;

declare function NetworkIsInTransition(): boolean;

declare function NetworkIsInTutorialSession(): boolean;

/**
 * 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".
 * @return Returns true if the networkHandle is signed in on the same machine, but is not the main player.
 */
declare function NetworkIsInactiveProfile(networkHandle: number): [boolean, number];

declare function NetworkIsLocalPlayerInvincible(): boolean;

declare function NetworkIsLocalTalking(): boolean;
declare function N_0xc0d2af00bcc234ca(): boolean;

declare function NetworkIsMultiplayerDisabled(): boolean;
declare function N_0x9747292807126eda(): boolean;

/**
 * Returns true if the specified network id is controlled by someone else.
 * @param netId The network id for an object or entity.
 * @return Probably a bool, returns 1 if you don't have control over the netId entity.
 */
declare function NetworkIsNetworkIdAClone(netId: number): boolean;
/**
 * Returns true if the specified network id is controlled by someone else.
 * @param netId The network id for an object or entity.
 * @return Probably a bool, returns 1 if you don't have control over the netId entity.
 */
declare function N_0x7242f8b741ce1086(netId: number): boolean;

declare function NetworkIsOfflineInvitePending(): boolean;
declare function N_0x74698374c45701d2(): boolean;

declare function NetworkIsParticipantActive(p0: number): boolean;

/**
 * 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
 */
declare function NetworkIsPartyMember(networkHandle: number): [boolean, number];

/**
 * This function is hard-coded to always return 0.
 */
declare function NetworkIsPendingFriend(p0: number): number;

declare function NetworkIsPlayerAParticipant(player: number): boolean;

declare function NetworkIsPlayerAParticipantOnScript(player1: number, script: string, player2: number): boolean;
declare function N_0x1ad5b71586b94820(player1: number, script: string, player2: number): boolean;

declare function NetworkIsPlayerActive(player: number): boolean;

declare function NetworkIsPlayerBlockedByMe(player: number): boolean;

declare function NetworkIsPlayerConcealed(player: number): boolean;

declare function NetworkIsPlayerConnected(player: number): boolean;

/**
 * NETWORK_ARE_*
 */
declare function NetworkIsPlayerEqualToIndex(player: number, index: number): boolean;
/**
 * NETWORK_ARE_*
 */
declare function N_0x9de986fc9a87c474(player: number, index: number): boolean;

declare function NetworkIsPlayerFading(player: number): boolean;
declare function N_0x631dc5dff4b110e3(player: number): boolean;

declare function NetworkIsPlayerInMpCutscene(player: number): boolean;

declare function NetworkIsPlayerMutedByMe(player: number): boolean;

/**
 * returns true if someone is screaming or talking in a microphone
 */
declare function NetworkIsPlayerTalking(player: number): boolean;

declare function NetworkIsPsnAvailable(): boolean;
declare function N_0x8d11e61a4abf49cc(): boolean;

declare function NetworkIsScriptActive(scriptName: string, player: number, p2: boolean, p3: number): boolean;

/**
 * NativeDB Introduced: v2245
 */
declare function NetworkIsScriptActiveByHash(scriptHash: string | number, p1: number, p2: boolean, p3: number): boolean;

declare function NetworkIsSessionActive(): boolean;

declare function NetworkIsSessionBusy(): boolean;

/**
 * This checks if player is playing on gta online or not.
 * Please add an if and block your mod if this is "true".
 */
declare function NetworkIsSessionStarted(): boolean;

/**
 * Returns whether the player is signed into Social Club.
 */
declare function NetworkIsSignedIn(): boolean;

/**
 * Returns whether the game is not in offline mode.
 * seemed not to work for some ppl
 */
declare function NetworkIsSignedOnline(): boolean;

/**
 * Same as _IS_TEXT_CHAT_ACTIVE, except it does not check if the text chat HUD component is initialized, and therefore may crash.
 */
declare function NetworkIsTextChatActive(): boolean;

declare function NetworkIsThisScriptMarked(p0: number, p1: boolean, p2: number): boolean;
declare function N_0xd1110739eeadb592(p0: number, p1: boolean, p2: number): boolean;
declare function NetworkSetThisScriptMarked(p0: number, p1: boolean, p2: number): boolean;

declare function NetworkIsTransitionBusy(): boolean;

declare function NetworkIsTransitionClosedCrew(): boolean;
declare function N_0x0dbd5d7e3c5bec3b(): boolean;

declare function NetworkIsTransitionClosedFriends(): boolean;
declare function N_0x6512765e3be78c50(): boolean;

declare function NetworkIsTransitionHost(): boolean;

declare function NetworkIsTransitionHostFromHandle(networkHandle: number): [boolean, number];

declare function NetworkIsTransitionMatchmaking(): boolean;
declare function N_0x292564c735375edf(): boolean;

declare function NetworkIsTransitionOpenToMatchmaking(): boolean;
declare function N_0x37a4494483b9f5c9(): boolean;

declare function NetworkIsTransitionPrivate(): boolean;
declare function N_0x5a6aa44ff8e931e6(): boolean;

declare function NetworkIsTransitionSolo(): boolean;
declare function N_0x5dc577201723960a(): boolean;

declare function NetworkIsTransitionStarted(): boolean;

declare function NetworkIsTransitionToGame(): boolean;

declare function NetworkIsTransitionVisibilityLocked(): boolean;
declare function N_0xd0a484cb2f829fbe(): boolean;

declare function NetworkIsTunableCloudRequestPending(): boolean;
declare function N_0x0467c11ed88b7d28(): boolean;
declare function HasTunablesBeenDownloaded(): boolean;

declare function NetworkIsTutorialSessionChangePending(): boolean;
declare function N_0x35f0b98a8387274d(): boolean;

declare function NetworkJoinGroupActivity(): number;
declare function N_0xa06509a691d12be4(): number;

declare function NetworkJoinPreviouslyFailedSession(): boolean;
declare function N_0x59df79317f85a7e0(): boolean;

declare function NetworkJoinPreviouslyFailedTransition(): boolean;
declare function N_0xffe1e5b792d92b34(): boolean;

/**
 * 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.
 */
declare function NetworkJoinTransition(player: number): boolean;

declare function NetworkLaunchTransition(): boolean;

declare function NetworkLeaveTransition(): boolean;

declare function NetworkManualDeleteCharacter(characterSlot: number): void;
declare function N_0x821418c727fcacd7(characterSlot: number): void;

declare function NetworkMarkTransitionGamerAsFullyJoined(p0: number): [boolean, number];

declare function NetworkMemberIdFromGamerHandle(networkHandle: number): [string, number];

declare function NetworkMoneyCanBet(amount: number, p1: boolean, p2: boolean): boolean;
declare function N_0x81404f3dc124fe5b(amount: number, p1: boolean, p2: boolean): boolean;

declare function NetworkOpenTransitionMatchmaking(): void;
declare function N_0x2b3a8f7ca3a38fde(): void;

/**
 * Could possibly bypass being muted or automatically muted
 */
declare function NetworkOverrideChatRestrictions(player: number, toggle: boolean): void;
/**
 * Could possibly bypass being muted or automatically muted
 */
declare function N_0x3039ae5ad2c9c0c4(player: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v2189
 */
declare function NetworkOverrideClockMillisecondsPerGameMinute(ms: number): void;

/**
 * Works in Singleplayer too.
 * Passing wrong data (e.g. hours above 23) will cause the game to crash.
 */
declare function NetworkOverrideClockTime(hours: number, minutes: number, seconds: number): void;

declare function NetworkOverrideCoordsAndHeading(entity: number, x: number, y: number, z: number, heading: number): void;
declare function N_0xa7e30de9272b6d49(entity: number, x: number, y: number, z: number, heading: number): void;

/**
 * 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
 */
declare function NetworkOverrideReceiveRestrictions(player: number, toggle: boolean): void;
/**
 * 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
 */
declare function N_0xddf73e2b1fec5ab4(player: number, toggle: boolean): void;

/**
 * p0 is always false in scripts.
 */
declare function NetworkOverrideReceiveRestrictionsAll(toggle: boolean): void;
/**
 * p0 is always false in scripts.
 */
declare function N_0x0ff2862b61a58af9(toggle: boolean): void;

/**
 * This is used alongside the native,
 * 'NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS'. Read its description for more info.
 */
declare function NetworkOverrideSendRestrictions(player: number, toggle: boolean): void;
/**
 * This is used alongside the native,
 * 'NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS'. Read its description for more info.
 */
declare function N_0x97dd4c5944cc2e6a(player: number, toggle: boolean): void;
/**
 * This is used alongside the native,
 * 'NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS'. Read its description for more info.
 */
declare function NetworkOverrideSendRestrictions(player: number, toggle: boolean): void;

declare function NetworkOverrideSendRestrictionsAll(toggle: boolean): void;
declare function N_0x57b192b4d4ad23d5(toggle: boolean): void;
declare function NetworkChatMute(toggle: boolean): void;

declare function NetworkOverrideTeamRestrictions(team: number, toggle: boolean): void;
declare function N_0x6f697a66ce78674e(team: number, toggle: boolean): void;

declare function NetworkOverrideTransitionChat(p0: boolean): void;
declare function N_0xaf66059a131aa269(p0: boolean): void;

declare function NetworkPayEmployeeWage(p0: number, p1: boolean, p2: boolean): void;
declare function N_0x5fd5ed82cbbe9989(p0: number, p1: boolean, p2: boolean): void;

declare function NetworkPayMatchEntryFee(amount: number, matchId: string, p2: boolean, p3: boolean): void;
declare function N_0x9346e14f2af74d46(amount: number, matchId: string, p2: boolean, p3: boolean): void;

declare function NetworkPayUtilityBill(amount: number, p1: boolean, p2: boolean): void;
declare function N_0xafe08b35ec0c9eae(amount: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkPedForceGameStateUpdate(ped: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xf0bc9bcd24a511d5(ped: number): void;

declare function NetworkPlayerGetCheaterReason(): number;
declare function N_0x172f75b6ee2233ba(): number;
declare function NetworkPlayerIsUnk(): number;

/**
 * Returns the name of a given player. Returns "**Invalid**" if CPlayerInfo of the given player cannot be retrieved or the player doesn't exist.
 */
declare function NetworkPlayerGetName(player: number): string;

/**
 * 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.
 */
declare function NetworkPlayerGetUserid(player: number, userID?: number): [string, number];
/**
 * 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.
 */
declare function NetworkPlayerGetUserId(player: number, userID?: number): [string, number];

declare function NetworkPlayerHasHeadset(player: number): boolean;

/**
 * Does exactly the same thing as PLAYER_ID()
 */
declare function NetworkPlayerIdToInt(): number;

declare function NetworkPlayerIndexIsCheater(player: number): boolean;
declare function N_0x565e430db3b05bec(player: number): boolean;
declare function NetworkPlayerSomething(player: number): boolean;

declare function NetworkPlayerIsBadsport(): boolean;

declare function NetworkPlayerIsCheater(): boolean;

/**
 * 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.
 */
declare function NetworkPlayerIsRockstarDev(player: number): boolean;

declare function NetworkQueryRespawnResults(p0: number): [number, number];
declare function N_0x3c891a251567dfce(p0: number): [number, number];

declare function NetworkQueueGamerForStatus(p0: number): [boolean, number];
declare function N_0x85a0ef54a500882c(p0: number): [boolean, number];
declare function NetworkGetGamerStatus(p0: number): [boolean, number];

declare function NetworkReceivePlayerJobshareCash(value: number, networkHandle?: number): number;

/**
 * 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
 */
declare function NetworkRefundCash(index: number, context: string, reason: string, unk: boolean): void;
/**
 * 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
 */
declare function N_0xf9c812cd7c46e817(index: number, context: string, reason: string, unk: boolean): void;

declare function NetworkRegisterEntityAsNetworked(entity: number): void;
declare function N_0x06faacd625d80caa(entity: number): void;

declare function NetworkRegisterHostBroadcastVariables(numVars: number): number;

declare function NetworkRegisterPlayerBroadcastVariables(numVars: number): number;

declare function NetworkRegisterTunableBoolHash(contextHash: string | number, nameHash: string | number): [boolean, any /* actually bool */];
declare function N_0x697f508861875b42(contextHash: string | number, nameHash: string | number): [boolean, any /* actually bool */];

declare function NetworkRegisterTunableFloatHash(contextHash: string | number, nameHash: string | number, value?: number): [boolean, number];
declare function N_0x1950dae9848a4739(contextHash: string | number, nameHash: string | number, value?: number): [boolean, number];

declare function NetworkRegisterTunableIntHash(contextHash: string | number, nameHash: string | number, value?: number): [boolean, number];
declare function N_0x3a8b55fda4c8ddef(contextHash: string | number, nameHash: string | number, value?: number): [boolean, number];

declare function NetworkRemoveAllTransitionInvite(): void;
declare function N_0x726e0375c7a26368(): void;

declare function NetworkRemoveEntityArea(p0: number): boolean;

declare function NetworkRemovePresenceInvite(p0: number): boolean;
declare function N_0xf0210268db0974b1(p0: number): boolean;

declare function NetworkRemoveTransitionInvite(p0: number): void;

declare function NetworkReportMyself(): void;
declare function N_0x5626d9d6810730d5(): void;

declare function NetworkRequestCloudBackgroundScripts(): boolean;
declare function N_0x924426bffd82e915(): boolean;
declare function NetworkRequestCloudBackgroundScripts(): boolean;

declare function NetworkRequestCloudTunables(): void;
declare function N_0x42fb3b532d526e6c(): void;

declare function NetworkRequestControlOfDoor(doorID: number): boolean;

declare function NetworkRequestControlOfEntity(entity: number): boolean;

declare function NetworkRequestControlOfNetworkId(netId: number): boolean;

declare function NetworkResetBodyTracker(): void;

/**
 * p4 and p5 are always 0 in scripts
 */
declare function NetworkRespawnCoords(player: number, x: number, y: number, z: number, p4: boolean, p5: boolean): void;
/**
 * p4 and p5 are always 0 in scripts
 */
declare function N_0x9769f811d1785b03(player: number, x: number, y: number, z: number, p4: boolean, p5: boolean): void;

/**
 * NativeDB Added Parameter 7: Any p6
 */
declare function NetworkResurrectLocalPlayer(x: number, y: number, z: number, heading: number, unk: boolean, changetime: boolean): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkRivalDeliveryCompleted(earnedMoney: number): void;

declare function NetworkSeedRandomNumberGenerator(seed: number): void;
declare function N_0xf1b84178f8674195(seed: number): void;

declare function NetworkSendInviteViaPresence(p2: number, p3: number): [boolean, number, number];
declare function N_0xc3c7a6afdb244624(p2: number, p3: number): [boolean, number, number];
declare function NetworkSendPresenceInvite(p2: number, p3: number): [boolean, number, number];

/**
 * String "NETWORK_SEND_PRESENCE_TRANSITION_INVITE" is contained in the function in ida so this one is correct.
 */
declare function NetworkSendPresenceTransitionInvite(p2: number, p3: number): [boolean, number, number];
/**
 * String "NETWORK_SEND_PRESENCE_TRANSITION_INVITE" is contained in the function in ida so this one is correct.
 */
declare function N_0xc116ff9b4d488291(p2: number, p3: number): [boolean, number, number];

/**
 * Message is limited to 64 characters.
 */
declare function NetworkSendTextMessage(message: string, networkHandle?: number): [boolean, number];

/**
 * 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?
 */
declare function NetworkSendTransitionGamerInstruction(p1: string, p2: number, p3: number, p4: boolean): [boolean, number];

declare function NetworkSessionActivityQuickmatch(p0: number, p1: number, p2: number, p3: number): boolean;
declare function N_0xbe3e347a87aceb82(p0: number, p1: number, p2: number, p3: number): boolean;

declare function NetworkSessionAddActiveMatchmakingGroup(groupId: number): void;
declare function N_0xcae55f48d3d7875c(groupId: number): void;

declare function NetworkSessionBlockJoinRequests(toggle: boolean): void;
declare function N_0xa73667484d7037c3(toggle: boolean): void;

declare function NetworkSessionCancelInvite(): void;

declare function NetworkSessionChangeSlots(p0: number, p1: boolean): void;
declare function N_0xb4ab419e0d86acae(p0: number, p1: boolean): void;

declare function NetworkSessionCrewMatchmaking(p0: number, p1: number, p2: number, maxPlayers: number, p4: boolean): boolean;
declare function N_0x94bc51e9449d917f(p0: number, p1: number, p2: number, maxPlayers: number, p4: boolean): boolean;

/**
 * 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."
 */
declare function NetworkSessionEnd(p0: boolean, p1: boolean): boolean;

/**
 * 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.
 */
declare function NetworkSessionEnter(p0: number, p1: number, p2: number, maxPlayers: number, p4: number, p5: number): number;

declare function NetworkSessionForceCancelInvite(): void;
declare function N_0xa29177f7703b5644(): void;

declare function NetworkSessionFriendMatchmaking(p0: number, p1: number, maxPlayers: number, p3: boolean): boolean;
declare function N_0x2cfc76e0d087c994(p0: number, p1: number, maxPlayers: number, p3: boolean): boolean;

declare function NetworkSessionGetInviter(networkHandle: number): void;

declare function NetworkSessionGetKickVote(player: number): boolean;
declare function NetworkSessionArePlayersVotingToKick(player: number): boolean;
declare function NetworkSessionIsPlayerVotedToKick(player: number): boolean;

declare function NetworkSessionGetMatchmakingGroupFree(p0: number): number;
declare function N_0x56ce820830ef040b(p0: number): number;
declare function NetworkSessionGetUnk(p0: number): number;

declare function NetworkSessionGetPrivateSlots(): number;
declare function N_0x53afd64c6758f2f9(): number;

/**
 * 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.
 */
declare function NetworkSessionHost(p0: number, maxPlayers: number, p2: boolean): boolean;

declare function NetworkSessionHostClosed(p0: number, maxPlayers: number): boolean;
declare function N_0xed34c0c02c098bb7(p0: number, maxPlayers: number): boolean;

/**
 * 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.
 */
declare function NetworkSessionHostFriendsOnly(p0: number, maxPlayers: number): boolean;

/**
 * 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
 */
declare function NetworkSessionHostSinglePlayer(p0: number): void;

declare function NetworkSessionIsClosedCrew(): boolean;
declare function N_0x74732c6ca90da2b4(): boolean;

declare function NetworkSessionIsClosedFriends(): boolean;
declare function N_0xfbcfa2ea2e206890(): boolean;

declare function NetworkSessionIsInVoiceSession(): boolean;
declare function N_0x855bc38818f6f684(): boolean;

declare function NetworkSessionIsPrivate(): boolean;
declare function N_0xcef70aa5b3f89ba1(): boolean;

declare function NetworkSessionIsSolo(): boolean;
declare function N_0xf3929c2379b60cce(): boolean;

declare function NetworkSessionIsVisible(): boolean;
declare function N_0xba416d68c631496a(): boolean;

declare function NetworkSessionIsVoiceSessionBusy(): boolean;
declare function N_0xef0912ddf7c4cb4b(): boolean;

declare function NetworkSessionJoinInvite(): void;
declare function NetworkIsPlayerAnimationDrawingSynchronized(): void;

/**
 * Only works as host.
 */
declare function NetworkSessionKickPlayer(player: number): void;

declare function NetworkSessionLeaveSinglePlayer(): void;

declare function NetworkSessionMarkVisible(toggle: boolean): void;
declare function N_0x271cc6ab59ebf9a5(toggle: boolean): void;

declare function NetworkSessionSetMatchmakingGroup(matchmakingGroup: number): void;
declare function N_0x49ec8030f5015f8b(matchmakingGroup: number): void;
declare function NetworkSctvSlots(matchmakingGroup: number): void;

/**
 * playerTypes:
 * 0 = regular joiner
 * 4 = spectator
 * 8 = unknown
 */
declare function NetworkSessionSetMatchmakingGroupMax(playerType: number, playerCount: number): void;
/**
 * playerTypes:
 * 0 = regular joiner
 * 4 = spectator
 * 8 = unknown
 */
declare function N_0x8b6a4dd0af9ce215(playerType: number, playerCount: number): void;
/**
 * playerTypes:
 * 0 = regular joiner
 * 4 = spectator
 * 8 = unknown
 */
declare function NetworkSessionSetMaxPlayers(playerType: number, playerCount: number): void;

declare function NetworkSessionSetMatchmakingMentalState(p0: number): void;
declare function N_0xf1eea2dda9ffa69d(p0: number): void;

declare function NetworkSessionSetMatchmakingPropertyId(p0: boolean): void;
declare function N_0x3f52e880aaf6c8ca(p0: boolean): void;

declare function NetworkSessionValidateJoin(p0: boolean): void;
declare function N_0xc19f6c8e7865a6ff(p0: boolean): void;
declare function NetworkSessionHosted(p0: boolean): void;

/**
 * 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
 */
declare function NetworkSessionVoiceConnectToPlayer(globalPtr: number): void;
/**
 * 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
 */
declare function N_0xabd5e88b8a2d3db2(globalPtr: number): void;
/**
 * 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
 */
declare function NetworkVoiceConnectToPlayer(globalPtr: number): void;

declare function NetworkSessionVoiceHost(): void;

declare function NetworkSessionVoiceLeave(): void;

declare function NetworkSessionVoiceRespondToRequest(p0: boolean, p1: number): void;
declare function NetworkSetKeepFocuspoint(p0: boolean, p1: number): void;

declare function NetworkSessionVoiceSetTimeout(timeout: number): void;
declare function N_0x5b8ed3db018927b1(timeout: number): void;

declare function NetworkSessionWasInvited(): boolean;
declare function N_0x23dfb504655d0ce4(): boolean;

declare function NetworkSetActivityPlayerMax(playerCount: number): void;
declare function N_0x0e4f77f7b9d74d84(playerCount: number): void;

declare function NetworkSetActivitySpectator(toggle: boolean): void;

declare function NetworkSetActivitySpectatorMax(maxSpectators: number): void;

declare function NetworkSetChoiceMigrateOptions(toggle: boolean, player: number): void;
declare function N_0x5c707a667df8b9fa(toggle: boolean, player: number): void;

declare function NetworkSetCurrentDataManagerHandle(p0: number): [boolean, number];
declare function N_0x796a87b3b68d1f3d(p0: number): [boolean, number];
declare function NetworkCheckDataManagerForHandle(p0: number): [boolean, number];

/**
 * NativeDB Introduced: v2699
 */
declare function NetworkSetCurrentMissionId(missionId: string): void;

/**
 * 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
 */
declare function NetworkSetCurrentSpawnSetting(mpSettingSpawn: string | number): void;

declare function NetworkSetCurrentlySelectedGamerHandleFromInviteMenu(p0: number): [boolean, number];

declare function NetworkSetEntityCanBlend(entity: number, toggle: boolean): void;

declare function NetworkSetEntityGhostedWithOwner(entity: number, p1: boolean): void;
declare function N_0x4ba166079d658ed4(entity: number, p1: boolean): void;

/**
 * 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
 */
declare function NetworkSetEntityInvisibleToNetwork(entity: number, toggle: boolean): void;
/**
 * 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
 */
declare function N_0xf1ca12b18aef5298(entity: number, toggle: boolean): void;
/**
 * 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
 */
declare function NetworkSetEntityVisibleToNetwork(entity: number, toggle: boolean): void;

declare function NetworkSetFriendlyFireOption(toggle: boolean): void;

declare function NetworkSetGamerInvitedToTransition(networkHandle: number): void;

declare function NetworkSetInFreeCamMode(toggle: boolean): void;
declare function N_0xfc18db55ae19e046(toggle: boolean): void;

declare function NetworkSetInMpCutscene(p0: boolean, p1: boolean): void;

declare function NetworkSetInSpectatorMode(toggle: boolean, playerPed: number): void;

declare function NetworkSetInSpectatorModeExtended(toggle: boolean, playerPed: number, p2: boolean): void;
declare function N_0x419594e137637120(toggle: boolean, playerPed: number, p2: boolean): void;

declare function NetworkSetInviteOnCallForInviteMenu(networkHandle: number): void;
declare function N_0x66f010a4b031a331(networkHandle: number): void;

declare function NetworkSetLocalPlayerInvincibleTime(time: number): void;

declare function NetworkSetLocalPlayerSyncLookAt(toggle: boolean): void;
declare function N_0x524ff0aeff9c3973(toggle: boolean): void;

declare function NetworkSetMissionFinished(): void;

declare function NetworkSetNoSpectatorChat(toggle: boolean): void;
declare function N_0xf46a1e03e8755980(toggle: boolean): void;

/**
 * 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 The object to set forced blending state for.
 * @param enabled `true` to enable forced blending.
 */
declare function NetworkSetObjectForceStaticBlend(object: number, enabled: boolean): void;
/**
 * 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 The object to set forced blending state for.
 * @param enabled `true` to enable forced blending.
 */
declare function N_0x0379daf89ba09aa5(object: number, enabled: boolean): void;

declare function NetworkSetOverrideSpectatorMode(toggle: boolean): void;

declare function NetworkSetPlayerIsPassive(toggle: boolean): void;
declare function N_0x1b857666604b1a74(toggle: boolean): void;

/**
 * value must be < 255
 */
declare function NetworkSetPropertyId(id: number): void;

/**
 * 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...
 */
declare function NetworkSetRichPresence(p0: number, p1: number, p2: number, p3: number): void;

/**
 * This native does absolutely nothing, just a nullsub
 */
declare function NetworkSetRichPresenceString(p0: number, textLabel: string): void;
/**
 * This native does absolutely nothing, just a nullsub
 */
declare function N_0x3e200c2bcf4164eb(p0: number, textLabel: string): void;
/**
 * This native does absolutely nothing, just a nullsub
 */
declare function NetworkSetRichPresence_2(p0: number, textLabel: string): void;

declare function NetworkSetScriptIsSafeForNetworkGame(): void;

declare function NetworkSetScriptReadyForEvents(toggle: boolean): void;
declare function N_0x7ac752103856fb20(toggle: boolean): void;

declare function NetworkSetTalkerProximity(value: number): void;

declare function NetworkSetTeamOnlyChat(toggle: boolean): void;

declare function NetworkSetThisScriptIsNetworkScript(maxNumMissionParticipants: number, p1: boolean, instanceId: number): void;

declare function NetworkSetTransitionActivityId(p0: number): void;
declare function N_0x30de938b516f0ad2(p0: number): void;

declare function NetworkSetTransitionCreatorHandle(p0: number): void;

declare function NetworkSetTransitionVisibilityLock(p0: boolean, p1: boolean): void;
declare function N_0x0c978fda19692c2c(p0: boolean, p1: boolean): void;

/**
 * Used by Metric VEHICLE_DIST_DRIVEN
 * ```
 * ```
 * NativeDB Introduced: v2699
 */
declare function NetworkSetVehicleTestDrive(toggle: boolean): void;

/**
 * Allow vehicle wheels to be destructible even when the Vehicle entity is invincible.
 * ```
 * ```
 * NativeDB Introduced: v1365
 */
declare function NetworkSetVehicleWheelsDestructible(vehicle: number, toggle: boolean): void;
/**
 * Allow vehicle wheels to be destructible even when the Vehicle entity is invincible.
 * ```
 * ```
 * NativeDB Introduced: v1365
 */
declare function N_0x890e2c5abed7236d(vehicle: number, toggle: boolean): void;

declare function NetworkSetVoiceActive(toggle: boolean): void;

declare function NetworkSetVoiceChannel(channel: number): void;

/**
 * Returns true if the NAT type is Strict (3) and a certain number of connections have failed.
 */
declare function NetworkShouldShowConnectivityTroubleshooting(): boolean;
/**
 * Returns true if the NAT type is Strict (3) and a certain number of connections have failed.
 */
declare function N_0x82a2b386716608f1(): boolean;

/**
 * Example:
 * int playerHandle;
 * NETWORK_HANDLE_FROM_PLAYER(selectedPlayer, &playerHandle, 13);
 * NETWORK_SHOW_PROFILE_UI(&playerHandle);
 */
declare function NetworkShowProfileUi(networkHandle: number): void;

declare function NetworkSpentAmmoDrop(p0: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v1868
 */
declare function NetworkSpentArcadeGame(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function NetworkSpentArcadeGeneric(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkSpentArenaJoinSpectator(amount: number, p1: number, p2: boolean, p3: boolean): void;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkSpentArenaPremium(amount: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkSpentArenaSpectatorBox(amount: number, p1: number, p2: boolean, p3: boolean): void;

declare function NetworkSpentArrestBail(p0: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkSpentAutoshopModifications(p0: number, p1: number, p2: number, p3: number, p4: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x9bea350d7c48061b(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkSpentAutoshopPropertyUtilityFee(p0: number, p1: number, p2: number, p3: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xb40f96d6d252839b(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkSpentBaService(p0: number, p1: number, p2: number, p3: number, p4: number): void;
declare function N_0xd7cccba28c4ecaf0(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function NetworkSpentBallisticEquipment(amount: number, p1: boolean, p2: boolean): void;
declare function N_0x5d97630a8a0ef123(amount: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkSpentBankInterest(p0: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v2189
 */
declare function NetworkSpentBeachPartyGeneric(p0: number): void;

declare function NetworkSpentBetting(amount: number, p1: number, matchId: string, p3: boolean, p4: boolean): void;

/**
 * NativeDB Introduced: v2699
 */
declare function NetworkSpentBikeShopModify(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkSpentBoatPickup(p0: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Added Parameter 1: int amount
 * NativeDB Added Parameter 2: BOOL p1
 * NativeDB Added Parameter 3: BOOL p2
 */
declare function NetworkSpentBoss(): boolean;
/**
 * NativeDB Added Parameter 1: int amount
 * NativeDB Added Parameter 2: BOOL p1
 * NativeDB Added Parameter 3: BOOL p2
 */
declare function N_0xffbe02cd385356bd(): boolean;

declare function NetworkSpentBounty(p0: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v1493
 */
declare function NetworkSpentBountyHunterMission(amount: number, p1: boolean, p2: boolean): void;

declare function NetworkSpentBullShark(p0: number, p1: boolean, p2: boolean): void;

declare function NetworkSpentBusiness(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0x0035bb914316f1e3(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkSpentBuyArena(amount: number, p1: boolean, p2: boolean, p3: string): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkSpentBuyAutoshop(p0: number, p1: number, p2: number, p3: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xeeb7e5d1feb20869(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkSpentBuyBase(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkSpentBuyBunker(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0x12d148d26538d0f9(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkSpentBuyCasino(amount: number, p1: boolean, p2: boolean, data?: number): number;

declare function NetworkSpentBuyOfftheradar(p0: number, p1: boolean, p2: boolean): void;

declare function NetworkSpentBuyPassiveMode(p0: number, p1: boolean, p2: boolean): void;

declare function NetworkSpentBuyRevealPlayers(p0: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkSpentBuyTiltrotor(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkSpentBuyTruck(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0xac272c0ae01b4bd8(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkSpentBuyWantedlevel(p0: number, p2: boolean, p3: boolean): number;

declare function NetworkSpentCallPlayer(p0: number, p2: boolean, p3: boolean): number;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkSpentCarclub(p0: number, p1: boolean, p2: boolean, p3: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x925227803a0eaa1b(p0: number, p1: boolean, p2: boolean, p3: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkSpentCarclubMembership(p0: number, p1: number, p2: number, p3: number, p4: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x1464e17207cd36e2(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkSpentCarclubTakeover(p0: number, p1: number, p2: number, p3: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xd1e46824e6fb92b5(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v2699
 */
declare function NetworkSpentCargoSourcing(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

declare function NetworkSpentCarwash(p0: number, p1: number, p2: number, p3: boolean, p4: boolean): void;

declare function NetworkSpentCashDrop(amount: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v2189
 */
declare function NetworkSpentCasinoClubGeneric(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkSpentCasinoGeneric(amount: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function NetworkSpentCasinoHeist(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function NetworkSpentCasinoHeistSkipMission(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkSpentCasinoMembership(amount: number, p1: boolean, p2: boolean, p3: number): void;

declare function NetworkSpentCinema(p0: number, p1: number, p2: boolean, p3: boolean): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkSpentEmployAssassins(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkSpentFromBank(p0: number, p1: number, p2: number, p3: boolean): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xb9f7a469460e7a4a(p0: number, p1: number, p2: number, p3: boolean): void;

declare function NetworkSpentFromRockstar(bank: number, p1: boolean, p2: boolean): void;
declare function N_0x6a445b64ed7abeb5(bank: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkSpentGangopsCannon(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkSpentGangopsStartMission(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkSpentGangopsStartStrand(_type: number, amount: number, p2: boolean, p3: boolean): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkSpentGangopsTripSkip(amount: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v2699
 */
declare function NetworkSpentGunrunningContactService(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function NetworkSpentHangarStaffCharges(amount: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v1180
 */
declare function NetworkSpentHangarUtilityCharges(amount: number, p1: boolean, p2: boolean): void;

declare function NetworkSpentHeliPickup(p0: number, p1: boolean, p2: boolean): void;

declare function NetworkSpentHireMercenary(p0: number, p1: boolean, p2: boolean): void;

/**
 * Only used once in a script (am_contact_requests)
 * p1 = 0
 * p2 = 1
 */
declare function NetworkSpentHireMugger(p0: number, p1: boolean, p2: boolean): void;

declare function NetworkSpentHoldups(p0: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkSpentImAbility(p0: number, p1: number, p2: number, p3: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x93aa4165cb67e925(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkSpentImportExportRepair(p0: number, p1: number, p2: number): void;
declare function N_0xc1952f3773ba18fe(p0: number, p1: number, p2: number): void;

declare function NetworkSpentInStripclub(p0: number, p1: boolean, p2: number, p3: boolean): void;
declare function N_0xee99784e4467689c(p0: number, p1: boolean, p2: number, p3: boolean): void;

/**
 * NativeDB Introduced: v2189
 */
declare function NetworkSpentIslandHeist(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkSpentJobSkip(amount: number, matchId: string, p2: boolean, p3: boolean): void;

declare function NetworkSpentJukebox(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0x5bcde0f640c773d2(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkSpentMakeItRain(amount: number, p1: boolean, p2: boolean): void;

declare function NetworkSpentMoveYacht(amount: number, p1: boolean, p2: boolean): void;
declare function N_0xe7df4e0545dfb56e(amount: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v1493
 */
declare function NetworkSpentNightclubBarDrink(amount: number, p1: number, p2: boolean, p3: boolean): void;

/**
 * NativeDB Introduced: v1493
 */
declare function NetworkSpentNightclubEntryFee(player: number, amount: number, p1: number, p2: boolean, p3: boolean): void;

declare function NetworkSpentNoCops(p0: number, p1: boolean, p2: boolean): void;
declare function N_0xd5bb406f4e04019f(p0: number, p1: boolean, p2: boolean): void;

declare function NetworkSpentOrderBodyguardVehicle(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0xe8b0b270b6e7c76e(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkSpentOrderWarehouseVehicle(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0x05f04155a226fbbf(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkSpentPaServiceDancer(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0xb49eca122467d05f(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkSpentPaServiceHeliPickup(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0x0fe8e1fcd2b86b33(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkSpentPayBoss(p0: number, p1: number, p2: number): void;
declare function N_0xdbc966a01c02bca7(p0: number, p1: number, p2: number): void;

declare function NetworkSpentPayGoon(p0: number, p1: number, amount: number): void;
declare function N_0x08a1b82b91900682(p0: number, p1: number, amount: number): void;

/**
 * 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.
 */
declare function NetworkSpentPayVehicleInsurancePremium(amount: number, vehicleModel: string | number, notBankrupt: boolean, hasTheMoney: boolean): number;

declare function NetworkSpentPlayerHealthcare(p0: number, p1: number, p2: boolean, p3: boolean): void;
declare function N_0x7c99101f7fce2ee5(p0: number, p1: number, p2: boolean, p3: boolean): void;

declare function NetworkSpentProstitutes(p0: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v1180
 */
declare function NetworkSpentPurchaseHangar(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkSpentPurchaseWarehouse(amount: number, data: number, p2: boolean, p3: boolean): void;
declare function N_0x33981d6804e62f49(amount: number, data: number, p2: boolean, p3: boolean): void;

/**
 * NativeDB Introduced: v1493
 */
declare function NetworkSpentRdrhatchetBonus(amount: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v1493
 */
declare function NetworkSpentRehireDj(amount: number, p1: number, p2: boolean, p3: boolean): void;

declare function NetworkSpentRenameOrganization(p0: number, p1: number, p2: number): void;
declare function N_0xfc4ee00a7b3bfb76(p0: number, p1: number, p2: number): void;

declare function NetworkSpentRequestHeist(p0: number, p1: boolean, p2: boolean): void;
declare function N_0x9d26502bb97bfe62(p0: number, p1: boolean, p2: boolean): void;
declare function NetworkSpentRequestHeist(p0: number, p1: boolean, p2: boolean): void;

declare function NetworkSpentRequestJob(p0: number, p1: boolean, p2: boolean): void;
declare function N_0x8204da7934df3155(p0: number, p1: boolean, p2: boolean): void;

declare function NetworkSpentRobbedByMugger(amount: number, p1: boolean, p2: boolean): void;
declare function N_0x995a65f15f581359(amount: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v2699
 */
declare function NetworkSpentSalesDisplay(p0: boolean): void;

/**
 * NativeDB Introduced: v1604
 * NativeDB Removed Parameter 4: BOOL p3
 */
declare function NetworkSpentSpinTheWheelPayment(amount: number, p1: number, p2: boolean, p3: boolean): void;

/**
 * NativeDB Introduced: v2189
 */
declare function NetworkSpentSubmarine(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

declare function NetworkSpentTaxi(amount: number, p1: boolean, p2: boolean): void;

declare function NetworkSpentTelescope(p0: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkSpentUpgradeArena(amount: number, p1: boolean, p2: boolean, p3: string): void;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkSpentUpgradeAutoshop(p0: number, p1: number, p2: number, p3: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xdd829aa198fdc46c(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkSpentUpgradeBase(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkSpentUpgradeBunker(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0x0c82d21a77c22d49(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function NetworkSpentUpgradeCasino(amount: number, p1: boolean, p2: boolean, data?: number): number;

/**
 * NativeDB Introduced: v1180
 */
declare function NetworkSpentUpgradeHangar(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function NetworkSpentUpgradeSub(p0: number, p1: number, p2: number, p3: number): void;
/**
 * NativeDB Introduced: v2189
 */
declare function N_0x89049a84065ce68e(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkSpentUpgradeTiltrotor(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkSpentUpgradeTruck(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0x365e877c61d6988b(p0: number, p1: number, p2: number, p3: number): void;

declare function NetworkSpentVehicleExportMods(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number): void;
declare function N_0xa75ccf58a60a5fd1(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number): void;

/**
 * NativeDB Introduced: v2699
 */
declare function NetworkSpentVehicleRequested(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function NetworkSpentVipUtilityCharges(p0: number, p1: number, p2: number): void;
declare function N_0x5182a339a3474510(p0: number, p1: number, p2: number): void;

declare function NetworkSpentWager(p0: number, p1: number, amount: number): void;
declare function N_0xd99db210089617fe(p0: number, p1: number, amount: number): void;

/**
 * ```
 * 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.
 */
declare function NetworkStartRespawnSearchForPlayer(player: number, x: number, y: number, z: number, radius: number, p5: number, p6: number, p7: number, flags: number): boolean;
/**
 * ```
 * 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.
 */
declare function N_0x5a6ffa2433e2f14c(player: number, x: number, y: number, z: number, radius: number, p5: number, p6: number, p7: number, flags: number): boolean;

/**
 * p8, p9, p10 is another coordinate, or zero, often related to `GET_BLIP_COORDS` in the decompiled scripts.
 * @param x1 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 */
declare function NetworkStartRespawnSearchInAngledAreaForPlayer(player: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number, p8: number, p9: number, p10: number, flags: number): boolean;
/**
 * p8, p9, p10 is another coordinate, or zero, often related to `GET_BLIP_COORDS` in the decompiled scripts.
 * @param x1 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 */
declare function N_0x4ba92a18502bca61(player: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number, p8: number, p9: number, p10: number, flags: number): boolean;

declare function NetworkStartSoloTutorialSession(): void;
declare function N_0x17e0198b3882c2cb(): void;

declare function NetworkStartSynchronisedScene(netScene: number): void;

/**
 * Always returns -1. Seems to be XB1 specific.
 */
declare function NetworkStartUserContentPermissionsCheck(netHandle: number): number;
/**
 * Always returns -1. Seems to be XB1 specific.
 */
declare function N_0xdeb2b99a1af1a2a6(netHandle: number): number;

declare function NetworkStopLoadScene(): void;

declare function NetworkStopSynchronisedScene(netScene: number): void;

declare function NetworkSuppressInvite(toggle: boolean): void;

declare function NetworkTransitionTrack(hash: string | number, p1: number, p2: number, state: number, p4: number): void;
declare function N_0xc3bfed92026a2aad(hash: string | number, p1: number, p2: number, state: number, p4: number): void;

/**
 * Returns defaultValue if the tunable doesn't exist.
 */
declare function NetworkTryAccessTunableBoolHash(tunableContext: string | number, tunableName: string | number, defaultValue: boolean): boolean;
/**
 * Returns defaultValue if the tunable doesn't exist.
 */
declare function N_0xc7420099936ce286(tunableContext: string | number, tunableName: string | number, defaultValue: boolean): boolean;
/**
 * Returns defaultValue if the tunable doesn't exist.
 */
declare function NetworkAccessTunableBoolHashFailVal(tunableContext: string | number, tunableName: string | number, defaultValue: boolean): boolean;

/**
 * NativeDB Introduced: v2372
 */
declare function NetworkUgcNav(p0: number, p1: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xc1447451ddb512f0(p0: number, p1: number): void;

declare function NetworkUnregisterNetworkedEntity(entity: number): void;
declare function N_0x7368e683bb9038d6(entity: number): void;

declare function NetworkUpdateLoadScene(): boolean;

declare function NetworkUpdatePlayerScars(): void;
declare function N_0xb7c7f6ad6424304b(): void;

/**
 * Old name: _NETWORK_SET_NETWORK_ID_DYNAMIC
 */
declare function NetworkUseHighPrecisionBlending(netID: number, toggle: boolean): void;
/**
 * Old name: _NETWORK_SET_NETWORK_ID_DYNAMIC
 */
declare function N_0x2b1813aba29016c5(netID: number, toggle: boolean): void;
/**
 * Old name: _NETWORK_SET_NETWORK_ID_DYNAMIC
 */
declare function NetworkSetNetworkIdDynamic(netID: number, toggle: boolean): void;

/**
 * Implemented only for Trains.
 * ```
 * ```
 * NativeDB Introduced: v2372
 */
declare function NetworkUseHighPrecisionVehicleBlending(vehicle: number, toggle: boolean): void;
/**
 * Implemented only for Trains.
 * ```
 * ```
 * NativeDB Introduced: v2372
 */
declare function N_0xec0c1d4922af9754(vehicle: number, toggle: boolean): void;

declare function NetworkUseLogarithmicBlendingThisFrame(entity: number): void;
declare function N_0xcd71a4ecab22709e(entity: number): void;

/**
 * `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 World `x` coordinate.
 * @param posY World `y` coordinate.
 * @param posZ World `z` coordinate.
 * @param offsetX Offset `x` coordinate.
 * @param offsetY Offset `y` coordinate.
 * @param offsetZ Offset `z` coordinate.
 * @param radius Action radius, value is usually between `3f` and `7000f` in original 1868 scripts.
 * @param p7 0, 1, 2, 3 or 4 used in decompiled scripts, 0 is by far the most common.
 * @return True if success, used only 7 times in decompiled scripts of 1868 (https://github.com/root-cause/v-decompiled-scripts).
 */
declare function NewLoadSceneStart(posX: number, posY: number, posZ: number, offsetX: number, offsetY: number, offsetZ: number, radius: number, p7: number): boolean;

/**
 * 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)
 */
declare function NewLoadSceneStartSphere(x: number, y: number, z: number, radius: number, p4: number): boolean;
/**
 * 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)
 */
declare function N_0xaccfb4acf53551b0(x: number, y: number, z: number, radius: number, p4: number): boolean;

declare function NewLoadSceneStop(): void;

/**
 * p0 was always 2 in R* scripts.
 * Called before calling DISPLAY_ONSCREEN_KEYBOARD if the input needs to be saved.
 */
declare function NextOnscreenKeyboardResultWillDisplayUsingTheseFonts(p0: number): void;
/**
 * p0 was always 2 in R* scripts.
 * Called before calling DISPLAY_ONSCREEN_KEYBOARD if the input needs to be saved.
 */
declare function N_0x3ed1438c1f5c6612(p0: number): void;

/**
 * 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));
 */
declare function ObjToNet(object: number): number;

/**
 * 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);
 */
declare function OnEnterMp(): void;
/**
 * 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);
 */
declare function LoadMpDlcMaps(): void;

/**
 * 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.
 */
declare function OnEnterSp(): void;
/**
 * 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.
 */
declare function N_0xd7c10c4a637992c9(): void;
/**
 * 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.
 */
declare function LoadSpDlcMaps(): void;

declare function OpenBombBayDoors(vehicle: number): void;
declare function OpenVehicleBombBay(vehicle: number): void;

/**
 * Has a 3rd param (int) since patch [???].
 * ```
 * ```
 * NativeDB Added Parameter 3: int p2
 */
declare function OpenCommerceStore(p0: string, p1: string): void;
/**
 * Has a 3rd param (int) since patch [???].
 * ```
 * ```
 * NativeDB Added Parameter 3: int p2
 */
declare function N_0x58c21165f6545892(p0: string, p1: string): void;

declare function OpenOnlinePoliciesMenu(): void;
declare function ShowSocialClubLegalScreen(): void;

/**
 * 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"
 */
declare function OpenPatrolRoute(patrolRoute: string): void;

/**
 * Shows a menu for reporting UGC content.
 */
declare function OpenReportugcMenu(): void;
/**
 * Shows a menu for reporting UGC content.
 */
declare function N_0x523a590c1a3cc0d3(): void;
/**
 * Shows a menu for reporting UGC content.
 */
declare function DisplayJobReport(): void;

declare function OpenSequenceTask(taskSequenceId: number): void;

/**
 * Uses the `SOCIAL_CLUB2` scaleform.
 */
declare function OpenSocialClubMenu(): void;
/**
 * Uses the `SOCIAL_CLUB2` scaleform.
 */
declare function N_0x75d3691713c3b05a(): void;

declare function OrderedBossVehicle(p0: number, p1: number, vehicleHash: string | number): void;
declare function N_0xcea553e35c2246e1(p0: number, p1: number, vehicleHash: string | number): void;

/**
 * Max value for p1 is 15.
 */
declare function OverrideCamSplineMotionBlur(cam: number, p1: number, p2: number, p3: number): void;

declare function OverrideCamSplineVelocity(cam: number, p1: number, p2: number, p3: number): void;

declare function OverrideInteriorSmokeEnd(): void;
declare function N_0xefb55e7c25d3b3be(): void;

declare function OverrideInteriorSmokeLevel(level: number): void;
declare function N_0x1600fd8cf72ebc12(level: number): void;

declare function OverrideInteriorSmokeName(name: string): void;
declare function N_0x2a2a52824db96700(name: string): void;

/**
 * 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
 */
declare function OverrideLodscaleThisFrame(scaling: number): void;
/**
 * 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
 */
declare function N_0xa76359fc80b2438e(scaling: number): void;

/**
 * Sets audio flag "OverrideMicrophoneSettings"
 */
declare function OverrideMicrophoneSettings(hash: string | number, toggle: boolean): void;
/**
 * Sets audio flag "OverrideMicrophoneSettings"
 */
declare function N_0x75773e11ba459e90(hash: string | number, toggle: boolean): void;

declare function OverrideMultiplayerChatColour(p0: number, hudColor: number): void;
declare function N_0xf47e567b3630dd12(p0: number, hudColor: number): void;

declare function OverrideMultiplayerChatPrefix(gxtEntryHash: string | number): void;
declare function N_0x6a1738b4323fe2d9(gxtEntryHash: string | number): void;

/**
 * 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.
 */
declare function OverridePedBadgeTexture(ped: number, txd: string, txn: string): boolean;
/**
 * 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.
 */
declare function N_0x95eb5e34f821babe(ped: number, txd: string, txn: string): boolean;

/**
 * Sets whether peds can stand on top of *all* vehicles without falling off.
 * Note this flag is not replicated automatically, you will have to manually do so.
 * @param flag true to override, false to use default game behavior.
 */
declare function OverridePedsCanStandOnTopFlag(flag: boolean): void;

declare function OverridePlayerGroundMaterial(hash: string | number, toggle: boolean): void;
declare function N_0xd2cc78cd3d0b50f9(hash: string | number, toggle: boolean): void;

/**
 * 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);
 */
declare function OverridePopscheduleVehicleModel(scheduleId: number, vehicleHash: string | number): void;

declare function OverrideSaveHouse(p0: boolean, p1: number, p2: number, p3: number, p4: number, p5: boolean, p6: number, p7: number): boolean;

/**
 * This native enables the audio flag "TrevorRageIsOverridden" and sets the voice effect to `voiceEffect`
 */
declare function OverrideTrevorRage(voiceEffect: string): void;

declare function OverrideUnderwaterStream(p1: boolean): number;

/**
 * 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 The vehicle you want to change the horn on.
 * @param override Must be set to true. If set to false, the default horn hash will be restored.
 * @param hornHash A horn hash.
 */
declare function OverrideVehHorn(vehicle: number, override: boolean, hornHash: number): void;

/**
 * Overrides whether or not peds can stand on top of the specified vehicle.
 * Note this flag is not replicated automatically, you will have to manually do so.
 * @param vehicle The vehicle.
 * @param can Can they?
 */
declare function OverrideVehiclePedsCanStandOnTopFlag(vehicle: number, can: boolean): void;

/**
 * Return the local Participant ID
 */
declare function ParticipantId(): number;

/**
 * Return the local Participant ID.
 * This native is exactly the same as 'PARTICIPANT_ID' native.
 */
declare function ParticipantIdToInt(): number;

/**
 * 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");
 */
declare function PatchDecalDiffuseMap(decalType: number, textureDict: string, textureName: string): void;
/**
 * 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");
 */
declare function N_0x8a35c742130c6080(decalType: number, textureDict: string, textureName: string): void;
/**
 * 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");
 */
declare function AddDecalToMarker(decalType: number, textureDict: string, textureName: string): void;
/**
 * 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");
 */
declare function OverrideDecalTexture(decalType: number, textureDict: string, textureName: string): void;

declare function PauseClock(toggle: boolean): void;

declare function PauseDeathArrestRestart(toggle: boolean): void;
declare function DisableAutomaticRespawn(toggle: boolean): void;

/**
 * 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 Context name hash.
 */
declare function PauseMenuActivateContext(hash: string | number): void;
/**
 * 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 Context name hash.
 */
declare function N_0xdd564bdd0472c936(hash: string | number): void;
/**
 * 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 Context name hash.
 */
declare function AddFrontendMenuContext(hash: string | number): void;

declare function PauseMenuDeactivateContext(contextHash: string | number): void;
declare function ObjectDecalToggle(contextHash: string | number): void;

/**
 * Disables the loading spinner in Pause Menu when switching from one header tab to another.
 * @param toggle true to disable and false to re-enable the loading icon.
 */
declare function PauseMenuDisableBusyspinner(toggle: boolean): void;
/**
 * Disables the loading spinner in Pause Menu when switching from one header tab to another.
 * @param toggle true to disable and false to re-enable the loading icon.
 */
declare function N_0x9245e81072704b8a(toggle: boolean): void;

/**
 * If mouse is hovering on a slot, it returns the slot's index, else it returns -1.
 */
declare function PauseMenuGetIndexOfMouseHoveredSlot(): number;
/**
 * If mouse is hovering on a slot, it returns the slot's index, else it returns -1.
 */
declare function N_0x359af31a4b52f5ed(): number;

/**
 * If mouse is hovering on a slot, it returns uniqueid of that slot, else it returns -1.
 */
declare function PauseMenuGetUniqueIdOfMouseHoveredSlot(): number;
/**
 * If mouse is hovering on a slot, it returns uniqueid of that slot, else it returns -1.
 */
declare function N_0x13c4b962653a5280(): number;

declare function PauseMenuIsContextActive(contextHash: string | number): boolean;
declare function N_0x84698ab38d0c6636(contextHash: string | number): boolean;

declare function PauseMenuIsContextMenuActive(): number;
declare function N_0x2a25adc48f87841f(): number;

/**
 * Updates instructional buttons in Pause Menu after menu contexts have been toggled. p0 purpose is currently unknown, only 0 is used in scripts.
 */
declare function PauseMenuRedrawInstructionalButtons(p0: number): void;
/**
 * Updates instructional buttons in Pause Menu after menu contexts have been toggled. p0 purpose is currently unknown, only 0 is used in scripts.
 */
declare function EnableDeathbloodSeethrough(p0: number): void;
/**
 * Updates instructional buttons in Pause Menu after menu contexts have been toggled. p0 purpose is currently unknown, only 0 is used in scripts.
 */
declare function N_0x4895bdea16e7c080(p0: number): void;

declare function PauseMenuSetBusySpinner(p0: boolean, p1: number, p2: number): void;
declare function N_0xc78e239ac5b2ddb9(p0: boolean, p1: number, p2: number): void;

/**
 * Shows this warning message when trying to switch pause menu header tabs: https://i.imgur.com/8qmfztu.png
 * @param setWarn Wether to show the message or not.
 */
declare function PauseMenuSetWarnOnTabChange(setWarn: boolean): void;
/**
 * Shows this warning message when trying to switch pause menu header tabs: https://i.imgur.com/8qmfztu.png
 * @param setWarn Wether to show the message or not.
 */
declare function N_0xf06ebb91a81e09e3(setWarn: boolean): void;

/**
 * Sets current pause menu page/component to the specified value.
 * Available page IDs: https://pastebin.com/qxuhwjPT
 */
declare function PauseMenuceptionGoDeeper(pageId: number): void;
/**
 * Sets current pause menu page/component to the specified value.
 * Available page IDs: https://pastebin.com/qxuhwjPT
 */
declare function N_0x77f16b447824da6c(pageId: number): void;

/**
 * Forces the Pause Menu to back out of unique pages such as Awards, Unlocks, Key Bindings etc
 */
declare function PauseMenuceptionTheKick(): void;
/**
 * Forces the Pause Menu to back out of unique pages such as Awards, Unlocks, Key Bindings etc
 */
declare function N_0xcdca26e80faecb8f(): void;

declare function PausePlaybackRecordedVehicle(vehicle: number): void;

declare function PauseScriptedConversation(p0: boolean): void;

declare function PedHasUseScenarioTask(ped: number): boolean;

/**
 * gets the network id of a ped
 */
declare function PedToNet(ped: number): number;

declare function PinInteriorInMemory(interior: number): void;
declare function N_0x2ca429c029ccf247(interior: number): void;
declare function LoadInterior(interior: number): void;

declare function PinRopeVertex(ropeId: number, vertex: number, x: number, y: number, z: number): void;

declare function PlaceObjectOnGroundProperly(object: number): boolean;

declare function PlaceObjectOnGroundProperly_2(object: number): boolean;
declare function N_0xd76eeef746057fd6(object: number): boolean;

declare function PlayAmbientSpeechFromPositionNative(speechName: string, voiceName: string, x: number, y: number, z: number, speechParam: string): void;
declare function N_0xed640017ed337e45(speechName: string, voiceName: string, x: number, y: number, z: number, speechParam: string): void;
declare function PlayAmbientSpeechAtCoords(speechName: string, voiceName: string, x: number, y: number, z: number, speechParam: string): void;

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function PlayAnimOnRunningScenario(ped: number, animDict: string, animName: string): void;

/**
 * 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
 */
declare function PlayAnimalVocalization(pedHandle: number, p1: number, speechName: string): void;
/**
 * 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
 */
declare function N_0xee066c7006c49c0a(pedHandle: number, p1: number, speechName: string): void;

/**
 * NativeDB Introduced: v1290
 */
declare function PlayBinkMovie(binkMovie: number): void;

/**
 * ```
 * 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/)
 */
declare function PlayCamAnim(cam: number, animName: string, animDictionary: string, x: number, y: number, z: number, xRot: number, yRot: number, zRot: number, p9: boolean, p10: number): boolean;

/**
 * Only call found in the b617d scripts:
 * AUDIO::PLAY_DEFERRED_SOUND_FRONTEND("BACK", "HUD_FREEMODE_SOUNDSET");
 */
declare function PlayDeferredSoundFrontend(soundName: string, soundsetName: string): void;
/**
 * Only call found in the b617d scripts:
 * AUDIO::PLAY_DEFERRED_SOUND_FRONTEND("BACK", "HUD_FREEMODE_SOUNDSET");
 */
declare function N_0xcada5a0d0702381e(soundName: string, soundsetName: string): void;

declare function PlayEndCreditsMusic(play: boolean): void;

/**
 * ```
 * 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/)
 */
declare function PlayEntityAnim(entity: number, animName: string, animDict: string, p3: number, loop: boolean, stayInAnim: boolean, p6: boolean, delta: number, bitset: number): boolean;

declare function PlayEntityScriptedAnim(p0: number, p4: number, p5: number): [number, number, number];

declare function PlayFacialAnim(ped: number, animName: string, animDict: string): void;

/**
 * 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");
 */
declare function PlayMissionCompleteAudio(audioName: string): void;

/**
 * **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 The ped entity.
 * @param painID The pain id, max allowed id is 33.
 */
declare function PlayPain(ped: number, painID: number, p1: number): void;

/**
 * See [`PLAY_PED_AMBIENT_SPEECH_NATIVE`](#\_0x8E04FEDD28D42462) for parameter specifications.
 * ```
 * NativeDB Added Parameter 4: Any p3
 * ```
 */
declare function PlayPedAmbientSpeechAndCloneNative(ped: number, speechName: string, speechParam: string): void;
/**
 * See [`PLAY_PED_AMBIENT_SPEECH_NATIVE`](#\_0x8E04FEDD28D42462) for parameter specifications.
 * ```
 * NativeDB Added Parameter 4: Any p3
 * ```
 */
declare function PlayAmbientSpeech2(ped: number, speechName: string, speechParam: string): void;

/**
 * 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 The ped to play the ambient speech.
 * @param speechName Name of the speech to play, eg. "GENERIC_HI".
 */
declare function PlayPedAmbientSpeechNative(ped: number, speechName: string, speechParam: string): void;
/**
 * 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 The ped to play the ambient speech.
 * @param speechName Name of the speech to play, eg. "GENERIC_HI".
 */
declare function PlayAmbientSpeech1(ped: number, speechName: string, speechParam: string): void;

/**
 * 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.
 */
declare function PlayPedAmbientSpeechWithVoiceNative(ped: number, speechName: string, voiceName: string, speechParam: string, p4: boolean): void;
/**
 * 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.
 */
declare function PlayAmbientSpeechWithVoice(ped: number, speechName: string, voiceName: string, speechParam: string, p4: boolean): void;

/**
 * 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);
 */
declare function PlayPedRingtone(ringtoneName: string, ped: number, p2: boolean): void;

/**
 * Plays the given police radio message.
 * All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/GBnsQ5hr
 */
declare function PlayPoliceReport(name: string, p1: number): number;

/**
 * All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/A8Ny8AHZ
 */
declare function PlaySound(soundId: number, audioName: string, audioRef: string, p3: boolean, p4: number, p5: boolean): void;

/**
 * All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/eeFc5DiW
 * gtaforums.com/topic/795622-audio-for-mods
 */
declare function PlaySoundFromCoord(soundId: number, audioName: string, x: number, y: number, z: number, audioRef: string, isNetwork: boolean, range: number, p8: boolean): void;

/**
 * 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
 */
declare function PlaySoundFromEntity(soundId: number, audioName: string, entity: number, audioRef: string, isNetwork: boolean, p5: number): void;

/**
 * List: https://pastebin.com/DCeRiaLJ
 * All occurrences as of Cayo Perico Heist DLC (b2189), sorted alphabetically and identical lines removed: https://git.io/JtLxM
 */
declare function PlaySoundFrontend(soundId: number, audioName: string, audioRef: string, p3: boolean): void;

/**
 * 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]] ]);
 * }
 */
declare function PlayStreamFromObject(object: number): void;

declare function PlayStreamFromPed(ped: number): void;
declare function N_0x89049dd63c08b5d1(ped: number): void;

declare function PlayStreamFromPosition(x: number, y: number, z: number): void;
declare function SpecialFrontendEqual(x: number, y: number, z: number): void;

declare function PlayStreamFromVehicle(vehicle: number): void;

declare function PlayStreamFrontend(): void;

declare function PlaySynchronizedAudioEvent(p0: number): boolean;

/**
 * ```
 * 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/)
 */
declare function PlaySynchronizedCamAnim(camera: number, scene: number, animName: string, animDictionary: string): boolean;

/**
 * ```
 * p4 and p7 are usually 1000.0f.
 * ```
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function PlaySynchronizedEntityAnim(entity: number, syncedScene: number, animation: string, propName: string, p4: number, p5: number, p6: number, p7: number): boolean;

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function PlaySynchronizedMapEntityAnim(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p8: number, p9: number, p10: number, p11: number): [boolean, number, number];

declare function PlayTennisDiveAnim(ped: number, p1: number, p2: number, p3: number, p4: number, p5: boolean): void;
declare function N_0x8fa9c42fc5d7c64b(ped: number, p1: number, p2: number, p3: number, p4: number, p5: boolean): void;

declare function PlayTennisSwingAnim(ped: number, animDict: string, animName: string, p3: number, p4: number, p5: boolean): void;
declare function N_0xe266ed23311f24d4(ped: number, animDict: string, animName: string, p3: number, p4: number, p5: boolean): void;

declare function PlayVehicleDoorCloseSound(vehicle: number, doorIndex: number): void;

declare function PlayVehicleDoorOpenSound(vehicle: number, doorIndex: number): void;

/**
 * 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;
 */
declare function PlayerAttachVirtualBound(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void;

/**
 * 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;
 */
declare function PlayerDetachVirtualBound(): void;

/**
 * This returns YOUR 'identity' as a Player type.
 * Always returns 0 in story mode.
 */
declare function PlayerId(): number;

/**
 * Returns current player ped
 */
declare function PlayerPedId(): number;

declare function PlaystatsAcquiredHiddenPackage(p0: number): void;
declare function N_0x79ab33f0fbfac40c(p0: number): void;

declare function PlaystatsActivityDone(p0: number, p1: number): void;
declare function N_0xa071e0ed98f91286(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsArcadegame(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function PlaystatsArenaWarSpectator(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function PlaystatsArenaWarsEnded(data: number): void;

declare function PlaystatsAwardBadsport(id: number): void;
declare function N_0x47b32f5611e6e483(id: number): void;

declare function PlaystatsAwardXp(amount: number, _type: string | number, category: string | number): void;

declare function PlaystatsBackgroundScriptAction(action: string, value: number): void;
declare function N_0x5009dfd741329729(action: string, value: number): void;

declare function PlaystatsBanAlert(p0: number): void;
declare function N_0x516fc96eb88eefe5(p0: number): void;

declare function PlaystatsBuyContraband(data: number): void;
declare function N_0xd6781e42755531f7(data: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function PlaystatsCarclubChallenge(p0: number, p1: number, p2: number, p3: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x1187cb58d7f3bed7(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function PlaystatsCarclubPoints(p0: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xff14d6feec507bbe(p0: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function PlaystatsCarclubPrize(p0: number, p1: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x69c922b677621428(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCasinoBlackjack(p0: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCasinoBlackjackLight(p0: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCasinoChip(p0: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCasinoInsidetrack(p0: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCasinoInsidetrackLight(p0: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCasinoLuckyseven(p0: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCasinoMissionEnded(data: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCasinoRoulette(p0: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCasinoRouletteLight(p0: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCasinoSlotmachine(p0: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCasinoSlotmachineLight(p0: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCasinoStoryMissionEnded(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCasinoThreecardpoker(p0: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCasinoThreecardpokerLight(p0: number): void;

declare function PlaystatsChangeMcEmblem(p0: number, p1: number, p2: number, p3: number, p4: number): void;
declare function N_0x0a50d2604e05cb94(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function PlaystatsCheatApplied(cheat: string): void;

declare function PlaystatsClothChange(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsCollectible(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number): void;

declare function PlaystatsCopyRankIntoNewSlot(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;
declare function N_0xb7257ba2550ea10a(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;

declare function PlaystatsCrateCreated(p0: number, p1: number, p2: number): void;
declare function N_0xafc7e5e075a96f46(p0: number, p1: number, p2: number): void;
declare function PlaystatsAmbientMissionCrateCreated(p0: number, p1: number, p2: number): void;
declare function PlaystatsCrateCreated(p0: number, p1: number, p2: number): void;
declare function PlaystatsCrateCreatedMissionDone(p0: number, p1: number, p2: number): void;

/**
 * NativeDB Added Parameter 7: Any p6
 * NativeDB Added Parameter 8: Any p7
 */
declare function PlaystatsCrateDropMissionDone(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;
/**
 * NativeDB Added Parameter 7: Any p6
 * NativeDB Added Parameter 8: Any p7
 */
declare function N_0x1cae5d2e3f9a07f0(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;
/**
 * NativeDB Added Parameter 7: Any p6
 * NativeDB Added Parameter 8: Any p7
 */
declare function PlaystatsCrateDrop(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function PlaystatsDarMissionEnd(data: number): void;

declare function PlaystatsDefendContraband(data: number): void;
declare function N_0x2605663bd4f23b5d(data: number): void;

declare function PlaystatsDirectorMode(p0: number): void;
declare function N_0x46326e13da4e0546(p0: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function PlaystatsDroneUsage(p0: number, p1: number, p2: number): void;

declare function PlaystatsDupeDetection(data: number): void;
declare function N_0x848b66100ee33b05(data: number): void;

declare function PlaystatsEarnedMcPoints(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;
declare function N_0x501478855a6074ce(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function PlaystatsEnterSessionPack(data: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function PlaystatsExtraEvent(p0: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xfa5b74bab8a7ef99(p0: number): void;

declare function PlaystatsFriendActivity(p0: number, p1: number): void;

declare function PlaystatsGunrunMissionEnded(data: number): void;
declare function N_0x0eacdf8487d5155a(data: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function PlaystatsH2FmprepEnd(data: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function PlaystatsH2InstanceEnd(p1: number, p2: number, p3: number): number;

declare function PlaystatsHeistSaveCheat(hash: string | number, p1: number): void;
declare function N_0xf4ff020a08bc8863(hash: string | number, p1: number): void;
declare function PlaystatsHeistSaveCheat(hash: string | number, p1: number): void;

declare function PlaystatsHoldUpMissionDone(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0xcb00196b31c39eb1(p0: number, p1: number, p2: number, p3: number): void;
declare function PlaystatsHoldUp(p0: number, p1: number, p2: number, p3: number): void;

/**
 * longest time being ilde?
 */
declare function PlaystatsIdleKick(time: number): void;
/**
 * longest time being ilde?
 */
declare function N_0x5da3a8de8cb6226f(time: number): void;

declare function PlaystatsImportExportMissionDone(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0x2b69f5074c894811(p0: number, p1: number, p2: number, p3: number): void;
declare function PlaystatsImpExp(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v2699
 */
declare function PlaystatsInventory(p0: number): void;

declare function PlaystatsJobBend(): [number, number, number, number];
declare function N_0xf5bb8dac426a52c0(): [number, number, number, number];

declare function PlaystatsLeaveJobChain(p0: number, p1: number, p2: number, p3: number, p4: number): void;
declare function N_0xc5be134ec7ba96a0(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * NativeDB Removed Parameter 4: Any p3
 * NativeDB Removed Parameter 5: Any p4
 * NativeDB Removed Parameter 6: Any p5
 * NativeDB Removed Parameter 7: Any p6
 */
declare function PlaystatsMatchStarted(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;

declare function PlaystatsMissionCheckpoint(p1: number, p2: number, p3: number): number;

declare function PlaystatsMissionOver(p1: number, p2: number, p3: boolean, p4: boolean, p5: boolean): number;

declare function PlaystatsMissionStarted(p1: number, p2: number, p3: boolean): number;

declare function PlaystatsNpcInvite(p0: number): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function PlaystatsOddjobDone(p0: number, p1: number, p2: number): void;

/**
 * NativeDB Introduced: v1734
 */
declare function PlaystatsPassiveMode(p0: boolean, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function PlaystatsPegasaircraft(modelHash: string | number): void;

declare function PlaystatsPiMenuHideSettings(data: number): void;
declare function N_0x203b381133817079(data: number): void;

declare function PlaystatsPropChange(p0: number, p1: number, p2: number, p3: number): void;

declare function PlaystatsQuickfixTool(element: number, item: string): void;
declare function N_0x90d0622866e80445(element: number, item: string): void;

declare function PlaystatsRaceCheckpoint(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * 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
 */
declare function PlaystatsRaceToPointMissionDone(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number): void;
/**
 * 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
 */
declare function N_0xaddd1c754e2e2914(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number): void;
/**
 * 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
 */
declare function PlaystatsRaceToPoint(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number): void;

declare function PlaystatsRandomMissionDone(name: string, p1: number, p2: number, p3: number): void;
declare function N_0x71862b1d855f32e1(name: string, p1: number, p2: number, p3: number): void;

declare function PlaystatsRankUp(rank: number): void;

declare function PlaystatsRecoverContraband(data: number): void;
declare function N_0x04d90ba8207ada2d(data: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function PlaystatsRobberyFinale(p0: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xbba55be9aaaabf44(p0: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function PlaystatsRobberyPrep(p0: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x1a67dfbf1f5c3835(p0: number): void;

declare function PlaystatsRosBet(amount: number, act: number, player: number, cm: number): void;
declare function N_0x121fb4dddc2d5291(amount: number, act: number, player: number, cm: number): void;

declare function PlaystatsSellContraband(data: number): void;
declare function N_0xc729991a9065376e(data: number): void;

/**
 * Sets a byte that is then used in session_host and session_join metrics when hosting or joining a session
 */
declare function PlaystatsSetJoinType(joinType: number): void;
/**
 * Sets a byte that is then used in session_host and session_join metrics when hosting or joining a session
 */
declare function N_0xd1032e482629049e(joinType: number): void;

declare function PlaystatsShopItem(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function PlaystatsSmugMissionEnded(data: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function PlaystatsSpectatorWheelSpin(p0: number, p1: number, p2: number, p3: number): void;

declare function PlaystatsSpentPiCustomLoadout(amount: number): void;
declare function N_0xbe509b0a3693de8b(amount: number): void;

/**
 * PLAYSTATS_START_INVITE_DESPAWNING?
 */
declare function PlaystatsStartOfflineMode(): void;
/**
 * PLAYSTATS_START_INVITE_DESPAWNING?
 */
declare function N_0x098760c7461724cd(): void;

/**
 * NativeDB Introduced: v1493
 */
declare function PlaystatsStoneHatchetEnd(data: number): void;

/**
 * Allows CEventNetworkStuntPerformed to be triggered.
 */
declare function PlaystatsStuntPerformedEventAllowTrigger(): void;
/**
 * Allows CEventNetworkStuntPerformed to be triggered.
 */
declare function N_0x928dbfb892638ef3(): void;

/**
 * Disallows CEventNetworkStuntPerformed to be triggered.
 */
declare function PlaystatsStuntPerformedEventDisallowTrigger(): void;
/**
 * Disallows CEventNetworkStuntPerformed to be triggered.
 */
declare function N_0x8a800daccc0da55d(): void;

declare function PlaystatsWeaponModeChange(weaponHash: string | number, componentHashTo: string | number, componentHashFrom: string | number): void;
declare function N_0xe95c8a1875a02ca4(weaponHash: string | number, componentHashTo: string | number, componentHashFrom: string | number): void;

declare function PlaystatsWebsiteVisited(scaleformHash: string | number, p1: number): void;
declare function N_0xddf24d535060f811(scaleformHash: string | number, p1: number): void;

declare function PointCamAtCoord(cam: number, x: number, y: number, z: number): void;

/**
 * Points the camera at the specified entity.
 * Offset works like [GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS](#\_0x1899F328B0E12848).
 * @param cam Cam (Return value of CREATE_CAM or CREATE_CAM_WITH_PARAMS).
 * @param entity Entity for the camera to point at.
 * @param offsetX X offset for the camera (left/right).
 * @param offsetY Y offset for the camera (forward/backward).
 * @param offsetZ Z offset for the camera (up/down).
 * @param p5 Always seems to be 1 (true).
 */
declare function PointCamAtEntity(cam: number, entity: number, offsetX: number, offsetY: number, offsetZ: number, p5: boolean): void;

/**
 * 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.
 */
declare function PointCamAtPedBone(cam: number, ped: number, boneIndex: number, x: number, y: number, z: number, p6: boolean): void;

/**
 * Detaches the vehicle's windscreen.
 */
declare function PopOutVehicleWindscreen(vehicle: number): void;
/**
 * Detaches the vehicle's windscreen.
 */
declare function DetachVehicleWindscreen(vehicle: number): void;

declare function PopTimecycleModifier(): void;

/**
 * spawns a few distant/out-of-sight peds, vehicles, animals etc each time it is called
 */
declare function PopulateNow(): void;

declare function Pow(base: number, exponent: number): number;

/**
 * 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 A SRL name.
 */
declare function PrefetchSrl(srl: string): void;

declare function PreloadBusyspinner(): void;
declare function N_0xc65ab383cd91df98(): void;

/**
 * Found in the scripts:
 * MISC::_11B56FBBF7224868("CONTRAILS");
 */
declare function PreloadCloudHat(name: string): void;
/**
 * Found in the scripts:
 * MISC::_11B56FBBF7224868("CONTRAILS");
 */
declare function N_0x11b56fbbf7224868(name: string): void;

declare function PreloadScriptConversation(p0: boolean, p1: boolean, p2: boolean, p3: boolean): void;

declare function PreloadScriptPhoneConversation(p0: boolean, p1: boolean): void;

/**
 * NativeDB Introduced: v1180
 */
declare function PreloadVehicleAudio(model: string | number): void;
/**
 * NativeDB Introduced: v1180
 */
declare function N_0xca4cea6ae0000a7e(model: string | number): void;

declare function PreloadVehicleMod(p0: number, modType: number, p2: number): void;

/**
 * Example:
 * bool prepareAlarm = AUDIO::PREPARE_ALARM("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS");
 */
declare function PrepareAlarm(alarmName: string): boolean;

/**
 * All music event names found in the b617d scripts: pastebin.com/GnYt0R3P
 */
declare function PrepareMusicEvent(eventName: string): boolean;

declare function PrepareSynchronizedAudioEvent(p0: string, p1: number): number;

declare function PrepareSynchronizedAudioEventForScene(p0: number, p1?: number): [boolean, number];

declare function PresenceEventUpdatestatFloat(statHash: string | number, value: number, p2: number): void;
declare function N_0x30a6614c1f7799b8(statHash: string | number, value: number, p2: number): void;
declare function UpdateStatFloat(statHash: string | number, value: number, p2: number): void;

declare function PresenceEventUpdatestatInt(statHash: string | number, value: number, p2: number): void;
declare function N_0x11ff1c80276097ed(statHash: string | number, value: number, p2: number): void;
declare function UpdateStatInt(statHash: string | number, value: number, p2: number): void;

/**
 * Only one match in the scripts:
 * GRAPHICS::PRESET_INTERIOR_AMBIENT_CACHE("int_carrier_hanger");
 */
declare function PresetInteriorAmbientCache(timecycleModifierName: string): void;
/**
 * Only one match in the scripts:
 * GRAPHICS::PRESET_INTERIOR_AMBIENT_CACHE("int_carrier_hanger");
 */
declare function N_0xd7021272eb0a451e(timecycleModifierName: string): void;
/**
 * Only one match in the scripts:
 * GRAPHICS::PRESET_INTERIOR_AMBIENT_CACHE("int_carrier_hanger");
 */
declare function PresetInteriorAmbientCache(timecycleModifierName: string): void;

declare function PreventCollectionOfPortablePickup(object: number, p1: boolean, p2: boolean): void;
declare function N_0x92aefb5f6e294023(object: number, p1: boolean, p2: boolean): void;

declare function ProcessCashGift(p2: string): [string, number, number];
declare function N_0x20194d48eaec9a41(p2: string): [string, number, number];

/**
 * Called to update entity attachments.
 */
declare function ProcessEntityAttachments(entity: number): void;

/**
 * Scope entry for profiler.
 * @param scopeName Scope name.
 */
declare function ProfilerEnterScope(scopeName: string): void;

/**
 * Scope exit for profiler.
 */
declare function ProfilerExitScope(): void;

/**
 * Returns true if the profiler is active.
 * @return True or false.
 */
declare function ProfilerIsRecording(): boolean;

declare function PulseBlip(blip: number): void;

declare function PushTimecycleModifier(): void;

declare function QueryMovieMeshSetState(p0: number): number;
declare function N_0x9b6e70c5ceef4eeb(p0: number): number;

declare function QueueMissionRepeatLoad(): boolean;
declare function N_0x72de52178c291cb5(): boolean;

/**
 * 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 Returns 1 if the message isn't currently on screen.
 */
declare function QueueMissionRepeatSave(): boolean;
/**
 * 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 Returns 1 if the message isn't currently on screen.
 */
declare function N_0x44a0bdc559b35f6e(): boolean;

/**
 * Add a BLIP_GALLERY at the specific coordinate. Used in fm_maintain_transition_players to display race track points.
 */
declare function RaceGalleryAddBlip(x: number, y: number, z: number): number;
/**
 * Add a BLIP_GALLERY at the specific coordinate. Used in fm_maintain_transition_players to display race track points.
 */
declare function N_0x551df99658db6ee8(x: number, y: number, z: number): number;

/**
 * If toggle is true, the map is shown in full screen
 * If toggle is false, the map is shown in normal mode
 */
declare function RaceGalleryFullscreen(toggle: boolean): void;
/**
 * If toggle is true, the map is shown in full screen
 * If toggle is false, the map is shown in normal mode
 */
declare function N_0x5354c5ba2ea868a4(toggle: boolean): void;
/**
 * If toggle is true, the map is shown in full screen
 * If toggle is false, the map is shown in normal mode
 */
declare function SetMapFullScreen(toggle: boolean): void;

/**
 * Sets the sprite of the next BLIP_GALLERY blip, values used in the native scripts: 143 (ObjectiveBlue), 144 (ObjectiveGreen), 145 (ObjectiveRed), 146 (ObjectiveYellow).
 */
declare function RaceGalleryNextBlipSprite(spriteId: number): void;
/**
 * Sets the sprite of the next BLIP_GALLERY blip, values used in the native scripts: 143 (ObjectiveBlue), 144 (ObjectiveGreen), 145 (ObjectiveRed), 146 (ObjectiveYellow).
 */
declare function N_0x1eae6dd17b7a5efa(spriteId: number): void;

declare function RaiseConvertibleRoof(vehicle: number, instantlyRaise: boolean): void;

declare function RaiseRetractableWheels(vehicle: number): void;
declare function RaiseLowerableWheels(vehicle: number): void;

declare function RecordBrokenGlass(x: number, y: number, z: number, radius: number): void;
declare function N_0xfbe20329593dec9d(x: number, y: number, z: number, radius: number): void;

declare function RefillAmmoInstantly(ped: number): boolean;
declare function PedSkipNextReloading(ped: number): boolean;

declare function RefreshInterior(interiorID: number): void;

declare function RefreshPlayerListStats(p0: number): boolean;
declare function UsingNetworkWeapontype(p0: number): boolean;
declare function N_0xe26ccff8094d8c74(p0: number): boolean;

declare function RefreshWaypoint(): void;

/**
 * **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
 * Registers a set of archetypes with the game engine. These should match `CBaseArchetypeDef` class information from the game.
 * @param factory A function returning a list of archetypes.
 */
declare function RegisterArchetypes(factory: Function): void;

declare function RegisterBoolToSave(name: string): number;

/**
 * Registered commands can be executed by entering them in the client console (this works for client side and server side registered commands). Or by entering them in the server console/through an RCON client (only works for server side registered commands). Or if you use a supported chat resource, like the default one provided in the cfx-server-data repository, then you can enter the command in chat by prefixing it with a `/`.
 * Commands registered using this function can also be executed by resources, using the [`ExecuteCommand` native](#\_0x561C060B).
 * The restricted bool is not used on the client side. Permissions can only be checked on the server side, so if you want to limit your command with an ace permission automatically, make it a server command (by registering it in a server script).
 * **Example result**:
 * ![](https://i.imgur.com/TaCnG09.png)
 * @param commandName The command you want to register.
 * @param handler A handler function that gets called whenever the command is executed.
 * @param restricted If this is a server command and you set this to true, then players will need the command.yourCommandName ace permission to execute this command.
 */
declare function RegisterCommand(commandName: string, handler: Function, restricted: boolean): void;

/**
 * **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
 * Registers a set of entities with the game engine. These should match `CEntityDef` class information from the game.
 * At this time, this function **should not be used in a live environment**.
 * @param factory A function returning a list of entities.
 */
declare function RegisterEntities(factory: Function): void;

/**
 * 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 Entity to put into the cutscene.
 * @param cutsceneEntName cHandle of cutscene entity, i.e Michael, MP\_1, MP\_4, Lamar
 * @param modelHash Not strictly neccasary, often 0 in R\* scripts
 * @param p4 0 for SP, 64 for MP seemingly
 */
declare function RegisterEntityForCutscene(cutsceneEntity: number, cutsceneEntName: string, p2: number, modelHash: string | number, p4: number): void;

declare function RegisterEnumToSave(name: string): number;

declare function RegisterFloatToSave(name: string): number;

/**
 * Registers a specified .gfx file as GFx font library.
 * The .gfx file has to be registered with the streamer already.
 * @param fileName The name of the .gfx file, without extension.
 */
declare function RegisterFontFile(fileName: string): void;

/**
 * Registers a specified font name for use with text draw commands.
 * @param fontName The name of the font in the GFx font library.
 * @return An index to use with [SET_TEXT_FONT](#\_0x66E0276CC5F6B9DA) and similar natives.
 */
declare function RegisterFontId(fontName: string): number;

/**
 * Based on TASK_COMBAT_HATED_TARGETS_AROUND_PED, the parameters are likely similar (PedHandle, and area to attack in).
 */
declare function RegisterHatedTargetsAroundPed(ped: number, radius: number): void;

declare function RegisterInt64ToSave(name: string): number;
declare function N_0xa735353c77334ea0(name: string): number;

declare function RegisterIntToSave(name: string): number;

/**
 * Registers a key mapping for the current resource.
 * See the related [cookbook post](https://cookbook.fivem.net/2020/01/06/using-the-new-console-key-bindings/) for more information.
 * @param commandString The command to execute, and the identifier of the binding.
 * @param description A description for in the settings menu.
 * @param defaultMapper The [mapper ID](https://docs.fivem.net/docs/game-references/input-mapper-parameter-ids/) to use for the default binding, e.g. `keyboard`.
 * @param defaultParameter The [IO parameter ID](https://docs.fivem.net/docs/game-references/input-mapper-parameter-ids/) to use for the default binding, e.g. `f3`.
 */
declare function RegisterKeyMapping(commandString: string, description: string, defaultMapper: string, defaultParameter: string): void;

declare function RegisterNamedRendertarget(name: string, p1: boolean): boolean;

/**
 * Used with 'NG_filmnoir_BW{01,02}' timecycles and the "NOIR_FILTER_SOUNDS" audioref.
 */
declare function RegisterNoirScreenEffectThisFrame(): void;
/**
 * Used with 'NG_filmnoir_BW{01,02}' timecycles and the "NOIR_FILTER_SOUNDS" audioref.
 */
declare function N_0xa44ff770dfbc5dae(): void;

declare function RegisterNuiCallbackType(callbackType: string): void;

/**
 * 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);
 */
declare function RegisterObjectScriptBrain(scriptName: string, modelHash: string | number, p2: number, activationRange: number, p4: number, p5: number): void;

/**
 * gtaforums.com/topic/885580-ped-headshotmugshot-txd/
 */
declare function RegisterPedheadshot(ped: number): number;

/**
 * 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 A ped handle.
 * @return The Pedheadshot handle.
 */
declare function RegisterPedheadshotTransparent(ped: number): number;
/**
 * 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 A ped handle.
 * @return The Pedheadshot handle.
 */
declare function N_0x953563ce563143af(ped: number): number;

declare function RegisterPedheadshot_3(ped: number): number;
declare function N_0xba8805a1108a2515(ped: number): number;

declare function RegisterRawNuiCallback(callbackType: string, callback: Function): void;

/**
 * An internal function which allows the current resource's HLL script runtimes to receive state for the specified event.
 * @param eventName An event name, or "\*" to disable HLL event filtering for this resource.
 */
declare function RegisterResourceAsEventHandler(eventName: string): void;

declare function RegisterSaveHouse(p0: number, p1: number, p2: number, p3: number, p5: number, p6: number): [number, number];

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function RegisterScriptWithAudio(p0: number): void;

/**
 * **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
 * Registers a dynamic streaming asset from the server with the GTA streaming module system.
 * @param resourceName The resource to add the asset to.
 * @param fileName A file name in the resource.
 * @param cacheString The string returned from `REGISTER_RESOURCE_ASSET` on the server.
 */
declare function RegisterStreamingFileFromCache(resourceName: string, fileName: string, cacheString: string): void;

/**
 * **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
 * Registers a KVP value as an asset with the GTA streaming module system. This function currently won't work.
 * @param kvsKey The KVP key in the current resource to register as an asset.
 */
declare function RegisterStreamingFileFromKvs(kvsKey: string): void;

/**
 * **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
 * Registers a file from an URL as a streaming asset in the GTA streaming subsystem. This will asynchronously register the asset, and caching is done based on the URL itself - cache headers are ignored.
 * Use `IS_STREAMING_FILE_READY` to check if the asset has been registered successfully.
 * @param registerAs The file name to register as, for example `asset.ydr`.
 * @param url The URL to fetch the asset from.
 */
declare function RegisterStreamingFileFromUrl(registerAs: string, url: string): void;

/**
 * Only used twice in armenian1.c
 */
declare function RegisterSynchronisedScriptSpeech(): void;

/**
 * PED::REGISTER_TARGET(l_216, PLAYER::PLAYER_PED_ID()); from re_prisonbreak.txt.
 * l_216 = RECSBRobber1
 */
declare function RegisterTarget(ped: number, target: number): void;

declare function RegisterTextLabelToSave(name: string): number;

/**
 * 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"
 */
declare function RegisterTextLabelToSave_2(name: string): number;
/**
 * 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"
 */
declare function N_0x6f7794f28c6b2535(name: string): number;

declare function RegisterWorldPointScriptBrain(scriptName: string, activationRange: number, p2: number): void;

declare function ReleaseAllCommerceItemImages(): void;
declare function N_0x72d0706cd6ccdb58(): void;

declare function ReleaseAmbientAudioBank(): void;

/**
 * NativeDB Introduced: v1290
 */
declare function ReleaseBinkMovie(binkMovie: number): void;

/**
 * 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).
 */
declare function ReleaseControlOfFrontend(): void;
/**
 * 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).
 */
declare function N_0x14621bb1df14e2b2(): void;

declare function ReleaseMissionAudioBank(): void;

declare function ReleaseMovieMeshSet(movieMeshSet: number): void;

declare function ReleaseNamedRendertarget(name: string): boolean;

declare function ReleaseNamedScriptAudioBank(audioBank: string): void;

declare function ReleasePedPreloadPropData(ped: number): void;
declare function N_0xf79f9def0aade61a(ped: number): void;

declare function ReleasePedPreloadVariationData(ped: number): void;
declare function N_0x5aab586ffec0fd96(ped: number): void;

declare function ReleasePedheadshotImgUpload(id: number): void;
declare function N_0x5d517b27cf6ecd04(id: number): void;

declare function ReleasePreloadMods(vehicle: number): void;

declare function ReleaseScriptAudioBank(): void;

/**
 * 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 The entity handle to invalidate.
 */
declare function ReleaseScriptGuidFromEntity(entity: number): void;
/**
 * 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 The entity handle to invalidate.
 */
declare function N_0x2b3334bca57cd799(entity: number): void;
/**
 * 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 The entity handle to invalidate.
 */
declare function ShapeTestResultEntity(entity: number): void;

declare function ReleaseSoundId(soundId: number): void;

/**
 * NativeDB Introduced: v323
 */
declare function ReleaseWeaponAudio(): void;

/**
 * NativeDB Added Parameter 1: Player player
 * NativeDB Added Parameter 2: int a
 * NativeDB Added Parameter 3: int b
 */
declare function RemoteCheatDetected(): boolean;
/**
 * NativeDB Added Parameter 1: Player player
 * NativeDB Added Parameter 2: int a
 * NativeDB Added Parameter 3: int b
 */
declare function N_0x472841a026d26d8b(): boolean;

declare function RemoveActionModeAsset(asset: string): void;

declare function RemoveAirDefenseZone(zoneId: number): boolean;
declare function N_0x0abf535877897560(zoneId: number): boolean;

declare function RemoveAllAirDefenseZones(): void;
declare function N_0x1e45b34adebee48e(): void;

declare function RemoveAllCoverBlockingAreas(): void;

/**
 * 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 The ped entity
 */
declare function RemoveAllPedWeapons(ped: number, p1: boolean): void;

/**
 * Pickup hashes: pastebin.com/8EuSv2r1
 */
declare function RemoveAllPickupsOfType(pickupHash: string | number): void;

/**
 * If `explode` true, then removal is done through exploding the projectile. Basically the same as EXPLODE_PROJECTILES but without defining the owner ped.
 */
declare function RemoveAllProjectilesOfType(weaponHash: string | number, explode: boolean): void;

declare function RemoveAllShockingEvents(p0: boolean): void;

/**
 * Used in am_mp_property_ext and am_mp_property_int
 * ```
 * ```
 * NativeDB Added Parameter 2: Ped ped
 */
declare function RemoveAllStickyBombsFromEntity(entity: number): void;
/**
 * Used in am_mp_property_ext and am_mp_property_int
 * ```
 * ```
 * NativeDB Added Parameter 2: Ped ped
 */
declare function N_0x715135f4b82ac90d(entity: number): void;

declare function RemoveAnimDict(animDict: string): void;

/**
 * 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).
 */
declare function RemoveAnimSet(animSet: string): void;

/**
 * Removes the blip from your map.
 * @param blip Blip handle to remove.
 */
declare function RemoveBlip(blip: number): void;

/**
 * Alias for REMOVE_ANIM_SET.
 */
declare function RemoveClipSet(clipSet: string): void;

declare function RemoveCoverPoint(coverpoint: number): void;

/**
 * p0 is the handle returned from _0xFDBF4CDBC07E1706
 */
declare function RemoveCurrentRise(p0: number): void;
/**
 * p0 is the handle returned from _0xFDBF4CDBC07E1706
 */
declare function N_0xb1252e3e59a82aaf(p0: number): void;

/**
 * Simply unloads the cutscene and doesn't do extra stuff that REMOVE_CUTSCENE does.
 */
declare function RemoveCutFile(cutsceneName: string): void;
/**
 * Simply unloads the cutscene and doesn't do extra stuff that REMOVE_CUTSCENE does.
 */
declare function N_0xd00d76a7dfc9d852(cutsceneName: string): void;

declare function RemoveCutscene(): void;

declare function RemoveDecal(decal: number): void;

declare function RemoveDecalsFromObject(obj: number): void;

declare function RemoveDecalsFromObjectFacing(obj: number, x: number, y: number, z: number): void;

declare function RemoveDecalsFromVehicle(vehicle: number): void;

/**
 * Removes all decals in range from a position, it includes the bullet holes, blood pools, petrol...
 */
declare function RemoveDecalsInRange(x: number, y: number, z: number, range: number): void;

declare function RemoveDispatchSpawnBlockingArea(p0: number): void;

/**
 * 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.
 */
declare function RemoveDoorFromSystem(doorHash: string | number): void;

declare function RemoveEntityFromAudioMixGroup(entity: number, p1: number): void;
declare function N_0x18eb48cfc41f2ea0(entity: number, p1: number): void;

declare function RemoveForcedObject(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function RemoveFromItemset(p0: number, p1: number): void;

declare function RemoveGroup(groupId: number): void;

/**
 * IPL list: pastebin.com/iNGLY32D
 */
declare function RemoveIpl(iplName: string): void;

declare function RemoveModelFromCreatorBudget(modelHash: string | number): void;
declare function N_0xf086ad9354fac3a3(modelHash: string | number): void;

/**
 * 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 radius The radius specified in gta units
 * @param model The model that you want to make visible
 */
declare function RemoveModelHide(x: number, y: number, z: number, radius: number, model: string | number, p5: boolean): void;

declare function RemoveModelSwap(x: number, y: number, z: number, radius: number, originalModel: string | number, newModel: string | number, p6: boolean): void;

/**
 * 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 A player ID with a gamer tag or a fake gamer tag ID.
 */
declare function RemoveMpGamerTag(gamerTagId: number): void;
/**
 * 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 A player ID with a gamer tag or a fake gamer tag ID.
 */
declare function N_0x31698aa80e0223f8(gamerTagId: number): void;

declare function RemoveMultiplayerBankCash(): void;

/**
 * Removes multiplayer cash hud each frame
 */
declare function RemoveMultiplayerHudCash(): void;

declare function RemoveMultiplayerWalletCash(): void;
declare function N_0x95cf81bd06ee1887(): void;

declare function RemoveNamedPtfxAsset(fxName: string): void;
declare function RemoveNamedPtfxAsset(fxName: string): void;

declare function RemoveNavmeshBlockingObject(p0: number): void;

declare function RemoveNavmeshRequiredRegions(): void;

declare function RemoveObjectHighDetailModel(object: number): void;
declare function N_0x4a39db43e47cf3aa(object: number): void;

declare function RemoveParticleFx(ptfxHandle: number, p1: boolean): void;

declare function RemoveParticleFxFromEntity(entity: number): void;

declare function RemoveParticleFxInRange(X: number, Y: number, Z: number, radius: number): void;

/**
 * Ped will no longer get angry when you stay near him.
 */
declare function RemovePedDefensiveArea(ped: number, toggle: boolean): void;

/**
 * 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.
 */
declare function RemovePedElegantly(ped: number): void;

declare function RemovePedFromGroup(ped: number): void;

declare function RemovePedHelmet(ped: number, instantly: boolean): void;

declare function RemovePedPreferredCoverSet(ped: number): void;
declare function N_0xfddb234cf74073d9(ped: number): void;

/**
 * Retracts the hook on the cargobob.
 * Note: after you retract it the natives for dropping the hook no longer work
 */
declare function RemovePickUpRopeForCargobob(cargobob: number): void;
/**
 * Retracts the hook on the cargobob.
 * Note: after you retract it the natives for dropping the hook no longer work
 */
declare function RetractCargobobHook(cargobob: number): void;

declare function RemovePickup(pickup: number): void;

declare function RemovePlayerHelmet(player: number, p2: boolean): void;

declare function RemovePopMultiplierArea(id: number, p1: boolean): void;
declare function N_0xb129e447a2eda4bf(id: number, p1: boolean): void;

declare function RemovePopMultiplierSphere(id: number, p1: boolean): void;
declare function N_0xe6869becdd8f2403(id: number, p1: boolean): void;

/**
 * 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");
 */
declare function RemovePortalSettingsOverride(p0: string): void;
/**
 * 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");
 */
declare function N_0xb4bbfd9cd8b3922b(p0: string): void;

declare function RemovePtfxAsset(): void;

declare function RemoveRelationshipGroup(groupHash: string | number): void;

/**
 * Experimental natives, please do not use in a live environment.
 */
declare function RemoveReplaceTexture(origTxd: string, origTxn: string): void;

declare function RemoveRoadNodeSpeedZone(speedzone: number): boolean;
declare function N_0x1033371fc8e842a7(speedzone: number): boolean;
declare function RemoveSpeedZone(speedzone: number): boolean;

declare function RemoveScaleformScriptHudMovie(hudComponent: number): void;
declare function N_0xf44a5456ac3f4f97(hudComponent: number): void;

declare function RemoveScenarioBlockingArea(p0: number, p1: boolean): void;

declare function RemoveScenarioBlockingAreas(): void;

declare function RemoveScriptFire(fireHandle: number): void;

declare function RemoveShockingEvent(event: number): boolean;

declare function RemoveShockingEventSpawnBlockingAreas(): void;

/**
 * **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
 * Removes a handler for changes to a state bag.
 * @param cookie The cookie.
 */
declare function RemoveStateBagChangeHandler(cookie: number): void;

/**
 * Appears to remove stealth kill action from memory
 */
declare function RemoveStealthKill(hash: string | number, p1: boolean): void;
/**
 * Appears to remove stealth kill action from memory
 */
declare function N_0xa6a12939f16d85be(hash: string | number, p1: boolean): void;

declare function RemoveStealthModeAsset(asset: string): void;

declare function RemoveTcmodifierOverride(p0: string): void;
declare function N_0x15e33297c3e8dc60(p0: string): void;

declare function RemoveVehicleAsset(vehicleAsset: number): void;

declare function RemoveVehicleCombatAvoidanceArea(p0: number): void;
declare function N_0xe30524e1871f481d(p0: number): void;

declare function RemoveVehicleCrewEmblem(vehicle: number, p1: number): void;
declare function N_0xd2300034310557e4(vehicle: number, p1: number): void;

declare function RemoveVehicleHighDetailModel(vehicle: number): void;

declare function RemoveVehicleMod(vehicle: number, modType: number): void;

/**
 * See [REQUEST_VEHICLE_RECORDING](#\_0xAF514CABE74CBF15)
 */
declare function RemoveVehicleRecording(recording: number, script: string): void;

/**
 * Remove the weird shadow applied by [\_SET_VEHICLE_SHADOW_EFFECT](#\_0x2A70BAE8883E4C81)
 */
declare function RemoveVehicleShadowEffect(vehicle: number): void;
/**
 * Remove the weird shadow applied by [\_SET_VEHICLE_SHADOW_EFFECT](#\_0x2A70BAE8883E4C81)
 */
declare function N_0xf87d9f2301f7d206(vehicle: number): void;

declare function RemoveVehicleStuckCheck(vehicle: number): void;

declare function RemoveVehicleUpsidedownCheck(vehicle: number): void;

/**
 * See eWindowId declared in [`IS_VEHICLE_WINDOW_INTACT`](#\_0x46E571A0E20D01F1).
 */
declare function RemoveVehicleWindow(vehicle: number, windowIndex: number): void;

declare function RemoveVehiclesFromGeneratorsInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, unk: number): void;

declare function RemoveWarningMessageListItems(): void;
declare function N_0x6ef54ab721dc6242(): void;

declare function RemoveWaypointRecording(name: string): void;

declare function RemoveWeaponAsset(weaponHash: string | number): void;

declare function RemoveWeaponComponentFromPed(ped: number, weaponHash: string | number, componentHash: string | number): void;

declare function RemoveWeaponComponentFromWeaponObject(weaponObject: number, addonHash: string | number): void;

/**
 * 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.
 */
declare function RemoveWeaponFromPed(ped: number, weaponHash: string | number): void;

/**
 * draws circular marker at pos
 * -1 = none
 * 0 = red
 * 1 = green
 * 2 = blue
 * 3 = green larger
 * 4 = nothing
 * 5 = green small
 */
declare function RenderFakePickupGlow(x: number, y: number, z: number, colorIndex: number): void;
/**
 * draws circular marker at pos
 * -1 = none
 * 0 = red
 * 1 = green
 * 2 = blue
 * 3 = green larger
 * 4 = nothing
 * 5 = green small
 */
declare function N_0x3430676b11cdf21d(x: number, y: number, z: number, colorIndex: number): void;
/**
 * draws circular marker at pos
 * -1 = none
 * 0 = red
 * 1 = green
 * 2 = blue
 * 3 = green larger
 * 4 = nothing
 * 5 = green small
 */
declare function HighlightPlacementCoords(x: number, y: number, z: number, colorIndex: number): void;

/**
 * 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
 */
declare function RenderScriptCams(render: boolean, ease: boolean, easeTime: number, p3: boolean, p4: boolean): void;

/**
 * HUD colors and their values: pastebin.com/d9aHPbXN
 * --------------------------------------------------
 * makes hudColorIndex2 color into hudColorIndex color
 */
declare function ReplaceHudColour(hudColorIndex: number, hudColorIndex2: number): void;
/**
 * HUD colors and their values: pastebin.com/d9aHPbXN
 * --------------------------------------------------
 * makes hudColorIndex2 color into hudColorIndex color
 */
declare function N_0x1ccc708f0f850613(hudColorIndex: number, hudColorIndex2: number): void;
/**
 * HUD colors and their values: pastebin.com/d9aHPbXN
 * --------------------------------------------------
 * makes hudColorIndex2 color into hudColorIndex color
 */
declare function SetHudColoursSwitch(hudColorIndex: number, hudColorIndex2: number): void;

/**
 * HUD colors and their values: pastebin.com/d9aHPbXN
 */
declare function ReplaceHudColourWithRgba(hudColorIndex: number, r: number, g: number, b: number, a: number): void;
/**
 * HUD colors and their values: pastebin.com/d9aHPbXN
 */
declare function N_0xf314cf4f0211894e(hudColorIndex: number, r: number, g: number, b: number, a: number): void;
/**
 * HUD colors and their values: pastebin.com/d9aHPbXN
 */
declare function SetHudColour(hudColorIndex: number, r: number, g: number, b: number, a: number): void;

declare function ReplayFreeCamGetMaxRange(): number;
declare function N_0x8bfceb5ea1b161b6(): number;

/**
 * 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: ???
 */
declare function ReportCrime(player: number, crimeType: number, wantedLvlThresh: number): void;

declare function ReportPoliceSpottedPlayer(player: number): void;
declare function N_0xdc64d2c53493ed12(player: number): void;

declare function RequestActionModeAsset(asset: string): void;

declare function RequestAdditionalCollisionAtCoord(x: number, y: number, z: number): void;

/**
 * Request a gxt into the passed slot.
 */
declare function RequestAdditionalText(gxt: string, slot: number): void;

declare function RequestAdditionalTextForDlc(gxt: string, slot: number): void;
declare function RequestAdditionalText_2(gxt: string, slot: number): void;

/**
 * All occurrences and usages found in b617d, sorted alphabetically and identical lines removed: pastebin.com/XZ1tmGEz
 * ```
 * ```
 * NativeDB Added Parameter 3: Any p2
 */
declare function RequestAmbientAudioBank(p0: string, p1: boolean): boolean;

declare function RequestAnimDict(animDict: string): void;

/**
 * Starts loading the specified animation set. An animation set provides movement animations for a ped. See [`SET_PED_MOVEMENT_CLIPSET`](#\_0xAF8A94EDE7712BEF).
 */
declare function RequestAnimSet(animSet: string): void;

declare function RequestClipSet(clipSet: string): void;

declare function RequestCollisionAtCoord(x: number, y: number, z: number): void;

declare function RequestCollisionForModel(model: string | number): void;

declare function RequestCommerceItemImage(index: number): boolean;
declare function N_0xa2f952104fc6dd4b(index: number): boolean;

/**
 * Simply loads the cutscene and doesn't do extra stuff that REQUEST_CUTSCENE does.
 */
declare function RequestCutFile(cutsceneName: string): void;
/**
 * Simply loads the cutscene and doesn't do extra stuff that REQUEST_CUTSCENE does.
 */
declare function N_0x06a3524161c502ba(cutsceneName: string): void;

declare function RequestCutscene(cutsceneName: string, flags: number): void;

/**
 * playbackFlags: Which scenes should be played.
 * Example: 0x105 (bit 0, 2 and 8 set) will enable scene 1, 3 and 9.
 * @param flags Usually 8
 */
declare function RequestCutsceneWithPlaybackList(cutsceneName: string, playbackFlags: number, flags: number): void;
/**
 * playbackFlags: Which scenes should be played.
 * Example: 0x105 (bit 0, 2 and 8 set) will enable scene 1, 3 and 9.
 * @param flags Usually 8
 */
declare function N_0xc23de0e91c30b58c(cutsceneName: string, playbackFlags: number, flags: number): void;
/**
 * playbackFlags: Which scenes should be played.
 * Example: 0x105 (bit 0, 2 and 8 set) will enable scene 1, 3 and 9.
 * @param flags Usually 8
 */
declare function RequestCutsceneEx(cutsceneName: string, playbackFlags: number, flags: number): void;

/**
 * Exemple: REQUEST_IPL("TrevorsTrailerTrash");
 */
declare function RequestIpl(iplName: string): void;

declare function RequestMenuPedModel(model: string | number): void;
declare function N_0xa0261aef7acfc51e(model: string | number): void;

/**
 * All occurrences and usages found in b617d: pastebin.com/NzZZ2Tmm
 * ```
 * ```
 * NativeDB Added Parameter 3: Any p2
 */
declare function RequestMissionAudioBank(p0: string, p1: boolean): boolean;

/**
 * Request a model to be loaded into memory.
 */
declare function RequestModel(model: string | number): void;

/**
 * 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");
 */
declare function RequestModelsInRoom(interior: number, roomName: string): void;
/**
 * 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");
 */
declare function N_0x8a7a40100edfec58(interior: number, roomName: string): void;
/**
 * 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");
 */
declare function RequestInteriorRoomByName(interior: number, roomName: string): void;

/**
 * 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");
 */
declare function RequestNamedPtfxAsset(fxName: string): void;

/**
 * Used internally for long range tasks
 */
declare function RequestPathsPreferAccurateBoundingstruct(x1: number, y1: number, x2: number, y2: number): boolean;
/**
 * Used internally for long range tasks
 */
declare function N_0x07fb139b592fa687(x1: number, y1: number, x2: number, y2: number): boolean;

declare function RequestPedVehicleVisibilityTracking(ped: number, p1: boolean): void;
declare function GetPedFloodInvincibility(ped: number, p1: boolean): void;

declare function RequestPedVisibilityTracking(ped: number): void;
declare function N_0x7d7a2e43e74e2eb8(ped: number): void;

declare function RequestPedheadshotImgUpload(id: number): boolean;
declare function N_0xf0daef2f545bee25(id: number): boolean;

/**
 * maps script name (thread + 0xD0) by lookup via scriptfx.dat - does nothing when script name is empty
 */
declare function RequestPtfxAsset(): void;

declare function RequestScaleformMovie(scaleformName: string): number;

/**
 * Same as [REQUEST_SCALEFORM_MOVIE](#\_0x11FE353CF9733E6F), except it seems to fix stretched scaleforms on ultrawide.
 */
declare function RequestScaleformMovieInstance(scaleformName: string): number;

/**
 * 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.
 */
declare function RequestScaleformMovieInteractive(scaleformName: string): number;
/**
 * 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.
 */
declare function RequestScaleformMovie3(scaleformName: string): number;

/**
 * Another [REQUEST_SCALEFORM_MOVIE](#\_0x11FE353CF9733E6F) equivalent.
 */
declare function RequestScaleformMovie_2(scaleformName: string): number;
/**
 * Another [REQUEST_SCALEFORM_MOVIE](#\_0x11FE353CF9733E6F) equivalent.
 */
declare function N_0x65e7e78842e74cdb(scaleformName: string): number;

declare function RequestScaleformScriptHudMovie(hudComponent: number): void;
declare function N_0x9304881d6f6537ea(hudComponent: number): void;
declare function RequestHudScaleform(hudComponent: number): void;

declare function RequestScript(scriptName: string): void;

/**
 * All occurrences and usages found in b617d, sorted alphabetically and identical lines removed: pastebin.com/AkmDAVn6
 * ```
 * ```
 * NativeDB Added Parameter 3: int p2
 */
declare function RequestScriptAudioBank(p0: string, p1: boolean): boolean;

/**
 * formerly _REQUEST_STREAMED_SCRIPT
 */
declare function RequestScriptWithNameHash(scriptHash: string | number): void;
/**
 * formerly _REQUEST_STREAMED_SCRIPT
 */
declare function RequestStreamedScript(scriptHash: string | number): void;

declare function RequestStealthModeAsset(asset: string): void;

/**
 * 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
 */
declare function RequestStreamedTextureDict(textureDict: string, p1: boolean): void;

declare function RequestTaskMoveNetworkStateTransition(ped: number, name: string): boolean;
declare function N_0xd01015c7316ae176(ped: number, name: string): boolean;

/**
 * REQUEST_VEHICLE_ASSET(GET_HASH_KEY(cargobob3), 3);
 * vehicle found that have asset's:
 * cargobob3
 * submersible
 * blazer
 */
declare function RequestVehicleAsset(vehicleHash: string | number, vehicleAsset: number): void;

/**
 * REQUEST_VEHICLE_*
 */
declare function RequestVehicleDashboardScaleformMovie(vehicle: number): void;
/**
 * REQUEST_VEHICLE_*
 */
declare function N_0xdba3c090e3d74690(vehicle: number): void;

declare function RequestVehicleHighDetailModel(vehicle: number): void;

/**
 * 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.
 */
declare function RequestVehicleRecording(recording: number, script: string): void;

/**
 * For a full list of the points, see here: goo.gl/wIH0vn
 * Max number of loaded recordings is 32.
 */
declare function RequestWaypointRecording(name: string): void;

/**
 * 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);
 */
declare function RequestWeaponAsset(weaponHash: string | number, p1: number, p2: number): void;

declare function RequestWeaponHighDetailModel(weaponObject: number): void;

/**
 * Internal logging string: SCRIPT_RESERVING_LOCAL_OBJECTS
 * ```
 * ```
 * NativeDB Introduced: v1290
 */
declare function ReserveNetworkLocalObjects(amount: number): void;
/**
 * Internal logging string: SCRIPT_RESERVING_LOCAL_OBJECTS
 * ```
 * ```
 * NativeDB Introduced: v1290
 */
declare function N_0x797f9c5e661d920e(amount: number): void;

/**
 * Internal logging string: SCRIPT_RESERVING_LOCAL_PEDS
 * ```
 * ```
 * NativeDB Introduced: v1493
 */
declare function ReserveNetworkLocalPeds(amount: number): void;
/**
 * Internal logging string: SCRIPT_RESERVING_LOCAL_PEDS
 * ```
 * ```
 * NativeDB Introduced: v1493
 */
declare function N_0x2c8df5d129595281(amount: number): void;

declare function ReserveNetworkLocalVehicles(amount: number): void;
declare function N_0x42613035157e4208(amount: number): void;

declare function ReserveNetworkMissionObjects(amount: number): void;

declare function ReserveNetworkMissionPeds(amount: number): void;

declare function ReserveNetworkMissionVehicles(amount: number): void;

declare function ResetAiMeleeWeaponDamageModifier(): void;

declare function ResetAiWeaponDamageModifier(): void;

/**
 * Begins with RESET_*. Next character in the name is either D or E.
 */
declare function ResetBenchmarkRecording(): void;
/**
 * Begins with RESET_*. Next character in the name is either D or E.
 */
declare function N_0x437138b6a830166a(): void;

/**
 * Sets the waves intensity back to original (1.0 in most cases).
 */
declare function ResetDeepOceanScaler(): void;
/**
 * Sets the waves intensity back to original (1.0 in most cases).
 */
declare function N_0x5e5e99285ae812db(): void;
/**
 * Sets the waves intensity back to original (1.0 in most cases).
 */
declare function ResetWavesIntensity(): void;
/**
 * Sets the waves intensity back to original (1.0 in most cases).
 */
declare function ResetCurrentIntensity(): void;

declare function ResetDispatchIdealSpawnDistance(): void;

declare function ResetDispatchSpawnBlockingAreas(): void;

/**
 * NativeDB Introduced: v1868
 */
declare function ResetDispatchSpawnLocation(): void;

/**
 * NativeDB Introduced: v323
 */
declare function ResetDispatchTimeBetweenSpawnAttempts(p0: number): void;

/**
 * Sets (almost, not sure) all Rockstar Editor values (bIsRecording etc) to 0.
 */
declare function ResetEditorValues(): void;
/**
 * Sets (almost, not sure) all Rockstar Editor values (bIsRecording etc) to 0.
 */
declare function N_0x3353d13f09307691(): void;

declare function ResetEntityAlpha(entity: number): void;

declare function ResetExclusiveScenarioGroup(): void;

/**
 * Resets the extra timecycle modifier strength normally set with [`SetExtraTimecycleModifierStrength`](#\_0x2C328AF17210F009)
 */
declare function ResetExtraTimecycleModifierStrength(): void;
/**
 * Resets the extra timecycle modifier strength normally set with [`SetExtraTimecycleModifierStrength`](#\_0x2C328AF17210F009)
 */
declare function N_0x2bf72ad5b41aa739(): void;

/**
 * Resets parameters which is used by the game for checking is ped needs to fly through windscreen after a crash to default values.
 */
declare function ResetFlyThroughWindscreenParams(): void;

/**
 * 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).
 */
declare function ResetGhostedEntityAlpha(): void;
/**
 * 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).
 */
declare function N_0x17330ebf2f2124a8(): void;

declare function ResetGlobalActionscriptFlag(flagIndex: number): void;
declare function N_0xb99c4e4d9499df29(flagIndex: number): void;

declare function ResetGroupFormationDefaultSpacing(groupHandle: number): void;

declare function ResetHudComponentValues(id: number): void;

/**
 * S*
 */
declare function ResetInputMappingScheme(): void;
/**
 * S*
 */
declare function N_0x643ed62d5ea3bebd(): void;

/**
 * Resets values from the zoom level data by index to defaults from mapzoomdata.meta.
 * @param index Zoom level index.
 */
declare function ResetMapZoomDataLevel(index: number): void;

/**
 * Resets mapdata entity transform matrix to its original state.
 * This function supports SDK infrastructure and is not intended to be used directly from your code.
 * @param mapDataHash A mapdata hash from `mapDataLoaded` event.
 * @param entityInternalIdx An internal entity's index.
 * @return True if successful, false if not.
 */
declare function ResetMapdataEntityMatrix(mapDataHash: number, entityInternalIdx: number): boolean;

/**
 * Resets the effect of SET_PARTICLE_FX_OVERRIDE
 */
declare function ResetParticleFxOverride(name: string): void;
/**
 * Resets the effect of SET_PARTICLE_FX_OVERRIDE
 */
declare function N_0x89c8553dd3274aae(name: string): void;
/**
 * Resets the effect of SET_PARTICLE_FX_OVERRIDE
 */
declare function ResetParticleFxAssetOldToNew(name: string): void;

declare function ResetPausedRenderphases(): void;
declare function N_0xe1c8709406f2c41c(): void;

declare function ResetPedAudioFlags(ped: number): void;

declare function ResetPedInVehicleContext(ped: number): void;

/**
 * Resets the value for the last vehicle driven by the Ped.
 */
declare function ResetPedLastVehicle(ped: number): void;

declare function ResetPedMovementClipset(ped: number, transitionSpeed: number): void;

declare function ResetPedRagdollTimer(ped: number): void;

declare function ResetPedStrafeClipset(ped: number): void;

declare function ResetPedVisibleDamage(ped: number): void;

declare function ResetPedWeaponMovementClipset(ped: number): void;

declare function ResetPlayerArrestState(player: number): void;

declare function ResetPlayerInputGait(player: number): void;

declare function ResetPlayerStamina(player: number): void;

declare function ResetReticuleValues(): void;

declare function ResetScenarioGroupsEnabled(): void;

declare function ResetScenarioTypesEnabled(): void;

/**
 * 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.
 */
declare function ResetScriptGfxAlign(): void;
/**
 * 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.
 */
declare function N_0xe3a3db414a373dab(): void;
/**
 * 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.
 */
declare function ScreenDrawPositionEnd(): void;

declare function ResetTrevorRage(): void;

/**
 * Resets whether or not peds can stand on top of the specified vehicle.
 * Note this flag is not replicated automatically, you will have to manually do so.
 * @param vehicle The vehicle.
 */
declare function ResetVehiclePedsCanStandOnTopFlag(vehicle: number): void;

/**
 * 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;
 * };
 * }
 */
declare function ResetVehicleStuckTimer(vehicle: number, nullAttributes: number): void;

declare function ResetVehicleWheels(vehicle: number, toggle: boolean): void;

declare function ResetWantedLevelDifficulty(player: number): void;

/**
 * NativeDB Introduced: v323
 */
declare function ResetWorldBoundaryForPlayer(): void;

/**
 * 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.
 */
declare function RestartFrontendMenu(menuHash: string | number, p1: number): void;

/**
 * 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.
 */
declare function RestartGame(): void;
/**
 * 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.
 */
declare function N_0xe574a662acaefbb1(): void;

declare function RestartScriptedConversation(): void;

declare function RestorePlayerStamina(player: number, p1: number): void;

/**
 * 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.
 */
declare function ResurrectPed(ped: number): void;

declare function ReturnTwo(p0: number): number;
declare function N_0x40afb081f8add4ee(p0: number): number;

/**
 * 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.
 */
declare function ReviveInjuredPed(ped: number): void;

declare function RockstarMessageGetString(): string;
declare function N_0xdf649c4e9afdd788(): string;

/**
 * See eWindowId declared in [`IS_VEHICLE_WINDOW_INTACT`](#\_0x46E571A0E20D01F1).
 */
declare function RollDownWindow(vehicle: number, windowIndex: number): void;

/**
 * Roll down all the windows of the vehicle passed through the first parameter.
 */
declare function RollDownWindows(vehicle: number): void;

/**
 * See eWindowId declared in [`IS_VEHICLE_WINDOW_INTACT`](#\_0x46E571A0E20D01F1).
 */
declare function RollUpWindow(vehicle: number, windowIndex: number): void;

declare function RopeAreTexturesLoaded(): boolean;

declare function RopeConvertToSimple(ropeId: number): void;

declare function RopeDrawShadowEnabled(toggle: boolean): number;

/**
 * Forces a rope to a certain length.
 */
declare function RopeForceLength(ropeId: number, length: number): void;

declare function RopeGetDistanceBetweenEnds(ropeId: number): number;
declare function GetRopeLength(ropeId: number): number;

/**
 * Loads rope textures for all ropes in the current scene.
 */
declare function RopeLoadTextures(): void;

/**
 * Reset a rope to a certain length.
 */
declare function RopeResetLength(ropeId: number, length: number): void;

declare function RopeSetUpdateOrder(ropeId: number, p1: number): void;
declare function N_0xdc57a637a20006ed(ropeId: number, p1: number): void;

declare function RopeSetUpdatePinverts(ropeId: number): void;

/**
 * Unloads rope textures for all ropes in the current scene.
 */
declare function RopeUnloadTextures(): void;

declare function Round(value: number): number;

/**
 * Saves the benchmark recording to %USERPROFILE%\Documents\Rockstar Games\GTA V\Benchmarks and submits some metrics.
 */
declare function SaveBenchmarkRecording(): void;
/**
 * Saves the benchmark recording to %USERPROFILE%\Documents\Rockstar Games\GTA V\Benchmarks and submits some metrics.
 */
declare function N_0x37deb0aa183fb6d8(): void;

declare function SaveHighQualityPhoto(unused: number): boolean;
declare function N_0x3dec726c25a11bac(unused: number): boolean;

declare function SaveRecordingClip(): boolean;
declare function N_0x644546ec5287471b(): boolean;

declare function ScEmailMessageClearRecipList(): void;
declare function N_0x55df6db45179236e(): void;

declare function ScEmailMessagePushGamerToRecipList(networkHandle: number): void;

/**
 * sfink: from scripts:
 * func_720(socialclub::_0x8416FE4E4629D7D7("bIgnoreCheaterOverride"));
 * func_719(socialclub::_0x8416FE4E4629D7D7("bIgnoreBadSportOverride"));
 */
declare function ScGamerdataGetBool(name: string): boolean;
/**
 * sfink: from scripts:
 * func_720(socialclub::_0x8416FE4E4629D7D7("bIgnoreCheaterOverride"));
 * func_719(socialclub::_0x8416FE4E4629D7D7("bIgnoreBadSportOverride"));
 */
declare function N_0x8416fe4e4629d7d7(name: string): boolean;
/**
 * sfink: from scripts:
 * func_720(socialclub::_0x8416FE4E4629D7D7("bIgnoreCheaterOverride"));
 * func_719(socialclub::_0x8416FE4E4629D7D7("bIgnoreBadSportOverride"));
 */
declare function ScGetIsProfileAttributeSet(name: string): boolean;

/**
 * NativeDB Introduced: v323
 */
declare function ScGamerdataGetFloat(name: string, outValue?: number): [boolean, number];
/**
 * NativeDB Introduced: v323
 */
declare function N_0xa770c8eec6fb2ac5(name: string, outValue?: number): [boolean, number];

/**
 * NativeDB Introduced: v323
 */
declare function ScGamerdataGetInt(name: string, outValue?: number): [boolean, number];
/**
 * NativeDB Introduced: v323
 */
declare function N_0xc85a7127e7ad02aa(name: string, outValue?: number): [boolean, number];

/**
 * Same as HAS_ACHIEVEMENT_BEEN_PASSED
 */
declare function ScGetHasAchievementBeenPassed(achievement: number): boolean;
/**
 * Same as HAS_ACHIEVEMENT_BEEN_PASSED
 */
declare function N_0x418dc16fae452c1c(achievement: number): boolean;

/**
 * Returns the nickname of the logged-in Rockstar Social Club account.
 */
declare function ScGetNickname(): string;

declare function ScInboxGetEmails(offset: number, limit: number): void;
declare function N_0x040addcbafa1018a(offset: number, limit: number): void;

declare function ScInboxGetMessageIsReadAtIndex(msgIndex: number): boolean;
declare function N_0x93028f1db42bfd08(msgIndex: number): boolean;
declare function IsScInboxValid(msgIndex: number): boolean;

declare function ScInboxGetMessageTypeAtIndex(msgIndex: number): number;
declare function N_0xbb8ea16ecbc976c4(msgIndex: number): number;
declare function ScInboxMessageInit(msgIndex: number): number;

declare function ScInboxGetTotalNumMessages(): number;
declare function N_0x03a93ff1a2ca0864(): number;
declare function GetTotalScInboxIds(): number;

declare function ScInboxMessageDoApply(p0: number): boolean;
declare function N_0x9a2c8064b6c1e41a(p0: number): boolean;
declare function ScInboxMessagePush(p0: number): boolean;

declare function ScInboxMessageGetBountyData(index: number, outData?: number): [boolean, number];
declare function N_0x87e0052f08bd64e6(index: number, outData?: number): [boolean, number];

declare function ScInboxMessageGetDataBool(p0: number, p1: string): boolean;
declare function N_0xffe5c16f402d851d(p0: number, p1: string): boolean;

declare function ScInboxMessageGetDataInt(p0: number, context: string, out?: number): [boolean, number];

declare function ScInboxMessageGetDataString(p0: number, context: string, out: string): boolean;

declare function ScInboxMessageGetString(p0: number): string;
declare function N_0xf3e31d16cbdcb304(p0: number): string;

declare function ScInboxMessageGetUgcdata(p0: number, p1?: number): [boolean, number];

declare function ScInboxMessagePop(p0: number): boolean;
declare function N_0x2c015348cf19ca1d(p0: number): boolean;

declare function ScInboxMessagePushGamerToEventRecipList(networkHandle: number): void;
declare function N_0xda024bdbd600f44a(networkHandle: number): void;

declare function ScInboxMessageSendBountyPresenceEvent(data: string): boolean;
declare function N_0x6afd2cd753feef83(data: string): boolean;

declare function ScInboxMessageSendUgcStatUpdateEvent(data: string): void;
declare function N_0xa68d3d229f4f3b06(data: string): void;

/**
 * Social Club native to add license plate for the user
 */
declare function ScLicenseplateAdd(plateText: string, plateData: string, tokenOut?: number): [boolean, number];
/**
 * Social Club native to add license plate for the user
 */
declare function N_0x1989c6e6f67e76a8(plateText: string, plateData: string, tokenOut?: number): [boolean, number];

/**
 * Returns true if the add license plate text request is still pending.
 */
declare function ScLicenseplateGetAddIsPending(token: number): boolean;
/**
 * Returns true if the add license plate text request is still pending.
 */
declare function N_0x07c61676e5bb52cd(token: number): boolean;

/**
 * Returns a status for adding the license plate
 */
declare function ScLicenseplateGetAddStatus(token: number): number;
/**
 * Returns a status for adding the license plate
 */
declare function N_0x8147fff6a718e1ad(token: number): number;

/**
 * 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
 */
declare function ScLicenseplateGetCount(token: number): number;
/**
 * 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
 */
declare function N_0x700569dba175a77c(token: number): number;

/**
 * Checks if the "is valid license plate" request is still pending.
 */
declare function ScLicenseplateGetIsvalidIsPending(token: number): boolean;
/**
 * Checks if the "is valid license plate" request is still pending.
 */
declare function N_0xd302e99edf0449cf(token: number): boolean;

/**
 * Gets the status of the is valid license plate request
 */
declare function ScLicenseplateGetIsvalidStatus(token: number): number;
/**
 * Gets the status of the is valid license plate request
 */
declare function N_0x5c4ebffa98bdb41c(token: number): number;

/**
 * Gets license plate text related to the get license plate info request
 * @param plateIndex The plate index from the list of result plates. Use SC_LICENSEPLATE_GET_COUNT for the number of plates.
 */
declare function ScLicenseplateGetPlate(token: number, plateIndex: number): string;

/**
 * Gets license plate data related to the get license plate info request
 * @param plateIndex The plate index from the list of result plates. Use SC_LICENSEPLATE_GET_COUNT for the number of plates.
 */
declare function ScLicenseplateGetPlateData(token: number, plateIndex: number): string;
/**
 * Gets license plate data related to the get license plate info request
 * @param plateIndex The plate index from the list of result plates. Use SC_LICENSEPLATE_GET_COUNT for the number of plates.
 */
declare function N_0x2e89990ddff670c3(token: number, plateIndex: number): string;

/**
 * SC native to start a request for if license plate text is valid
 */
declare function ScLicenseplateIsvalid(plateText: string, tokenOut?: number): [boolean, number];
/**
 * SC native to start a request for if license plate text is valid
 */
declare function N_0x0f73393bac7e6730(plateText: string, tokenOut?: number): [boolean, number];

/**
 * Changes the license plate for the user (no insert).
 */
declare function ScLicenseplateSetPlateData(oldPlateText: string, newPlateText: string, plateData: string): boolean;
/**
 * Changes the license plate for the user (no insert).
 */
declare function N_0xd0ee05fe193646ea(oldPlateText: string, newPlateText: string, plateData: string): boolean;

/**
 * NativeDB Introduced: v323
 * NativeDB Added Parameter 1: Hash attrHash
 * NativeDB Added Parameter 2: float value
 */
declare function ScPresenceAttrSetFloat(): boolean;
/**
 * NativeDB Introduced: v323
 * NativeDB Added Parameter 1: Hash attrHash
 * NativeDB Added Parameter 2: float value
 */
declare function N_0xc4c4575f62534a24(): boolean;

declare function ScPresenceAttrSetInt(attrHash: string | number, value: number): boolean;
declare function N_0x1f1e9682483697c7(attrHash: string | number, value: number): boolean;

declare function ScPresenceAttrSetString(attrHash: string | number, value: string): boolean;
declare function N_0x287f1f75d2803595(attrHash: string | number, value: string): boolean;

/**
 * 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).
 */
declare function ScProfanityCheckString(_string: string, token?: number): [boolean, number];
/**
 * 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).
 */
declare function N_0x75632c5ecd7ed843(_string: string, token?: number): [boolean, number];
/**
 * 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).
 */
declare function ScStartCheckStringTask(_string: string, token?: number): [boolean, number];

declare function ScProfanityCheckUgcString(_string: string, token?: number): [boolean, number];
declare function N_0xeb2bf817463dfa28(_string: string, token?: number): [boolean, number];

declare function ScProfanityGetCheckIsPending(token: number): boolean;
declare function N_0x82e4a58babc15ae7(token: number): boolean;
declare function ScGetCheckStringStatus(token: number): boolean;

declare function ScProfanityGetCheckIsValid(token: number): boolean;
declare function N_0x1753344c770358ae(token: number): boolean;
declare function ScHasCheckStringTaskCompleted(token: number): boolean;

declare function ScProfanityGetStringPassed(token: number): boolean;
declare function N_0x85535acf97fc0969(token: number): boolean;

declare function ScProfanityGetStringStatus(token: number): number;
declare function N_0x930de22f07b1cce3(token: number): number;

/**
 * Pushes a boolean for the Scaleform function onto the stack.
 */
declare function ScaleformMovieMethodAddParamBool(value: boolean): void;
/**
 * Pushes a boolean for the Scaleform function onto the stack.
 */
declare function PushScaleformMovieFunctionParameterBool(value: boolean): void;
/**
 * Pushes a boolean for the Scaleform function onto the stack.
 */
declare function PushScaleformMovieMethodParameterBool(value: boolean): void;

/**
 * Pushes a float for the Scaleform function onto the stack.
 */
declare function ScaleformMovieMethodAddParamFloat(value: number): void;
/**
 * Pushes a float for the Scaleform function onto the stack.
 */
declare function PushScaleformMovieFunctionParameterFloat(value: number): void;
/**
 * Pushes a float for the Scaleform function onto the stack.
 */
declare function PushScaleformMovieMethodParameterFloat(value: number): void;

/**
 * Pushes an integer for the Scaleform function onto the stack.
 */
declare function ScaleformMovieMethodAddParamInt(value: number): void;
/**
 * Pushes an integer for the Scaleform function onto the stack.
 */
declare function PushScaleformMovieFunctionParameterInt(value: number): void;
/**
 * Pushes an integer for the Scaleform function onto the stack.
 */
declare function PushScaleformMovieMethodParameterInt(value: number): void;

/**
 * Values:
 * 0 - Dialogue Brief
 * 1 - Help Text Brief
 * 2 - Mission Objective Brief
 */
declare function ScaleformMovieMethodAddParamLatestBriefString(value: number): void;
/**
 * Values:
 * 0 - Dialogue Brief
 * 1 - Help Text Brief
 * 2 - Mission Objective Brief
 */
declare function N_0xec52c631a1831c03(value: number): void;
/**
 * Values:
 * 0 - Dialogue Brief
 * 1 - Help Text Brief
 * 2 - Mission Objective Brief
 */
declare function ScaleformMovieMethodAddParamIntString(value: number): void;

/**
 * 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.
 */
declare function ScaleformMovieMethodAddParamPlayerNameString(_string: string): void;
/**
 * 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.
 */
declare function N_0xe83a3e3557a56640(_string: string): void;
/**
 * 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.
 */
declare function PushScaleformMovieMethodParameterButtonName(_string: string): void;

declare function ScaleformMovieMethodAddParamTextureNameString(_string: string): void;
declare function PushScaleformMovieFunctionParameterString(_string: string): void;
declare function PushScaleformMovieMethodParameterString(_string: string): void;

/**
 * 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..).
 */
declare function ScaleformMovieMethodAddParamTextureNameString_2(_string: string): void;
/**
 * 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..).
 */
declare function N_0x77fe3402004cd1b0(_string: string): void;
/**
 * 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..).
 */
declare function PushScaleformMovieMethodParameterString_2(_string: string): void;

/**
 * If bool Toggle = true so the mobile is hide to screen.
 * If bool Toggle = false so the mobile is show to screen.
 */
declare function ScriptIsMovingMobilePhoneOffscreen(toggle: boolean): void;

declare function ScriptRaceGetPlayerSplitTime(player: number): [boolean, number, number];
declare function N_0x8ef5573a1f801a5c(player: number): [boolean, number, number];

declare function ScriptRaceInit(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0x0a60017f841a54f2(p0: number, p1: number, p2: number, p3: number): void;

declare function ScriptRaceShutdown(): void;
declare function N_0x1ff6bf9a63e5757f(): void;

/**
 * If the function returns 0, the end of the iteration has been reached.
 */
declare function ScriptThreadIteratorGetNextThreadId(): number;
/**
 * If the function returns 0, the end of the iteration has been reached.
 */
declare function N_0x30b4fa1c82dd4b9f(): number;
/**
 * If the function returns 0, the end of the iteration has been reached.
 */
declare function GetIdOfNextThreadInEnumeration(): number;

/**
 * Starts a new iteration of the current threads.
 * Call this first, then SCRIPT_THREAD_ITERATOR_GET_NEXT_THREAD_ID (0x30B4FA1C82DD4B9F)
 */
declare function ScriptThreadIteratorReset(): void;
/**
 * Starts a new iteration of the current threads.
 * Call this first, then SCRIPT_THREAD_ITERATOR_GET_NEXT_THREAD_ID (0x30B4FA1C82DD4B9F)
 */
declare function N_0xdadfada5a20143a8(): void;
/**
 * Starts a new iteration of the current threads.
 * Call this first, then SCRIPT_THREAD_ITERATOR_GET_NEXT_THREAD_ID (0x30B4FA1C82DD4B9F)
 */
declare function BeginEnumeratingThreads(): void;

/**
 * NativeDB Introduced: v1290
 */
declare function SeethroughGetMaxThickness(): number;

/**
 * NativeDB Introduced: v323
 */
declare function SeethroughReset(): void;

declare function SeethroughSetColorNear(red: number, green: number, blue: number): void;
declare function N_0x1086127b3a63505e(red: number, green: number, blue: number): void;

declare function SeethroughSetFadeEndDistance(distance: number): void;
declare function N_0x9d75795b9dc6ebbf(distance: number): void;

declare function SeethroughSetFadeStartDistance(distance: number): void;
declare function N_0xa78de25577300ba1(distance: number): void;

declare function SeethroughSetHeatscale(index: number, heatScale: number): void;
declare function N_0xd7d0b00177485411(index: number, heatScale: number): void;

declare function SeethroughSetHiLightIntensity(intensity: number): void;
declare function N_0x19e50eb6e33e1d28(intensity: number): void;

declare function SeethroughSetHiLightNoise(noise: number): void;
declare function N_0x1636d7fc127b10d2(noise: number): void;

declare function SeethroughSetMaxThickness(thickness: number): void;
declare function N_0x0c8fac83902a62df(thickness: number): void;

declare function SeethroughSetNoiseAmountMax(amount: number): void;
declare function N_0xfebfbfdfb66039de(amount: number): void;

declare function SeethroughSetNoiseAmountMin(amount: number): void;
declare function N_0xff5992e1c9e65d05(amount: number): void;

/**
 * Gets the selected entity at the current mouse cursor position, and changes the current selection depth. This function supports SDK infrastructure and is not intended to be used directly from your code.
 * @param hitFlags A bit mask of entity types to match.
 * @param precise Whether to do a *precise* test, i.e. of visual coordinates, too.
 * @return An entity handle, or zero.
 */
declare function SelectEntityAtCursor(hitFlags: number, precise: boolean): number;

/**
 * Gets the selected entity at the specified mouse cursor position, and changes the current selection depth. This function supports SDK infrastructure and is not intended to be used directly from your code.
 * @param fracX Mouse cursor X fraction.
 * @param fracY Mouse cursor Y fraction.
 * @param hitFlags A bit mask of entity types to match.
 * @param precise Whether to do a *precise* test, i.e. of visual coordinates, too.
 * @return An entity handle, or zero.
 */
declare function SelectEntityAtPos(fracX: number, fracY: number, hitFlags: number, precise: boolean): number;

/**
 * Sends a message to the specific DUI root page. This is similar to SEND_NUI_MESSAGE.
 * @param duiObject The DUI browser handle.
 * @param jsonString The message, encoded as JSON.
 */
declare function SendDuiMessage(duiObject: number, jsonString: string): void;

/**
 * Injects a 'mouse down' event for a DUI object. Coordinates are expected to be set using SEND_DUI_MOUSE_MOVE.
 * @param duiObject The DUI browser handle.
 * @param button Either `'left'`, `'middle'` or `'right'`.
 */
declare function SendDuiMouseDown(duiObject: number, button: string): void;

/**
 * Injects a 'mouse move' event for a DUI object. Coordinates are in browser space.
 * @param duiObject The DUI browser handle.
 * @param x The mouse X position.
 * @param y The mouse Y position.
 */
declare function SendDuiMouseMove(duiObject: number, x: number, y: number): void;

/**
 * Injects a 'mouse up' event for a DUI object. Coordinates are expected to be set using SEND_DUI_MOUSE_MOVE.
 * @param duiObject The DUI browser handle.
 * @param button Either `'left'`, `'middle'` or `'right'`.
 */
declare function SendDuiMouseUp(duiObject: number, button: string): void;

/**
 * Injects a 'mouse wheel' event for a DUI object.
 * @param duiObject The DUI browser handle.
 * @param deltaY The wheel Y delta.
 * @param deltaX The wheel X delta.
 */
declare function SendDuiMouseWheel(duiObject: number, deltaY: number, deltaX: number): void;

/**
 * Sends a message to the `loadingScreen` NUI frame, which contains the HTML page referenced in `loadscreen` resources.
 * @param jsonString The JSON-encoded message.
 * @return A success value.
 */
declare function SendLoadingScreenMessage(jsonString: string): boolean;

declare function SendNuiMessage(jsonString: string): boolean;

declare function SetAbilityBarValue(value: number, maxValue: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function SetAbilityBarVisibilityInMultiplayer(visible: boolean): void;

/**
 * For Steam.
 * Does nothing and always returns false in the retail version of the game.
 */
declare function SetAchievementProgress(achievement: number, progress: number): boolean;
/**
 * For Steam.
 * Does nothing and always returns false in the retail version of the game.
 */
declare function N_0xc2afffdabbdc2c5c(achievement: number, progress: number): boolean;
/**
 * For Steam.
 * Does nothing and always returns false in the retail version of the game.
 */
declare function SetAchievementProgression(achievement: number, progress: number): boolean;

declare function SetActivateObjectPhysicsAsSoonAsItIsUnfrozen(object: number, toggle: boolean): void;

/**
 * Makes pedestrians sound their horn longer, faster and more agressive when they use their horn.
 */
declare function SetAggressiveHorns(toggle: boolean): void;

/**
 * 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
 * ```
 */
declare function SetAiGlobalPathNodesType(_type: number): void;

declare function SetAiMeleeWeaponDamageModifier(modifier: number): void;

declare function SetAiWeaponDamageModifier(value: number): void;

/**
 * Adds a cooldown between instances of moving and then aiming.
 * Can be optionally used to hinder 'speedboosting'
 * To turn off, set value to 0
 * @param value Number of milliseconds between allowed aiming
 */
declare function SetAimCooldown(value: number): void;

/**
 * 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).
 */
declare function SetAirDragMultiplierForPlayersVehicle(player: number, multiplier: number): void;

declare function SetAllLowPriorityVehicleGeneratorsActive(active: boolean): void;

/**
 * Toggles a global boolean, name is probably a hash collision but describes its functionality.
 */
declare function SetAllPathsCacheBoundingstruct(toggle: boolean): void;
/**
 * Toggles a global boolean, name is probably a hash collision but describes its functionality.
 */
declare function N_0x228e5c6ad4d74bfd(toggle: boolean): void;

declare function SetAllRandomPedsFlee(player: number, toggle: boolean): void;

declare function SetAllRandomPedsFleeThisFrame(player: number): void;

declare function SetAllVehicleGeneratorsActive(): void;

declare function SetAllVehicleGeneratorsActiveInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p6: boolean, p7: boolean): void;

/**
 * NativeDB Introduced: v1868
 */
declare function SetAllowAbilityBarInMultiplayer(toggle: boolean): void;

declare function SetAmbientPedRangeMultiplierThisFrame(multiplier: number): void;
declare function N_0x0b919e1fb47cc4e0(multiplier: number): void;

declare function SetAmbientPedsDropMoney(p0: boolean): void;
declare function N_0x6b0e6172c9a4d902(p0: boolean): void;

declare function SetAmbientVehicleRangeMultiplierThisFrame(range: number): void;
declare function N_0x90b6da738a9a25da(range: number): void;
declare function SetSomeVehicleDensityMultiplierThisFrame(range: number): void;

/**
 * Audio List
 * gtaforums.com/topic/795622-audio-for-mods/
 * All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/FTeAj4yZ
 * Yes
 */
declare function SetAmbientVoiceName(ped: number, name: string): void;

declare function SetAmbientVoiceNameHash(ped: number, hash: string | number): void;
declare function N_0x9a53ded9921de990(ped: number, hash: string | number): void;

declare function SetAmbientZoneListState(p0: string, p1: boolean, p2: boolean): void;

declare function SetAmbientZoneListStatePersistent(ambientZone: string, p1: boolean, p2: boolean): void;

declare function SetAmbientZoneState(zoneName: string, p1: boolean, p2: boolean): void;

declare function SetAmbientZoneStatePersistent(ambientZone: string, p1: boolean, p2: boolean): void;

declare function SetAmmoInClip(ped: number, weaponHash: string | number, ammo: number): boolean;

declare function SetAnimLooped(p0: number, p1: boolean, p2: number, p3: boolean): void;

/**
 * NativeDB Introduced: v2372
 */
declare function SetAnimPhase(entity: number, p1: number, p2: number, p3: boolean): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xddf3cb5a0a4c0b49(entity: number, p1: number, p2: number, p3: boolean): void;
/**
 * NativeDB Introduced: v2372
 */
declare function SetAnimPlaybackTime(entity: number, p1: number, p2: number, p3: boolean): void;

declare function SetAnimRate(p0: number, p1: number, p2: number, p3: boolean): void;

declare function SetAnimWeight(p0: number, p1: number, p2: number, p3: number, p4: boolean): void;

/**
 * mood can be 0 or 1 (it's not a boolean value!). Effects audio of the animal.
 */
declare function SetAnimalMood(animal: number, mood: number): void;

/**
 * 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 True turns off all artificial light sources in the map: buildings, street lights, car lights, etc. False turns them back on.
 */
declare function SetArtificialLightsState(state: boolean): void;
/**
 * 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 True turns off all artificial light sources in the map: buildings, street lights, car lights, etc. False turns them back on.
 */
declare function SetBlackout(state: boolean): void;

/**
 * If "blackout" is enabled, this native allows you to ignore "blackout" for vehicles.
 * ```
 * NativeDB Introduced: v2060
 * ```
 */
declare function SetArtificialLightsStateAffectsVehicles(toggle: boolean): void;

/**
 * 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
 */
declare function SetAudioFlag(flagName: string, toggle: boolean): void;

declare function SetAudioSceneVariable(scene: string, variable: string, value: number): void;

declare function SetAudioScriptCleanupTime(time: number): void;
declare function N_0xa5f377b175a699c5(time: number): void;

/**
 * Needs to be called every frame.
 * Audio mode to apply this frame: https://alloc8or.re/gta5/doc/enums/audSpecialEffectMode.txt
 * @param mode Audio mode to apply this frame
 */
declare function SetAudioSpecialEffectMode(mode: number): void;
/**
 * Needs to be called every frame.
 * Audio mode to apply this frame: https://alloc8or.re/gta5/doc/enums/audSpecialEffectMode.txt
 * @param mode Audio mode to apply this frame
 */
declare function N_0x12561fcbb62d5b9c(mode: number): void;

/**
 * Sets a floating-point parameter for a submix effect.
 * @param submixId The submix.
 * @param effectSlot The effect slot for the submix. It is expected that the effect is set in this slot beforehand.
 * @param paramIndex The parameter index for the effect.
 * @param paramValue The parameter value to set.
 */
declare function SetAudioSubmixEffectParamFloat(submixId: number, effectSlot: number, paramIndex: number, paramValue: number): void;

/**
 * Sets an integer parameter for a submix effect.
 * @param submixId The submix.
 * @param effectSlot The effect slot for the submix. It is expected that the effect is set in this slot beforehand.
 * @param paramIndex The parameter index for the effect.
 * @param paramValue The parameter value to set.
 */
declare function SetAudioSubmixEffectParamInt(submixId: number, effectSlot: number, paramIndex: number, paramValue: number): void;

/**
 * Assigns a RadioFX effect to a submix effect slot.
 * The parameter values for this effect are as follows (backticks are used to represent hashes):
 * | Index | Type | Description |
 * |-|-|-|
 * | \`enabled\` | int | Enables or disables RadioFX on this DSP. |
 * | \`default\` | int | Sets default parameters for the RadioFX DSP and enables it. |
 * | \`freq_low\` | float |  |
 * | \`freq_hi\` | float |  |
 * | \`fudge\` | float |  |
 * | \`rm_mod_freq\` | float |  |
 * | \`rm_mix\` | float |  |
 * | \`o_freq_lo\` | float |  |
 * | \`o_freq_hi\` | float |  |
 * @param submixId The submix.
 * @param effectSlot The effect slot for the submix.
 */
declare function SetAudioSubmixEffectRadioFx(submixId: number, effectSlot: number): void;

/**
 * Sets the volumes for the sound channels in a submix effect.
 * Values can be between 0.0 and 1.0.
 * Channel 5 and channel 6 are not used in voice chat but are believed to be center and LFE channels.
 * Output slot starts at 0 for the first ADD_AUDIO_SUBMIX_OUTPUT call then incremented by 1 on each subsequent call.
 * @param submixId The submix.
 * @param outputSlot The output slot index.
 * @param frontLeftVolume The volume for the front left channel.
 * @param frontRightVolume The volume for the front right channel.
 * @param rearLeftVolume The volume for the rear left channel.
 * @param rearRightVolume The volume for the rear right channel.
 * @param channel5Volume The volume for channel 5.
 * @param channel6Volume The volume for channel 6.
 */
declare function SetAudioSubmixOutputVolumes(submixId: number, outputSlot: number, frontLeftVolume: number, frontRightVolume: number, rearLeftVolume: number, rearRightVolume: number, channel5Volume: number, channel6Volume: number): void;

declare function SetAudioVehiclePriority(vehicle: number, p1: number): void;

declare function SetAutoGiveParachuteWhenEnterPlane(player: number, toggle: boolean): void;

declare function SetAutoGiveScubaGearWhenExitVehicle(player: number, toggle: boolean): void;
declare function N_0xd2b315b6689d537d(player: number, toggle: boolean): void;

declare function SetBackfaceculling(toggle: boolean): void;
declare function N_0x23ba6b0c2ad7b0d3(toggle: boolean): void;

declare function SetBalanceAddMachine(contentId: string, contentTypeName: string): boolean;

declare function SetBalanceAddMachines(dataCount: number, contentTypeName: string): [boolean, number];

declare function SetBeastModeActive(player: number): void;
declare function N_0x438822c279b73b93(player: number): void;

/**
 * Toggles the big minimap state like in GTA:Online.
 * To get the current state of the minimap, use [`IS_BIGMAP_ACTIVE`](#\_0xFFF65C63).
 * @param toggleBigMap Enable or disable the expanded minimap.
 * @param showFullMap Enable or disable the full map from being shown on the minimap, requires p0 to be true.
 */
declare function SetBigmapActive(toggleBigMap: boolean, showFullMap: boolean): void;
/**
 * Toggles the big minimap state like in GTA:Online.
 * To get the current state of the minimap, use [`IS_BIGMAP_ACTIVE`](#\_0xFFF65C63).
 * @param toggleBigMap Enable or disable the expanded minimap.
 * @param showFullMap Enable or disable the full map from being shown on the minimap, requires p0 to be true.
 */
declare function SetRadarBigmapEnabled(toggleBigMap: boolean, showFullMap: boolean): void;

/**
 * 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
 */
declare function SetBikeOnStand(vehicle: number, x: number, y: number): void;
/**
 * 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
 */
declare function SetBikeLeanAngle(vehicle: number, x: number, y: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function SetBinkMovie(name: string): number;
/**
 * NativeDB Introduced: v1290
 */
declare function SetBinkMovieRequested(name: string): number;

/**
 * In percentage: 0.0 - 100.0
 * NativeDB Introduced: v1290
 */
declare function SetBinkMovieTime(binkMovie: number, progress: number): void;
/**
 * In percentage: 0.0 - 100.0
 * NativeDB Introduced: v1290
 */
declare function SetBinkMovieProgress(binkMovie: number, progress: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function SetBinkMovieUnk_2(binkMovie: number, p1: boolean): void;

/**
 * binkMovie: Is return value from _SET_BINK_MOVIE. Has something to do with bink volume? (audRequestedSettings::SetVolumeCurveScale)
 * ```
 * ```
 * NativeDB Introduced: v1290
 */
declare function SetBinkMovieVolume(binkMovie: number, value: number): void;
/**
 * binkMovie: Is return value from _SET_BINK_MOVIE. Has something to do with bink volume? (audRequestedSettings::SetVolumeCurveScale)
 * ```
 * ```
 * NativeDB Introduced: v1290
 */
declare function SetBinkMovieUnk(binkMovie: number, value: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function SetBinkShouldSkip(binkMovie: number, shouldSkip: boolean): void;
/**
 * NativeDB Introduced: v1290
 */
declare function N_0x6805d58caa427b72(binkMovie: number, shouldSkip: boolean): void;

/**
 * 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.
 */
declare function SetBit(offset: number): number;

declare function SetBitsInRange(rangeStart: number, rangeEnd: number, p3: number): number;

/**
 * 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);
 */
declare function SetBlipAlpha(blip: number, alpha: number): void;

/**
 * Allows the user to set a blip as friendly or enemy based on the toggle.
 * @param blip The blip handle
 * @param toggle True for friendly, false for enemy
 */
declare function SetBlipAsFriendly(blip: number, toggle: boolean): void;

declare function SetBlipAsMissionCreatorBlip(blip: number, toggle: boolean): void;

/**
 * Sets whether or not the specified blip should only be displayed when nearby, or on the minimap.
 * @param blip The blip handle.
 * @param toggle True to only display the blip as 'short range', false to display the blip from a longer distance.
 */
declare function SetBlipAsShortRange(blip: number, toggle: boolean): void;

declare function SetBlipBright(blip: number, toggle: boolean): void;

/**
 * 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 The blip to change the category index of
 * @param index The category index to change to
 */
declare function SetBlipCategory(blip: number, index: number): void;

/**
 * See https://docs.fivem.net/docs/game-references/blips/#BlipColors
 */
declare function SetBlipColour(blip: number, color: number): void;

declare function SetBlipCoords(blip: number, posX: number, posY: number, posZ: number): void;

/**
 * **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.
 */
declare function SetBlipDisplay(blip: number, displayId: number): void;

/**
 * Must be toggled before being queued for animation
 */
declare function SetBlipDisplayIndicatorOnBlip(blip: number, toggle: boolean): void;
/**
 * Must be toggled before being queued for animation
 */
declare function N_0xc4278f70131baa6d(blip: number, toggle: boolean): void;

declare function SetBlipFade(blip: number, opacity: number, duration: number): void;

/**
 * Sets the interval in milliseconds before flashing the blip.
 * @param blip The blip to change flashing interval
 * @param interval Interval in milliseconds before flashing the blip
 */
declare function SetBlipFlashInterval(blip: number, interval: number): void;

/**
 * Flashes blip for time in milliseconds before stopping.
 * @param blip The blip to start flashing
 * @param duration Time in milliseconds to flash the blip before stopping
 */
declare function SetBlipFlashTimer(blip: number, duration: number): void;

declare function SetBlipFlashes(blip: number, toggle: boolean): void;

declare function SetBlipFlashesAlternate(blip: number, toggle: boolean): void;

declare function SetBlipHiddenOnLegend(blip: number, toggle: boolean): void;
declare function N_0x54318c915d27e4ce(blip: number, toggle: boolean): void;

declare function SetBlipHighDetail(blip: number, toggle: boolean): void;

/**
 * Doesn't work if the label text of gxtEntry is >= 80.
 */
declare function SetBlipNameFromTextFile(blip: number, gxtEntry: string): void;

declare function SetBlipNameToPlayerName(blip: number, player: number): void;

/**
 * See this topic for more details : gtaforums.com/topic/717612-v-scriptnative-documentation-and-research/page-35?p=1069477935
 */
declare function SetBlipPriority(blip: number, priority: number): void;

/**
 * After some testing, looks like you need to use CEIL() on the rotation (vehicle/ped heading) before using it there.
 */
declare function SetBlipRotation(blip: number, rotation: number): void;

/**
 * Enable / disable showing route for the Blip-object.
 */
declare function SetBlipRoute(blip: number, enabled: boolean): void;

declare function SetBlipRouteColour(blip: number, colour: number): void;

declare function SetBlipScale(blip: number, scale: number): void;

/**
 * See https://imgur.com/a/lLkEsMN
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function SetBlipScaleTransformation(blip: number, xScale: number, yScale: number): void;

declare function SetBlipSecondaryColour(blip: number, r: number, g: number, b: number): void;

/**
 * NativeDB Added Parameter 3: Any p2
 */
declare function SetBlipShowCone(blip: number, toggle: boolean): void;

/**
 * Makes a blip go small when off the minimap.
 * SET_BLIP_AS_*
 */
declare function SetBlipShrink(blip: number, toggle: boolean): void;
/**
 * Makes a blip go small when off the minimap.
 * SET_BLIP_AS_*
 */
declare function N_0x2b6d467dab714e8d(blip: number, toggle: boolean): void;

/**
 * <!--
 * _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 The blip to change.
 * @param spriteId The sprite ID to set.
 */
declare function SetBlipSprite(blip: number, spriteId: number): void;

/**
 * Does not require whole number/integer rotations.
 */
declare function SetBlipSquaredRotation(blip: number, heading: number): void;
/**
 * Does not require whole number/integer rotations.
 */
declare function N_0xa8b6afdac320ac87(blip: number, heading: number): void;

/**
 * works with TASK::TASK_SET_BLOCKING_OF_NON_TEMPORARY_EVENTS to make a ped completely oblivious to all events going on around him
 */
declare function SetBlockingOfNonTemporaryEvents(ped: number, toggle: boolean): void;

declare function SetBoatAnchor(vehicle: number, toggle: boolean): void;

/**
 * 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 The TR3 vehicle.
 * @param ratio A value between 0.0 (left) and 1.0 (back)
 */
declare function SetBoatBoomPositionRatio(vehicle: number, ratio: number): void;
/**
 * 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 The TR3 vehicle.
 * @param ratio A value between 0.0 (left) and 1.0 (back)
 */
declare function N_0xf488c566413b4232(vehicle: number, ratio: number): void;

declare function SetBoatDisableAvoidance(vehicle: number, p1: boolean): void;
declare function N_0x0a6a279f3aa4fd70(vehicle: number, p1: boolean): void;

declare function SetBoatFrozenWhenAnchored(vehicle: number, toggle: boolean): void;
declare function N_0xe3ebaae484798530(vehicle: number, toggle: boolean): void;

declare function SetBoatIsSinking(vehicle: number): void;
declare function N_0xbd32e46aa95c1dd2(vehicle: number): void;
declare function SetBoatSinking(vehicle: number): void;

declare function SetBoatMovementResistance(vehicle: number, value: number): void;
declare function N_0xe842a9398079bd82(vehicle: number, value: number): void;
declare function SetBoatAnchorBuoyancyCoefficient(vehicle: number, value: number): void;

declare function SetBoatSinksWhenWrecked(vehicle: number, toggle: boolean): void;
declare function N_0x8f719973e1445ba2(vehicle: number, toggle: boolean): void;
declare function SetBoatExplodesOnWreckedAction(vehicle: number, toggle: boolean): void;

/**
 * Set camera as active/inactive.
 */
declare function SetCamActive(cam: number, active: boolean): void;

/**
 * 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...
 */
declare function SetCamActiveWithInterp(camTo: number, camFrom: number, duration: number, easeLocation: number, easeRotation: number): void;

/**
 * Allows you to aim and shoot at the direction the camera is facing.
 */
declare function SetCamAffectsAiming(cam: number, toggle: boolean): void;

declare function SetCamAnimCurrentPhase(cam: number, phase: number): void;

/**
 * Sets the position of the cam.
 */
declare function SetCamCoord(cam: number, posX: number, posY: number, posZ: number): void;

/**
 * NOTE: Debugging functions are not present in the retail version of the game.
 */
declare function SetCamDebugName(camera: number, name: string): void;

/**
 * This native has its name defined inside its codE
 */
declare function SetCamDofFnumberOfLens(camera: number, p1: number): void;
/**
 * This native has its name defined inside its codE
 */
declare function N_0x7dd234d6f3914c5b(camera: number, p1: number): void;

/**
 * Native name labeled within its code
 */
declare function SetCamDofFocalLengthMultiplier(camera: number, multiplier: number): void;
/**
 * Native name labeled within its code
 */
declare function N_0x47b595d60664cffa(camera: number, multiplier: number): void;

/**
 * This native has a name defined inside its code
 */
declare function SetCamDofFocusDistanceBias(camera: number, p1: number): void;
/**
 * This native has a name defined inside its code
 */
declare function N_0xc669eea5d031b7de(camera: number, p1: number): void;

/**
 * This native has a name defined inside its code
 */
declare function SetCamDofMaxNearInFocusDistance(camera: number, p1: number): void;
/**
 * This native has a name defined inside its code
 */
declare function N_0xc3654a441402562d(camera: number, p1: number): void;

/**
 * This native has a name defined inside its code
 */
declare function SetCamDofMaxNearInFocusDistanceBlendLevel(camera: number, p1: number): void;
/**
 * This native has a name defined inside its code
 */
declare function N_0x2c654b4943bddf7c(camera: number, p1: number): void;

declare function SetCamDofPlanes(cam: number, p1: number, p2: number, p3: number, p4: number): void;

declare function SetCamDofStrength(cam: number, dofStrength: number): void;

/**
 * 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.
 */
declare function SetCamEffect(p0: number): void;

declare function SetCamFarClip(cam: number, farClip: number): void;

declare function SetCamFarDof(cam: number, farDOF: number): void;

/**
 * Sets the field of view of the cam.
 * ---------------------------------------------
 * Min: 1.0f
 * Max: 130.0f
 */
declare function SetCamFov(cam: number, fieldOfView: number): void;

/**
 * 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.
 */
declare function SetCamInheritRollVehicle(cam: number, p1: boolean): void;

declare function SetCamMotionBlurStrength(cam: number, strength: number): void;

declare function SetCamNearClip(cam: number, nearClip: number): void;

declare function SetCamNearDof(cam: number, nearDOF: number): void;

declare function SetCamParams(cam: number, posX: number, posY: number, posZ: number, rotX: number, rotY: number, rotZ: number, fieldOfView: number, transitionSpeed: number, p9: number, p10: number, rotationOrder: number): void;

/**
 * Sets the rotation of the cam.
 * Last parameter unknown.
 * Last parameter seems to always be set to 2.
 */
declare function SetCamRot(cam: number, rotX: number, rotY: number, rotZ: number, rotationOrder: number): void;

declare function SetCamShakeAmplitude(cam: number, amplitude: number): void;

/**
 * I named p1 as timeDuration as it is obvious. I'm assuming tho it is ran in ms(Milliseconds) as usual.
 */
declare function SetCamSplineDuration(cam: number, timeDuration: number): void;

declare function SetCamSplineNodeEase(cam: number, p1: number, p2: number, p3: number): void;
declare function N_0x83b8201ed82a9a2d(cam: number, p1: number, p2: number, p3: number): void;

declare function SetCamSplineNodeExtraFlags(cam: number, p1: number, flags: number): void;
declare function N_0x7bf1a54ae67ac070(cam: number, p1: number, flags: number): void;

declare function SetCamSplineNodeVelocityScale(cam: number, p1: number, scale: number): void;
declare function N_0xa6385deb180f319f(cam: number, p1: number, scale: number): void;

declare function SetCamSplinePhase(cam: number, p1: number): void;

/**
 * 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
 * ```
 */
declare function SetCamSplineSmoothingStyle(cam: number, smoothingStyle: number): void;
/**
 * 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
 * ```
 */
declare function N_0xd1b0f412f109ea5d(cam: number, smoothingStyle: number): void;

declare function SetCamUseShallowDofMode(cam: number, toggle: boolean): void;

declare function SetCamViewModeForContext(context: number, viewMode: number): void;
declare function N_0x2a2173e46daecd12(context: number, viewMode: number): void;

declare function SetCamberedWheelsDisabled(vehicle: number, toggle: boolean): void;
declare function N_0x1201e8a3290a3b98(vehicle: number, toggle: boolean): void;

/**
 * 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.
 */
declare function SetCanAttackFriendly(ped: number, toggle: boolean, p2: boolean): void;

declare function SetCanAutoVaultOnEntity(entity: number, toggle: boolean): void;
declare function N_0xe12abe5e3a389a6c(entity: number, toggle: boolean): void;

declare function SetCanClimbOnEntity(entity: number, toggle: boolean): void;
declare function N_0xa80ae305e0a3044f(entity: number, toggle: boolean): void;

/**
 * Does the same as [`_SET_CAN_PED_SELECT_WEAPON`](https://runtime.fivem.net/doc/natives/#\_0xB4771B9AAF4E68E4) except for all weapons.
 */
declare function SetCanPedEquipAllWeapons(ped: number, toggle: boolean): void;
/**
 * Does the same as [`_SET_CAN_PED_SELECT_WEAPON`](https://runtime.fivem.net/doc/natives/#\_0xB4771B9AAF4E68E4) except for all weapons.
 */
declare function N_0xeff296097ff1e509(ped: number, toggle: boolean): void;

/**
 * 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.
 */
declare function SetCanPedEquipWeapon(ped: number, weaponHash: string | number, toggle: boolean): void;
/**
 * 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.
 */
declare function N_0xb4771b9aaf4e68e4(ped: number, weaponHash: string | number, toggle: boolean): void;
/**
 * 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.
 */
declare function SetCanPedSelectWeapon(ped: number, weaponHash: string | number, toggle: boolean): void;

/**
 * Hardcoded to not work in multiplayer.
 */
declare function SetCanResprayVehicle(vehicle: number, state: boolean): void;

declare function SetCarBootOpen(vehicle: number): void;
declare function N_0xfc40cbf7b90ca77c(vehicle: number): void;

/**
 * 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);
 * }
 */
declare function SetCarHighSpeedBumpSeverityMultiplier(multiplier: number): void;
/**
 * 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);
 * }
 */
declare function N_0x84fd40f56075e816(multiplier: number): void;

/**
 * Stops cargobob from being able to detach the attached vehicle.
 */
declare function SetCargobobForceDontDetachVehicle(cargobob: number, toggle: boolean): void;
/**
 * Stops cargobob from being able to detach the attached vehicle.
 */
declare function N_0x571feb383f629926(cargobob: number, toggle: boolean): void;
/**
 * Stops cargobob from being able to detach the attached vehicle.
 */
declare function SetCargobobHookCanDetach(cargobob: number, toggle: boolean): void;

/**
 * Stops the cargobob from being able to attach any vehicle
 * ```
 * ```
 * NativeDB Introduced: v1180
 */
declare function SetCargobobHookCanAttach(vehicle: number, toggle: boolean): void;
/**
 * Stops the cargobob from being able to attach any vehicle
 * ```
 * ```
 * NativeDB Introduced: v1180
 */
declare function N_0x94a68da412c4007d(vehicle: number, toggle: boolean): void;

/**
 * Won't attract or magnetize to any helicopters or planes of course, but that's common sense.
 */
declare function SetCargobobPickupMagnetActive(cargobob: number, isActive: boolean): void;
/**
 * Won't attract or magnetize to any helicopters or planes of course, but that's common sense.
 */
declare function CargobobMagnetGrabVehicle(cargobob: number, isActive: boolean): void;
/**
 * Won't attract or magnetize to any helicopters or planes of course, but that's common sense.
 */
declare function SetCargobobPickupMagnetActive(cargobob: number, isActive: boolean): void;

declare function SetCargobobPickupMagnetEffectRadius(vehicle: number, p1: number): void;
declare function N_0xa17bad153b51547e(vehicle: number, p1: number): void;

declare function SetCargobobPickupMagnetFalloff(vehicle: number, p1: number): void;
declare function N_0x685d5561680d088b(vehicle: number, p1: number): void;

declare function SetCargobobPickupMagnetPullRopeLength(cargobob: number, p1: number): void;
declare function N_0x6d8eac07506291fb(cargobob: number, p1: number): void;

declare function SetCargobobPickupMagnetPullStrength(cargobob: number, p1: number): void;
declare function N_0xed8286f71a819baa(cargobob: number, p1: number): void;

declare function SetCargobobPickupMagnetReducedFalloff(cargobob: number, p1: number): void;
declare function N_0x66979acf5102fd2f(cargobob: number, p1: number): void;

declare function SetCargobobPickupMagnetReducedStrength(cargobob: number, vehicle: number): void;
declare function N_0xe301bd63e9e13cf0(cargobob: number, vehicle: number): void;

declare function SetCargobobPickupMagnetStrength(cargobob: number, strength: number): void;
declare function N_0xbcbfcd9d1dac19e2(cargobob: number, strength: number): void;
declare function SetCargobobPickupMagnetStrength(cargobob: number, strength: number): void;

declare function SetCargobobPickupRopeDampingMultiplier(cargobob: number, p1: number): void;
declare function N_0xcf1182f682f65307(cargobob: number, p1: number): void;

declare function SetCargobobPickupRopeType(vehicle: number, state: number): void;
declare function N_0x0d5f65a8f4ebdab5(vehicle: number, state: number): void;

declare function SetCgAtBoundcenter(entity: number): void;

declare function SetCgoffset(entity: number, x: number, y: number, z: number): void;

/**
 * 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.
 */
declare function SetCheckpointCylinderHeight(checkpoint: number, nearHeight: number, farHeight: number, radius: number): void;

/**
 * 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 The checkpoint the multiplier should be applied to.
 * @param height_multiplier The multiplier for the icon height above the checkpoint's coordinates. Default is 1.0
 */
declare function SetCheckpointIconHeight(checkpoint: number, height_multiplier: number): void;
/**
 * 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 The checkpoint the multiplier should be applied to.
 * @param height_multiplier The multiplier for the icon height above the checkpoint's coordinates. Default is 1.0
 */
declare function N_0x4b5b4da5d79f1943(checkpoint: number, height_multiplier: number): void;
/**
 * 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 The checkpoint the multiplier should be applied to.
 * @param height_multiplier The multiplier for the icon height above the checkpoint's coordinates. Default is 1.0
 */
declare function SetCheckpointScale(checkpoint: number, height_multiplier: number): void;

declare function SetCheckpointIconScale(checkpoint: number, scale: number): void;
declare function N_0x44621483ff966526(checkpoint: number, scale: number): void;

/**
 * Sets the checkpoint color.
 */
declare function SetCheckpointRgba(checkpoint: number, red: number, green: number, blue: number, alpha: number): void;

/**
 * Sets the checkpoint icon color.
 */
declare function SetCheckpointRgba2(checkpoint: number, red: number, green: number, blue: number, alpha: number): void;
/**
 * Sets the checkpoint icon color.
 */
declare function SetCheckpointIconRgba(checkpoint: number, red: number, green: number, blue: number, alpha: number): void;

declare function SetCinematicButtonActive(p0: boolean): void;

declare function SetCinematicCamShakeAmplitude(p0: number): void;

/**
 * Toggles the vehicle cinematic cam; requires the player ped to be in a vehicle to work.
 */
declare function SetCinematicModeActive(toggle: boolean): void;

declare function SetCinematicNewsChannelActiveThisUpdate(): void;
declare function N_0xdc9da9e8789f5246(): void;

declare function SetClockDate(day: number, month: number, year: number): void;

/**
 * SET_CLOCK_TIME(12, 34, 56);
 */
declare function SetClockTime(hour: number, minute: number, second: number): void;

declare function SetCloudHatOpacity(opacity: number): void;
declare function N_0xf36199225d6d8c86(opacity: number): void;

declare function SetColourOfNextTextComponent(hudColor: number): void;
declare function N_0x39bbf623fc803eac(hudColor: number): void;
declare function SetNotificationColorNext(hudColor: number): void;

declare function SetCombatFloat(ped: number, combatType: number, p2: number): void;

declare function SetControlLightEffectColor(padIndex: number, red: number, green: number, blue: number): void;
declare function N_0x8290252fff36acb5(padIndex: number, red: number, green: number, blue: number): void;
declare function SetControlGroupColor(padIndex: number, red: number, green: number, blue: number): void;

/**
 * This is for simulating player input.
 * @param padIndex The control system instance to use. See [`ENABLE_ALL_CONTROL_ACTIONS`](#\_0xA5FFE9B05F199DE7).
 * @param control The [control ID](https://docs.fivem.net/docs/game-references/controls/#controls) to check.
 * @param amount An unbounded normal value.
 */
declare function SetControlNormal(padIndex: number, control: number, amount: number): boolean;
/**
 * This is for simulating player input.
 * @param padIndex The control system instance to use. See [`ENABLE_ALL_CONTROL_ACTIONS`](#\_0xA5FFE9B05F199DE7).
 * @param control The [control ID](https://docs.fivem.net/docs/game-references/controls/#controls) to check.
 * @param amount An unbounded normal value.
 */
declare function N_0xe8a25867fba3b05e(padIndex: number, control: number, amount: number): boolean;

declare function SetConvertibleRoof(vehicle: number, p1: boolean): void;

declare function SetConvertibleRoofLatchState(vehicle: number, state: boolean): void;
declare function N_0x1a78ad3d8240536f(vehicle: number, state: boolean): void;

declare function SetCreateRandomCops(toggle: boolean): void;

declare function SetCreateRandomCopsNotOnScenarios(toggle: boolean): void;

declare function SetCreateRandomCopsOnScenarios(toggle: boolean): void;

/**
 * Requires a component_at_*_flsh to be attached to the weapon object
 */
declare function SetCreateWeaponObjectLightSource(object: number, toggle: boolean): void;
/**
 * Requires a component_at_*_flsh to be attached to the weapon object
 */
declare function N_0xbce595371a5fbaaf(object: number, toggle: boolean): void;

declare function SetCreditsActive(toggle: boolean): void;

declare function SetCurrentPedVehicleWeapon(ped: number, weaponHash: string | number): boolean;

declare function SetCurrentPedWeapon(ped: number, weaponHash: string | number, bForceInHand: boolean): void;

declare function SetCurrentPlayerTcmodifier(modifierName: string): void;
declare function N_0xbbf327ded94e4deb(modifierName: string): void;

declare function SetCursorLocation(x: number, y: number): boolean;
declare function N_0xfc695459d4d0e219(x: number, y: number): boolean;

/**
 * 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);
 */
declare function SetCustomRadioTrackList(radioStation: string, trackListName: string, p2: boolean): void;
/**
 * 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);
 */
declare function N_0x4e404a9361f75bb2(radioStation: string, trackListName: string, p2: boolean): void;

/**
 * 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");
 */
declare function SetCutsceneAudioOverride(name: string): void;

declare function SetCutsceneCanBeSkipped(p0: boolean): void;
declare function N_0x41faa8fb2ece8720(p0: boolean): void;

/**
 * Only used in networked environment with MP cutscenes
 * @param cutsceneEntName MP\_1, MP\_2, etc
 * @param p1 Always 0 in R\* scripts
 * @param p2 Always 1 in R\* scripts
 */
declare function SetCutsceneEntityStreamingFlags(cutsceneEntName: string, p1: number, p2: number): void;
/**
 * Only used in networked environment with MP cutscenes
 * @param cutsceneEntName MP\_1, MP\_2, etc
 * @param p1 Always 0 in R\* scripts
 * @param p2 Always 1 in R\* scripts
 */
declare function N_0x4c61c75bee8184c2(cutsceneEntName: string, p1: number, p2: number): void;

declare function SetCutsceneFadeValues(p0: boolean, p1: boolean, p2: boolean, p3: boolean): void;

/**
 * Sets cutscene location, used for multiplayer apartments/businesses.
 * @param p4 Often -1, 0 or 1
 */
declare function SetCutsceneOrigin(x: number, y: number, z: number, heading: number, p4: number): void;

/**
 * See [`SET_PED_COMPONENT_VARIATION`](#\_0x262B14F48D29DE80)
 */
declare function SetCutscenePedComponentVariation(cutsceneEntName: string, componentId: number, drawableId: number, textureId: number, modelHash: string | number): void;

/**
 * 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 cut file cHandle, i.e Michael, Lamar, Franklin, MP\_1-MP\_4 etc
 * @param ped Ped to copy components from
 * @param modelHash Not strictly neccasary, can be 0
 */
declare function SetCutscenePedComponentVariationFromPed(cutsceneEntName: string, ped: number, modelHash: string | number): void;
/**
 * 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 cut file cHandle, i.e Michael, Lamar, Franklin, MP\_1-MP\_4 etc
 * @param ped Ped to copy components from
 * @param modelHash Not strictly neccasary, can be 0
 */
declare function N_0x2a56c06ebef2b0d9(cutsceneEntName: string, ped: number, modelHash: string | number): void;

/**
 * See [`SET_PED_PROP_INDEX`](\_0x93376B65A266EB5F)
 * @param cutsceneEntName i.e Michael, Trevor, MP\_1, MP\_4
 */
declare function SetCutscenePedPropVariation(cutsceneEntName: string, componentId: number, drawableId: number, textureId: number, modelHash: string | number): void;
/**
 * See [`SET_PED_PROP_INDEX`](\_0x93376B65A266EB5F)
 * @param cutsceneEntName i.e Michael, Trevor, MP\_1, MP\_4
 */
declare function N_0x0546524ade2e9723(cutsceneEntName: string, componentId: number, drawableId: number, textureId: number, modelHash: string | number): void;

/**
 * Only used twice in R* scripts
 */
declare function SetCutsceneTriggerArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

declare function SetDamping(entity: number, vertex: number, value: number): void;

/**
 * NOTE: Debugging functions are not present in the retail version of the game.
 */
declare function SetDebugLinesAndSpheresDrawingActive(enabled: boolean): void;

declare function SetDecisionMaker(ped: number, name: string | number): void;

/**
 * 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.
 */
declare function SetDeepOceanScaler(intensity: number): void;
/**
 * 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.
 */
declare function N_0xb96b00e976be977f(intensity: number): void;
/**
 * 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.
 */
declare function SetWavesIntensity(intensity: number): void;
/**
 * 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.
 */
declare function SetCurrentIntensity(intensity: number): void;

/**
 * Sets the default number plate text pattern for vehicles seen on the local client with the specified plate index as their *default* index (`plateProbabilities` from carvariations).
 * For consistency, this should be used with the same value on all clients, since vehicles *without* custom text will use a seeded random number generator with this pattern to determine the default plate text.
 * The default value is `11AAA111`, and using this or a NULL string will revert to the default game RNG.
 * ### Pattern string format
 * *   `1` will lead to a random number from 0-9.
 * *   `A` will lead to a random letter from A-Z.
 * *   `.` will lead to a random letter *or* number, with 50% probability of being either.
 * *   `^1` will lead to a literal `1` being emitted.
 * *   `^A` will lead to a literal `A` being emitted.
 * *   Any other character will lead to said character being emitted.
 * *   A string shorter than 8 characters will be padded on the right.
 * @param plateIndex A plate index, or `-1` to set a default for any indices that do not have a specific value.
 * @param pattern A number plate pattern string, or a null value to reset to default.
 */
declare function SetDefaultVehicleNumberPlateTextPattern(plateIndex: number, pattern: string): void;

/**
 * Only used with the "akula" and "annihilator2" in the decompiled native scripts.
 * ```
 * NativeDB Introduced: v1290
 * ```
 */
declare function SetDeployHeliStubWings(vehicle: number, deploy: boolean, p2: boolean): void;
/**
 * Only used with the "akula" and "annihilator2" in the decompiled native scripts.
 * ```
 * NativeDB Introduced: v1290
 * ```
 */
declare function N_0xb251e0b33e58b424(vehicle: number, deploy: boolean, p2: boolean): void;

/**
 * SET_*
 */
declare function SetDirectorModeClearTriggeredFlag(): void;
/**
 * SET_*
 */
declare function N_0x2632482fd6b9ab87(): void;

declare function SetDisableAmbientMeleeMove(player: number, toggle: boolean): void;

declare function SetDisableBreaking(object: number, toggle: boolean): void;

declare function SetDisableDecalRenderingThisFrame(): void;
declare function N_0x4b5cfc83122df602(): void;

declare function SetDisableFragDamage(object: number, toggle: boolean): void;

declare function SetDisablePretendOccupants(vehicle: number, toggle: boolean): void;
declare function N_0x25367de49d64cf16(vehicle: number, toggle: boolean): void;

declare function SetDisableRandomTrainsThisFrame(toggle: boolean): void;
declare function N_0xd4b8e3d1917bc86b(toggle: boolean): void;
declare function SetSomethingMultiplierThisFrame(toggle: boolean): void;

declare function SetDisableSuperdummyMode(vehicle: number, p1: boolean): void;
declare function N_0xb088e9a47ae6edd5(vehicle: number, p1: boolean): void;

/**
 * Disables turret movement when called in a loop. You can still fire and aim. You cannot shoot backwards though.
 * ```
 * NativeDB Introduced: v1365
 * ```
 */
declare function SetDisableTurretMovementThisFrame(vehicle: number, turretIdx: number): void;
/**
 * Disables turret movement when called in a loop. You can still fire and aim. You cannot shoot backwards though.
 * ```
 * NativeDB Introduced: v1365
 * ```
 */
declare function N_0xe615bb7a7752c76a(vehicle: number, turretIdx: number): void;
/**
 * Disables turret movement when called in a loop. You can still fire and aim. You cannot shoot backwards though.
 * ```
 * NativeDB Introduced: v1365
 * ```
 */
declare function SetDisableTurretMovement(vehicle: number, turretIdx: number): void;

declare function SetDisableVehicleEngineFires(vehicle: number, toggle: boolean): void;
declare function N_0x91a0bd635321f145(vehicle: number, toggle: boolean): void;

/**
 * True stops vtols from switching modes. Doesn't stop the sound though.
 * ```
 * ```
 * NativeDB Introduced: v1290
 */
declare function SetDisableVehicleFlightNozzlePosition(vehicle: number, direction: boolean): void;
/**
 * True stops vtols from switching modes. Doesn't stop the sound though.
 * ```
 * ```
 * NativeDB Introduced: v1290
 */
declare function SetPlaneVtolAnimationDisabled(vehicle: number, direction: boolean): void;

declare function SetDisableVehiclePetrolTankDamage(vehicle: number, toggle: boolean): void;

declare function SetDisableVehiclePetrolTankFires(vehicle: number, toggle: boolean): void;
declare function N_0x465bf26ab9684352(vehicle: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v1604
 */
declare function SetDisableVehicleUnk(toggle: boolean): void;

/**
 * NativeDB Introduced: v1604
 */
declare function SetDisableVehicleUnk_2(toggle: boolean): void;

/**
 * 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 The vehicle to toggle this for.
 * @param toggle True disables the collision, false enables the collision
 */
declare function SetDisableVehicleWindowCollisions(vehicle: number, toggle: boolean): void;
/**
 * 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 The vehicle to toggle this for.
 * @param toggle True disables the collision, false enables the collision
 */
declare function N_0x1087bc8ec540daeb(vehicle: number, toggle: boolean): void;

/**
 * This native sets the app id for the discord rich presence implementation.
 * @param appId A valid Discord API App Id, can be generated at https://discordapp.com/developers/applications/
 */
declare function SetDiscordAppId(appId: string): void;

/**
 * Sets a clickable button to be displayed in a player's Discord rich presence.
 * @param index The button index, either 0 or 1.
 * @param label The text to display on the button.
 * @param url The URL to open when clicking the button. This has to start with `fivem://connect/` or `https://`.
 */
declare function SetDiscordRichPresenceAction(index: number, label: string, url: string): void;

/**
 * This native sets the image asset for the discord rich presence implementation.
 * @param assetName The name of a valid asset registered on Discordapp's developer dashboard. note that the asset has to be registered under the same discord API application set using the SET_DISCORD_APP_ID native.
 */
declare function SetDiscordRichPresenceAsset(assetName: string): void;

/**
 * This native sets the small image asset for the discord rich presence implementation.
 * @param assetName The name of a valid asset registered on Discordapp's developer dashboard. Note that the asset has to be registered under the same discord API application set using the SET_DISCORD_APP_ID native.
 */
declare function SetDiscordRichPresenceAssetSmall(assetName: string): void;

/**
 * This native sets the hover text of the small image asset for the discord rich presence implementation.
 * @param text Text to be displayed when hovering over small image asset. Note that you must also set a valid small image asset using the SET_DISCORD_RICH_PRESENCE_ASSET_SMALL native.
 */
declare function SetDiscordRichPresenceAssetSmallText(text: string): void;

/**
 * This native sets the hover text of the image asset for the discord rich presence implementation.
 * @param text Text to be displayed when hovering over image asset. Note that you must also set a valid image asset using the SET_DISCORD_RICH_PRESENCE_ASSET native.
 */
declare function SetDiscordRichPresenceAssetText(text: string): void;

declare function SetDispatchCopsForPlayer(player: number, toggle: boolean): void;

declare function SetDispatchIdealSpawnDistance(p0: number): void;

declare function SetDispatchSpawnLocation(x: number, y: number, z: number): void;
declare function N_0xd10f442036302d50(x: number, y: number, z: number): void;

declare function SetDispatchTimeBetweenSpawnAttempts(p0: number, p1: number): void;

declare function SetDispatchTimeBetweenSpawnAttemptsMultiplier(p0: number, p1: number): void;

/**
 * Toggles to render distant vehicles. They may not be vehicles but images to look like vehicles.
 */
declare function SetDistantCarsEnabled(toggle: boolean): void;
/**
 * Toggles to render distant vehicles. They may not be vehicles but images to look like vehicles.
 */
declare function N_0xf796359a959df65d(toggle: boolean): void;
/**
 * Toggles to render distant vehicles. They may not be vehicles but images to look like vehicles.
 */
declare function DisplayDistantVehicles(toggle: boolean): void;

/**
 * This is a NOP function. It does nothing at all.
 */
declare function SetDitchPoliceModels(toggle: boolean): void;

/**
 * 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.
 */
declare function SetDrawOrigin(x: number, y: number, z: number, p3: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function SetDriftTyresEnabled(vehicle: number, toggle: boolean): void;

declare function SetDriveTaskCruiseSpeed(driver: number, cruiseSpeed: number): void;

/**
 * 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/
 */
declare function SetDriveTaskDrivingStyle(ped: number, drivingStyle: number): void;

declare function SetDriveTaskMaxCruiseSpeed(p0: number, p1: number): void;

/**
 * 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.
 */
declare function SetDrivebyTaskTarget(shootingPed: number, targetPed: number, targetVehicle: number, x: number, y: number, z: number): void;

/**
 * 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.
 */
declare function SetDriverAbility(driver: number, ability: number): void;

/**
 * range 0.0f - 1.0f
 */
declare function SetDriverAggressiveness(driver: number, aggressiveness: number): void;

/**
 * Scripts use 0.2, 0.5 and 1.0. Value must be >= 0.0 && <= 1.0
 */
declare function SetDriverRacingModifier(driver: number, modifier: number): void;
/**
 * Scripts use 0.2, 0.5 and 1.0. Value must be >= 0.0 && <= 1.0
 */
declare function N_0xded5af5a0ea4b297(driver: number, modifier: number): void;

/**
 * Navigates the specified DUI browser to a different URL.
 * @param duiObject The DUI browser handle.
 * @param url The new URL.
 */
declare function SetDuiUrl(duiObject: number, url: string): void;

declare function SetEmitterRadioStation(emitterName: string, radioStation: string): void;

/**
 * Activate the physics to: "xs_prop_arena_{flipper,wall,bollard,turntable,pit}"
 * ```
 * ```
 * NativeDB Introduced: v1604
 */
declare function SetEnableArenaPropPhysics(entity: number, toggle: boolean, p2: number): void;
/**
 * Activate the physics to: "xs_prop_arena_{flipper,wall,bollard,turntable,pit}"
 * ```
 * ```
 * NativeDB Introduced: v1604
 */
declare function N_0x911024442f4898f0(entity: number, toggle: boolean, p2: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function SetEnableArenaPropPhysicsOnPed(entity: number, toggle: boolean, p2: number, ped: number): void;
/**
 * NativeDB Introduced: v1604
 */
declare function N_0xb20834a7dd3d8896(entity: number, toggle: boolean, p2: number, ped: number): void;

/**
 * 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.
 */
declare function SetEnableBoundAnkles(ped: number, toggle: boolean): void;

/**
 * ped can not pull out a weapon when true
 */
declare function SetEnableHandcuffs(ped: number, toggle: boolean): void;

declare function SetEnablePedEnveffScale(ped: number, toggle: boolean): void;

/**
 * Enables diving motion when underwater.
 */
declare function SetEnableScuba(ped: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v1493
 */
declare function SetEnableScubaGearLight(ped: number, toggle: boolean): void;

/**
 * Enable/Disables global slipstream physics
 */
declare function SetEnableVehicleSlipstreaming(toggle: boolean): void;
/**
 * Enable/Disables global slipstream physics
 */
declare function N_0xe6c0c80b8c867537(toggle: boolean): void;

/**
 * This native sets the entity's alpha level.
 * @param entity The entity to change the alpha for.
 * @param alphaLevel The alpha level ranges from 0 to 255, but changes occur every 20% (every 51).
 * @param skin Whether or not to change the alpha of the entity's skin.
 */
declare function SetEntityAlpha(entity: number, alphaLevel: number, skin: boolean): void;

declare function SetEntityAlwaysPrerender(entity: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v2372
 */
declare function SetEntityAngularVelocity(entity: number, x: number, y: number, z: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x8339643499d1222e(entity: number, x: number, y: number, z: number): void;

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function SetEntityAnimCurrentTime(entity: number, animDictionary: string, animName: string, time: number): void;

declare function SetEntityAnimSpeed(entity: number, animDictionary: string, animName: string, speedMultiplier: number): void;

/**
 * Makes the specified entity (ped, vehicle or object) persistent. Persistent entities will not automatically be removed by the engine.
 * p1 has no effect when either its on or off
 * maybe a quick disassembly will tell us what it does
 * p2 has no effect when either its on or off
 * maybe a quick disassembly will tell us what it does
 */
declare function SetEntityAsMissionEntity(entity: number, p1: boolean, p2: boolean): void;

/**
 * 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.
 */
declare function SetEntityAsNoLongerNeeded(entity: number): void;

declare function SetEntityCanBeDamaged(entity: number, toggle: boolean): void;

declare function SetEntityCanBeDamagedByRelationshipGroup(entity: number, bCanBeDamaged: boolean, relGroup: number): void;

/**
 * Sets whether the entity can be targeted without being in line-of-sight.
 */
declare function SetEntityCanBeTargetedWithoutLos(entity: number, toggle: boolean): void;

/**
 * True means it can be deleted by the engine when switching lobbies/missions/etc, false means the script is expected to clean it up.
 */
declare function SetEntityCleanupByEngine(entity: number, toggle: boolean): void;
/**
 * True means it can be deleted by the engine when switching lobbies/missions/etc, false means the script is expected to clean it up.
 */
declare function N_0x3910051ccecdb00c(entity: number, toggle: boolean): void;
/**
 * True means it can be deleted by the engine when switching lobbies/missions/etc, false means the script is expected to clean it up.
 */
declare function SetEntityRegister(entity: number, toggle: boolean): void;
/**
 * True means it can be deleted by the engine when switching lobbies/missions/etc, false means the script is expected to clean it up.
 */
declare function SetEntitySomething(entity: number, toggle: boolean): void;

declare function SetEntityCollision(entity: number, toggle: boolean, keepPhysics: boolean): void;

declare function SetEntityCompletelyDisableCollision(entity: number, toggle: boolean, keepPhysics: boolean): void;
declare function N_0x9ebc85ed0fffe51c(entity: number, toggle: boolean, keepPhysics: boolean): void;
declare function SetEntityCollision_2(entity: number, toggle: boolean, keepPhysics: boolean): void;

/**
 * Sets the coordinates (world position) for a specified entity, offset by the radius of the entity on the Z axis.
 * @param entity The entity to change coordinates for.
 * @param xPos The X coordinate.
 * @param yPos The Y coordinate.
 * @param zPos The Z coordinate, ground level.
 * @param alive Unused by the game, potentially used by debug builds of GTA in order to assert whether or not an entity was alive.
 * @param deadFlag Whether to disable physics for dead peds, too, and not just living peds.
 * @param ragdollFlag A special flag used for ragdolling peds.
 * @param clearArea Whether to clear any entities in the target area.
 */
declare function SetEntityCoords(entity: number, xPos: number, yPos: number, zPos: number, alive: boolean, deadFlag: boolean, ragdollFlag: boolean, clearArea: boolean): void;

/**
 * Sets the coordinates (world position) for a specified entity.
 * @param entity The entity to change coordinates for.
 * @param xPos The X coordinate.
 * @param yPos The Y coordinate.
 * @param zPos The Z coordinate, origin level.
 * @param alive Unused by the game, potentially used by debug builds of GTA in order to assert whether or not an entity was alive.
 * @param deadFlag Whether to disable physics for dead peds, too, and not just living peds.
 * @param ragdollFlag A special flag used for ragdolling peds.
 */
declare function SetEntityCoordsNoOffset(entity: number, xPos: number, yPos: number, zPos: number, alive: boolean, deadFlag: boolean, ragdollFlag: boolean): void;

declare function SetEntityCoordsWithoutPlantsReset(entity: number, xPos: number, yPos: number, zPos: number, alive: boolean, deadFlag: boolean, ragdollFlag: boolean, clearArea: boolean): void;
declare function SetEntityCoords_2(entity: number, xPos: number, yPos: number, zPos: number, alive: boolean, deadFlag: boolean, ragdollFlag: boolean, clearArea: boolean): void;

/**
 * SET_ENTITY_*
 */
declare function SetEntityDecalsDisabled(entity: number, p1: boolean): void;
/**
 * SET_ENTITY_*
 */
declare function N_0x2c2e3dc128f44309(entity: number, p1: boolean): void;

/**
 * Draws an outline around a given entity. This function supports SDK infrastructure and is not intended to be used directly from your code.
 * @param entity A valid entity handle.
 * @param enabled Whether or not to draw an outline.
 */
declare function SetEntityDrawOutline(entity: number, enabled: boolean): void;

/**
 * Sets color for entity outline. `255, 0, 255, 255` by default.
 * @param red Red component of color.
 * @param green Green component of color.
 * @param blue Blue component of color.
 * @param alpha Alpha component of color, ignored for shader `0`.
 */
declare function SetEntityDrawOutlineColor(red: number, green: number, blue: number, alpha: number): void;

/**
 * Sets variant of shader that will be used to draw entity outline.
 * Variants are:
 * *   **0**: Default value, gauss shader.
 * *   **1**: 2px wide solid color outline.
 * *   **2**: Fullscreen solid color except for entity.
 * @param shader An outline shader variant.
 */
declare function SetEntityDrawOutlineShader(shader: number): void;

declare function SetEntityDynamic(entity: number, toggle: boolean): void;

declare function SetEntityHasGravity(entity: number, toggle: boolean): void;

/**
 * Set the heading of an entity in degrees also known as "Yaw".
 * @param entity The entity to set the heading for.
 * @param heading The heading in degrees.
 */
declare function SetEntityHeading(entity: number, heading: number): void;

/**
 * health >= 0
 * male ped ~= 100 - 200
 * female ped ~= 0 - 100
 * ```
 * NativeDB Added Parameter 3: int p2
 * ```
 */
declare function SetEntityHealth(entity: number, health: number): void;

declare function SetEntityIconColor(entity: number, red: number, green: number, blue: number, alpha: number): void;

declare function SetEntityIconVisibility(entity: number, toggle: boolean): void;

/**
 * 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;
 * }
 */
declare function SetEntityInvincible(entity: number, toggle: boolean): void;

declare function SetEntityIsTargetPriority(entity: number, p1: boolean, p2: number): void;

declare function SetEntityLights(entity: number, toggle: boolean): void;

/**
 * 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
 * ```
 */
declare function SetEntityLoadCollisionFlag(entity: number, toggle: boolean): void;

/**
 * Sets the provided entity not visible for yourself for the current frame.
 */
declare function SetEntityLocallyInvisible(entity: number): void;

/**
 * Sets the provided entity visible for yourself for the current frame.
 * @param entity The entity to set locally visible.
 */
declare function SetEntityLocallyVisible(entity: number): void;

/**
 * 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).
 */
declare function SetEntityLodDist(entity: number, value: number): void;

/**
 * Sets an entity's matrix. Arguments are in the same order as with GET_ENTITY_MATRIX.
 * @param entity A valid entity handle.
 */
declare function SetEntityMatrix(entity: number, forwardX: number, forwardY: number, forwardZ: number, rightX: number, rightY: number, rightZ: number, upX: number, upY: number, upZ: number, atX: number, atY: number, atZ: number): void;

/**
 * For instance: ENTITY::SET_ENTITY_MAX_HEALTH(PLAYER::PLAYER_PED_ID(), 200); // director_mode.c4: 67849
 */
declare function SetEntityMaxHealth(entity: number, value: number): void;

declare function SetEntityMaxSpeed(entity: number, speed: number): void;

declare function SetEntityMotionBlur(entity: number, toggle: boolean): void;

/**
 * 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.
 */
declare function SetEntityNoCollisionEntity(entity1: number, entity2: number, thisFrameOnly: boolean): void;

declare function SetEntityOnlyDamagedByPlayer(entity: number, toggle: boolean): void;

declare function SetEntityOnlyDamagedByRelationshipGroup(entity: number, p1: boolean, relationshipHash: string | number): void;

declare function SetEntityProofUnk(entity: number, toggle: boolean): void;
declare function N_0x15f944730c832252(entity: number, toggle: boolean): void;

/**
 * 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);
 */
declare function SetEntityProofs(entity: number, bulletProof: boolean, fireProof: boolean, explosionProof: boolean, collisionProof: boolean, meleeProof: boolean, steamProof: boolean, p7: boolean, drownProof: boolean): void;

/**
 * w is the correct parameter name!
 */
declare function SetEntityQuaternion(entity: number, x: number, y: number, z: number, w: number): void;

declare function SetEntityRecordsCollisions(entity: number, toggle: boolean): void;

declare function SetEntityRenderScorched(entity: number, toggle: boolean): void;

declare function SetEntityRotation(entity: number, pitch: number, roll: number, yaw: number, rotationOrder: number, p5: boolean): void;

/**
 * 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
 */
declare function SetEntityTrafficlightOverride(entity: number, state: number): void;

/**
 * Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
 */
declare function SetEntityVelocity(entity: number, x: number, y: number, z: number): void;

/**
 * Toggle the visibility of a given entity.
 * @param entity The entity to change the visibility of
 * @param toggle Whether or not the entity will be visible
 * @param unk Always 0 in scripts
 */
declare function SetEntityVisible(entity: number, toggle: boolean, unk: boolean): void;

declare function SetEntityVisibleInCutscene(p0: number, p1: boolean, p2: boolean): void;

declare function SetEveryoneIgnorePlayer(player: number, toggle: boolean): void;

/**
 * Groups found in the scripts used with this native:
 * "AMMUNATION",
 * "QUARRY",
 * "Triathlon_1",
 * "Triathlon_2",
 * "Triathlon_3"
 */
declare function SetExclusiveScenarioGroup(scenarioGroup: string): void;

declare function SetExplosiveAmmoThisFrame(player: number): void;

declare function SetExplosiveMeleeThisFrame(player: number): void;

declare function SetExtraTimecycleModifier(modifierName: string): void;

/**
 * The same as [`SetTimecycleModifierStrength`](#\_0x82E7FFCD5B2326B3) but for the secondary tiemcycle modifier.
 */
declare function SetExtraTimecycleModifierStrength(strength: number): void;
/**
 * The same as [`SetTimecycleModifierStrength`](#\_0x82E7FFCD5B2326B3) but for the secondary tiemcycle modifier.
 */
declare function N_0x2c328af17210f009(strength: number): void;

/**
 * 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
 * ```
 */
declare function SetFacialClipsetOverride(ped: number, animDict: string): void;
/**
 * 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
 * ```
 */
declare function N_0x5687c7f05b39e401(ped: number, animDict: string): void;

declare function SetFacialIdleAnimOverride(ped: number, animName: string, animDict: string): void;

/**
 * Sets whether the game should fade in after the player dies or is arrested.
 */
declare function SetFadeInAfterDeathArrest(toggle: boolean): void;

declare function SetFadeInAfterLoad(toggle: boolean): void;

/**
 * Sets whether the game should fade out after the player is arrested.
 */
declare function SetFadeOutAfterArrest(toggle: boolean): void;

/**
 * Sets whether the game should fade out after the player dies.
 */
declare function SetFadeOutAfterDeath(toggle: boolean): void;

/**
 * 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.
 */
declare function SetFakeWantedLevel(fakeWantedLevel: number): void;

declare function SetFarDrawVehicles(toggle: boolean): void;

declare function SetFireAmmoThisFrame(player: number): void;

/**
 * SET_FIRE_\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function SetFireSpreadRate(p0: number): void;

declare function SetFirstPersonAimCamNearClipThisUpdate(distance: number): void;
declare function N_0x0af7b437918103b3(distance: number): void;
declare function SetFirstPersonCamNearClip(distance: number): void;

declare function SetFirstPersonAimCamZoomFactor(zoomFactor: number): void;
declare function N_0x70894bd0915c5bca(zoomFactor: number): void;

declare function SetFirstPersonCamPitchRange(minAngle: number, maxAngle: number): void;
declare function N_0xbcfc632db7673bf0(minAngle: number, maxAngle: number): void;

/**
 * Purpose of p0 and p1 unknown.
 */
declare function SetFlash(p0: number, p1: number, fadeIn: number, duration: number, fadeOut: number): void;

/**
 * Enables/disables flashlight on ped's weapon.
 * ```
 * NativeDB Introduced: v2060
 * ```
 */
declare function SetFlashLightEnabled(ped: number, toggle: boolean): void;

declare function SetFlashLightFadeDistance(distance: number): number;

/**
 * Allows Weapon-Flashlight beams to stay visible while moving. Normally it only stays on while aiming.
 * @param state On/Off
 */
declare function SetFlashLightKeepOnWhileMoving(state: boolean): void;

declare function SetFloatingHelpTextScreenPosition(hudIndex: number, x: number, y: number): void;
declare function N_0x7679cc1bcebe3d4c(hudIndex: number, x: number, y: number): void;

declare function SetFloatingHelpTextStyle(hudIndex: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;
declare function N_0x788e7fd431bd67f1(hudIndex: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

declare function SetFloatingHelpTextToEntity(hudIndex: number, entity: number, offsetX: number, offsetY: number): void;
declare function N_0xb094bc1db4018240(hudIndex: number, entity: number, offsetX: number, offsetY: number): void;

declare function SetFloatingHelpTextWorldPosition(hudIndex: number, x: number, y: number, z: number): void;
declare function N_0x784ba7e0eceb4178(hudIndex: number, x: number, y: number, z: number): void;

declare function SetFlyCamCoordAndConstrain(cam: number, x: number, y: number, z: number): void;
declare function N_0xc91c6c55199308ca(cam: number, x: number, y: number, z: number): void;

declare function SetFlyCamHorizontalResponse(cam: number, p1: number, p2: number, p3: number): void;
declare function N_0x503f5920162365b2(cam: number, p1: number, p2: number, p3: number): void;

declare function SetFlyCamMaxHeight(cam: number, height: number): void;
declare function N_0xf9d02130ecdd1d77(cam: number, height: number): void;
declare function SetCameraRange(cam: number, height: number): void;

declare function SetFlyCamVerticalSpeedMultiplier(cam: number, p1: number, p2: number, p3: number): void;
declare function N_0xe827b9382cfb41ba(cam: number, p1: number, p2: number, p3: number): void;

/**
 * Sets some in-game parameters which is used for checks is ped needs to fly through windscreen after a crash.
 * @param vehMinSpeed Vehicle minimum speed (default 35.0).
 * @param unkMinSpeed Unknown minimum speed (default 40.0).
 * @param unkModifier Unknown modifier (default 17.0).
 * @param minDamage Minimum damage (default 2000.0).
 * @return A bool indicating if parameters was set successfully.
 */
declare function SetFlyThroughWindscreenParams(vehMinSpeed: number, unkMinSpeed: number, unkModifier: number, minDamage: number): boolean;

/**
 * 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.
 */
declare function SetFocusEntity(entity: number): void;

/**
 * Override the area where the camera will render the terrain.
 * p3, p4 and p5 are usually set to 0.0
 */
declare function SetFocusPosAndVel(x: number, y: number, z: number, offsetX: number, offsetY: number, offsetZ: number): void;
/**
 * Override the area where the camera will render the terrain.
 * p3, p4 and p5 are usually set to 0.0
 */
declare function SetFocusArea(x: number, y: number, z: number, offsetX: number, offsetY: number, offsetZ: number): void;

/**
 * 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);
 */
declare function SetFollowPedCamThisUpdate(camName: string, p1: number): boolean;
/**
 * 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);
 */
declare function SetFollowPedCamCutsceneChat(camName: string, p1: number): boolean;

/**
 * See [`GET_FOLLOW_PED_CAM_VIEW_MODE`](#\_0x8D4D46230B2C353A) for the follow mode enum.
 */
declare function SetFollowPedCamViewMode(viewMode: number): void;

/**
 * NativeDB Introduced: v1365
 * @param seatIndex See [IS_TURRET_SEAT](#\_0xE33FFA906CE74880)
 */
declare function SetFollowTurretSeatCam(seatIndex: number): void;
/**
 * NativeDB Introduced: v1365
 * @param seatIndex See [IS_TURRET_SEAT](#\_0xE33FFA906CE74880)
 */
declare function N_0x5c90cab09951a12f(seatIndex: number): void;

/**
 * See [`GET_FOLLOW_PED_CAM_VIEW_MODE`](#\_0x8D4D46230B2C353A) for the follow mode enum.
 */
declare function SetFollowVehicleCamViewMode(viewMode: number): void;

/**
 * See [`GET_FOLLOW_PED_CAM_VIEW_MODE`](#\_0x8D4D46230B2C353A) for the follow mode enum.
 */
declare function SetFollowVehicleCamZoomLevel(zoomLevel: number): void;

declare function SetForceFootstepUpdate(ped: number, toggle: boolean): void;
declare function N_0x129466ed55140f8d(ped: number, toggle: boolean): void;

declare function SetForceHdVehicle(vehicle: number, toggle: boolean): void;
declare function N_0x97ce68cb032583f0(vehicle: number, toggle: boolean): void;

declare function SetForceObjectThisFrame(x: number, y: number, z: number, p3: number): void;

/**
 * Forces footstep tracks on all surfaces.
 * USE_/USING_*
 */
declare function SetForcePedFootstepsTracks(toggle: boolean): void;

/**
 * NativeDB Introduced: v1180
 */
declare function SetForcePlayerToJump(player: number): void;
/**
 * NativeDB Introduced: v1180
 */
declare function N_0xa1183bcfee0f93d1(player: number): void;

declare function SetForceStepType(ped: number, p1: boolean, _type: number, p3: number): void;
declare function N_0xcb968b53fc7f916d(ped: number, p1: boolean, _type: number, p3: number): void;

/**
 * Forces vehicle trails on all surfaces.
 * USE_/USING_*
 */
declare function SetForceVehicleTrails(toggle: boolean): void;

/**
 * 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?
 */
declare function SetForcedBoatLocationWhenAnchored(vehicle: number, toggle: boolean): void;
/**
 * 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?
 */
declare function N_0xb28b1fe5bfadd7f5(vehicle: number, toggle: boolean): void;

/**
 * 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
 */
declare function SetForkliftForkHeight(vehicle: number, height: number): void;
/**
 * 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
 */
declare function N_0x37ebbf3117bd6a25(vehicle: number, height: number): void;

declare function SetFrontendActive(active: boolean): void;

declare function SetFrontendRadioActive(active: boolean): void;

/**
 * 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
 */
declare function SetGamePaused(toggle: boolean): void;

declare function SetGamePausesForStreaming(toggle: boolean): void;

declare function SetGameplayCamFollowPedThisUpdate(ped: number): void;
declare function N_0x8bbacbf51da047a8(ped: number): void;

/**
 * Sets gameplay camera to hash
 * ```
 * ```
 * NativeDB Introduced: v1180
 */
declare function SetGameplayCamHash(camName: string): void;
/**
 * Sets gameplay camera to hash
 * ```
 * ```
 * NativeDB Introduced: v1180
 */
declare function N_0x425a920fdb9a0dda(camName: string): void;

declare function SetGameplayCamRawPitch(pitch: number): void;

/**
 * Does nothing
 * ```
 * ```
 * NativeDB Added Parameter 2: Any p1
 */
declare function SetGameplayCamRawYaw(yaw: number): void;

/**
 * Sets the camera position relative to heading in float from -360 to +360.
 * Heading is alwyas 0 in aiming camera.
 */
declare function SetGameplayCamRelativeHeading(heading: number): void;

/**
 * This native sets the camera's pitch (rotation on the x-axis).
 * @param angle the angle to rotate the camera by
 * @param scalingFactor always seems to be set to 1.0 in native calls
 */
declare function SetGameplayCamRelativePitch(angle: number, scalingFactor: number): void;

declare function SetGameplayCamRelativeRotation(roll: number, pitch: number, yaw: number): void;
declare function N_0x48608c3464f58ab4(roll: number, pitch: number, yaw: number): void;

/**
 * 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.
 */
declare function SetGameplayCamShakeAmplitude(amplitude: number): void;

/**
 * From b617 scripts:
 * CAM::_21E253A7F8DA5DFB("DINGHY");
 * CAM::_21E253A7F8DA5DFB("ISSI2");
 * CAM::_21E253A7F8DA5DFB("SPEEDO");
 */
declare function SetGameplayCamVehicleCamera(vehicleName: string): void;
/**
 * From b617 scripts:
 * CAM::_21E253A7F8DA5DFB("DINGHY");
 * CAM::_21E253A7F8DA5DFB("ISSI2");
 * CAM::_21E253A7F8DA5DFB("SPEEDO");
 */
declare function N_0x21e253a7f8da5dfb(vehicleName: string): void;

declare function SetGameplayCamVehicleCameraName(vehicleModel: string | number): void;
declare function N_0x11fa5d3479c7dd47(vehicleModel: string | number): void;

declare function SetGameplayCoordHint(x: number, y: number, z: number, duration: number, blendOutDuration: number, blendInDuration: number, unk: number): void;

/**
 * p6 & p7 - possibly length or time
 */
declare function SetGameplayEntityHint(entity: number, xOffset: number, yOffset: number, zOffset: number, p4: boolean, p5: number, p6: number, p7: number, p8: number): void;

declare function SetGameplayHintAnimCloseup(toggle: boolean): void;
declare function GetIsMultiplayerBrief(toggle: boolean): void;
declare function N_0xe3433eadaaf7ee40(toggle: boolean): void;

declare function SetGameplayHintAnimOffsetx(xOffset: number): void;
declare function N_0x5d7b620dae436138(xOffset: number): void;

declare function SetGameplayHintAnimOffsety(yOffset: number): void;
declare function N_0xc92717ef615b6704(yOffset: number): void;

declare function SetGameplayHintBaseOrbitPitchOffset(value: number): void;
declare function N_0xd1f8363dfad03848(value: number): void;
declare function SetGameplayHintAngle(value: number): void;

declare function SetGameplayHintFollowDistanceScalar(value: number): void;
declare function N_0xf8bdbf3d573049a1(value: number): void;
declare function SetGameplayHintAnimOffsetz(value: number): void;

declare function SetGameplayHintFov(FOV: number): void;

declare function SetGameplayObjectHint(p0: number, p1: number, p2: number, p3: number, p4: boolean, p5: number, p6: number, p7: number): void;

declare function SetGameplayPedHint(p0: number, x1: number, y1: number, z1: number, p4: boolean, duration: number, blendOutDuration: number, blendInDuration: number): void;

/**
 * Focuses the camera on the specified vehicle.
 * @param vehicle The vehicle to focus on.
 * @param offsetX Position offset X
 * @param offsetY Position offset Y
 * @param offsetZ Position offset Z
 * @param time Effect duration
 * @param easeInTime Effect fade in duration
 * @param easeOutTime EFfect fade out duration
 */
declare function SetGameplayVehicleHint(vehicle: number, offsetX: number, offsetY: number, offsetZ: number, p4: boolean, time: number, easeInTime: number, easeOutTime: number): void;

declare function SetGarbageTrucks(toggle: boolean): void;

/**
 * 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 A value between 1 and 254. Default: 128
 */
declare function SetGhostedEntityAlpha(alpha: number): void;
/**
 * 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 A value between 1 and 254. Default: 128
 */
declare function N_0x658500ae6d723a7e(alpha: number): void;

/**
 * Birds will try to reach the given height.
 */
declare function SetGlobalMinBirdFlightHeight(height: number): void;

declare function SetGpsActive(active: boolean): void;

declare function SetGpsCustomRouteRender(toggle: boolean, radarThickness: number, mapThickness: number): void;
declare function N_0x900086f371220b6f(toggle: boolean, radarThickness: number, mapThickness: number): void;

declare function SetGpsDisabledZone(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): void;

/**
 * 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 X coordinate of first vector.
 * @param y1 Y coordinate of first vector.
 * @param z1 Z coordinate of first vector.
 * @param x2 X coordinate of second vector.
 * @param y2 Y coordinate of second vector.
 * @param z2 Z coordinate of second vector.
 * @param index Index of zone.
 */
declare function SetGpsDisabledZoneAtIndex(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, index: number): void;
/**
 * 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 X coordinate of first vector.
 * @param y1 Y coordinate of first vector.
 * @param z1 Z coordinate of first vector.
 * @param x2 X coordinate of second vector.
 * @param y2 Y coordinate of second vector.
 * @param z2 Z coordinate of second vector.
 * @param index Index of zone.
 */
declare function N_0xd0bc1c6fb18ee154(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, index: number): void;

/**
 * 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.
 */
declare function SetGpsFlags(p0: number, p1: number): void;

declare function SetGpsFlashes(toggle: boolean): void;

declare function SetGpsMultiRouteRender(toggle: boolean): void;
declare function N_0x3dda37128dd1aca8(toggle: boolean): void;

/**
 * level can be from 0 to 3
 * 0: 9.8
 * 1: 2.4
 * 2: 0.1 - very low
 * 3: 0.0
 */
declare function SetGravityLevel(level: number): void;

/**
 * 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
 */
declare function SetGroupFormation(groupId: number, formationType: number): void;

declare function SetGroupFormationSpacing(groupId: number, p1: number, p2: number, p3: number): void;

/**
 * Sets the range at which members will automatically leave the group.
 */
declare function SetGroupSeparationRange(groupHandle: number, separationRange: number): void;

declare function SetHandleRockstarMessageViaScript(toggle: boolean): void;
declare function N_0xbfa0a56a817c6c7d(toggle: boolean): void;

/**
 * Sets a global handling override for a specific vehicle class. The name is supposed to match the `handlingName` field from handling.meta.
 * Example: `SetHandlingField('AIRTUG', 'CHandlingData', 'fSteeringLock', 360.0)`
 * @param vehicle The vehicle class to set data for.
 * @param class_ The handling class to set. Only "CHandlingData" is supported at this time.
 * @param fieldName The field name to set. These match the keys in `handling.meta`.
 * @param value The value to set.
 */
declare function SetHandlingField(vehicle: string, class_: string, fieldName: string, value: number): void;

/**
 * Sets a global handling override for a specific vehicle class. The name is supposed to match the `handlingName` field from handling.meta.
 * Example: `SetHandlingFloat('AIRTUG', 'CHandlingData', 'fSteeringLock', 360.0)`
 * @param vehicle The vehicle class to set data for.
 * @param class_ The handling class to set. Only "CHandlingData" is supported at this time.
 * @param fieldName The field name to set. These match the keys in `handling.meta`.
 * @param value The floating-point value to set.
 */
declare function SetHandlingFloat(vehicle: string, class_: string, fieldName: string, value: number): void;

/**
 * Sets a global handling override for a specific vehicle class. The name is supposed to match the `handlingName` field from handling.meta.
 * @param vehicle The vehicle class to set data for.
 * @param class_ The handling class to set. Only "CHandlingData" is supported at this time.
 * @param fieldName The field name to set. These match the keys in `handling.meta`.
 * @param value The integer value to set.
 */
declare function SetHandlingInt(vehicle: string, class_: string, fieldName: string, value: number): void;

/**
 * Sets a global handling override for a specific vehicle class. The name is supposed to match the `handlingName` field from handling.meta.
 * Example: `SetHandlingVector('AIRTUG', 'CHandlingData', 'vecCentreOfMassOffset', vector3(0.0, 0.0, -5.0))`
 * @param vehicle The vehicle class to set data for.
 * @param class_ The handling class to set. Only "CHandlingData" is supported at this time.
 * @param fieldName The field name to set. These match the keys in `handling.meta`.
 * @param value The Vector3 value to set.
 */
declare function SetHandlingVector(vehicle: string, class_: string, fieldName: string): void;

/**
 * Sets profile setting 866
 * SET_*
 */
declare function SetHasContentUnlocksFlags(value: number): void;
/**
 * Sets profile setting 866
 * SET_*
 */
declare function N_0xdac073c7901f9e15(value: number): void;

declare function SetHdArea(x: number, y: number, z: number, radius: number): void;

/**
 * Preview: https://gfycat.com/MaleRareAmazonparrot
 * @param id From 0 to 3.
 */
declare function SetHeadBlendPaletteColor(ped: number, r: number, g: number, b: number, id: number): void;
/**
 * Preview: https://gfycat.com/MaleRareAmazonparrot
 * @param id From 0 to 3.
 */
declare function N_0xcc9682b8951c5229(ped: number, r: number, g: number, b: number, id: number): void;

declare function SetHealthHudDisplayValues(health: number, capacity: number, wasAdded: boolean): void;
declare function N_0x3f5cc444dcaaa8f2(health: number, capacity: number, wasAdded: boolean): void;

/**
 * Equivalent of SET_HELI_BLADES_SPEED(vehicleHandle, 1.0f);
 * this native works on planes to?
 */
declare function SetHeliBladesFullSpeed(vehicle: number): void;

/**
 * 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%.
 */
declare function SetHeliBladesSpeed(vehicle: number, speed: number): void;

declare function SetHeliMainRotorHealth(vehicle: number, health: number): void;
declare function N_0x4056ea1105f5abd7(vehicle: number, health: number): void;

declare function SetHeliTailExplodeThrowDashboard(vehicle: number, p1: boolean): void;
declare function WasCounterActivated(vehicle: number, p1: boolean): void;
declare function N_0x3ec8bf18aa453fe9(vehicle: number, p1: boolean): void;

declare function SetHeliTailRotorHealth(vehicle: number, health: number): void;
declare function N_0xfe205f38aaa58e5b(vehicle: number, health: number): void;

declare function SetHeliTurbulenceScalar(vehicle: number, p1: number): void;
declare function N_0xe6f13851780394da(vehicle: number, p1: number): void;

/**
 * value between 0.0 and 1.0
 */
declare function SetHelicopterRollPitchYawMult(helicopter: number, multiplier: number): void;

declare function SetHelpMessageTextStyle(style: number, hudColor: number, alpha: number, p3: number, p4: number): void;
declare function N_0xb9c362babecddc7a(style: number, hudColor: number, alpha: number, p3: number, p4: number): void;

declare function SetHidofOverride(p0: boolean, p1: boolean, nearplaneOut: number, nearplaneIn: number, farplaneOut: number, farplaneIn: number): void;
declare function N_0xba3d65906822bed5(p0: boolean, p1: boolean, nearplaneOut: number, nearplaneIn: number, farplaneOut: number, farplaneIn: number): void;
declare function SetHidofEnvBlurParams(p0: boolean, p1: boolean, nearplaneOut: number, nearplaneIn: number, farplaneOut: number, farplaneIn: number): void;

declare function SetHighFallTask(ped: number, duration: number, p2: number, p3: number): void;

declare function SetHornEnabled(vehicle: number, toggle: boolean): void;

declare function SetHudComponentPosition(id: number, x: number, y: number): void;

declare function SetHydraulicRaised(vehicle: number, toggle: boolean): void;
declare function N_0x28b18377eb6e25f6(vehicle: number, toggle: boolean): void;

declare function SetHydraulicWheelState(vehicle: number, state: number): void;
declare function N_0x8ea86df356801c7d(vehicle: number, state: number): void;

/**
 * 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
 */
declare function SetHydraulicWheelStateTransition(vehicle: number, wheelId: number, state: number, value: number, p4: number): void;
/**
 * 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
 */
declare function N_0xc24075310a8b9cd1(vehicle: number, wheelId: number, state: number, value: number, p4: number): void;

/**
 * Works only on vehicles that support hydraulic.
 */
declare function SetHydraulicWheelValue(vehicle: number, wheelId: number, value: number): void;
/**
 * Works only on vehicles that support hydraulic.
 */
declare function N_0x84ea99c62cb3ef0c(vehicle: number, wheelId: number, value: number): void;
/**
 * Works only on vehicles that support hydraulic.
 */
declare function SetHydraulicState(vehicle: number, wheelId: number, value: number): void;

declare function SetIgnoreLowPriorityShockingEvents(player: number, toggle: boolean): void;

declare function SetIgnoreNoGpsFlag(toggle: boolean): void;

/**
 * See: SET_BLIP_ROUTE
 */
declare function SetIgnoreSecondaryRouteNodes(toggle: boolean): void;
/**
 * See: SET_BLIP_ROUTE
 */
declare function N_0x1fc289a0c3ff470f(toggle: boolean): void;

declare function SetIkTarget(ped: number, ikIndex: number, entityLookAt: number, boneLookAt: number, offsetX: number, offsetY: number, offsetZ: number, p7: number, blendInDuration: number, blendOutDuration: number): void;

declare function SetInVehicleCamStateThisUpdate(p0: number, p1: number): void;
declare function N_0xe9ea16d6e54cdca4(p0: number, p1: number): void;

declare function SetIncidentRequestedUnits(incidentId: number, dispatchService: number, numUnits: number): void;
declare function N_0xb08b85d860e7ba3c(incidentId: number, dispatchService: number, numUnits: number): void;

/**
 * SET_INCIDENT_*
 */
declare function SetIncidentUnk(incidentId: number, p1: number): void;
/**
 * SET_INCIDENT_*
 */
declare function N_0xd261ba3e7e998072(incidentId: number, p1: number): void;

declare function SetInitialPlayerStation(radioStation: string): void;

declare function SetInputExclusive(padIndex: number, control: number): void;

/**
 * Sets an unknown flag used by CScene in determining which entities from CMapData scene nodes to draw, similar to SET_INSTANCE_PRIORITY_MODE.
 */
declare function SetInstancePriorityHint(flag: number): void;
/**
 * Sets an unknown flag used by CScene in determining which entities from CMapData scene nodes to draw, similar to SET_INSTANCE_PRIORITY_MODE.
 */
declare function SetUnkMapFlag(flag: number): void;

/**
 * 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 toggles the instance priority mode
 */
declare function SetInstancePriorityMode(toggle: number): void;
/**
 * 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 toggles the instance priority mode
 */
declare function EnableMpDlcMaps(toggle: number): void;
/**
 * 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 toggles the instance priority mode
 */
declare function UseFreemodeMapBehavior(toggle: number): void;
/**
 * 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 toggles the instance priority mode
 */
declare function LowerMapPropDensity(toggle: number): void;

declare function SetInteriorActive(interiorID: number, toggle: boolean): void;

declare function SetInteriorEntitySetColor(interior: number, entitySetName: string, color: number): void;
declare function SetInteriorPropColor(interior: number, entitySetName: string, color: number): void;

declare function SetInteriorPortalCornerPosition(interiorId: number, portalIndex: number, cornerIndex: number, posX: number, posY: number, posZ: number): void;

declare function SetInteriorPortalEntityFlag(interiorId: number, portalIndex: number, entityIndex: number, flag: number): void;

declare function SetInteriorPortalFlag(interiorId: number, portalIndex: number, flag: number): void;

declare function SetInteriorPortalRoomFrom(interiorId: number, portalIndex: number, roomFrom: number): void;

declare function SetInteriorPortalRoomTo(interiorId: number, portalIndex: number, roomTo: number): void;

declare function SetInteriorRoomExtents(interiorId: number, roomIndex: number, bbMinX: number, bbMinY: number, bbMinZ: number, bbMaxX: number, bbMaxY: number, bbMaxZ: number): void;

declare function SetInteriorRoomFlag(interiorId: number, roomIndex: number, flag: number): void;

declare function SetInteriorRoomTimecycle(interiorId: number, roomIndex: number, timecycleHash: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function SetInteriorZoomLevelDecreased(toggle: boolean): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x7ec8aba5e74b3d7a(toggle: boolean): void;

/**
 * NativeDB Introduced: v1493
 */
declare function SetInteriorZoomLevelIncreased(toggle: boolean): void;
/**
 * NativeDB Introduced: v1493
 */
declare function N_0x504dfe62a1692296(toggle: boolean): void;

/**
 * Enables the specified island. For more information, see islandhopper.meta
 * ```
 * NativeDB Introduced: v2189
 * ```
 */
declare function SetIslandHopperEnabled(name: string, toggle: boolean): void;

declare function SetLastDrivenVehicle(vehicle: number): void;
declare function N_0xacfb2463cc22bed2(vehicle: number): void;

/**
 * Related to the lower-end of a vehicles fTractionCurve, e.g., from standing starts and acceleration from low/zero speeds.
 * ```
 * NativeDB Introduced: v1604
 * ```
 */
declare function SetLaunchControlEnabled(toggle: boolean): void;
/**
 * Related to the lower-end of a vehicles fTractionCurve, e.g., from standing starts and acceleration from low/zero speeds.
 * ```
 * NativeDB Introduced: v1604
 * ```
 */
declare function N_0xaa6a6098851c396f(toggle: boolean): void;

declare function SetLightsCutoffDistanceTweak(distance: number): void;
declare function N_0xbc3cca5844452b06(distance: number): void;

/**
 * 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
 * ```
 */
declare function SetLocalPlayerAsGhost(toggle: boolean): void;

declare function SetLocalPlayerCanCollectPortablePickups(p0: boolean): void;
declare function N_0x78857fc65cadb909(p0: boolean): void;

/**
 * Maximum amount of pickup models that can be disallowed is 30.
 * SET_LOCAL_PLAYER_*
 */
declare function SetLocalPlayerCanUsePickupsWithThisModel(modelHash: string | number, toggle: boolean): void;
/**
 * Maximum amount of pickup models that can be disallowed is 30.
 * SET_LOCAL_PLAYER_*
 */
declare function N_0x88eaec617cd26926(modelHash: string | number, toggle: boolean): void;

declare function SetLocalPlayerInvisibleLocally(p0: boolean): void;

declare function SetLocalPlayerVisibleInCutscene(p0: boolean, p1: boolean): void;

declare function SetLocalPlayerVisibleLocally(p0: boolean): void;

declare function SetMainPlayerBlipColour(color: number): void;
declare function N_0x7b21e0bb01e8224a(color: number): void;

/**
 * Sets whether or not `SHUTDOWN_LOADING_SCREEN` automatically shuts down the NUI frame for the loading screen. If this is enabled,
 * you will have to manually invoke `SHUTDOWN_LOADING_SCREEN_NUI` whenever you want to hide the NUI loading screen.
 * @param manualShutdown TRUE to manually shut down the loading screen NUI.
 */
declare function SetManualShutdownLoadingScreenNui(manualShutdown: boolean): void;

/**
 * Sets values to the zoom level data by index.
 * @param index Zoom level index.
 * @param zoomScale fZoomScale value.
 * @param zoomSpeed fZoomSpeed value.
 * @param scrollSpeed fScrollSpeed value.
 * @param tilesX vTiles X.
 * @param tilesY vTiles Y.
 */
declare function SetMapZoomDataLevel(index: number, zoomScale: number, zoomSpeed: number, scrollSpeed: number, tilesX: number, tilesY: number): void;

/**
 * Possible p0 values:
 * "prologue"
 * "Prologue_Main"
 */
declare function SetMapdatacullboxEnabled(name: string, toggle: boolean): void;
/**
 * Possible p0 values:
 * "prologue"
 * "Prologue_Main"
 */
declare function N_0xaf12610c644a35c9(name: string, toggle: boolean): void;

declare function SetMaxArmourHudDisplay(maximumValue: number): void;
declare function N_0x06a320535f5f0248(maximumValue: number): void;

declare function SetMaxHealthHudDisplay(maximumValue: number): void;
declare function N_0x975d66a0bc17064c(maximumValue: number): void;

declare function SetMaxNumPortablePickupsCarriedByPlayer(modelHash: string | number, p1: number): void;
declare function N_0x0bf3b3bd47d79c08(modelHash: string | number, p1: number): void;

declare function SetMaxWantedLevel(maxWantedLevel: number): void;

/**
 * If this is the correct name, what microphone? I know your TV isn't going to reach out and adjust your headset so..
 */
declare function SetMicrophonePosition(p0: boolean, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, x3: number, y3: number, z3: number): void;

/**
 * Overrides how many real ms are equal to one game minute.
 * A setter for [`GetMillisecondsPerGameMinute`](#\_0x2F8B4D1C595B11DB).
 * @param value Milliseconds.
 */
declare function SetMillisecondsPerGameMinute(value: number): void;

declare function SetMinigameInProgress(toggle: boolean): void;

/**
 * Argument must be 0.0f or above 38.0f, or it will be ignored.
 * ```
 * ```
 * NativeDB Added Parameter 3: Any p2
 */
declare function SetMinimapAltitudeIndicatorLevel(altitude: number, p1: boolean): void;
/**
 * Argument must be 0.0f or above 38.0f, or it will be ignored.
 * ```
 * ```
 * NativeDB Added Parameter 3: Any p2
 */
declare function SetMinimapAttitudeIndicatorLevel(altitude: number, p1: boolean): void;

declare function SetMinimapBlockWaypoint(toggle: boolean): void;

/**
 * Sets the type for the minimap blip clipping object to be either rectangular or rounded.
 * @param type 0 for rectangular, 1 for rounded.
 */
declare function SetMinimapClipType(_type: number): void;

/**
 * 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 The component ID to change.
 * @param toggle True to enable the color, false to disable the effect.
 * @param hudColor The hudcolor index.
 */
declare function SetMinimapComponent(componentID: number, toggle: boolean, hudColor: number): number;

/**
 * Overrides the minimap component data (from `common:/data/ui/frontend.xml`) for a specified component.
 * @param name The name of the minimap component to override.
 * @param alignX Equivalent to the `alignX` field in `frontend.xml`.
 * @param alignY Equivalent to the `alignY` field in `frontend.xml`.
 * @param posX Equivalent to the `posX` field in `frontend.xml`.
 * @param posY Equivalent to the `posY` field in `frontend.xml`.
 * @param sizeX Equivalent to the `sizeX` field in `frontend.xml`.
 * @param sizeY Equivalent to the `sizeY` field in `frontend.xml`.
 */
declare function SetMinimapComponentPosition(name: string, alignX: string, alignY: string, posX: number, posY: number, sizeX: number, sizeY: number): void;

declare function SetMinimapFowRevealCoordinate(x: number, y: number, z: number): void;
declare function N_0x0923dbf87dff735e(x: number, y: number, z: number): void;

/**
 * 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 The ID of the hole to draw on the map. ID starts with 1 for hole 1, 2 for hole 2, etc. 0 disables the golf map behaviour.
 */
declare function SetMinimapGolfCourse(hole: number): void;
/**
 * 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 The ID of the hole to draw on the map. ID starts with 1 for hole 1, 2 for hole 2, etc. 0 disables the golf map behaviour.
 */
declare function N_0x71bdb63dbaf8da59(hole: number): void;

declare function SetMinimapGolfCourseOff(): void;
declare function N_0x35edd5b2e3ff01c0(): void;

/**
 * If true, the entire map will be revealed.
 */
declare function SetMinimapHideFow(toggle: boolean): void;
/**
 * If true, the entire map will be revealed.
 */
declare function N_0xf8dee0a5600cbb93(toggle: boolean): void;
/**
 * If true, the entire map will be revealed.
 */
declare function SetMinimapRevealed(toggle: boolean): void;

/**
 * Toggles the North Yankton map
 */
declare function SetMinimapInPrologue(toggle: boolean): void;
/**
 * Toggles the North Yankton map
 */
declare function SetDrawMapVisible(toggle: boolean): void;
/**
 * Toggles the North Yankton map
 */
declare function SetNorthYanktonMap(toggle: boolean): void;

declare function SetMinimapInSpectatorMode(toggle: boolean, ped: number): void;
declare function KeyHudColour(toggle: boolean, ped: number): void;

/**
 * Sets the display info for a minimap overlay.
 * @param miniMap The minimap overlay ID.
 * @param x The X position for the overlay. This is equivalent to a game coordinate X.
 * @param y The Y position for the overlay. This is equivalent to a game coordinate Y, except that it's inverted (gfxY = -gameY).
 * @param xScale The X scale for the overlay. This is equivalent to the Flash \_xscale property, therefore 100 = 100%.
 * @param yScale The Y scale for the overlay. This is equivalent to the Flash \_yscale property.
 * @param alpha The alpha value for the overlay. This is equivalent to the Flash \_alpha property, therefore 100 = 100%.
 */
declare function SetMinimapOverlayDisplay(miniMap: number, x: number, y: number, xScale: number, yScale: number, alpha: number): void;

/**
 * NativeDB Introduced: v2189
 */
declare function SetMinimapSonarEnabled(toggle: boolean): void;

/**
 * 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
 */
declare function SetMissionFlag(toggle: boolean): void;

declare function SetMissionName(p0: boolean, name: string): void;

declare function SetMissionName_2(p0: boolean, name: string): void;
declare function N_0xe45087d85f468bc2(p0: boolean, name: string): void;

/**
 * p1 is always 0
 */
declare function SetMissionTrainAsNoLongerNeeded(p1: boolean): number;

declare function SetMissionTrainCoords(train: number, x: number, y: number, z: number): void;

declare function SetMobilePhonePosition(posX: number, posY: number, posZ: number): void;

declare function SetMobilePhoneRadioState(state: boolean): void;

/**
 * Last parameter is unknown and always zero.
 */
declare function SetMobilePhoneRotation(rotX: number, rotY: number, rotZ: number, p3: number): void;

/**
 * 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.
 */
declare function SetMobilePhoneScale(scale: number): void;

declare function SetMobilePhoneUnk(toggle: boolean): void;
declare function N_0x375a706a5c2fd084(toggle: boolean): void;

declare function SetMobileRadioEnabledDuringGameplay(toggle: boolean): void;

/**
 * Unloads model from memory
 */
declare function SetModelAsNoLongerNeeded(model: string | number): void;

declare function SetModelHeadlightConfiguration(modelHash: string | number, ratePerSecond: number, headlightRotation: number, invertRotation: boolean): void;

/**
 * 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
 */
declare function SetMountedWeaponTarget(shootingPed: number, targetPed: number, targetVehicle: number, x: number, y: number, z: number): void;

/**
 * Shows the cursor on screen for one frame.
 */
declare function SetMouseCursorActiveThisFrame(): void;
/**
 * Shows the cursor on screen for one frame.
 */
declare function ShowCursorThisFrame(): void;

/**
 * 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,
 * }
 */
declare function SetMouseCursorSprite(spriteId: number): void;
/**
 * 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,
 * }
 */
declare function N_0x8db8cffd58b62552(spriteId: number): void;
/**
 * 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,
 * }
 */
declare function SetCursorSprite(spriteId: number): void;

/**
 * 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 Set to false to disable the cursor, true to enable it.
 */
declare function SetMouseCursorVisibleInMenus(enable: boolean): void;
/**
 * 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 Set to false to disable the cursor, true to enable it.
 */
declare function N_0x98215325a695e78a(enable: boolean): void;

/**
 * name: "MP_FEMALE_ACTION" found multiple times in the b617d scripts.
 */
declare function SetMovementModeOverride(ped: number, name: string): void;
/**
 * name: "MP_FEMALE_ACTION" found multiple times in the b617d scripts.
 */
declare function N_0x781de8fa214e87d2(ped: number, name: string): void;

/**
 * Sets flag's sprite transparency. 0-255.
 */
declare function SetMpGamerTagAlpha(gamerTagId: number, component: number, alpha: number): void;
/**
 * Sets flag's sprite transparency. 0-255.
 */
declare function N_0xd48fe545cd46f857(gamerTagId: number, component: number, alpha: number): void;

declare function SetMpGamerTagBigText(gamerTagId: number, _string: string): void;
declare function N_0x7b7723747ccb55b6(gamerTagId: number, _string: string): void;
declare function SetMpGamerTagChatting(gamerTagId: number, _string: string): void;

/**
 * Sets a gamer tag's component colour
 * @param gamerTagId a gamerTagId obtained using  for example: [`CREATE_FAKE_MP_GAMER_TAG`](#\_0xBFEFE3321A3F5015).
 * @param component a component id, see the full list here: [link](https://docs.fivem.net/docs/game-references/gamer-tags/#components-list)
 * @param hudColorIndex a hud color index, see the full list here: [link](https://docs.fivem.net/docs/game-references/hud-colors/)
 */
declare function SetMpGamerTagColour(gamerTagId: number, component: number, hudColorIndex: number): void;
/**
 * Sets a gamer tag's component colour
 * @param gamerTagId a gamerTagId obtained using  for example: [`CREATE_FAKE_MP_GAMER_TAG`](#\_0xBFEFE3321A3F5015).
 * @param component a component id, see the full list here: [link](https://docs.fivem.net/docs/game-references/gamer-tags/#components-list)
 * @param hudColorIndex a hud color index, see the full list here: [link](https://docs.fivem.net/docs/game-references/hud-colors/)
 */
declare function N_0x613ed644950626ae(gamerTagId: number, component: number, hudColorIndex: number): void;

/**
 * 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 toggle If player health synchronisation should be disabled.
 */
declare function SetMpGamerTagDisablePlayerHealthSync(gamerTagId: number, toggle: boolean): void;
/**
 * 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 toggle If player health synchronisation should be disabled.
 */
declare function N_0xd29ec58c2f6b5014(gamerTagId: number, toggle: boolean): void;
/**
 * 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 toggle If player health synchronisation should be disabled.
 */
declare function SetMpGamerHealthBarDisplay(gamerTagId: number, toggle: boolean): void;

/**
 * Should be enabled as component (2). Has 0 alpha by default.
 * @param gamerTagId a gamerTagId obtained using  for example: [CREATE_FAKE_MP_GAMER_TAG](https://runtime.fivem.net/doc/natives/?\_0xBFEFE3321A3F5015)
 * @param hudColorIndex a hud color index, see the full list here: [link](pastebin.com/d9aHPbXN)
 */
declare function SetMpGamerTagHealthBarColour(gamerTagId: number, hudColorIndex: number): void;
/**
 * Should be enabled as component (2). Has 0 alpha by default.
 * @param gamerTagId a gamerTagId obtained using  for example: [CREATE_FAKE_MP_GAMER_TAG](https://runtime.fivem.net/doc/natives/?\_0xBFEFE3321A3F5015)
 * @param hudColorIndex a hud color index, see the full list here: [link](pastebin.com/d9aHPbXN)
 */
declare function N_0x3158c77a7e888ab4(gamerTagId: number, hudColorIndex: number): void;
/**
 * Should be enabled as component (2). Has 0 alpha by default.
 * @param gamerTagId a gamerTagId obtained using  for example: [CREATE_FAKE_MP_GAMER_TAG](https://runtime.fivem.net/doc/natives/?\_0xBFEFE3321A3F5015)
 * @param hudColorIndex a hud color index, see the full list here: [link](pastebin.com/d9aHPbXN)
 */
declare function SetMpGamerTagHealthBarColor(gamerTagId: number, hudColorIndex: number): void;

/**
 * displays wanted star above head
 */
declare function SetMpGamerTagMpBagLargeCount(gamerTagId: number, count: number): void;
/**
 * displays wanted star above head
 */
declare function N_0x9b9aa95688f78dd3(gamerTagId: number, count: number): void;
/**
 * displays wanted star above head
 */
declare function SetMpGamerTagUnk(gamerTagId: number, count: number): void;

declare function SetMpGamerTagName(gamerTagId: number, _string: string): void;
declare function N_0xdea2b8283baa3944(gamerTagId: number, _string: string): void;

/**
 * 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 health The amount the health the player has.
 * @param maximumHealth The maximum amount of health the player could have.
 */
declare function SetMpGamerTagOverridePlayerHealth(gamerTagId: number, health: number, maximumHealth: number): void;
/**
 * 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 health The amount the health the player has.
 * @param maximumHealth The maximum amount of health the player could have.
 */
declare function N_0x1563fe35e9928e67(gamerTagId: number, health: number, maximumHealth: number): void;
/**
 * 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 health The amount the health the player has.
 * @param maximumHealth The maximum amount of health the player could have.
 */
declare function SetMpGamerHealthBarMax(gamerTagId: number, health: number, maximumHealth: number): void;

/**
 * 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 toggle If vehicle health should be displayed instead of player health.
 */
declare function SetMpGamerTagUseVehicleHealth(gamerTagId: number, toggle: boolean): void;
/**
 * 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 toggle If vehicle health should be displayed instead of player health.
 */
declare function N_0xa67f9c46d612b6f1(gamerTagId: number, toggle: boolean): void;
/**
 * 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 toggle If vehicle health should be displayed instead of player health.
 */
declare function SetMpGamerTagIcons(gamerTagId: number, toggle: boolean): void;

/**
 * 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
 */
declare function SetMpGamerTagVisibility(gamerTagId: number, component: number, toggle: boolean): void;
/**
 * 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
 */
declare function N_0x63bb75abedc1f6a0(gamerTagId: number, component: number, toggle: boolean): void;

/**
 * Sets the visibility of all components of the gamer tag to the specified value.
 * @param toggle The new visibility state of all gamer tag components.
 */
declare function SetMpGamerTagVisibilityAll(gamerTagId: number, toggle: boolean): void;
/**
 * Sets the visibility of all components of the gamer tag to the specified value.
 * @param toggle The new visibility state of all gamer tag components.
 */
declare function N_0xee76ff7e6a0166b0(gamerTagId: number, toggle: boolean): void;
/**
 * Sets the visibility of all components of the gamer tag to the specified value.
 * @param toggle The new visibility state of all gamer tag components.
 */
declare function SetMpGamerTag_(gamerTagId: number, toggle: boolean): void;
/**
 * Sets the visibility of all components of the gamer tag to the specified value.
 * @param toggle The new visibility state of all gamer tag components.
 */
declare function SetMpGamerTag(gamerTagId: number, toggle: boolean): void;
/**
 * Sets the visibility of all components of the gamer tag to the specified value.
 * @param toggle The new visibility state of all gamer tag components.
 */
declare function SetMpGamerTagEnabled(gamerTagId: number, toggle: boolean): void;

/**
 * displays wanted star above head
 */
declare function SetMpGamerTagWantedLevel(gamerTagId: number, wantedlvl: number): void;
/**
 * displays wanted star above head
 */
declare function N_0xcf228e2aa03099c3(gamerTagId: number, wantedlvl: number): void;

/**
 * Sets whether all tags should group (normal game behavior) or should remain independent and above each ped's respective head when in a vehicle.
 * @param enabled Whether tags should use normal game behavior. Default is true.
 */
declare function SetMpGamerTagsUseVehicleBehavior(enabled: boolean): void;

/**
 * Sets the maximum distance at which all tags will be visible and which beyond will not be displayed. Distance is measured from the camera position.
 * @param distance The visible distance. Default is 100.0f.
 */
declare function SetMpGamerTagsVisibleDistance(distance: number): void;

/**
 * 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.
 */
declare function SetMultiplayerBankCash(): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function SetMultiplayerHudCash(p0: number, p1: number): void;

/**
 * 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.
 */
declare function SetMultiplayerWalletCash(): void;
/**
 * 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.
 */
declare function N_0xc2d15bef167e27bc(): void;

declare function SetNetworkCutsceneEntities(toggle: boolean): void;
declare function N_0xaaa553e7dd28a457(toggle: boolean): void;

/**
 * Enables a periodic ShapeTest within the NetBlender and invokes rage::netBlenderLinInterp::GoStraightToTarget (or some functional wrapper).
 */
declare function SetNetworkEnableVehiclePositionCorrection(vehicle: number, toggle: boolean): void;
/**
 * Enables a periodic ShapeTest within the NetBlender and invokes rage::netBlenderLinInterp::GoStraightToTarget (or some functional wrapper).
 */
declare function N_0x838da0936a24ed4d(vehicle: number, toggle: boolean): void;

declare function SetNetworkIdAlwaysExistsForPlayer(netId: number, player: number, toggle: boolean): void;
declare function N_0xa8a024587329f36a(netId: number, player: number, toggle: boolean): void;
declare function SetNetworkIdSyncToPlayer(netId: number, player: number, toggle: boolean): void;

/**
 * Whether or not another player is allowed to take control of the entity
 */
declare function SetNetworkIdCanMigrate(netId: number, toggle: boolean): void;

declare function SetNetworkIdExistsOnAllMachines(netId: number, toggle: boolean): void;

declare function SetNetworkIdVisibleInCutscene(netId: number, p1: boolean, p2: boolean): void;

declare function SetNetworkVehicleAsGhost(vehicle: number, toggle: boolean): void;
declare function N_0x6274c4712850841e(vehicle: number, toggle: boolean): void;
declare function SetNetworkObjectNonContact(vehicle: number, toggle: boolean): void;

/**
 * rage::netBlenderLinInterp::GetPositionMaxForUpdateLevel
 */
declare function SetNetworkVehiclePositionUpdateMultiplier(vehicle: number, multiplier: number): void;
/**
 * rage::netBlenderLinInterp::GetPositionMaxForUpdateLevel
 */
declare function N_0xa2a707979fe754dc(vehicle: number, multiplier: number): void;
/**
 * rage::netBlenderLinInterp::GetPositionMaxForUpdateLevel
 */
declare function SetNetworkVehicleBlenderDistanceMultiplier(vehicle: number, multiplier: number): void;

/**
 * NativeDB Added Parameter 3: Any p2
 * NativeDB Added Parameter 4: Any p3
 */
declare function SetNetworkVehicleRespotTimer(netId: number, time: number): void;

declare function SetNewWaypoint(x: number, y: number): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function SetNextDesiredMoveState(p0: number): void;

declare function SetNextPlayerTcmodifier(modifierName: string): void;
declare function N_0xbf59707b3e5ed531(modifierName: string): void;

/**
 * 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.
 */
declare function SetNightvision(toggle: boolean): void;

declare function SetNoLoadingScreen(toggle: boolean): void;

declare function SetNoiseoveride(toggle: boolean): void;

declare function SetNoisinessoveride(value: number): void;

declare function SetNuiFocus(hasFocus: boolean, hasCursor: boolean): void;

declare function SetNuiFocusKeepInput(keepInput: boolean): void;

declare function SetNumberOfParkedVehicles(value: number): void;

/**
 * Overrides the climbing/blocking flags of the object, used in the native scripts mostly for "prop_dock_bouy_*"
 */
declare function SetObjectAllowLowLodBuoyancy(object: number, toggle: boolean): void;
/**
 * Overrides the climbing/blocking flags of the object, used in the native scripts mostly for "prop_dock_bouy_*"
 */
declare function N_0x4d89d607cb3dd1d2(object: number, toggle: boolean): void;
/**
 * Overrides the climbing/blocking flags of the object, used in the native scripts mostly for "prop_dock_bouy_*"
 */
declare function SetObjectCanClimbOn(object: number, toggle: boolean): void;

/**
 * This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.
 */
declare function SetObjectAsNoLongerNeeded(object: number): void;

/**
 * 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.
 */
declare function SetObjectForceVehiclesToAvoid(object: number, toggle: boolean): void;
/**
 * 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.
 */
declare function N_0x77f33f2ccf64b3aa(object: number, toggle: boolean): void;
/**
 * 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.
 */
declare function SetObjectSomething(object: number, toggle: boolean): void;

/**
 * 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
 * ```
 */
declare function SetObjectLightColor(object: number, p1: boolean, r: number, g: number, b: number): number;

/**
 * rage::phArchetypeDamp
 * p9: Some phBoundGeometry margin value, limited to (0.0, 0.1) exclusive.
 */
declare function SetObjectPhysicsParams(object: number, mass: number, gravityFactor: number, linearC: number, linearV: number, linearV2: number, angularC: number, angularV: number, angularV2: number, p9: number, maxAngSpeed: number, buoyancyFactor: number): void;

declare function SetObjectStuntPropDuration(object: number, duration: number): void;
declare function N_0xdf6ca0330f2e737b(object: number, duration: number): void;

/**
 * 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 A Speed Boost or Slow Down prop
 * @param intensity Ranges from `1`-`254`, other values are ignored. Higher values will increase the effect of Speed Boosts and decrease the effect of Slow Downs.
 */
declare function SetObjectStuntPropSpeedup(object: number, intensity: number): void;
/**
 * 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 A Speed Boost or Slow Down prop
 * @param intensity Ranges from `1`-`254`, other values are ignored. Higher values will increase the effect of Speed Boosts and decrease the effect of Slow Downs.
 */
declare function N_0x96ee0eba0163df80(object: number, intensity: number): void;

declare function SetObjectTargettable(object: number, targettable: boolean): void;

/**
 * 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
 * };
 */
declare function SetObjectTextureVariation(object: number, textureVariation: number): void;
/**
 * 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
 * };
 */
declare function N_0x971da0055324d033(object: number, textureVariation: number): void;
/**
 * 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
 * };
 */
declare function SetObjectTextureVariant(object: number, textureVariation: number): void;

/**
 * Set state to true to extend the wings, false to retract them.
 * @param vehicle The vehicle (tested with oppressor only)
 * @param extend Set to true to extend the wings, false to retract them.
 */
declare function SetOppressorTransformState(vehicle: number, extend: boolean): void;
/**
 * Set state to true to extend the wings, false to retract them.
 * @param vehicle The vehicle (tested with oppressor only)
 * @param extend Set to true to extend the wings, false to retract them.
 */
declare function N_0x544996c0081abdeb(vehicle: number, extend: boolean): void;

/**
 * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
 */
declare function SetOverrideWeather(weatherType: string): void;

/**
 * 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);
 */
declare function SetPadShake(padIndex: number, duration: number, frequency: number): void;

declare function SetParachuteTaskTarget(ped: number, x: number, y: number, z: number): void;

declare function SetParachuteTaskThrust(ped: number, thrust: number): void;

declare function SetParkedVehicleDensityMultiplierThisFrame(multiplier: number): void;

declare function SetParticleFxBulletImpactScale(scale: number): void;
declare function N_0x27e32866e9a5c416(scale: number): void;

declare function SetParticleFxCamInsideNonplayerVehicle(vehicle: number, p1: boolean): void;

declare function SetParticleFxCamInsideVehicle(p0: boolean): void;

declare function SetParticleFxLoopedAlpha(ptfxHandle: number, alpha: number): void;

/**
 * only works on some fx's
 * p4 = 0
 */
declare function SetParticleFxLoopedColour(ptfxHandle: number, r: number, g: number, b: number, p4: boolean): void;

declare function SetParticleFxLoopedEvolution(ptfxHandle: number, propertyName: string, amount: number, noNetwork: boolean): void;

declare function SetParticleFxLoopedFarClipDist(ptfxHandle: number, range: number): void;
declare function SetParticleFxLoopedRange(ptfxHandle: number, range: number): void;

declare function SetParticleFxLoopedOffsets(ptfxHandle: number, x: number, y: number, z: number, rotX: number, rotY: number, rotZ: number): void;

declare function SetParticleFxLoopedScale(ptfxHandle: number, scale: number): void;

/**
 * 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 !
 */
declare function SetParticleFxNonLoopedAlpha(alpha: number): void;

/**
 * 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 Red (0.0 - 1.0)
 * @param g Green (0.0 - 1.0)
 * @param b Blue (0.0 - 1.0)
 */
declare function SetParticleFxNonLoopedColour(r: number, g: number, b: number): void;

/**
 * NativeDB Introduced: v2699
 */
declare function SetParticleFxNonLoopedEmitterScale(p0: number, p1: number, scale: number): void;

declare function SetParticleFxOverride(oldAsset: string, newAsset: string): void;
declare function SetPtfxAssetOld_2New(oldAsset: string, newAsset: string): void;
declare function SetParticleFxAssetOldToNew(oldAsset: string, newAsset: string): void;

declare function SetParticleFxShootoutBoat(p0: number): void;

declare function SetPauseMenuActive(toggle: boolean): void;

/**
 * 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 True enables the light, false disables the light.
 */
declare function SetPauseMenuPedLighting(state: boolean): void;
/**
 * 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 True enables the light, false disables the light.
 */
declare function N_0x3ca6050692bc61b0(state: boolean): void;

/**
 * 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 0 will make the ped slowly fall asleep, 1 will slowly wake the ped up.
 */
declare function SetPauseMenuPedSleepState(state: boolean): void;
/**
 * 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 0 will make the ped slowly fall asleep, 1 will slowly wake the ped up.
 */
declare function N_0xecf128344e9ff9f1(state: boolean): void;

/**
 * accuracy = 0-100, 100 being perfectly accurate
 */
declare function SetPedAccuracy(ped: number, accuracy: number): void;

/**
 * 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
 */
declare function SetPedAiBlipForcedOn(ped: number, toggle: boolean): void;
/**
 * 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
 */
declare function N_0x0c4bbf625ca98c4e(ped: number, toggle: boolean): void;
/**
 * 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
 */
declare function IsAiBlipAlwaysShown(ped: number, toggle: boolean): void;

declare function SetPedAiBlipGangId(ped: number, gangId: number): void;
declare function N_0xe52b8e7f85d39a08(ped: number, gangId: number): void;
declare function SetAiBlipType(ped: number, gangId: number): void;

declare function SetPedAiBlipHasCone(ped: number, toggle: boolean): void;
declare function HideSpecialAbilityLockonOperation(ped: number, toggle: boolean): void;

declare function SetPedAiBlipNoticeRange(ped: number, range: number): void;
declare function N_0x97c65887d4b37fa9(ped: number, range: number): void;
declare function SetAiBlipMaxDistance(ped: number, range: number): void;

declare function SetPedAiBlipSprite(ped: number, spriteId: number): void;
declare function N_0xfcfacd0db9d7a57d(ped: number, spriteId: number): void;

/**
 * value ranges from 0 to 3.
 */
declare function SetPedAlertness(ped: number, value: number): void;

declare function SetPedAllowVehiclesOverride(ped: number, toggle: boolean): void;

declare function SetPedAllowedToDuck(ped: number, toggle: boolean): void;

/**
 * ```
 * stance:
 * 0 = idle
 * 1 = walk
 * 2 = running
 * p5 = usually set to true
 * ```
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function SetPedAlternateMovementAnim(ped: number, stance: number, animDictionary: string, animationName: string, p4: number, p5: boolean): void;

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function SetPedAlternateWalkAnim(ped: number, animDict: string, animName: string, p3: number, p4: boolean): void;

/**
 * NativeDB Added Parameter 4: BOOL p3
 */
declare function SetPedAmmo(ped: number, weaponHash: string | number, ammo: number): void;

declare function SetPedAmmoByType(ped: number, ammoType: string | number, ammo: number): void;

declare function SetPedAmmoToDrop(ped: number, ammo: number): void;

declare function SetPedAngledDefensiveArea(ped: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: boolean, p9: boolean): void;

/**
 * Enable/disable ped shadow (ambient occlusion). https://gfycat.com/thankfulesteemedgecko
 */
declare function SetPedAoBlobRendering(ped: number, toggle: boolean): void;
/**
 * Enable/disable ped shadow (ambient occlusion). https://gfycat.com/thankfulesteemedgecko
 */
declare function N_0x2b5aa717a181fb4c(ped: number, toggle: boolean): void;

/**
 * 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.
 */
declare function SetPedArmour(ped: number, amount: number): void;

/**
 * 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.
 */
declare function SetPedAsCop(ped: number, toggle: boolean): void;

declare function SetPedAsEnemy(ped: number, toggle: boolean): void;

declare function SetPedAsGroupLeader(ped: number, groupId: number): void;

declare function SetPedAsGroupMember(ped: number, groupId: number): void;

/**
 * This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.
 */
declare function SetPedAsNoLongerNeeded(ped: number): void;

/**
 * Enables/disables ped's "loud" footstep sound.
 * ```
 * ```
 * NativeDB Introduced: v1493
 */
declare function SetPedAudioFootstepLoud(ped: number, toggle: boolean): void;
/**
 * Enables/disables ped's "loud" footstep sound.
 * ```
 * ```
 * NativeDB Introduced: v1493
 */
declare function N_0x0653b735bfbdfe87(ped: number, toggle: boolean): void;

/**
 * Enables/disables ped's "quiet" footstep sound.
 * ```
 * ```
 * NativeDB Introduced: v1493
 */
declare function SetPedAudioFootstepQuiet(ped: number, toggle: boolean): void;
/**
 * Enables/disables ped's "quiet" footstep sound.
 * ```
 * ```
 * NativeDB Introduced: v1493
 */
declare function N_0x29da3ca8d8b2692d(ped: number, toggle: boolean): void;

declare function SetPedAudioGender(ped: number, p1: boolean): void;
declare function N_0xa5342d390cda41d6(ped: number, p1: boolean): void;

declare function SetPedBlendFromParents(ped: number, father: number, mother: number, fathersSide: number, mothersSide: number): void;

declare function SetPedBlocksPathingWhenDead(ped: number, toggle: boolean): void;
declare function N_0x576594e8d64375e2(ped: number, toggle: boolean): void;

declare function SetPedBoundsOrientation(ped: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

declare function SetPedCanArmIk(ped: number, toggle: boolean): void;

declare function SetPedCanBeDraggedOut(ped: number, toggle: boolean): void;

/**
 * state: https://alloc8or.re/gta5/doc/enums/eKnockOffVehicle.txt
 */
declare function SetPedCanBeKnockedOffVehicle(ped: number, state: number): void;

declare function SetPedCanBeShotInVehicle(ped: number, toggle: boolean): void;

declare function SetPedCanBeTargetedWhenInjured(ped: number, toggle: boolean): void;

declare function SetPedCanBeTargetedWithoutLos(ped: number, toggle: boolean): void;

declare function SetPedCanBeTargetted(ped: number, toggle: boolean): void;

declare function SetPedCanBeTargettedByPlayer(ped: number, player: number, toggle: boolean): void;

declare function SetPedCanBeTargettedByTeam(ped: number, team: number, toggle: boolean): void;

/**
 * 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.
 */
declare function SetPedCanCowerInCover(ped: number, toggle: boolean): void;

declare function SetPedCanEvasiveDive(ped: number, toggle: boolean): void;

declare function SetPedCanHeadIk(ped: number, toggle: boolean): void;

declare function SetPedCanLegIk(ped: number, toggle: boolean): void;

/**
 * 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 The target ped
 * @param loseProps true = allow props to fall off, false = don't let props fall off
 * @param p2 purpose unknown, usually 0
 */
declare function SetPedCanLosePropsOnDamage(ped: number, loseProps: boolean, p2: number): void;
/**
 * 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 The target ped
 * @param loseProps true = allow props to fall off, false = don't let props fall off
 * @param p2 purpose unknown, usually 0
 */
declare function N_0xe861d0b05c7662b8(ped: number, loseProps: boolean, p2: number): void;

declare function SetPedCanPeekInCover(ped: number, toggle: boolean): void;

declare function SetPedCanPlayAmbientAnims(ped: number, toggle: boolean): void;

declare function SetPedCanPlayAmbientBaseAnims(ped: number, toggle: boolean): void;

/**
 * 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
 */
declare function SetPedCanPlayAmbientIdles(ped: number, p1: boolean, p2: boolean): void;
/**
 * 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
 */
declare function N_0x8fd89a6240813fd0(ped: number, p1: boolean, p2: boolean): void;

declare function SetPedCanPlayGestureAnims(ped: number, toggle: boolean): void;

declare function SetPedCanPlayInjuredAnims(ped: number, p1: boolean): void;
declare function N_0x33a60d8bdd6e508c(ped: number, p1: boolean): void;

/**
 * p2 usually 0
 */
declare function SetPedCanPlayVisemeAnims(ped: number, toggle: boolean, p2: boolean): void;

declare function SetPedCanRagdoll(ped: number, toggle: boolean): void;

declare function SetPedCanRagdollFromPlayerImpact(ped: number, toggle: boolean): void;

declare function SetPedCanSmashGlass(ped: number, p1: boolean, p2: boolean): void;

declare function SetPedCanSwitchWeapon(ped: number, toggle: boolean): void;

/**
 * This only will teleport the ped to the group leader if the group leader teleports (sets coords).
 * Only works in singleplayer
 */
declare function SetPedCanTeleportToGroupLeader(pedHandle: number, groupHandle: number, toggle: boolean): void;

declare function SetPedCanTorsoIk(ped: number, toggle: boolean): void;

declare function SetPedCanTorsoReactIk(ped: number, p1: boolean): void;
declare function N_0xf5846edb26a98a24(ped: number, p1: boolean): void;

declare function SetPedCanTorsoVehicleIk(ped: number, p1: boolean): void;
declare function N_0x6647c5f6f5792496(ped: number, p1: boolean): void;

declare function SetPedCanUseAutoConversationLookat(ped: number, toggle: boolean): void;

/**
 * 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.
 */
declare function SetPedCapsule(ped: number, value: number): void;

declare function SetPedChanceOfFiringBlanks(ped: number, xBias: number, yBias: number): void;

declare function SetPedClothPackageIndex(ped: number, p1: number): void;
declare function N_0x78c4e9961db3eb5b(ped: number, p1: number): void;

declare function SetPedClothProne(p0: number, p1: number): void;
declare function N_0x82a3d6d9cc2cb8e3(p0: number, p1: number): void;

/**
 * 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.
 */
declare function SetPedCombatAbility(ped: number, p1: number): void;

/**
 * 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/
 */
declare function SetPedCombatAttributes(ped: number, attributeIndex: number, enabled: boolean): void;

/**
 * 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)
 */
declare function SetPedCombatMovement(ped: number, combatMovement: number): void;

/**
 * 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
 */
declare function SetPedCombatRange(ped: number, p1: number): void;

/**
 * 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 The ped handle.
 * @param componentId The component that you want to set.
 * @param drawableId The drawable id that is going to be set.
 * @param textureId The texture id of the drawable.
 * @param paletteId 0 to 3.
 */
declare function SetPedComponentVariation(ped: number, componentId: number, drawableId: number, textureId: number, paletteId: number): void;

/**
 * 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,
 * }
 */
declare function SetPedConfigFlag(ped: number, flagId: number, value: boolean): void;

/**
 * teleports ped to coords along with the vehicle ped is in
 */
declare function SetPedCoordsKeepVehicle(ped: number, posX: number, posY: number, posZ: number): void;

declare function SetPedCoordsNoGang(ped: number, posX: number, posY: number, posZ: number): void;

/**
 * Found in the b617d scripts:
 * PED::_9DBA107B4937F809(v_7, "trevor_heist_cover_2h");
 * SET_PED_MO*
 */
declare function SetPedCoverClipsetOverride(ped: number, p1: string): void;
/**
 * Found in the b617d scripts:
 * PED::_9DBA107B4937F809(v_7, "trevor_heist_cover_2h");
 * SET_PED_MO*
 */
declare function N_0x9dba107b4937f809(ped: number, p1: string): void;

/**
 * p1: Only "CODE_HUMAN_STAND_COWER" found in the b617d scripts.
 */
declare function SetPedCowerHash(ped: number, p1: string): void;

/**
 * Has 5 parameters since latest patches.
 */
declare function SetPedCurrentWeaponVisible(ped: number, visible: boolean, deselectWeapon: boolean, p3: boolean, p4: boolean): void;

/**
 * Sets Ped Default Clothes
 */
declare function SetPedDefaultComponentVariation(ped: number): void;

declare function SetPedDefensiveAreaAttachedToPed(ped: number, attachPed: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: boolean, p10: boolean): void;

declare function SetPedDefensiveAreaDirection(ped: number, p1: number, p2: number, p3: number, p4: boolean): void;

declare function SetPedDefensiveSphereAttachedToPed(ped: number, target: number, xOffset: number, yOffset: number, zOffset: number, radius: number, p6: boolean): void;
declare function N_0xf9b8f91aad3b953e(ped: number, target: number, xOffset: number, yOffset: number, zOffset: number, radius: number, p6: boolean): void;

declare function SetPedDefensiveSphereAttachedToVehicle(ped: number, target: number, xOffset: number, yOffset: number, zOffset: number, radius: number, p6: boolean): void;
declare function N_0xe4723db6e736ccff(ped: number, target: number, xOffset: number, yOffset: number, zOffset: number, radius: number, p6: boolean): void;

declare function SetPedDensityMultiplierThisFrame(multiplier: number): void;

declare function SetPedDesiredHeading(ped: number, heading: number): void;

declare function SetPedDesiredMoveBlendRatio(ped: number, p1: number): void;

declare function SetPedDiesInSinkingVehicle(ped: number, toggle: boolean): void;

declare function SetPedDiesInVehicle(ped: number, toggle: boolean): void;

declare function SetPedDiesInWater(ped: number, toggle: boolean): void;

declare function SetPedDiesInstantlyInWater(ped: number, toggle: boolean): void;

declare function SetPedDiesWhenInjured(ped: number, toggle: boolean): void;

declare function SetPedDriveByClipsetOverride(ped: number, clipset: string): void;

declare function SetPedDropsInventoryWeapon(ped: number, weaponHash: string | number, xOffset: number, yOffset: number, zOffset: number, ammoCount: number): void;

declare function SetPedDropsWeapon(ped: number): void;

declare function SetPedDropsWeaponsWhenDead(ped: number, toggle: boolean): void;

/**
 * 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.
 */
declare function SetPedDucking(ped: number, toggle: boolean): void;

/**
 * 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 The ped to set the glow intensity on.
 * @param intensity The glow intensity, value between `0.0` and `1.0`.
 */
declare function SetPedEmissiveIntensity(ped: number, intensity: number): void;
/**
 * 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 The ped to set the glow intensity on.
 * @param intensity The glow intensity, value between `0.0` and `1.0`.
 */
declare function N_0x4e90d746056e273d(ped: number, intensity: number): void;
/**
 * 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 The ped to set the glow intensity on.
 * @param intensity The glow intensity, value between `0.0` and `1.0`.
 */
declare function SetPedIlluminatedClothingGlowIntensity(ped: number, intensity: number): void;

declare function SetPedEnableWeaponBlocking(ped: number, toggle: boolean): void;

/**
 * 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}
 */
declare function SetPedEnveffColorModulator(ped: number, r: number, g: number, b: number): void;
/**
 * 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}
 */
declare function N_0xd69411aa0cebf9e9(ped: number, r: number, g: number, b: number): void;

/**
 * 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.
 */
declare function SetPedEnveffScale(ped: number, value: number): void;

/**
 * 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
 */
declare function SetPedEyeColor(ped: number, index: number): void;

/**
 * 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 The ped entity
 * @param index An integer ranging from 0 to 19
 * @param scale A float ranging from -1.0 to 1.0
 */
declare function SetPedFaceFeature(ped: number, index: number, scale: number): void;

/**
 * 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
 */
declare function SetPedFiringPattern(ped: number, patternHash: string | number): void;

/**
 * bit 15 (0x8000) = force cower
 */
declare function SetPedFleeAttributes(ped: number, attributeFlags: number, enable: boolean): void;

/**
 * p1/gadgetHash was always 0xFBAB5776 ("GADGET_PARACHUTE").
 * p2 is always true.
 */
declare function SetPedGadget(ped: number, gadgetHash: string | number, p2: boolean): void;

declare function SetPedGeneratesDeadBodyEvents(ped: number, toggle: boolean): void;

/**
 * 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");
 */
declare function SetPedGestureGroup(ped: number, animGroupGesture: string): void;

declare function SetPedGetOutUpsideDownVehicle(ped: number, toggle: boolean): void;

/**
 * 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);
 */
declare function SetPedGravity(ped: number, toggle: boolean): void;

declare function SetPedGroupMemberPassengerIndex(ped: number, index: number): void;

/**
 * Used for freemode (online) characters.
 */
declare function SetPedHairColor(ped: number, colorID: number, highlightColorID: number): void;

/**
 * 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.
 */
declare function SetPedHasAiBlip(ped: number, hasCone: boolean): void;
/**
 * 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.
 */
declare function N_0xd30c50df888d58b5(ped: number, hasCone: boolean): void;
/**
 * 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.
 */
declare function SetPedEnemyAiBlip(ped: number, hasCone: boolean): void;
/**
 * 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.
 */
declare function SetPedAiBlip(ped: number, hasCone: boolean): void;

declare function SetPedHasAiBlipWithColor(ped: number, hasCone: boolean, color: number): void;
declare function N_0xb13dcb4c6faad238(ped: number, hasCone: boolean, color: number): void;

/**
 * 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 The ped entity
 * @param shapeFirstID Controls the shape of the first ped's face
 * @param shapeSecondID Controls the shape of the second ped's face
 * @param shapeThirdID Controls the shape of the third ped's face
 * @param skinFirstID Controls the first id's skin tone
 * @param skinSecondID Controls the second id's skin tone
 * @param skinThirdID Controls the third id's skin tone
 * @param shapeMix 0.0 - 1.0 Of whose characteristics to take Mother -> Father (shapeFirstID and shapeSecondID)
 * @param skinMix 0.0 - 1.0 Of whose characteristics to take Mother -> Father (skinFirstID and skinSecondID)
 * @param thirdMix Overrides the others in favor of the third IDs.
 * @param isParent IsParent is set for "children" of the player character's grandparents during old-gen character creation. It has unknown effect otherwise.
 */
declare function SetPedHeadBlendData(ped: number, shapeFirstID: number, shapeSecondID: number, shapeThirdID: number, skinFirstID: number, skinSecondID: number, skinThirdID: number, shapeMix: number, skinMix: number, thirdMix: number, isParent: boolean): void;

/**
 * ```
 * 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 The ped entity
 * @param overlayID The overlay id displayed up above.
 * @param index An integer representing the index (from 0 to `_GET_NUM_OVERLAY_VALUES(overlayID)-1`)
 * @param opacity A float ranging from 0.0 to 1.0
 */
declare function SetPedHeadOverlay(ped: number, overlayID: number, index: number, opacity: number): void;

/**
 * ```
 * 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 The ped entity
 * @param overlayID An integer representing the overlay id
 * @param colorType 1 for eyebrows, beards, and chest hair; 2 for blush and lipstick; and 0 otherwise, though not called in those cases.
 * @param colorID An integer representing the primary color id
 * @param secondColorID An integer representing the secondary color id
 */
declare function SetPedHeadOverlayColor(ped: number, overlayID: number, colorType: number, colorID: number, secondColorID: number): void;

declare function SetPedHearingRange(ped: number, value: number): void;

declare function SetPedHeatscaleOverride(ped: number, heatScale: number): void;
declare function N_0xc1f6ebf9a3d55538(ped: number, heatScale: number): void;

declare function SetPedHelmet(ped: number, canWearHelmet: boolean): void;

declare function SetPedHelmetFlag(ped: number, helmetFlag: number): void;

/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 * ```
 * ```
 * NativeDB Added Parameter 3: BOOL p2
 */
declare function SetPedHelmetPropIndex(ped: number, propIndex: number): void;

declare function SetPedHelmetTextureIndex(ped: number, textureIndex: number): void;

declare function SetPedHelmetUnk(ped: number, p1: boolean, p2: number, p3: number): void;
declare function N_0x3f7325574e41b44d(ped: number, p1: boolean, p2: number, p3: number): void;

declare function SetPedHighlyPerceptive(ped: number, toggle: boolean): void;
declare function N_0x52d59ab61ddc05dd(ped: number, toggle: boolean): void;

declare function SetPedIdRange(ped: number, value: number): void;

/**
 * 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"));
 */
declare function SetPedInVehicleContext(ped: number, context: string | number): void;

declare function SetPedIncreasedAvoidanceRadius(ped: number): void;
declare function N_0x570389d1c3de3c6b(ped: number): void;

declare function SetPedInfiniteAmmo(ped: number, toggle: boolean, weaponHash: string | number): void;

declare function SetPedInfiniteAmmoClip(ped: number, toggle: boolean): void;

declare function SetPedIntoVehicle(ped: number, vehicle: number, seatIndex: number): void;

/**
 * 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
 */
declare function SetPedIsDrunk(ped: number, toggle: boolean): void;

declare function SetPedKeepTask(ped: number, toggle: boolean): void;

/**
 * "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
 */
declare function SetPedLegIkMode(ped: number, mode: number): void;

declare function SetPedLodMultiplier(ped: number, multiplier: number): void;

/**
 * sets the maximum health of a ped
 * I think it's never been used in any script
 */
declare function SetPedMaxHealth(ped: number, value: number): void;

declare function SetPedMaxMoveBlendRatio(ped: number, value: number): void;

declare function SetPedMaxTimeInWater(ped: number, value: number): void;

/**
 * Set the maximum time a ped can stay underwater. Maximum seems to be 50 seconds.
 * @param ped Ped id.
 * @param value Time in seconds. Maximum is 50.0, any value above will be changed to 50.0.
 */
declare function SetPedMaxTimeUnderwater(ped: number, value: number): void;

/**
 * Ped will stay on the ground after being stunned for at lest ms time. (in milliseconds)
 */
declare function SetPedMinGroundTimeForStungun(ped: number, ms: number): void;

declare function SetPedMinMoveBlendRatio(ped: number, value: number): void;

declare function SetPedModelIsSuppressed(model: string | number, toggle: boolean): void;

/**
 * Overrides a ped model personality type.
 * @param modelHash Ped's model.
 * @param personalityHash Personality hash.
 */
declare function SetPedModelPersonality(modelHash: string | number, personalityHash: string | number): void;

/**
 * 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.
 */
declare function SetPedMoney(ped: number, amount: number): void;

declare function SetPedMotionBlur(ped: number, toggle: boolean): void;

declare function SetPedMoveAnimsBlendOut(ped: number): void;

/**
 * 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.
 */
declare function SetPedMoveRateOverride(ped: number, value: number): void;

/**
 * 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 transitionSpeed time in seconds it takes to transition from one movement clipset to another.
 */
declare function SetPedMovementClipset(ped: number, clipSet: string, transitionSpeed: number): void;

/**
 * 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
 */
declare function SetPedNameDebug(ped: number, name: string): void;

declare function SetPedNeverLeavesGroup(ped: number, toggle: boolean): void;

/**
 * The distance between these points, is the diagonal of a box (remember it's 3D).
 */
declare function SetPedNonCreationArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): void;

declare function SetPedPanicExitScenario(ped: number, x: number, y: number, z: number): number;
declare function N_0xfe07ff6495d52e2a(ped: number, x: number, y: number, z: number): number;

declare function SetPedParachuteTintIndex(ped: number, tintIndex: number): void;

declare function SetPedPathAvoidFire(ped: number, avoidFire: boolean): void;

declare function SetPedPathCanDropFromHeight(ped: number, Toggle: boolean): void;

declare function SetPedPathCanUseClimbovers(ped: number, Toggle: boolean): void;

declare function SetPedPathCanUseLadders(ped: number, Toggle: boolean): void;

/**
 * Default modifier is 1.0, minimum is 0.0 and maximum is 10.0.
 */
declare function SetPedPathClimbCostModifier(ped: number, modifier: number): void;
/**
 * Default modifier is 1.0, minimum is 0.0 and maximum is 10.0.
 */
declare function N_0x88e32db8c1a4aa4b(ped: number, modifier: number): void;

declare function SetPedPathMayEnterWater(ped: number, mayEnterWater: boolean): void;
declare function SetPedPathsWidthPlant(ped: number, mayEnterWater: boolean): void;

declare function SetPedPathPreferToAvoidWater(ped: number, avoidWater: boolean): void;

/**
 * NativeDB Added Parameter 7: Any p6
 */
declare function SetPedPathsBackToOriginal(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

/**
 * NativeDB Added Parameter 8: Any p7
 */
declare function SetPedPathsInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, unknown: boolean): void;

/**
 * i could be time. Only example in the decompiled scripts uses it as -1.
 */
declare function SetPedPinnedDown(ped: number, pinned: boolean, i: number): number;

/**
 * **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.
 * ```
 */
declare function SetPedPlaysHeadOnHornAnimWhenDiesInVehicle(ped: number, toggle: boolean): void;

/**
 * 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.
 */
declare function SetPedPopulationBudget(p0: number): void;

declare function SetPedPreferredCoverSet(ped: number, itemSet: number): void;
declare function N_0x8421eb4da7e391b9(ped: number, itemSet: number): void;

/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function SetPedPreloadPropData(ped: number, componentId: number, drawableId: number, TextureId: number): boolean;
/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function N_0x2b16a3bff1fbce49(ped: number, componentId: number, drawableId: number, TextureId: number): boolean;
/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function IsPedPropValid(ped: number, componentId: number, drawableId: number, TextureId: number): boolean;

/**
 * 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
 */
declare function SetPedPreloadVariationData(ped: number, slot: number, drawableId: number, textureId: number): number;
/**
 * 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
 */
declare function N_0x39d55a620fcb6a3a(ped: number, slot: number, drawableId: number, textureId: number): number;

/**
 * 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());
 */
declare function SetPedPrimaryLookat(ped: number, lookAt: number): void;

/**
 * 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 The ped handle.
 * @param componentId The component that you want to set.
 * @param drawableId The drawable id that is going to be set.
 * @param textureId The texture id of the drawable.
 * @param attach Attached or not.
 */
declare function SetPedPropIndex(ped: number, componentId: number, drawableId: number, textureId: number, attach: boolean): void;

declare function SetPedRagdollForceFall(ped: number): void;

/**
 * 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.
 */
declare function SetPedRagdollOnCollision(ped: number, toggle: boolean): void;

/**
 * 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
 */
declare function SetPedRandomComponentVariation(ped: number, p1: number): void;

/**
 * List of component/props ID
 * gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
 */
declare function SetPedRandomProps(ped: number): void;

declare function SetPedRelationshipGroupDefaultHash(ped: number, hash: string | number): void;

declare function SetPedRelationshipGroupHash(ped: number, hash: string | number): void;

declare function SetPedReserveParachuteTintIndex(ped: number, p1: number): void;

/**
 * PED::SET_PED_RESET_FLAG(PLAYER::PLAYER_PED_ID(), 240, 1);
 * Known values:
 */
declare function SetPedResetFlag(ped: number, flagId: number, doReset: boolean): void;

/**
 * Assigns some ambient voice to the ped.
 */
declare function SetPedScream(ped: number): void;
/**
 * Assigns some ambient voice to the ped.
 */
declare function N_0x40cf0d12d142a9e8(ped: number): void;

/**
 * This native sets a scuba mask for freemode models and an oxygen bottle for player_\* models. It works on freemode and player_\* models.
 */
declare function SetPedScubaGearVariation(ped: number): void;
/**
 * This native sets a scuba mask for freemode models and an oxygen bottle for player_\* models. It works on freemode and player_\* models.
 */
declare function N_0x36c6984c3ed0c911(ped: number): void;

declare function SetPedSeeingRange(ped: number, value: number): void;

/**
 * Returns handle of the projectile.
 */
declare function SetPedShootOrdnanceWeapon(ped: number, p1: number): number;
/**
 * Returns handle of the projectile.
 */
declare function N_0xb4c8d77c80c0421e(ped: number, p1: number): number;

/**
 * shootRate 0-1000
 */
declare function SetPedShootRate(ped: number, shootRate: number): void;

declare function SetPedShootsAtCoord(ped: number, x: number, y: number, z: number, toggle: boolean): void;

declare function SetPedShouldPlayDirectedScenarioExit(p0: number, p1: number, p2: number, p3: number): number;
declare function N_0xec6935ebe0847b90(p0: number, p1: number, p2: number, p3: number): number;

declare function SetPedShouldPlayFleeScenarioExit(ped: number, p1: number, p2: number, p3: number): number;
declare function N_0xeeed8fafec331a70(ped: number, p1: number, p2: number, p3: number): number;

declare function SetPedShouldPlayImmediateScenarioExit(ped: number): void;
declare function N_0xf1c03a5352243a30(ped: number): void;

declare function SetPedShouldPlayNormalScenarioExit(ped: number): void;
declare function N_0xa3a9299c4f2adb98(ped: number): void;

declare function SetPedSphereDefensiveArea(ped: number, x: number, y: number, z: number, radius: number, p5: boolean, p6: boolean): void;

declare function SetPedStayInVehicleWhenJacked(ped: number, toggle: boolean): void;

/**
 * p1 is usually 0 in the scripts. action is either 0 or a pointer to "DEFAULT_ACTION".
 */
declare function SetPedStealthMovement(ped: number, p1: boolean, action: string): void;

declare function SetPedSteersAroundObjects(ped: number, toggle: boolean): void;

declare function SetPedSteersAroundPeds(ped: number, toggle: boolean): void;

declare function SetPedSteersAroundVehicles(ped: number, toggle: boolean): void;

declare function SetPedStrafeClipset(ped: number, clipSet: string): void;

/**
 * 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.
 */
declare function SetPedSuffersCriticalHits(ped: number, toggle: boolean): void;

/**
 * Sweat is set to 100.0 or 0.0 in the decompiled scripts.
 */
declare function SetPedSweat(ped: number, sweat: number): void;

/**
 * Speech related.
 */
declare function SetPedTalk(ped: number): void;
/**
 * Speech related.
 */
declare function N_0x4ada3f19be4a6047(ped: number): void;

/**
 * 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.
 */
declare function SetPedTargetLossResponse(ped: number, responseType: number): void;

declare function SetPedToInformRespectedFriends(ped: number, radius: number, maxFriends: number): void;

declare function SetPedToLoadCover(ped: number, toggle: boolean): void;

/**
 * p4/p5: Unusued in TU27
 * ### Ragdoll Types
 * **0**: CTaskNMRelax
 * **1**: CTaskNMScriptControl: Hardcoded not to work in networked environments.
 * **Else**: CTaskNMBalance
 * @param time1 Time(ms) Ped is in ragdoll mode; only applies to ragdoll types 0 and not 1.
 */
declare function SetPedToRagdoll(ped: number, time1: number, time2: number, ragdollType: number, p4: boolean, p5: boolean, p6: boolean): boolean;

/**
 * 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);
 */
declare function SetPedToRagdollWithFall(ped: number, time: number, p2: number, ragdollType: number, x: number, y: number, z: number, p7: number, p8: number, p9: number, p10: number, p11: number, p12: number, p13: number): boolean;

/**
 * p2 is usually -1 in the scripts. action is either 0 or "DEFAULT_ACTION".
 */
declare function SetPedUsingActionMode(ped: number, p1: boolean, p2: number, action: string): void;

/**
 * NativeDB Added Parameter 5: Any p4
 * @param seatIndex See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
 */
declare function SetPedVehicleForcedSeatUsage(ped: number, vehicle: number, seatIndex: number, flags: number): void;
/**
 * NativeDB Added Parameter 5: Any p4
 * @param seatIndex See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
 */
declare function N_0x952f06beecd775cc(ped: number, vehicle: number, seatIndex: number, flags: number): void;

declare function SetPedVisualFieldCenterAngle(ped: number, angle: number): void;

declare function SetPedVisualFieldMaxAngle(ped: number, value: number): void;

/**
 * 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.
 */
declare function SetPedVisualFieldMaxElevationAngle(ped: number, angle: number): void;

declare function SetPedVisualFieldMinAngle(ped: number, value: number): void;

/**
 * This native refers to the field of vision the ped has below them, starting at 0 degrees. The angle value should be negative.
 */
declare function SetPedVisualFieldMinElevationAngle(ped: number, angle: number): void;

declare function SetPedVisualFieldPeripheralRange(ped: number, range: number): void;

/**
 * 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"));
 */
declare function SetPedVoiceGroup(ped: number, voiceGroupHash: string | number): void;
/**
 * 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"));
 */
declare function N_0x7cdc8c3b89f661b3(ped: number, voiceGroupHash: string | number): void;

/**
 * Dat151RelType == 29
 * ```
 * ```
 * NativeDB Introduced: v2699
 */
declare function SetPedVoiceGroupRace(ped: number, voiceGroupHash: string | number): void;

declare function SetPedWaypointRouteOffset(p0: number, p1: number, p2: number, p3: number): number;

declare function SetPedWeaponLiveryColor(ped: number, weaponHash: string | number, camoComponentHash: string | number, colorIndex: number): void;
declare function N_0x9fe5633880ecd8ed(ped: number, weaponHash: string | number, camoComponentHash: string | number, colorIndex: number): void;

declare function SetPedWeaponMovementClipset(ped: number, clipSet: string): void;

/**
 * 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 The target ped
 * @param weaponHash The target weapon hash
 * @param tintIndex Tint for weapon hash
 */
declare function SetPedWeaponTintIndex(ped: number, weaponHash: string | number, tintIndex: number): void;

/**
 * combined with PED::SET_PED_WETNESS_HEIGHT(), this native makes the ped drenched in water up to the height specified in the other function
 */
declare function SetPedWetnessEnabledThisFrame(ped: number): void;

/**
 * It adds the wetness level to the player clothing/outfit. As if player just got out from water surface.
 */
declare function SetPedWetnessHeight(ped: number, height: number): void;

declare function SetPickupAmmoAmountScaler(p0: number): void;
declare function N_0xe620fd3512a04f18(p0: number): void;

declare function SetPickupGenerationRangeMultiplier(multiplier: number): void;
declare function N_0x318516e02de3ece2(multiplier: number): void;

declare function SetPickupHiddenWhenUncollectable(p0: number, p1: number): void;
declare function N_0x3ed2b83ab2e82799(p0: number, p1: number): void;

declare function SetPickupRegenerationTime(pickup: number, duration: number): void;

/**
 * min: 1.9f, max: 100.0f
 */
declare function SetPickupRopeLengthForCargobob(cargobob: number, length1: number, length2: number, state: boolean): void;
/**
 * min: 1.9f, max: 100.0f
 */
declare function N_0x877c1eaeac531023(cargobob: number, length1: number, length2: number, state: boolean): void;
/**
 * min: 1.9f, max: 100.0f
 */
declare function SetCargobobHookPosition(cargobob: number, length1: number, length2: number, state: boolean): void;

declare function SetPickupUncollectable(p0: number, p1: number): void;
declare function N_0x1c1b69fae509ba97(p0: number, p1: number): void;

/**
 * Works just like SET_VEHICLE_ENGINE_HEALTH, didn't saw any difference. But this native works only for planes.
 */
declare function SetPlaneEngineHealth(vehicle: number, health: number): void;
/**
 * Works just like SET_VEHICLE_ENGINE_HEALTH, didn't saw any difference. But this native works only for planes.
 */
declare function N_0x2a86a0475b6a1434(vehicle: number, health: number): void;

declare function SetPlanePropellersHealth(plane: number, health: number): void;
declare function N_0x4c815eb175086f84(plane: number, health: number): void;

declare function SetPlaneResistToExplosion(vehicle: number, toggle: boolean): void;
declare function N_0xe16142b94664defd(vehicle: number, toggle: boolean): void;

/**
 * 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 The plane to set the multiplier for
 * @param multiplier The turbulence multiplier. Value between 0.0 and 1.0
 */
declare function SetPlaneTurbulenceMultiplier(vehicle: number, multiplier: number): void;
/**
 * 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 The plane to set the multiplier for
 * @param multiplier The turbulence multiplier. Value between 0.0 and 1.0
 */
declare function N_0xad2d28a1afdff131(vehicle: number, multiplier: number): void;

declare function SetPlaybackSpeed(vehicle: number, speed: number): void;

/**
 * Identical to SET_PLAYBACK_TO_USE_AI_TRY_TO_REVERT_BACK_LATER with 0 as arguments for p1 and p3.
 */
declare function SetPlaybackToUseAi(vehicle: number, drivingStyle: number): void;

/**
 * Time is number of milliseconds before reverting, zero for indefinitely.
 */
declare function SetPlaybackToUseAiTryToRevertBackLater(vehicle: number, time: number, drivingStyle: number, p3: boolean): void;

declare function SetPlayerAirDefenseZoneFlag(player: number, zoneId: number, enable: boolean): void;
declare function N_0xecdc202b25e5cf48(player: number, zoneId: number, enable: boolean): void;

declare function SetPlayerAngry(ped: number, toggle: boolean): void;

/**
 * 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.
 */
declare function SetPlayerBlipPositionThisFrame(x: number, y: number): void;

declare function SetPlayerBluetoothState(player: number, state: boolean): void;
declare function N_0x5dc40a8869c22141(player: number, state: boolean): void;

/**
 * Sets whether this player can be hassled by gangs.
 */
declare function SetPlayerCanBeHassledByGangs(player: number, toggle: boolean): void;

/**
 * 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 The player to target.
 * @param toggle If set to false, disables the players ability to do drive bys.
 */
declare function SetPlayerCanDoDriveBy(player: number, toggle: boolean): void;

declare function SetPlayerCanLeaveParachuteSmokeTrail(player: number, enabled: boolean): void;

/**
 * Sets whether this player can take cover.
 */
declare function SetPlayerCanUseCover(player: number, toggle: boolean): void;

/**
 * 6 matches across 4 scripts. 5 occurrences were 240. The other was 255.
 */
declare function SetPlayerClothLockCounter(value: number): void;

/**
 * Every occurrence was either 0 or 2.
 */
declare function SetPlayerClothPackageIndex(index: number): void;

declare function SetPlayerClothPinFrames(player: number, p1: number): void;

/**
 * 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
 */
declare function SetPlayerControl(player: number, bHasControl: boolean, flags: number): void;

declare function SetPlayerFallDistance(player: number, distance: number): void;
declare function N_0xefd79fa81dfba9cb(player: number, distance: number): void;

declare function SetPlayerForceSkipAimIntro(player: number, toggle: boolean): void;

declare function SetPlayerForcedAim(player: number, toggle: boolean): void;

declare function SetPlayerForcedZoom(player: number, toggle: boolean): void;

declare function SetPlayerHasReserveParachute(player: number): void;

declare function SetPlayerHealthRechargeLimit(player: number, limit: number): void;
declare function N_0xc388a0f065f5bc34(player: number, limit: number): void;

declare function SetPlayerHealthRechargeMultiplier(player: number, regenRate: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function SetPlayerHomingRocketDisabled(player: number, p1: boolean): void;
/**
 * NativeDB Introduced: v1180
 */
declare function N_0xee4ebdd2593ba844(player: number, p1: boolean): void;

/**
 * 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);
 */
declare function SetPlayerInvincible(player: number, toggle: boolean): void;

declare function SetPlayerInvincibleKeepRagdollEnabled(player: number, toggle: boolean): void;
declare function N_0x6bc97f4f4bb3c04b(player: number, toggle: boolean): void;

declare function SetPlayerInvisibleLocally(player: number, toggle: boolean): void;

/**
 * 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
 */
declare function SetPlayerIsInAnimalForm(toggle: boolean): void;
/**
 * 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
 */
declare function N_0x4ebb7e87aa0dbed4(toggle: boolean): void;
/**
 * 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
 */
declare function ShowPedInPauseMenu(toggle: boolean): void;

/**
 * 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_*
 */
declare function SetPlayerIsInDirectorMode(toggle: boolean): void;
/**
 * 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_*
 */
declare function N_0x808519373fd336a3(toggle: boolean): void;
/**
 * 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_*
 */
declare function SetDirectorMode(toggle: boolean): void;

declare function SetPlayerLeavePedBehind(player: number, toggle: boolean): void;
declare function N_0xff300c7649724a0b(player: number, toggle: boolean): void;

/**
 * Used to toggle the square up aim.
 * @param player The player ID to toggle the lock on for.
 * @param toggle Set to false to prevent lock on, set to true to allow for lock on.
 */
declare function SetPlayerLockon(player: number, toggle: boolean): void;

/**
 * Affects the range of auto aim target.
 */
declare function SetPlayerLockonRangeOverride(player: number, range: number): void;

/**
 * Default is 100. Use player id and not ped id. For instance: PLAYER::SET_PLAYER_MAX_ARMOUR(PLAYER::PLAYER_ID(), 100); // main_persistent.ct4
 */
declare function SetPlayerMaxArmour(player: number, value: number): void;

declare function SetPlayerMaxStamina(playerId: number, maxStamina: number): boolean;

declare function SetPlayerMayNotEnterAnyVehicle(player: number): void;

declare function SetPlayerMayOnlyEnterThisVehicle(player: number, vehicle: number): void;

/**
 * NativeDB Added Parameter 3: BOOL p2
 */
declare function SetPlayerMeleeWeaponDamageModifier(player: number, modifier: number): void;

/**
 * modifier's min value is 0.1
 */
declare function SetPlayerMeleeWeaponDefenseModifier(player: number, modifier: number): void;

/**
 * Set the model for a specific Player. Be aware that this will destroy the current Ped for the Player and create a new one, any reference to the old ped should be reset
 * Make sure to request the model first and wait until it has loaded.
 * @param player The player to set the model for
 * @param model The hash of the model to use
 */
declare function SetPlayerModel(player: number, model: string | number): void;

declare function SetPlayerNoiseMultiplier(player: number, multiplier: number): void;

/**
 * example:
 * PLAYER::SET_PLAYER_PARACHUTE_MODEL_OVERRIDE(PLAYER::PLAYER_ID(), 0x73268708);
 */
declare function SetPlayerParachuteModelOverride(player: number, model: string | number): void;

declare function SetPlayerParachutePackModelOverride(player: number, model: string | number): void;

/**
 * tints 0- 13
 * 0 - unkown
 * 1 - unkown
 * 2 - unkown
 * 3 - unkown
 * 4 - unkown
 */
declare function SetPlayerParachutePackTintIndex(player: number, tintIndex: number): void;

declare function SetPlayerParachuteSmokeTrailColor(player: number, r: number, g: number, b: number): void;

/**
 * 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,
 */
declare function SetPlayerParachuteTintIndex(player: number, tintIndex: number): void;

/**
 * p1 was always 5.
 * p4 was always false.
 */
declare function SetPlayerParachuteVariationOverride(player: number, p1: number, p2: number, p3: number, p4: boolean): void;

/**
 * NativeDB Introduced: v2372
 */
declare function SetPlayerReserveParachuteModelOverride(player: number, model: string | number): void;

/**
 * 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,
 */
declare function SetPlayerReserveParachuteTintIndex(player: number, index: number): void;

/**
 * example:
 * flags: 0-6
 * PLAYER::SET_PLAYER_RESET_FLAG_PREFER_REAR_SEATS(PLAYER::PLAYER_ID(), 6);
 * wouldnt the flag be the seatIndex?
 */
declare function SetPlayerResetFlagPreferRearSeats(player: number, flags: number): void;

/**
 * SET_PLAYER_*
 */
declare function SetPlayerRockstarEditorDisabled(toggle: boolean): void;
/**
 * SET_PLAYER_*
 */
declare function N_0x9d8d44adbba61ef2(toggle: boolean): void;

declare function SetPlayerShortSwitchStyle(style: number): void;
declare function N_0x5f2013f8bc24ee69(style: number): void;

declare function SetPlayerSimulateAiming(player: number, toggle: boolean): void;

/**
 * Values around 1.0f to 2.0f used in game scripts.
 */
declare function SetPlayerSneakingNoiseMultiplier(player: number, multiplier: number): void;

declare function SetPlayerSprint(player: number, toggle: boolean): void;

declare function SetPlayerStamina(playerId: number, stamina: number): boolean;

declare function SetPlayerStealthPerceptionModifier(player: number, value: number): void;

/**
 * All names can be found in playerswitchestablishingshots.meta
 */
declare function SetPlayerSwitchEstablishingShot(name: string): void;
/**
 * All names can be found in playerswitchestablishingshots.meta
 */
declare function N_0x0fde9dbfc0a6bc65(name: string): void;

declare function SetPlayerSwitchOutro(cameraCoordX: number, cameraCoordY: number, cameraCoordZ: number, camRotationX: number, camRotationY: number, camRotationZ: number, camFov: number, camFarClip: number, rotationOrder: number): void;
declare function N_0xc208b673ce446b61(cameraCoordX: number, cameraCoordY: number, cameraCoordZ: number, camRotationX: number, camRotationY: number, camRotationZ: number, camFov: number, camFarClip: number, rotationOrder: number): void;

/**
 * the status of default voip system. It affects on `NETWORK_IS_PLAYER_TALKING` and `mp_facial` animation.
 * This function doesn't need to be called every frame, it works like a switcher.
 * @param player The target player.
 * @param state Overriding state.
 */
declare function SetPlayerTalkingOverride(player: number, state: boolean): void;

declare function SetPlayerTargetLevel(targetLevel: number): void;
declare function N_0x5702b917b99db1cd(targetLevel: number): void;

/**
 * Sets your targeting mode.
 * 0 = Assisted Aim - Full
 * 1 = Assisted Aim - Partial
 * 2 = Free Aim - Assisted
 * 3 = Free Aim
 */
declare function SetPlayerTargetingMode(targetMode: number): void;

declare function SetPlayerTcmodifierTransition(value: number): void;
declare function N_0xbdeb86f4d5809204(value: number): void;

/**
 * Set player team on deathmatch and last team standing..
 */
declare function SetPlayerTeam(player: number, team: number): void;

/**
 * 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 Player id.
 * @param percentage Maximum is `100.0`. Any value above `100.0` and less than `0.0` will have no effect on [GET_PLAYER_UNDERWATER_TIME_REMAINING](#\_0xA1FCF8E6AF40B731).
 */
declare function SetPlayerUnderwaterTimeRemaining(player: number, percentage: number): number;
/**
 * 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 Player id.
 * @param percentage Maximum is `100.0`. Any value above `100.0` and less than `0.0` will have no effect on [GET_PLAYER_UNDERWATER_TIME_REMAINING](#\_0xA1FCF8E6AF40B731).
 */
declare function N_0xa0d3e4f7aafb7e78(player: number, percentage: number): number;

/**
 * modifier's min value is 0.1
 */
declare function SetPlayerVehicleDamageModifier(player: number, modifier: number): void;

/**
 * modifier's min value is 0.1
 */
declare function SetPlayerVehicleDefenseModifier(player: number, modifier: number): void;

declare function SetPlayerVisibleLocally(player: number, toggle: boolean): void;

/**
 * # 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
 */
declare function SetPlayerWantedCentrePosition(player: number, p2: boolean, p3: boolean): number[];

/**
 * 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
 */
declare function SetPlayerWantedLevel(player: number, wantedLevel: number, disableNoMission: boolean): void;

/**
 * p2 is always false in R* scripts
 */
declare function SetPlayerWantedLevelNoDrop(player: number, wantedLevel: number, p2: boolean): void;

/**
 * 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).
 */
declare function SetPlayerWantedLevelNow(player: number, p1: boolean): void;

/**
 * The native ensures the 'modifier' parameter is 0.1 or greater.
 */
declare function SetPlayerWeaponDamageModifier(player: number, modifier: number): void;

declare function SetPlayerWeaponDefenseModifier(player: number, modifier: number): void;

declare function SetPlayerWeaponDefenseModifier_2(player: number, modifier: number): void;
declare function N_0xbcfde9ede4cf27dc(player: number, modifier: number): void;

declare function SetPlayerpadShakesWhenControllerDisabled(toggle: boolean): void;

declare function SetPlayersLastVehicle(vehicle: number): void;

/**
 * Sets flag on vehicle that changes behaviour in relation to when player gets wanted level
 */
declare function SetPoliceFocusWillTrackVehicle(vehicle: number, p1: boolean): void;
/**
 * Sets flag on vehicle that changes behaviour in relation to when player gets wanted level
 */
declare function N_0x4e74e62e0a97e901(vehicle: number, p1: boolean): void;

/**
 * The player will be ignored by the police if toggle is set to true
 */
declare function SetPoliceIgnorePlayer(player: number, toggle: boolean): void;

/**
 * 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
 */
declare function SetPoliceRadarBlips(toggle: boolean): void;

/**
 * Min and max are usually 100.0 and 200.0
 */
declare function SetPopControlSphereThisFrame(x: number, y: number, z: number, min: number, max: number): void;
/**
 * Min and max are usually 100.0 and 200.0
 */
declare function N_0xd8c3be3ee94caf2d(x: number, y: number, z: number, min: number, max: number): void;

/**
 * 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");
 */
declare function SetPortalSettingsOverride(p0: string, p1: string): void;
/**
 * 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");
 */
declare function N_0x044dbad7a7fa2be5(p0: string, p1: string): void;

declare function SetProfileSettingPrologueComplete(): void;
declare function N_0xb475f27c6a994d65(): void;

declare function SetRaceTrackRender(toggle: boolean): void;
declare function N_0x1eac5f91bcbc5073(toggle: boolean): void;

declare function SetRadarAsExteriorThisFrame(): void;

/**
 * List of interior hashes: pastebin.com/1FUyXNqY
 * Not for every interior zoom > 0 available.
 */
declare function SetRadarAsInteriorThisFrame(interior: string | number, x: number, y: number, heading: number, zoom: number): void;

/**
 * zoomLevel ranges from 0 to 200
 */
declare function SetRadarZoom(zoomLevel: number): void;

declare function SetRadarZoomPrecise(zoom: number): void;
declare function RespondingAsTemp(zoom: number): void;

declare function SetRadarZoomToBlip(blip: number, zoom: number): void;
declare function N_0xf98e4b3e56afc7b1(blip: number, zoom: number): void;

declare function SetRadarZoomToDistance(zoom: number): void;
declare function SetRadarZoomLevelThisFrame(zoom: number): void;

declare function SetRadioAutoUnfreeze(toggle: boolean): void;

declare function SetRadioFrontendFadeTime(fadeTime: number): void;
declare function N_0x2c96cdb04fca358e(fadeTime: number): void;

/**
 * Doesn't have an effect in Story Mode.
 * ```
 * NativeDB Introduced: v2372
 * ```
 */
declare function SetRadioStationIsVisible(radioStation: string, toggle: boolean): void;

/**
 * 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);
 */
declare function SetRadioStationMusicOnly(radioStation: string, toggle: boolean): void;
/**
 * 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);
 */
declare function N_0x774bd811f656a122(radioStation: string, toggle: boolean): void;

/**
 * Sets radio station by index.
 */
declare function SetRadioToStationIndex(radioStation: number): void;

/**
 * For a full list, see here: pastebin.com/Kj9t38KF
 */
declare function SetRadioToStationName(stationName: string): void;

/**
 * Only found this one in the decompiled scripts:
 * AUDIO::SET_RADIO_TRACK("RADIO_03_HIPHOP_NEW", "ARM1_RADIO_STARTS");
 */
declare function SetRadioTrack(radioStation: string, radioTrack: string): void;

/**
 * NativeDB Introduced: v1493
 */
declare function SetRadioTrackMix(radioStationName: string, mixName: string, p2: number): void;

/**
 * Enabling this on a radius blip will make it outline only. See https://cdn.discordapp.com/attachments/553235301632573459/575132227935928330/unknown.png
 */
declare function SetRadiusBlipEdge(blip: number, toggle: boolean): void;
/**
 * Enabling this on a radius blip will make it outline only. See https://cdn.discordapp.com/attachments/553235301632573459/575132227935928330/unknown.png
 */
declare function N_0x25615540d894b814(blip: number, toggle: boolean): void;

/**
 * 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
 */
declare function SetRagdollBlockingFlags(ped: number, flags: number): void;
/**
 * 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
 */
declare function N_0x26695ec767728d84(ped: number, flags: number): void;
/**
 * 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
 */
declare function SetPedRagdollBlockingFlags(ped: number, flags: number): void;

/**
 * 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 Strength of rain effects
 */
declare function SetRainLevel(level: number): void;
/**
 * 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 Strength of rain effects
 */
declare function SetRainFxIntensity(level: number): void;

declare function SetRandomBoats(toggle: boolean): void;

/**
 * NativeDB Introduced: v2372
 */
declare function SetRandomBoatsInMp(toggle: boolean): void;

/**
 * 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.
 */
declare function SetRandomEventFlag(toggle: boolean): void;

declare function SetRandomSeed(seed: number): void;

/**
 * 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 Whether to enable random trains.
 */
declare function SetRandomTrains(toggle: boolean): void;

declare function SetRandomVehicleDensityMultiplierThisFrame(multiplier: number): void;

declare function SetRandomWeatherType(): void;

/**
 * Lowers the vehicle's stance. Only works for vehicles that support this feature.
 * ```
 * NativeDB Introduced: v2372
 * ```
 */
declare function SetReduceDriftVehicleSuspension(vehicle: number, enable: boolean): void;

declare function SetReducePedModelBudget(toggle: boolean): void;

declare function SetReduceVehicleModelBudget(toggle: boolean): void;

/**
 * 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);
 */
declare function SetRelationshipBetweenGroups(relationship: number, group1: string | number, group2: string | number): void;

declare function SetRelationshipGroupDontAffectWantedLevel(group: string | number, p1: boolean): void;
declare function N_0x5615e0c5eb2bc6e2(group: string | number, p1: boolean): void;

/**
 * Enables ghosting between specific players. Name is between `_SET_RELATIONSHIP_GROUP_DONT_AFFECT_WANTED_LEVEL` and `SET_ROADS_BACK_TO_ORIGINAL`.
 */
declare function SetRelationshipToPlayer(player: number, p1: boolean): void;
/**
 * Enables ghosting between specific players. Name is between `_SET_RELATIONSHIP_GROUP_DONT_AFFECT_WANTED_LEVEL` and `SET_ROADS_BACK_TO_ORIGINAL`.
 */
declare function N_0xa7c511fa1c5bda38(player: number, p1: boolean): void;

declare function SetRenderHdOnly(toggle: boolean): void;
declare function N_0x40aefd1a244741f2(toggle: boolean): void;

/**
 * makes the train all jumbled up and derailed as it moves on the tracks (though that wont stop it from its normal operations)
 */
declare function SetRenderTrainAsDerailed(train: number, toggle: boolean): void;

/**
 * A setter for [GET_RESOURCE_KVP_STRING](#\_0x5240DA5A).
 * @param key The key to set
 * @param value The value to write
 */
declare function SetResourceKvp(key: string, value: string): void;

/**
 * A setter for [GET_RESOURCE_KVP_FLOAT](#\_0x35BDCEEA).
 * @param key The key to set
 * @param value The value to write
 */
declare function SetResourceKvpFloat(key: string, value: number): void;

/**
 * A setter for [GET_RESOURCE_KVP_INT](#\_0x557B586A).
 * @param key The key to set
 * @param value The value to write
 */
declare function SetResourceKvpInt(key: string, value: number): void;

declare function SetRestartCustomPosition(x: number, y: number, z: number, heading: number): void;
declare function N_0x706b5edcaa7fa663(x: number, y: number, z: number, heading: number): void;
declare function SetCustomRespawnPosition(x: number, y: number, z: number, heading: number): void;

/**
 * Sets the player's rich presence detail state for social platform providers to a specified string.
 * @param presenceState The rich presence string to set.
 */
declare function SetRichPresence(presenceState: string): void;

/**
 * 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 Turn on or off riot mode. Set to `true` to enable riot mode.
 */
declare function SetRiotModeEnabled(toggle: boolean): void;
/**
 * 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 Turn on or off riot mode. Set to `true` to enable riot mode.
 */
declare function N_0x2587a48bc88dfadf(toggle: boolean): void;

/**
 * missing a last parameter int p6
 * ```
 * ```
 * NativeDB Added Parameter 7: Any p6
 */
declare function SetRoadsBackToOriginal(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

/**
 * 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 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 */
declare function SetRoadsBackToOriginalInAngledArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number): void;

/**
 * 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 X dimension of the angled area 'origin'
 * @param y1 Y dimension of the angled area 'origin'
 * @param z1 Z dimension of the angled area 'origin'
 * @param x2 X dimension of the angled area 'extent'
 * @param y2 Y dimension of the angled area 'extent'
 * @param z2 Z dimension of the angled area 'extent'
 * @param width Width of the angled area
 */
declare function SetRoadsInAngledArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, width: number, unknown1: boolean, unknown2: boolean, unknown3: boolean): void;

/**
 * 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.
 */
declare function SetRoadsInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, nodeEnabled: boolean, unknown2: boolean): void;

/**
 * Set's the ropes length change rate, which is the speed that rope should wind if started.
 * @param rope The rope to set the length change rate for.
 * @param lengthChangeRate The rope's new length change rate.
 */
declare function SetRopeLengthChangeRate(rope: number, lengthChangeRate: number): void;

/**
 * Toggles whether the usage of [ADD_ROPE](#\_0xE832D760399EB220) should create an underlying CNetworkRopeWorldStateData. By default this is set to false.
 * @param shouldCreate Whether to create an underlying network world state
 */
declare function SetRopesCreateNetworkWorldState(shouldCreate: boolean): void;

/**
 * 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.
 */
declare function SetRunSprintMultiplierForPlayer(player: number, multiplier: number): void;

declare function SetRuntimeTextureArgbData(tex: number, buffer: string, length: number): boolean;

/**
 * Sets a pixel in the specified runtime texture. This will have to be committed using `COMMIT_RUNTIME_TEXTURE` to have any effect.
 * @param tex A handle to the runtime texture.
 * @param x The X position of the pixel to change.
 * @param y The Y position of the pixel to change.
 * @param r The new R value (0-255).
 * @param g The new G value (0-255).
 * @param b The new B value (0-255).
 * @param a The new A value (0-255).
 */
declare function SetRuntimeTexturePixel(tex: number, x: number, y: number, r: number, g: number, b: number, a: number): void;

declare function SetSaveHouse(p0: number, p1: boolean, p2: boolean): void;

/**
 * ignoreVehicle - bypasses vehicle check of the local player (it will not open if you are in a vehicle and this is set to false)
 */
declare function SetSaveMenuActive(ignoreVehicle: boolean): void;

/**
 * Sets profile setting 501
 */
declare function SetSaveMigrationTransactionId(transactionId: number): void;
/**
 * Sets profile setting 501
 */
declare function N_0xf6792800ac95350d(transactionId: number): void;

/**
 * This native is used in some casino scripts to fit the scaleform in the rendertarget.
 */
declare function SetScaleformFitRendertarget(scaleformHandle: number, toggle: boolean): void;
/**
 * This native is used in some casino scripts to fit the scaleform in the rendertarget.
 */
declare function N_0xe6a9f00d4240b519(scaleformHandle: number, toggle: boolean): void;

declare function SetScaleformMovieAsNoLongerNeeded(scaleformHandle: number): void;

declare function SetScaleformMovieToUseSystemTime(scaleform: number, toggle: boolean): void;

/**
 * Occurrences in the b617d scripts: pastebin.com/Tvg2PRHU
 */
declare function SetScenarioGroupEnabled(scenarioGroup: string, p1: boolean): void;

declare function SetScenarioPedDensityMultiplierThisFrame(p0: number, p1: number): void;

declare function SetScenarioPedsSpawnInSphereArea(x: number, y: number, z: number, range: number, p4: number): void;

/**
 * Sets a value indicating whether scenario peds should be returned by the next call to a command that returns peds. Eg. GET_CLOSEST_PED.
 */
declare function SetScenarioPedsToBeReturnedByNextCommand(value: boolean): void;

/**
 * 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.
 */
declare function SetScenarioTypeEnabled(scenarioType: string, toggle: boolean): void;

declare function SetScriptAsNoLongerNeeded(scriptName: string): void;

/**
 * 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 The horizontal alignment. This can be 67 ('C'), 76 ('L'), or 82 ('R').
 * @param verticalAlign The vertical alignment. This can be 67 ('C'), 66 ('B'), or 84 ('T').
 */
declare function SetScriptGfxAlign(horizontalAlign: number, verticalAlign: number): void;
/**
 * 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 The horizontal alignment. This can be 67 ('C'), 76 ('L'), or 82 ('R').
 * @param verticalAlign The vertical alignment. This can be 67 ('C'), 66 ('B'), or 84 ('T').
 */
declare function SetScreenDrawPosition(horizontalAlign: number, verticalAlign: number): void;
/**
 * 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 The horizontal alignment. This can be 67 ('C'), 76 ('L'), or 82 ('R').
 * @param verticalAlign The vertical alignment. This can be 67 ('C'), 66 ('B'), or 84 ('T').
 */
declare function ScreenDrawPositionBegin(horizontalAlign: number, verticalAlign: number): void;

/**
 * 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 The X offset for the item to be drawn.
 * @param y The Y offset for the item to be drawn.
 * @param w The width of the item to be drawn.
 * @param h The height of the item to be drawn.
 */
declare function SetScriptGfxAlignParams(x: number, y: number, w: number, h: number): void;
/**
 * 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 The X offset for the item to be drawn.
 * @param y The Y offset for the item to be drawn.
 * @param w The width of the item to be drawn.
 * @param h The height of the item to be drawn.
 */
declare function N_0xf5a2c681787e579d(x: number, y: number, w: number, h: number): void;
/**
 * 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 The X offset for the item to be drawn.
 * @param y The Y offset for the item to be drawn.
 * @param w The width of the item to be drawn.
 * @param h The height of the item to be drawn.
 */
declare function ScreenDrawPositionRatio(x: number, y: number, w: number, h: number): void;

/**
 * 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 A boolean value.
 */
declare function SetScriptGfxDrawBehindPausemenu(flag: boolean): void;
/**
 * 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 A boolean value.
 */
declare function N_0xc6372ecd45d73bcd(flag: boolean): void;

/**
 * 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 The intended draw order/layer.
 */
declare function SetScriptGfxDrawOrder(order: number): void;
/**
 * 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 The intended draw order/layer.
 */
declare function N_0x61bb1d9b3a95d802(order: number): void;
/**
 * 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 The intended draw order/layer.
 */
declare function Set_2dLayer(order: number): void;
/**
 * 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 The intended draw order/layer.
 */
declare function SetUiLayer(order: number): void;

declare function SetScriptUpdateDoorAudio(doorHash: string | number, toggle: boolean): void;
declare function N_0x06c0023bed16dd6b(doorHash: string | number, toggle: boolean): void;

/**
 * Sets the color of HUD_COLOUR_SCRIPT_VARIABLE
 */
declare function SetScriptVariableHudColour(r: number, g: number, b: number, a: number): void;
/**
 * Sets the color of HUD_COLOUR_SCRIPT_VARIABLE
 */
declare function N_0xd68a5ff8a3a89874(r: number, g: number, b: number, a: number): void;

/**
 * Sets the color of HUD_COLOUR_SCRIPT_VARIABLE_2
 */
declare function SetScriptVariable_2HudColour(r: number, g: number, b: number, a: number): void;
/**
 * Sets the color of HUD_COLOUR_SCRIPT_VARIABLE_2
 */
declare function N_0x16a304e6cb2bfab9(r: number, g: number, b: number, a: number): void;

/**
 * Only called once in the decompiled scripts. Presumably activates the specified generator.
 */
declare function SetScriptVehicleGenerator(vehicleGenerator: number, enabled: boolean): void;

declare function SetScriptWithNameHashAsNoLongerNeeded(scriptHash: string | number): void;
declare function SetStreamedScriptAsNoLongerNeeded(scriptHash: string | number): void;

declare function SetScriptedAnimSeatOffset(ped: number, p1: number): void;

declare function SetScriptedConversionCoordThisFrame(x: number, y: number, z: number): void;

/**
 * Toggles Heatvision on/off.
 */
declare function SetSeethrough(toggle: boolean): void;

declare function SetSequenceToRepeat(taskSequenceId: number, repeat: boolean): void;

/**
 * NativeDB Introduced: v2372
 */
declare function SetSirenKeepOn(vehicle: number, toggle: boolean): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0xf584cf8529b51434(vehicle: number, toggle: boolean): void;

declare function SetSirenWithNoDriver(vehicle: number, toggle: boolean): void;

declare function SetSnakeoilForEntry(name: string, path: string, data: string): void;

/**
 * NativeDB Introduced: v1868
 */
declare function SetSnowLevel(level: number): void;

/**
 * HUD::SET_SOCIAL_CLUB_TOUR("Gallery");
 * HUD::SET_SOCIAL_CLUB_TOUR("Missions");
 * HUD::SET_SOCIAL_CLUB_TOUR("General");
 * HUD::SET_SOCIAL_CLUB_TOUR("Playlists");
 */
declare function SetSocialClubTour(name: string): void;
/**
 * HUD::SET_SOCIAL_CLUB_TOUR("Gallery");
 * HUD::SET_SOCIAL_CLUB_TOUR("Missions");
 * HUD::SET_SOCIAL_CLUB_TOUR("General");
 * HUD::SET_SOCIAL_CLUB_TOUR("Playlists");
 */
declare function N_0x9e778248d6685fe0(name: string): void;

/**
 * NativeDB Added Parameter 3: Any p2
 */
declare function SetSpecialAbility(player: number, p1: number): void;
/**
 * NativeDB Added Parameter 3: Any p2
 */
declare function N_0xb214d570ead7f81a(player: number, p1: number): void;

declare function SetSpecialAbilityMultiplier(multiplier: number): void;

/**
 * NativeDB Introduced: v1365
 */
declare function SetSpecialflightWingRatio(vehicle: number, ratio: number): void;

declare function SetSrlTime(p0: number): void;

/**
 * Internal function for setting a state bag value.
 */
declare function SetStateBagValue(bagName: string, keyName: string, valueData: string, valueLength: number, replicated: boolean): void;

/**
 * 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
 */
declare function SetStateOfClosestDoorOfType(_type: string | number, x: number, y: number, z: number, locked: boolean, heading: number, p6: boolean): void;

/**
 * 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
 */
declare function SetStateOfRayfireMapObject(object: number, state: number): void;
/**
 * 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
 */
declare function N_0x5c29f698d404c5e1(object: number, state: number): void;
/**
 * 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
 */
declare function SetDesObjectState(object: number, state: number): void;

/**
 * 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.
 */
declare function SetStaticEmitterEnabled(emitterName: string, toggle: boolean): void;

/**
 * Access to the store for shark cards etc...
 */
declare function SetStoreEnabled(toggle: boolean): void;

declare function SetStreamedTextureDictAsNoLongerNeeded(textureDict: string): void;

declare function SetStreaming(toggle: boolean): void;

declare function SetStuntJumpsCanTrigger(toggle: boolean): void;
declare function N_0xd79185689f8fd5df(toggle: boolean): void;

declare function SetSubmarineCrushDepths(vehicle: number, toggle: boolean, depth1: number, depth2: number, depth3: number): void;
declare function JitterVehicle(vehicle: number, toggle: boolean, depth1: number, depth2: number, depth3: number): void;

declare function SetSuperJumpThisFrame(player: number): void;

/**
 * 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.
 */
declare function SetSwimMultiplierForPlayer(player: number, multiplier: number): void;

/**
 * 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);
 */
declare function SetSynchronizedAudioEventPositionThisFrame(p0: string, p1: number): void;
/**
 * 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);
 */
declare function N_0x950a154b8dab6185(p0: string, p1: number): void;

declare function SetSynchronizedSceneHoldLastFrame(sceneID: number, toggle: boolean): void;
declare function N_0x394b9cd12435c981(sceneID: number, toggle: boolean): void;
declare function SetSynchronizedSceneOcclusionPortal(sceneID: number, toggle: boolean): void;

declare function SetSynchronizedSceneLooped(sceneID: number, toggle: boolean): void;

declare function SetSynchronizedSceneOrigin(sceneID: number, x: number, y: number, z: number, roll: number, pitch: number, yaw: number, p7: boolean): void;

declare function SetSynchronizedScenePhase(sceneID: number, phase: number): void;

declare function SetSynchronizedSceneRate(sceneID: number, rate: number): void;

declare function SetTaskMoveNetworkSignalBool(ped: number, signalName: string, value: boolean): void;
declare function N_0xb0a6cfd2c69c1088(ped: number, signalName: string, value: boolean): void;
declare function SetTaskPropertyBool(ped: number, signalName: string, value: boolean): void;

/**
 * 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 The ped on which the task is playing.
 * @param signalName The property name.
 * @param value The property value to set.
 */
declare function SetTaskMoveNetworkSignalFloat(ped: number, signalName: string, value: number): void;
/**
 * 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 The ped on which the task is playing.
 * @param signalName The property name.
 * @param value The property value to set.
 */
declare function N_0xd5bb4025ae449a4e(ped: number, signalName: string, value: number): void;
/**
 * 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 The ped on which the task is playing.
 * @param signalName The property name.
 * @param value The property value to set.
 */
declare function SetTaskPropertyFloat(ped: number, signalName: string, value: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function SetTaskMoveNetworkSignalFloat_2(ped: number, signalName: string, value: number): void;

/**
 * * 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.
 */
declare function SetTaskVehicleChaseBehaviorFlag(ped: number, flag: number, _set: boolean): void;

declare function SetTaskVehicleChaseIdealPursuitDistance(ped: number, distance: number): void;

declare function SetTaskVehicleGotoPlaneMinHeightAboveTerrain(plane: number, height: number): void;
declare function N_0xb893215d8d4c015b(plane: number, height: number): void;
declare function SetPlaneMinHeightAboveGround(plane: number, height: number): void;
declare function SetPlaneMinHeightAboveTerrain(plane: number, height: number): void;

/**
 * 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);
 * }
 */
declare function SetTaxiLights(vehicle: number, state: boolean): void;

declare function SetTeamPickupObject(object: number, p1: number, p2: boolean): void;

declare function SetTextCentre(align: boolean): void;

declare function SetTextChatEnabled(enabled: boolean): boolean;

/**
 * colors you input not same as you think?
 * A: for some reason its R B G A
 */
declare function SetTextColour(red: number, green: number, blue: number, alpha: number): void;

declare function SetTextDropShadow(): void;

/**
 * distance - shadow distance in pixels, both horizontal and vertical
 * r, g, b, a - color
 * @param distance Shadow distance in pixels, both horizontal and vertical.
 * @param r Red color.
 * @param g Green color.
 * @param b Blue color.
 * @param a Alpha.
 */
declare function SetTextDropshadow(distance: number, r: number, g: number, b: number, a: number): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function SetTextEdge(p0: number, r: number, g: number, b: number, a: number): void;

/**
 * fonts that mess up your text where made for number values/misc stuff
 */
declare function SetTextFont(fontType: number): void;

/**
 * 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
 */
declare function SetTextJustification(justifyType: number): void;
/**
 * 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
 */
declare function N_0x4e096588b13ffeca(justifyType: number): void;

declare function SetTextLeading(p0: number): void;

declare function SetTextOutline(): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function SetTextProportional(p0: boolean): void;

declare function SetTextRenderId(renderId: number): void;

declare function SetTextRightJustify(toggle: boolean): void;

/**
 * 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.
 */
declare function SetTextScale(scale: number, size: number): void;

/**
 * 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)
 */
declare function SetTextWrap(start: number, end: number): void;

declare function SetTextureVariationOfClosestObjectOfType(x: number, y: number, z: number, radius: number, modelHash: string | number, textureVariation: number): boolean;
declare function N_0xf12e33034d887f66(x: number, y: number, z: number, radius: number, modelHash: string | number, textureVariation: number): boolean;

declare function SetThirdPersonAimCamNearClipThisUpdate(distance: number): void;
declare function N_0x42156508606de65e(distance: number): void;
declare function SetThirdPersonAimCamNearClip(distance: number): void;

declare function SetThisScriptCanBePaused(toggle: boolean): void;

declare function SetThisScriptCanRemoveBlipsCreatedByAnyScript(toggle: boolean): void;

/**
 * 0 = high
 * 1 = normal
 * 2 = low
 */
declare function SetThreadPriority(priority: number): void;
/**
 * 0 = high
 * 1 = normal
 * 2 = low
 */
declare function N_0x42b65deef2edf2a1(priority: number): void;

/**
 * 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
 */
declare function SetTimeScale(timeScale: number): void;

/**
 * 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.)
 */
declare function SetTimecycleModifier(modifierName: string): void;

declare function SetTimecycleModifierStrength(strength: number): void;

/**
 * Toggles the Cayo Perico map.
 * ```
 * NativeDB Introduced: v2189
 * ```
 */
declare function SetToggleMinimapHeistIsland(toggle: boolean): void;

declare function SetTrackedPointInfo(point: number, x: number, y: number, z: number, radius: number): void;

declare function SetTrailerInverseMassScale(vehicle: number, p1: number): void;
declare function N_0x2a8f319b392e7b3f(vehicle: number, p1: number): void;

/**
 * Inverse of 0x95CF53B3D687F9FA
 * ```
 * ```
 * NativeDB Added Parameter 1: Vehicle vehicle
 */
declare function SetTrailerLegsLowered(): void;
/**
 * Inverse of 0x95CF53B3D687F9FA
 * ```
 * ```
 * NativeDB Added Parameter 1: Vehicle vehicle
 */
declare function N_0x878c75c09fbdb942(): void;

/**
 * in the decompiled scripts, seems to be always called on the vehicle right after being attached to a trailer.
 */
declare function SetTrailerLegsRaised(vehicle: number): void;
/**
 * in the decompiled scripts, seems to be always called on the vehicle right after being attached to a trailer.
 */
declare function N_0x95cf53b3d687f9fa(vehicle: number): void;

declare function SetTrainCruiseSpeed(train: number, speed: number): void;

/**
 * Sets the ratio that a door is open for on a train.
 * @param train The train to set the door ratio for.
 * @param doorIndex Zero-based door index.
 * @param ratio A value between 0.0 (fully closed) and 1.0 (fully open).
 */
declare function SetTrainDoorOpenRatio(train: number, doorIndex: number, ratio: number): void;

declare function SetTrainSpeed(train: number, speed: number): void;

/**
 * Only called once inside main_persitant with the parameters, 0
 */
declare function SetTrainTrackSpawnFrequency(trackIndex: number, frequency: number): void;
/**
 * Only called once inside main_persitant with the parameters, 0
 */
declare function N_0x21973bbf8d17edfa(trackIndex: number, frequency: number): void;

/**
 * Enables or disables whether train doors should be forced open whilst a player is inside the train. This is enabled by default in multiplayer.
 * @param forceOpen Should force open.
 */
declare function SetTrainsForceDoorsOpen(forceOpen: boolean): void;

/**
 * This native doesn't work like [`SetWeatherTypeTransition`](#\_0x578C752848ECFA0C).
 * @param modifierName The name of a timecycle
 * @param transition The speed to transition to `modifierName`. Appears to be half-seconds (?)
 */
declare function SetTransitionTimecycleModifier(modifierName: string, transition: number): void;

/**
 * Probably changes tvs from being a 3d audio to being "global" audio
 */
declare function SetTvAudioFrontend(toggle: boolean): void;

declare function SetTvChannel(channel: number): void;

/**
 * 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
 */
declare function SetTvChannelPlaylist(tvChannel: number, playlistName: string, restart: boolean): void;
/**
 * 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
 */
declare function N_0xf7b38b8305f1fe8b(tvChannel: number, playlistName: string, restart: boolean): void;
/**
 * 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
 */
declare function LoadTvChannelSequence(tvChannel: number, playlistName: string, restart: boolean): void;

declare function SetTvChannelPlaylistAtHour(tvChannel: number, playlistName: string, hour: number): void;
declare function N_0x2201c576facaebe8(tvChannel: number, playlistName: string, hour: number): void;

declare function SetTvVolume(volume: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function SetTyreHealth(vehicle: number, wheelIndex: number, health: number): void;

/**
 * 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
 */
declare function SetTyreSoftnessMultiplier(vehicle: number, wheelIndex: number, multiplier: number): void;
/**
 * 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
 */
declare function N_0x392183bb9ea57697(vehicle: number, wheelIndex: number, multiplier: number): void;

/**
 * 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
 */
declare function SetTyreTractionLossMultiplier(vehicle: number, wheelIndex: number, multiplier: number): void;
/**
 * 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
 */
declare function N_0xc970d0e0fc31d768(vehicle: number, wheelIndex: number, multiplier: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function SetTyreWearMultiplier(vehicle: number, wheelIndex: number, multiplier: number): void;

/**
 * NativeDB Introduced: v1365
 */
declare function SetUnkBoolN_0x102ForSubmarineVehicleTask(vehicle: number, value: boolean): void;

/**
 * NativeDB Introduced: v1365
 */
declare function SetUnkFloatN_0x104ForSubmarineVehicleTask(vehicle: number, value: number): void;

/**
 * NativeDB Introduced: v1365
 */
declare function SetUnkGlobalBoolRelatedToDamage(value: boolean): void;

declare function SetUseHiDof(): void;

/**
 * Only used in R* Script fm_mission_controller_2020
 * ```
 * ```
 * NativeDB Introduced: v2699
 */
declare function SetUseHiDofInCutscene(): void;

/**
 * Allows vehicles with the FLAG_JUMPING_CAR flag to jump higher (i.e. Ruiner 2000).
 */
declare function SetUseHigherVehicleJumpForce(vehicle: number, toggle: boolean): void;
/**
 * Allows vehicles with the FLAG_JUMPING_CAR flag to jump higher (i.e. Ruiner 2000).
 */
declare function N_0xf06a16ca55d138d8(vehicle: number, toggle: boolean): void;

/**
 * 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 `true` to show 'Destination', `false` to show 'Waypoint' (the default)
 */
declare function SetUseWaypointAsDestination(toggle: boolean): void;
/**
 * 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 `true` to show 'Destination', `false` to show 'Waypoint' (the default)
 */
declare function N_0x6cdd58146a436083(toggle: boolean): void;

declare function SetUserRadioControlEnabled(toggle: boolean): void;

/**
 * SET_VARIABLE_ON_*
 */
declare function SetVariableOnCutsceneAudio(variableName: string, value: number): void;
/**
 * SET_VARIABLE_ON_*
 */
declare function GetPlayerHeadsetSoundAlternate(variableName: string, value: number): void;

declare function SetVariableOnSound(soundId: number, variableName: string, value: number): void;

/**
 * From the scripts, p0:
 * "ArmWrestlingIntensity",
 * "INOUT",
 * "Monkey_Stream",
 * "ZoomLevel"
 */
declare function SetVariableOnStream(p0: string, p1: number): void;

/**
 * AUDIO::SET_VARIABLE_ON_UNDER_WATER_STREAM("inTunnel", 1.0);
 * AUDIO::SET_VARIABLE_ON_UNDER_WATER_STREAM("inTunnel", 0.0);
 */
declare function SetVariableOnUnderWaterStream(variableName: string, value: number): void;
/**
 * AUDIO::SET_VARIABLE_ON_UNDER_WATER_STREAM("inTunnel", 1.0);
 * AUDIO::SET_VARIABLE_ON_UNDER_WATER_STREAM("inTunnel", 0.0);
 */
declare function N_0x733adf241531e5c2(variableName: string, value: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function SetVehHasRadioOverride(vehicle: number): void;
/**
 * NativeDB Introduced: v2372
 */
declare function N_0x3e45765f3fbb582f(vehicle: number): void;

/**
 * For a full list, see here: pastebin.com/Kj9t38KF
 */
declare function SetVehRadioStation(vehicle: number, radioStation: string): void;

declare function SetVehicleActiveDuringPlayback(vehicle: number, toggle: boolean): void;
declare function N_0xdffcef48e511db48(vehicle: number, toggle: boolean): void;

declare function SetVehicleActiveForPedNavigation(vehicle: number, toggle: boolean): void;
declare function N_0x21115bcd6e44656a(vehicle: number, toggle: boolean): void;
declare function SetVehicleCloseDoorDeferedAction(vehicle: number, toggle: boolean): void;

declare function SetVehicleAlarm(vehicle: number, state: boolean): void;

declare function SetVehicleAlarmTimeLeft(vehicle: number, time: number): void;

/**
 * Makes the vehicle accept no passengers.
 */
declare function SetVehicleAllowNoPassengersLockon(veh: number, toggle: boolean): void;

/**
 * This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.
 */
declare function SetVehicleAsNoLongerNeeded(vehicle: number): void;

/**
 * Vehicle will make a 'rattling' noise when decelerating
 * @param vehicle Vehicle to modify
 * @param intensity A value 0.0 - 1.0. Higher the value, the more likely the vehicle is to make the sound while decelerating
 */
declare function SetVehicleAudioBodyDamageFactor(vehicle: number, intensity: number): void;
/**
 * Vehicle will make a 'rattling' noise when decelerating
 * @param vehicle Vehicle to modify
 * @param intensity A value 0.0 - 1.0. Higher the value, the more likely the vehicle is to make the sound while decelerating
 */
declare function N_0x01bb4d577d38bd9e(vehicle: number, intensity: number): void;

declare function SetVehicleAudioEngineDamageFactor(vehicle: number, damageFactor: number): void;
declare function N_0x59e7b488451f4d3a(vehicle: number, damageFactor: number): void;

/**
 * Disables the vehicle from being repaired when a vehicle extra is enabled.
 * @param vehicle The vehicle to set disable auto vehicle repair.
 * @param value Setting the value to  true prevents the vehicle from being repaired when a extra is enabled. Setting the value to false allows the vehicle from being repaired when a extra is enabled.
 */
declare function SetVehicleAutoRepairDisabled(vehicle: number, value: boolean): void;

declare function SetVehicleAutomaticallyAttaches(vehicle: number, p1: boolean, p2: number): number;

/**
 * p2 often set to 1000.0 in the decompiled scripts.
 */
declare function SetVehicleBodyHealth(vehicle: number, value: number): void;

/**
 * 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 The vehicle to set the bombCount on.
 * @param bombCount The amount of bombs to set for this vehicle.
 */
declare function SetVehicleBombCount(aircraft: number, bombCount: number): void;
/**
 * 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 The vehicle to set the bombCount on.
 * @param bombCount The amount of bombs to set for this vehicle.
 */
declare function N_0xf4b2ed59deb5d774(aircraft: number, bombCount: number): void;
/**
 * 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 The vehicle to set the bombCount on.
 * @param bombCount The amount of bombs to set for this vehicle.
 */
declare function SetVehicleBombs(aircraft: number, bombCount: number): void;
/**
 * 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 The vehicle to set the bombCount on.
 * @param bombCount The amount of bombs to set for this vehicle.
 */
declare function SetAircraftBombCount(aircraft: number, bombCount: number): void;

/**
 * SET_VEHICLE_BOOST_ACTIVE(vehicle, 1, 0);
 * SET_VEHICLE_BOOST_ACTIVE(vehicle, 0, 0);
 * Will give a boost-soundeffect.
 */
declare function SetVehicleBoostActive(vehicle: number, toggle: boolean): void;

declare function SetVehicleBrake(vehicle: number, toggle: boolean): void;
declare function N_0xe4e2fd323574965c(vehicle: number, toggle: boolean): void;

declare function SetVehicleBrakeLights(vehicle: number, toggle: boolean): void;

/**
 * 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%).
 */
declare function SetVehicleBulldozerArmPosition(vehicle: number, position: number, p2: boolean): void;
/**
 * 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%).
 */
declare function N_0xf8ebccc96adb9fb7(vehicle: number, position: number, p2: boolean): void;

/**
 * On accelerating, spins the driven wheels with the others braked, so you don't go anywhere.
 */
declare function SetVehicleBurnout(vehicle: number, toggle: boolean): void;

/**
 * SET_VEHICLE_AL*
 */
declare function SetVehicleCanBeLockedOn(vehicle: number, canBeLockedOn: boolean, unk: boolean): void;
/**
 * SET_VEHICLE_AL*
 */
declare function N_0x1dda078d12879eee(vehicle: number, canBeLockedOn: boolean, unk: boolean): void;

/**
 * This has not yet been tested - it's just an assumption of what the types could be.
 */
declare function SetVehicleCanBeTargetted(vehicle: number, state: boolean): void;

declare function SetVehicleCanBeUsedByFleeingPeds(vehicle: number, toggle: boolean): void;
declare function N_0x300504b23bd3b711(vehicle: number, toggle: boolean): void;

declare function SetVehicleCanBeVisiblyDamaged(vehicle: number, state: boolean): void;

declare function SetVehicleCanBreak(vehicle: number, toggle: boolean): void;

declare function SetVehicleCanDeformWheels(vehicle: number, toggle: boolean): void;
declare function N_0x0cdda42f9e360ca6(vehicle: number, toggle: boolean): void;

declare function SetVehicleCanEngineOperateOnFire(vehicle: number, toggle: boolean): void;
declare function N_0x206bc5dc9d1ac70a(vehicle: number, toggle: boolean): void;

declare function SetVehicleCanLeakOil(vehicle: number, toggle: boolean): void;
declare function N_0x51bb2d88d31a914b(vehicle: number, toggle: boolean): void;

declare function SetVehicleCanLeakPetrol(vehicle: number, toggle: boolean): void;
declare function N_0x192547247864dfdd(vehicle: number, toggle: boolean): void;

declare function SetVehicleCanSaveInGarage(vehicle: number, toggle: boolean): void;
declare function N_0x428baccdf5e26ead(vehicle: number, toggle: boolean): void;

/**
 * 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);
 */
declare function SetVehicleCeilingHeight(vehicle: number, height: number): void;
/**
 * 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);
 */
declare function GetVehicleDeformationGetTree(vehicle: number, height: number): void;

/**
 * <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.
 */
declare function SetVehicleCheatPowerIncrease(vehicle: number, value: number): void;
/**
 * <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.
 */
declare function SetVehicleEngineTorqueMultiplier(vehicle: number, value: number): void;

declare function SetVehicleClutch(vehicle: number, clutch: number): void;

/**
 * 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 The vehicle to modify.
 * @param colorCombination One of the default color values of the vehicle.
 */
declare function SetVehicleColourCombination(vehicle: number, colorCombination: number): void;

/**
 * colorPrimary & colorSecondary are the paint indexes for the vehicle.
 * For a list of valid paint indexes, view: pastebin.com/pwHci0xK
 */
declare function SetVehicleColours(vehicle: number, colorPrimary: number, colorSecondary: number): void;

/**
 * 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.
 */
declare function SetVehicleControlsInverted(vehicle: number, state: boolean): void;
/**
 * 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.
 */
declare function N_0x5b91b229243351a8(vehicle: number, state: boolean): void;

/**
 * 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 The vehicle to set the amount of countermeasures on.
 * @param count The amount of countermeasures to set on this vehicle.
 */
declare function SetVehicleCountermeasureCount(aircraft: number, count: number): void;
/**
 * 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 The vehicle to set the amount of countermeasures on.
 * @param count The amount of countermeasures to set on this vehicle.
 */
declare function N_0x9bda23bf666f0855(aircraft: number, count: number): void;
/**
 * 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 The vehicle to set the amount of countermeasures on.
 * @param count The amount of countermeasures to set on this vehicle.
 */
declare function SetAircraftCountermeasureCount(aircraft: number, count: number): void;

declare function SetVehicleCurrentRpm(vehicle: number, rpm: number): void;

/**
 * p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
 */
declare function SetVehicleCustomPrimaryColour(vehicle: number, r: number, g: number, b: number): void;

/**
 * p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
 */
declare function SetVehicleCustomSecondaryColour(vehicle: number, r: number, g: number, b: number): void;

/**
 * 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 radius the size of the damage sphere to apply
 * @param focusOnModel when set to `true`, the damage sphere will travel towards the vehicle from the given point, thus guaranteeing an impact
 */
declare function SetVehicleDamage(vehicle: number, xOffset: number, yOffset: number, zOffset: number, damage: number, radius: number, focusOnModel: boolean): void;

/**
 * SET_VEHICLE_D*
 */
declare function SetVehicleDamageModifier(vehicle: number, p1: number): number;
/**
 * SET_VEHICLE_D*
 */
declare function N_0x4e20d2a627011e8e(vehicle: number, p1: number): number;

declare function SetVehicleDashboardColor(vehicle: number, color: number): void;
declare function SetVehicleDashboardColour(vehicle: number, color: number): void;

/**
 * This fixes the deformation of a vehicle but the vehicle health doesn't improve
 */
declare function SetVehicleDeformationFixed(vehicle: number): void;

/**
 * **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.
 */
declare function SetVehicleDensityMultiplierThisFrame(multiplier: number): void;

/**
 * Sets the dirt level of the passed vehicle.
 * @param vehicle The vehicle to set.
 * @param dirtLevel A number between 0.0 and 15.0 representing the vehicles dirt level.
 */
declare function SetVehicleDirtLevel(vehicle: number, dirtLevel: number): void;

declare function SetVehicleDisableTowing(vehicle: number, toggle: boolean): void;
declare function N_0x2b6747faa9db9d6b(vehicle: number, toggle: boolean): void;

/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 */
declare function SetVehicleDoorBroken(vehicle: number, doorIndex: number, deleteDoor: boolean): void;

/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 */
declare function SetVehicleDoorCanBreak(vehicle: number, doorIndex: number, isBreakable: boolean): void;
/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 */
declare function SetVehicleDoorBreakable(vehicle: number, doorIndex: number, isBreakable: boolean): void;

/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 * @param speed 5 is fast, 1 is slow 3 is medium
 */
declare function SetVehicleDoorControl(vehicle: number, doorIndex: number, speed: number, angle: number): void;

/**
 * See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
 */
declare function SetVehicleDoorLatched(vehicle: number, doorIndex: number, forceClose: boolean, lock: boolean, p4: boolean): void;

/**
 * Sets the specified door index open on the passed vehicle. See [`IS_VEHICLE_DOOR_FULLY_OPEN`](#\_0x3E933CFF7B111C22).
 * @param vehicle Vehicle.
 * @param doorIndex Index of the door you want to open (0-7)
 * @param loose Whether the door is "loose" (if true the doors have no "spring" and can be closed easily.)
 * @param openInstantly Whether the doors open instantly (if true this native seems to ignore loose)
 */
declare function SetVehicleDoorOpen(vehicle: number, doorIndex: number, loose: boolean, openInstantly: boolean): void;

/**
 * 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 Vehicle.
 * @param doorIndex Index of the door you want to close.
 * @param closeInstantly Whether the doors close instantly.
 */
declare function SetVehicleDoorShut(vehicle: number, doorIndex: number, closeInstantly: boolean): void;

/**
 * // 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
 * };
 */
declare function SetVehicleDoorsLocked(vehicle: number, doorLockStatus: number): void;

declare function SetVehicleDoorsLockedForAllPlayers(vehicle: number, toggle: boolean): void;

declare function SetVehicleDoorsLockedForNonScriptPlayers(vehicle: number, toggle: boolean): void;
declare function N_0x9737a37136f07e75(vehicle: number, toggle: boolean): void;

declare function SetVehicleDoorsLockedForPlayer(vehicle: number, player: number, toggle: boolean): void;

declare function SetVehicleDoorsLockedForTeam(vehicle: number, team: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v1365
 */
declare function SetVehicleDoorsLockedForUnk(vehicle: number, toggle: boolean): void;

/**
 * Closes all doors of a vehicle:
 */
declare function SetVehicleDoorsShut(vehicle: number, closeInstantly: boolean): void;

/**
 * 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
 */
declare function SetVehicleDropsMoneyWhenBlownUp(vehicle: number, toggle: boolean): void;
/**
 * 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
 */
declare function N_0x068f64f2470f9656(vehicle: number, toggle: boolean): void;
/**
 * 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
 */
declare function SetVehicleCreatesMoneyPickupsWhenExploded(vehicle: number, toggle: boolean): void;

declare function SetVehicleEngineCanDegrade(vehicle: number, toggle: boolean): void;

/**
 * 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
 */
declare function SetVehicleEngineHealth(vehicle: number, health: number): void;

/**
 * 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 The vehicle to start or stop the engine on.
 * @param value true to turn the vehicle on; false to turn it off.
 * @param instantly if true, the vehicle will be set to the state immediately; otherwise, the current driver will physically turn on or off the engine.
 * @param disableAutoStart If true, the system will prevent the engine from starting when the player got into it.
 */
declare function SetVehicleEngineOn(vehicle: number, value: boolean, instantly: boolean, disableAutoStart: boolean): void;

declare function SetVehicleEngineTemperature(vehicle: number, temperature: number): void;

/**
 * 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 Target vehicle
 * @param fade The paint fade effect strength
 */
declare function SetVehicleEnveffScale(vehicle: number, fade: number): void;
/**
 * 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 Target vehicle
 * @param fade The paint fade effect strength
 */
declare function SetVehiclePaintFade(vehicle: number, fade: number): void;

/**
 * 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
 * ```
 */
declare function SetVehicleExclusiveDriver(vehicle: number, toggle: boolean): void;
/**
 * 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
 * ```
 */
declare function N_0x41062318f23ed854(vehicle: number, toggle: boolean): void;

/**
 * The **actual** [`SET_VEHICLE_EXCLUSIVE_DRIVER`](#\_0x41062318F23ED854) native.
 */
declare function SetVehicleExclusiveDriver_2(vehicle: number, ped: number, index: number): void;
/**
 * The **actual** [`SET_VEHICLE_EXCLUSIVE_DRIVER`](#\_0x41062318F23ED854) native.
 */
declare function N_0xb5c51b5502e85e83(vehicle: number, ped: number, index: number): void;

/**
 * Sets a vehicle to be strongly resistant to explosions. p0 is the vehicle; set p1 to false to toggle the effect on/off.
 */
declare function SetVehicleExplodesOnHighExplosionDamage(vehicle: number, toggle: boolean): void;

/**
 * Max value is 32767
 */
declare function SetVehicleExtendedRemovalRange(vehicle: number, range: number): void;
/**
 * Max value is 32767
 */
declare function N_0x79df7e806202ce01(vehicle: number, range: number): void;

/**
 * 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]
 */
declare function SetVehicleExtra(vehicle: number, extraId: number, disable: boolean): void;

/**
 * They use the same color indexs as SET_VEHICLE_COLOURS.
 */
declare function SetVehicleExtraColours(vehicle: number, pearlescentColor: number, wheelColor: number): void;

/**
 * Fix a given vehicle.
 * If the vehicle's engine's broken then you cannot fix it with this native.
 * @param vehicle The vehicle that will be fixed
 */
declare function SetVehicleFixed(vehicle: number): void;

declare function SetVehicleFlightNozzlePosition(vehicle: number, angleRatio: number): void;
declare function N_0x30d779de7c4f6dd3(vehicle: number, angleRatio: number): void;
declare function SetDesiredVerticalFlightPhase(vehicle: number, angleRatio: number): void;
declare function SetPlaneVtolDesiredDirection(vehicle: number, angleRatio: number): void;

declare function SetVehicleFlightNozzlePositionImmediate(vehicle: number, angle: number): void;
declare function N_0x9aa47fff660cb932(vehicle: number, angle: number): void;
declare function SetVerticalFlightPhase(vehicle: number, angle: number): void;
declare function SetPlaneVtolDirection(vehicle: number, angle: number): void;

declare function SetVehicleForceAfterburner(vehicle: number, toggle: boolean): void;
declare function N_0xb055a34527cb8fd7(vehicle: number, toggle: boolean): void;

/**
 * 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
 */
declare function SetVehicleForwardSpeed(vehicle: number, speed: number): void;

/**
 * Seems to be related to the metal parts, not tyres (like i was expecting lol)
 * Must be called every tick.
 */
declare function SetVehicleFrictionOverride(vehicle: number, friction: number): void;

declare function SetVehicleFuelLevel(vehicle: number, level: number): void;

/**
 * It switch to highbeam when p1 is set to true.
 */
declare function SetVehicleFullbeam(vehicle: number, toggle: boolean): void;

/**
 * Allows creation of CEventShockingPlaneFlyby, CEventShockingHelicopterOverhead, and other(?) Shocking events
 */
declare function SetVehicleGeneratesEngineShockingEvents(vehicle: number, toggle: boolean): void;
/**
 * Allows creation of CEventShockingPlaneFlyby, CEventShockingHelicopterOverhead, and other(?) Shocking events
 */
declare function N_0x279d50de5652d935(vehicle: number, toggle: boolean): void;

declare function SetVehicleGravity(vehicle: number, toggle: boolean): void;

declare function SetVehicleGravityAmount(vehicle: number, gravity: number): void;

declare function SetVehicleHandbrake(vehicle: number, toggle: boolean): void;

/**
 * Sets a handling override for a specific vehicle. Certain handling flags can only be set globally using `SET_HANDLING_FIELD`, this might require some experimentation.
 * Example: `SetVehicleHandlingField(vehicle, 'CHandlingData', 'fSteeringLock', 360.0)`
 * @param vehicle The vehicle to set data for.
 * @param class_ The handling class to set. Only "CHandlingData" is supported at this time.
 * @param fieldName The field name to set. These match the keys in `handling.meta`.
 * @param value The value to set.
 */
declare function SetVehicleHandlingField(vehicle: number, class_: string, fieldName: string, value: number): void;

/**
 * Sets a handling override for a specific vehicle. Certain handling flags can only be set globally using `SET_HANDLING_FLOAT`, this might require some experimentation.
 * Example: `SetVehicleHandlingFloat(vehicle, 'CHandlingData', 'fSteeringLock', 360.0)`
 * @param vehicle The vehicle to set data for.
 * @param class_ The handling class to set. Only "CHandlingData" is supported at this time.
 * @param fieldName The field name to set. These match the keys in `handling.meta`.
 * @param value The floating-point value to set.
 */
declare function SetVehicleHandlingFloat(vehicle: number, class_: string, fieldName: string, value: number): void;

declare function SetVehicleHandlingHashForAi(vehicle: number, hash: string | number): void;
declare function N_0x10655fab9915623d(vehicle: number, hash: string | number): void;

/**
 * Sets a handling override for a specific vehicle. Certain handling flags can only be set globally using `SET_HANDLING_INT`, this might require some experimentation.
 * @param vehicle The vehicle to set data for.
 * @param class_ The handling class to set. Only "CHandlingData" is supported at this time.
 * @param fieldName The field name to set. These match the keys in `handling.meta`.
 * @param value The integer value to set.
 */
declare function SetVehicleHandlingInt(vehicle: number, class_: string, fieldName: string, value: number): void;

/**
 * Sets a handling override for a specific vehicle. Certain handling flags can only be set globally using `SET_HANDLING_VECTOR`, this might require some experimentation.
 * @param vehicle The vehicle to set data for.
 * @param class_ The handling class to set. Only "CHandlingData" is supported at this time.
 * @param fieldName The field name to set. These match the keys in `handling.meta`.
 * @param value The Vector3 value to set.
 */
declare function SetVehicleHandlingVector(vehicle: number, class_: string, fieldName: string): void;

declare function SetVehicleHasBeenDrivenFlag(vehicle: number, toggle: boolean): void;
declare function N_0x02398b627547189c(vehicle: number, toggle: boolean): void;

declare function SetVehicleHasBeenOwnedByPlayer(vehicle: number, owned: boolean): void;

declare function SetVehicleHasMutedSirens(vehicle: number, toggle: boolean): void;
declare function DisableVehicleImpactExplosionActivation(vehicle: number, toggle: boolean): void;
declare function SetDisableVehicleSirenSound(vehicle: number, toggle: boolean): void;

/**
 * if true, axles won't bend.
 */
declare function SetVehicleHasStrongAxles(vehicle: number, toggle: boolean): void;

declare function SetVehicleHasUnbreakableLights(vehicle: number, p1: boolean): void;
declare function N_0x1aa8a837d2169d94(vehicle: number, p1: boolean): void;
declare function SetVehicleLightsCanBeVisiblyDamaged(vehicle: number, p1: boolean): void;

declare function SetVehicleHighGear(vehicle: number, gear: number): void;

/**
 * NativeDB Introduced: v1365
 */
declare function SetVehicleHornVariation(vehicle: number, value: number): void;
/**
 * NativeDB Introduced: v1365
 */
declare function N_0x0350e7e17ba767d0(vehicle: number, value: number): void;
/**
 * NativeDB Introduced: v1365
 */
declare function N_0xcda42c4bb9bde779(vehicle: number, value: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function SetVehicleHoverTransformActive(vehicle: number, toggle: boolean): void;

/**
 * If false, anything related to INPUT_VEH_TRANSFORM are ignored (changing hover state through script natives still possible).
 * ```
 * ```
 * NativeDB Introduced: v1290
 */
declare function SetVehicleHoverTransformEnabled(vehicle: number, toggle: boolean): void;
/**
 * If false, anything related to INPUT_VEH_TRANSFORM are ignored (changing hover state through script natives still possible).
 * ```
 * ```
 * NativeDB Introduced: v1290
 */
declare function N_0xf1211889df15a763(vehicle: number, toggle: boolean): void;

/**
 * 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 The vehicle (a deluxo or oppressor2).
 * @param state The transform state (value between 0.0 and 1.0).
 */
declare function SetVehicleHoverTransformPercentage(vehicle: number, state: number): void;
/**
 * 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 The vehicle (a deluxo or oppressor2).
 * @param state The transform state (value between 0.0 and 1.0).
 */
declare function N_0x438b3d7ca026fe91(vehicle: number, state: number): void;
/**
 * 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 The vehicle (a deluxo or oppressor2).
 * @param state The transform state (value between 0.0 and 1.0).
 */
declare function SetVehicleTransformState(vehicle: number, state: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function SetVehicleHoverTransformRatio(vehicle: number, ratio: number): void;

declare function SetVehicleInactiveDuringPlayback(vehicle: number, toggle: boolean): void;
declare function N_0x06582aff74894c75(vehicle: number, toggle: boolean): void;

/**
 * Sets the turn signal enabled for a vehicle.
 * Set turnSignal to 1 for left light, 0 for right light.
 */
declare function SetVehicleIndicatorLights(vehicle: number, turnSignal: number, toggle: boolean): void;

declare function SetVehicleIndividualDoorsLocked(vehicle: number, doorIndex: number, doorLockStatus: number): void;
declare function SetPedTargettableVehicleDestroy(vehicle: number, doorIndex: number, doorLockStatus: number): void;
declare function SetVehicleDoorDestroyType(vehicle: number, doorIndex: number, doorLockStatus: number): void;

declare function SetVehicleInteriorColor(vehicle: number, color: number): void;
declare function SetVehicleInteriorColour(vehicle: number, color: number): void;

declare function SetVehicleInteriorlight(vehicle: number, toggle: boolean): void;

/**
 * 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.
 */
declare function SetVehicleIsConsideredByPlayer(vehicle: number, toggle: boolean): void;

/**
 * p1 (toggle) was always 1 (true) except in one case in the b678 scripts.
 */
declare function SetVehicleIsRacing(vehicle: number, toggle: boolean): void;
/**
 * p1 (toggle) was always 1 (true) except in one case in the b678 scripts.
 */
declare function SteerUnlockBias(vehicle: number, toggle: boolean): void;

declare function SetVehicleIsStolen(vehicle: number, isStolen: boolean): void;

/**
 * Sets the wanted state of this vehicle.
 */
declare function SetVehicleIsWanted(vehicle: number, state: boolean): void;

declare function SetVehicleJetEngineOn(vehicle: number, toggle: boolean): void;
declare function N_0xb8fbc8b1330ca9b4(vehicle: number, toggle: boolean): void;

declare function SetVehicleKersAllowed(vehicle: number, toggle: boolean): void;
declare function N_0x99c82f8a139f3e4e(vehicle: number, toggle: boolean): void;
declare function SetVehicleHudSpecialAbilityBarActive(vehicle: number, toggle: boolean): void;

/**
 * multiplier = brightness of head lights.
 * this value isn't capped afaik.
 * multiplier = 0.0 no lights
 * multiplier = 1.0 default game value
 */
declare function SetVehicleLightMultiplier(vehicle: number, multiplier: number): void;

/**
 * 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.
 */
declare function SetVehicleLights(vehicle: number, state: number): void;

/**
 * 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)
 */
declare function SetVehicleLightsMode(vehicle: number, p1: number): void;
/**
 * 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)
 */
declare function N_0x1fd09e7390a74d54(vehicle: number, p1: number): void;

declare function SetVehicleLivery(vehicle: number, livery: number): void;

declare function SetVehicleLodMultiplier(vehicle: number, multiplier: number): void;

/**
 * To reset the max speed, set the `speed` value to `0.0` or lower.
 * @param vehicle The vehicle handle.
 * @param speed The speed limit in meters per second.
 */
declare function SetVehicleMaxSpeed(vehicle: number, speed: number): void;
/**
 * To reset the max speed, set the `speed` value to `0.0` or lower.
 * @param vehicle The vehicle handle.
 * @param speed The speed limit in meters per second.
 */
declare function N_0xbaa045b4e42f3c06(vehicle: number, speed: number): void;

/**
 * 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,
 * };
 */
declare function SetVehicleMod(vehicle: number, modType: number, modIndex: number, customTires: boolean): void;

/**
 * paintType:
 * 0: Normal
 * 1: Metallic
 * 2: Pearl
 * 3: Matte
 * 4: Metal
 * 5: Chrome
 * color: number of the color.
 * p3 seems to always be 0.
 */
declare function SetVehicleModColor_1(vehicle: number, paintType: number, color: number, pearlescentColor: number): void;

/**
 * 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
 */
declare function SetVehicleModColor_2(vehicle: number, paintType: number, color: number): void;

/**
 * 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.
 */
declare function SetVehicleModKit(vehicle: number, modKit: number): void;

/**
 * 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);
 */
declare function SetVehicleModelIsSuppressed(model: string | number, suppressed: boolean): void;

/**
 * NOTE: Debugging functions are not present in the retail version of the game.
 */
declare function SetVehicleNameDebug(vehicle: number, name: string): void;

declare function SetVehicleNeedsToBeHotwired(vehicle: number, toggle: boolean): void;

/**
 * Sets the neon lights of the specified vehicle on/off.
 * Indices:
 * 0 = Left
 * 1 = Right
 * 2 = Front
 * 3 = Back
 */
declare function SetVehicleNeonLightEnabled(vehicle: number, index: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v1493
 */
declare function SetVehicleNeonLightsColor_2(vehicle: number, color: number): void;

/**
 * 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 |
 */
declare function SetVehicleNeonLightsColour(vehicle: number, r: number, g: number, b: number): void;

/**
 * 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
 */
declare function SetVehicleNitroEnabled(vehicle: number, toggle: boolean): void;

declare function SetVehicleNumberPlateText(vehicle: number, plateText: string): void;

/**
 * Plates:
 * Blue/White - 0
 * Yellow/black - 1
 * Yellow/Blue - 2
 * Blue/White2 - 3
 * Blue/White3 - 4
 * Yankton - 5
 */
declare function SetVehicleNumberPlateTextIndex(vehicle: number, plateIndex: number): void;

declare function SetVehicleOilLevel(vehicle: number, level: number): void;

/**
 * Sets a vehicle on the ground on all wheels.  Returns whether or not the operation was successful.
 * ```
 * ```
 * NativeDB Added Parameter 2: float p1
 */
declare function SetVehicleOnGroundProperly(vehicle: number): boolean;

/**
 * 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.
 */
declare function SetVehicleOutOfControl(vehicle: number, killDriver: boolean, explodeOnImpact: boolean): void;

declare function SetVehicleParachuteActive(vehicle: number, active: boolean): void;

/**
 * parachuteModel = 230075693
 */
declare function SetVehicleParachuteModel(vehicle: number, modelHash: string | number): void;
/**
 * parachuteModel = 230075693
 */
declare function VehicleSetCustomParachuteModel(vehicle: number, modelHash: string | number): void;

/**
 * colorIndex = 0 - 7
 */
declare function SetVehicleParachuteTextureVariation(vehicle: number, textureVariation: number): void;
/**
 * colorIndex = 0 - 7
 */
declare function VehicleSetCustomParachuteTexture(vehicle: number, textureVariation: number): void;
/**
 * colorIndex = 0 - 7
 */
declare function SetVehicleParachuteTextureVariatiion(vehicle: number, textureVariation: number): void;

/**
 * 1000 is max health
 * Begins leaking gas at around 650 health
 */
declare function SetVehiclePetrolTankHealth(vehicle: number, health: number): void;

declare function SetVehiclePopulationBudget(p0: number): void;

declare function SetVehicleProvidesCover(vehicle: number, toggle: boolean): void;

/**
 * can't seem to enable radio on cop cars etc
 */
declare function SetVehicleRadioEnabled(vehicle: number, toggle: boolean): void;

declare function SetVehicleRadioLoud(vehicle: number, toggle: boolean): void;

declare function SetVehicleRampLaunchModifier(vehicle: number, p1: number): void;
declare function N_0xefc13b1ce30d755d(vehicle: number, p1: number): void;

declare function SetVehicleRampSidewaysLaunchMotion(vehicle: number, toggle: boolean): void;
declare function N_0x1bbac99c0bc53656(vehicle: number, toggle: boolean): void;

declare function SetVehicleRampUpwardsLaunchMotion(vehicle: number, toggle: boolean): void;
declare function N_0x756ae6e962168a04(vehicle: number, toggle: boolean): void;

declare function SetVehicleReceivesRampDamage(vehicle: number, toggle: boolean): void;
declare function SetRampVehicleReceivesRampDamage(vehicle: number, toggle: boolean): void;

/**
 * Reduces grip significantly so it's hard to go anywhere.
 */
declare function SetVehicleReduceGrip(vehicle: number, toggle: boolean): void;

/**
 * Often used in conjunction with: [SET_VEHICLE_REDUCE_GRIP](#\_0x222FF6A823D122E2).
 * ```
 * NativeDB Introduced: v1604
 * ```
 */
declare function SetVehicleReduceTraction(vehicle: number, val: number): void;
/**
 * Often used in conjunction with: [SET_VEHICLE_REDUCE_GRIP](#\_0x222FF6A823D122E2).
 * ```
 * NativeDB Introduced: v1604
 * ```
 */
declare function N_0x6dee944e1ee90cfb(vehicle: number, val: number): void;

declare function SetVehicleRocketBoostActive(vehicle: number, active: boolean): void;

declare function SetVehicleRocketBoostPercentage(vehicle: number, percentage: number): void;

declare function SetVehicleRocketBoostRefillTime(vehicle: number, time: number): void;

/**
 * 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 The vehicle handle.
 * @param livery Livery index.
 */
declare function SetVehicleRoofLivery(vehicle: number, livery: number): void;
/**
 * 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 The vehicle handle.
 * @param livery Livery index.
 */
declare function N_0xa6d3a8750dc73270(vehicle: number, livery: number): void;

declare function SetVehicleRudderBroken(vehicle: number, toggle: boolean): void;

/**
 * Only works during nighttime.
 */
declare function SetVehicleSearchlight(heli: number, toggle: boolean, canBeUsedByAI: boolean): void;

/**
 * Adds some kind of shadow to the vehicle.
 * -1 disables the effect.
 * DISABLE_*
 */
declare function SetVehicleShadowEffect(vehicle: number, p1: number, p2: number): void;
/**
 * Adds some kind of shadow to the vehicle.
 * -1 disables the effect.
 * DISABLE_*
 */
declare function N_0xf0e4ba16d1db546c(vehicle: number, p1: number, p2: number): void;

/**
 * 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);
 */
declare function SetVehicleShootAtTarget(driver: number, entity: number, xTarget: number, yTarget: number, zTarget: number): void;

/**
 * If set to TRUE, it seems to suppress door noises and doesn't allow the horn to be continuous.
 */
declare function SetVehicleSilent(vehicle: number, toggle: boolean): void;
/**
 * If set to TRUE, it seems to suppress door noises and doesn't allow the horn to be continuous.
 */
declare function N_0x9d44fcce98450843(vehicle: number, toggle: boolean): void;

/**
 * Activate siren on vehicle (Only works if the vehicle has a siren).
 */
declare function SetVehicleSiren(vehicle: number, toggle: boolean): void;

/**
 * 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);
 * }
 */
declare function SetVehicleSt(vehicle: number, toggle: boolean): void;
/**
 * 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);
 * }
 */
declare function N_0x1cf38d529d7441d9(vehicle: number, toggle: boolean): void;

/**
 * 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");
 * ```
 */
declare function SetVehicleStartupRevSound(vehicle: number, p1: string, p2: string): void;
/**
 * 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");
 * ```
 */
declare function N_0xf1f8157b8c3f171c(vehicle: number, p1: string, p2: string): void;

/**
 * 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
 */
declare function SetVehicleSteerBias(vehicle: number, value: number): void;

declare function SetVehicleSteeringAngle(vehicle: number, angle: number): void;

declare function SetVehicleSteeringBiasScalar(vehicle: number, scalar: number): void;
declare function N_0x9007a2f21dc108d4(vehicle: number, scalar: number): void;

declare function SetVehicleSteeringScale(vehicle: number, scale: number): void;

/**
 * If set to true, vehicle will not take crash damage, but is still susceptible to damage from bullets and explosives
 */
declare function SetVehicleStrong(vehicle: number, toggle: boolean): void;

/**
 * Sets the height of the vehicle's suspension.
 * This changes the same value set by Suspension in the mod shop.
 * Negatives values raise the car. Positive values lower the car.
 * This is change is visual only. The collision of the vehicle will not move.
 */
declare function SetVehicleSuspensionHeight(vehicle: number, newHeight: number): void;

declare function SetVehicleTankTurretPosition(vehicle: number, position: number, p2: boolean): void;
declare function N_0x56b94c6d7127dfba(vehicle: number, position: number, p2: boolean): void;

declare function SetVehicleTimedExplosion(vehicle: number, ped: number, toggle: boolean): void;

/**
 * Sets how much the crane on the tow truck is raised, where 0.0 is fully lowered and 1.0 is fully raised.
 */
declare function SetVehicleTowTruckArmPosition(vehicle: number, position: number): void;
/**
 * Sets how much the crane on the tow truck is raised, where 0.0 is fully lowered and 1.0 is fully raised.
 */
declare function SetTowTruckCraneRaised(vehicle: number, position: number): void;
/**
 * Sets how much the crane on the tow truck is raised, where 0.0 is fully lowered and 1.0 is fully raised.
 */
declare function SetTowTruckCraneHeight(vehicle: number, position: number): void;

declare function SetVehicleTurboPressure(vehicle: number, pressure: number): void;

declare function SetVehicleTurretSpeedThisFrame(vehicle: number, speed: number): void;
declare function N_0x1093408b4b9d1146(vehicle: number, speed: number): void;

/**
 * Toggles specific flag on turret
 * ```
 * ```
 * NativeDB Introduced: v1290
 */
declare function SetVehicleTurretUnk(vehicle: number, index: number, toggle: boolean): void;
/**
 * Toggles specific flag on turret
 * ```
 * ```
 * NativeDB Introduced: v1290
 */
declare function N_0xc60060eb0d8ac7b1(vehicle: number, index: number, toggle: boolean): void;

/**
 * "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
 */
declare function SetVehicleTyreBurst(vehicle: number, index: number, onRim: boolean, p3: number): void;

/**
 * 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
 */
declare function SetVehicleTyreFixed(vehicle: number, tyreIndex: number): void;

/**
 * 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
 */
declare function SetVehicleTyreSmokeColor(vehicle: number, r: number, g: number, b: number): void;

/**
 * Allows you to toggle bulletproof tires.
 */
declare function SetVehicleTyresCanBurst(vehicle: number, toggle: boolean): void;

declare function SetVehicleUndriveable(vehicle: number, toggle: boolean): void;

declare function SetVehicleUnkDamageMultiplier(vehicle: number, multiplier: number): void;
declare function N_0x45a561a9421ab6ad(vehicle: number, multiplier: number): void;

declare function SetVehicleUseAlternateHandling(vehicle: number, toggle: boolean): void;
declare function N_0x1d97d1e3a70a649f(vehicle: number, toggle: boolean): void;

declare function SetVehicleUseCutsceneWheelCompression(p0: number, p1: boolean, p2: boolean, p3: boolean): number;
declare function SetAllVehiclesSpawn(p0: number, p1: boolean, p2: boolean, p3: boolean): number;
declare function N_0xe023e8ac4ef7c117(p0: number, p1: boolean, p2: boolean, p3: boolean): number;

declare function SetVehicleUsePlayerLightSettings(vehicle: number, toggle: boolean): void;
declare function N_0xc45c27ef50f36adc(vehicle: number, toggle: boolean): void;
declare function SetVehicleUsePlayerLightSettings(vehicle: number, toggle: boolean): void;

/**
 * vehicle must be a plane
 */
declare function SetVehicleUsesLargeRearRamp(vehicle: number, toggle: boolean): void;
/**
 * vehicle must be a plane
 */
declare function N_0xcac66558b944da67(vehicle: number, toggle: boolean): void;

declare function SetVehicleWeaponCapacity(vehicle: number, weaponIndex: number, capacity: number): void;
declare function N_0x44cd1f493db2a0a6(vehicle: number, weaponIndex: number, capacity: number): void;

declare function SetVehicleWeaponsDisabled(vehicle: number, weaponSlot: number): void;
declare function N_0x86b4b6212cb8b627(vehicle: number, weaponSlot: number): void;

/**
 * Sets brake pressure of a wheel.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 * Normal values around 1.0f
 */
declare function SetVehicleWheelBrakePressure(vehicle: number, wheelIndex: number, pressure: number): void;

/**
 * Sets the flags of a wheel.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 * @param flags bit flags
 */
declare function SetVehicleWheelFlags(vehicle: number, wheelIndex: number, flags: number): void;

declare function SetVehicleWheelHealth(vehicle: number, wheelIndex: number, health: number): void;

/**
 * Sets whether the wheel is powered.
 * On all wheel drive cars this works to change which wheels receive power, but if a car's fDriveBiasFront doesn't send power to that wheel, it won't get power anyway. This can be fixed by changing the fDriveBiasFront with SET_VEHICLE_HANDLING_FLOAT.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 * This is a shortcut to a flag in SET_VEHICLE_WHEEL_FLAGS.
 */
declare function SetVehicleWheelIsPowered(vehicle: number, wheelIndex: number, powered: boolean): void;

/**
 * Sets power being sent to a wheel.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 */
declare function SetVehicleWheelPower(vehicle: number, wheelIndex: number, power: number): void;

/**
 * Not sure what this changes, probably determines physical rim size in case the tire is blown.
 * @param vehicle The vehicle to obtain data for.
 * @param wheelIndex Index of wheel, 0-3.
 * @param value Size of rim collider.
 */
declare function SetVehicleWheelRimColliderSize(vehicle: number, wheelIndex: number, value: number): void;

/**
 * Sets the rotation speed of a wheel.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 */
declare function SetVehicleWheelRotationSpeed(vehicle: number, wheelIndex: number, speed: number): void;

/**
 * Sets vehicle's wheels' size (size is the same for all the wheels, cannot get/set specific wheel of vehicle).
 * Only works on non-default wheels.
 * Returns whether change was successful (can be false if trying to set size for non-default wheels).
 * @param vehicle The vehicle to set data for.
 * @param size Size of the wheels (usually between 0.5 and 1.5 is reasonable).
 * @return Bool - whether change was successful or not
 */
declare function SetVehicleWheelSize(vehicle: number, size: number): boolean;

/**
 * Use along with SetVehicleWheelSize to resize the wheels (this native sets the collider size affecting physics while SetVehicleWheelSize will change visual size).
 * @param vehicle The vehicle to obtain data for.
 * @param wheelIndex Index of wheel, 0-3.
 * @param value Radius of tire collider.
 */
declare function SetVehicleWheelTireColliderSize(vehicle: number, wheelIndex: number, value: number): void;

/**
 * Use along with SetVehicleWheelWidth to resize the wheels (this native sets the collider width affecting physics while SetVehicleWheelWidth will change visual width).
 * @param vehicle The vehicle to obtain data for.
 * @param wheelIndex Index of wheel, 0-3.
 * @param value Width of tire collider.
 */
declare function SetVehicleWheelTireColliderWidth(vehicle: number, wheelIndex: number, value: number): void;

/**
 * Sets the traction vector length of a wheel.
 * Max number of wheels can be retrieved with the native GET_VEHICLE_NUMBER_OF_WHEELS.
 */
declare function SetVehicleWheelTractionVectorLength(vehicle: number, wheelIndex: number, length: number): void;

/**
 * Refer to [GET_VEHICLE_WHEEL_TYPE](#\_0xB3ED1BFB4BE636DC) for wheel types.
 */
declare function SetVehicleWheelType(vehicle: number, wheelType: number): void;

/**
 * Sets vehicle's wheels' width (width is the same for all the wheels, cannot get/set specific wheel of vehicle).
 * Only works on non-default wheels.
 * Returns whether change was successful (can be false if trying to set width for non-default wheels).
 * @param vehicle The vehicle to set data for.
 * @param width Width of the wheels (usually between 0.1 and 1.5 is reasonable).
 * @return Bool - whether change was successful or not
 */
declare function SetVehicleWheelWidth(vehicle: number, width: number): boolean;

/**
 * Adjusts the offset of the specified wheel relative to the wheel's axle center.
 * Needs to be called every frame in order to function properly, as GTA will reset the offset otherwise.
 * This function can be especially useful to set the track width of a vehicle, for example:
 * ```
 * function SetVehicleFrontTrackWidth(vehicle, width)
 * SetVehicleWheelXOffset(vehicle, 0, -width/2)
 * SetVehicleWheelXOffset(vehicle, 1, width/2)
 * end
 * ```
 */
declare function SetVehicleWheelXOffset(vehicle: number, wheelIndex: number, offset: number): void;

declare function SetVehicleWheelYRotation(vehicle: number, wheelIndex: number, value: number): void;
declare function SetVehicleWheelXrot(vehicle: number, wheelIndex: number, value: number): void;

/**
 * Example script: https://pastebin.com/J6XGbkCW
 * List of known states:
 * ```
 * 1: Not wheeling.
 * 65: Vehicle is ready to do wheelie (burnouting).
 * 129: Vehicle is doing wheelie.
 * ```
 * @param vehicle Vehicle
 * @param state Wheelie state
 */
declare function SetVehicleWheelieState(vehicle: number, state: number): void;

declare function SetVehicleWheelsCanBreak(vehicle: number, enabled: boolean): void;

declare function SetVehicleWheelsCanBreakOffWhenBlowUp(vehicle: number, toggle: boolean): void;
declare function SetVehicleMaxStrTrap(vehicle: number, toggle: boolean): void;

/**
 * Related to monster trucks in native scripts.
 * ```
 * ```
 * NativeDB Introduced: v1604
 */
declare function SetVehicleWheelsDealDamage(vehicle: number, toggle: boolean): void;
/**
 * Related to monster trucks in native scripts.
 * ```
 * ```
 * NativeDB Introduced: v1604
 */
declare function N_0x2970eaa18fd5e42f(vehicle: number, toggle: boolean): void;

/**
 * enum WindowTints
 * {
 * WINDOWTINT_NONE,
 * WINDOWTINT_PURE_BLACK,
 * WINDOWTINT_DARKSMOKE,
 * WINDOWTINT_LIGHTSMOKE,
 * WINDOWTINT_STOCK,
 * WINDOWTINT_LIMO,
 * WINDOWTINT_GREEN
 * };
 */
declare function SetVehicleWindowTint(vehicle: number, tint: number): void;

/**
 * Paint index goes from 0 to 12.
 * You can find the list of colors and ids here: [\_GET_VEHICLE_HEADLIGHTS_COLOUR](#\_0x3DFF319A831E0CDB)
 * @param vehicle The vehicle handle.
 * @param color The paint index.
 */
declare function SetVehicleXenonLightsColor(vehicle: number, color: number): void;
/**
 * Paint index goes from 0 to 12.
 * You can find the list of colors and ids here: [\_GET_VEHICLE_HEADLIGHTS_COLOUR](#\_0x3DFF319A831E0CDB)
 * @param vehicle The vehicle handle.
 * @param color The paint index.
 */
declare function N_0xe41033b25d003a07(vehicle: number, color: number): void;
/**
 * Paint index goes from 0 to 12.
 * You can find the list of colors and ids here: [\_GET_VEHICLE_HEADLIGHTS_COLOUR](#\_0x3DFF319A831E0CDB)
 * @param vehicle The vehicle handle.
 * @param color The paint index.
 */
declare function SetVehicleHeadlightsColour(vehicle: number, color: number): void;
/**
 * Paint index goes from 0 to 12.
 * You can find the list of colors and ids here: [\_GET_VEHICLE_HEADLIGHTS_COLOUR](#\_0x3DFF319A831E0CDB)
 * @param vehicle The vehicle handle.
 * @param color The paint index.
 */
declare function SetVehicleXenonLightsColour(vehicle: number, color: number): void;

/**
 * Sets custom vehicle xenon lights color, allowing to use RGB palette. The game will ignore lights color set by [\_SET_VEHICLE_XENON_LIGHTS_COLOR](#\_0xE41033B25D003A07) when custom color is active. This native is not synced between players. Requires xenon lights mod to be set on vehicle.
 * @param vehicle The vehicle handle.
 * @param red Red color (0-255).
 * @param green Green color (0-255).
 * @param blue Blue color (0-255).
 */
declare function SetVehicleXenonLightsCustomColor(vehicle: number, red: number, green: number, blue: number): void;

/**
 * Overrides a floating point value from `visualsettings.dat` temporarily.
 * @param name The name of the value to set, such as `pedLight.color.red`.
 * @param value The value to write.
 */
declare function SetVisualSettingFloat(name: string, value: number): void;

/**
 * Max value is 1.0
 */
declare function SetWantedLevelDifficulty(player: number, difficulty: number): void;

/**
 * NativeDB Introduced: v2060
 */
declare function SetWantedLevelHiddenEvasionTime(player: number, wantedLevel: number, lossTime: number): void;
/**
 * NativeDB Introduced: v2060
 */
declare function N_0x49b856b1360c47c7(player: number, wantedLevel: number, lossTime: number): void;

declare function SetWantedLevelMultiplier(multiplier: number): void;

/**
 * **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 The text label to display as the first line of the warning message.
 * @param instructionalKey This is an enum, check the description for a list.
 * @param entryLine2 The text label to display as the second line of the warning message.
 * @param p3 Purpose unknown.
 * @param p4 Purpose unknown.
 * @param background Set to anything other than 0 or false (even any string) and it will draw a background. Setting it to 0 or false will draw no background.
 * @param p6 Purpose unknown.
 * @param showBg Purpose unknown.
 * @param errorCode When not 0, adds a field displaying the value as 'error code' to the warning message.
 */
declare function SetWarningMessage(entryLine1: string, instructionalKey: number, entryLine2: string, p3: boolean, p4: number, background: string, p6: string, showBg: boolean, errorCode: number): void;

/**
 * Param names copied from the corresponding scaleform function "SET_LIST_ROW"
 */
declare function SetWarningMessageListRow(index: number, name: string, cash: number, rp: number, lvl: number, colour: number): boolean;
/**
 * Param names copied from the corresponding scaleform function "SET_LIST_ROW"
 */
declare function N_0x0c5a80a9e096d529(index: number, name: string, cash: number, rp: number, lvl: number, colour: number): boolean;

/**
 * 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 Label of the alert's title.
 * @param labelMsg Label of the alert's message.
 * @param p2 This is an enum, check the description for a list.
 * @param p3 This is an enum, check the description for a list.
 * @param labelMsg2 Label of another message line
 * @param p5 usually 0
 * @param p6 usually -1
 * @param p7 usually 0
 * @param p8 unknown label
 * @param p9 unknown label
 * @param background Set to anything other than 0 or false (even any string) and it will draw a background. Setting it to 0 or false will draw no background.
 * @param errorCode Error code, shown at the bottom left if set to value other than 0.
 */
declare function SetWarningMessageWithAlert(labelTitle: string, labelMsg: string, p2: number, p3: number, labelMsg2: string, p5: boolean, p6: number, p7: number, p8: string, p9: string, background: boolean, errorCode: number): void;
/**
 * 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 Label of the alert's title.
 * @param labelMsg Label of the alert's message.
 * @param p2 This is an enum, check the description for a list.
 * @param p3 This is an enum, check the description for a list.
 * @param labelMsg2 Label of another message line
 * @param p5 usually 0
 * @param p6 usually -1
 * @param p7 usually 0
 * @param p8 unknown label
 * @param p9 unknown label
 * @param background Set to anything other than 0 or false (even any string) and it will draw a background. Setting it to 0 or false will draw no background.
 * @param errorCode Error code, shown at the bottom left if set to value other than 0.
 */
declare function N_0x15803fec3b9a872b(labelTitle: string, labelMsg: string, p2: number, p3: number, labelMsg2: string, p5: boolean, p6: number, p7: number, p8: string, p9: string, background: boolean, errorCode: number): void;
/**
 * 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 Label of the alert's title.
 * @param labelMsg Label of the alert's message.
 * @param p2 This is an enum, check the description for a list.
 * @param p3 This is an enum, check the description for a list.
 * @param labelMsg2 Label of another message line
 * @param p5 usually 0
 * @param p6 usually -1
 * @param p7 usually 0
 * @param p8 unknown label
 * @param p9 unknown label
 * @param background Set to anything other than 0 or false (even any string) and it will draw a background. Setting it to 0 or false will draw no background.
 * @param errorCode Error code, shown at the bottom left if set to value other than 0.
 */
declare function DrawFrontendAlert(labelTitle: string, labelMsg: string, p2: number, p3: number, labelMsg2: string, p5: boolean, p6: number, p7: number, p8: string, p9: string, background: boolean, errorCode: number): void;

/**
 * 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
 */
declare function SetWarningMessageWithHeader(titleMsg: string, entryLine1: string, flags: number, promptMsg: string, p4: boolean, p5: number, background: boolean, showBg: boolean): number;
/**
 * 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
 */
declare function SetWarningMessage_2(titleMsg: string, entryLine1: string, flags: number, promptMsg: string, p4: boolean, p5: number, background: boolean, showBg: boolean): number;

/**
 * You can only use text entries. No custom text.
 * ```
 * ```
 * NativeDB Added Parameter 11: Any p10
 */
declare function SetWarningMessageWithHeaderAndSubstringFlags(entryHeader: string, entryLine1: string, instructionalKey: number, entryLine2: string, p4: boolean, p5: number, p6: number, p9: boolean): [number, number];
/**
 * You can only use text entries. No custom text.
 * ```
 * ```
 * NativeDB Added Parameter 11: Any p10
 */
declare function SetWarningMessage_3(entryHeader: string, entryLine1: string, instructionalKey: number, entryLine2: string, p4: boolean, p5: number, p6: number, p9: boolean): [number, number];

/**
 * NativeDB Introduced: v1493
 */
declare function SetWarningMessageWithHeaderUnk(entryHeader: string, entryLine1: string, flags: number, entryLine2: string, p4: boolean, p5: number, showBg: boolean, p9: number, p10: number): [number, number];

/**
 * This native removes the current waypoint from the map.
 * Example:
 * C#:
 * Function.Call(Hash.SET_WAYPOINT_OFF);
 * C++:
 * HUD::SET_WAYPOINT_OFF();
 */
declare function SetWaypointOff(): void;

/**
 * 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"
 */
declare function SetWeaponAnimationOverride(ped: number, animStyle: string | number): void;

/**
 * Changes the weapon damage output by the given multiplier value.
 * Does NOT need to be called every frame.
 * @param weaponHash Hash of the weapon
 * @param damageMultiplier Damage Multiplier
 */
declare function SetWeaponDamageModifier(weaponHash: string | number, damageMultiplier: number): void;
/**
 * Changes the weapon damage output by the given multiplier value.
 * Does NOT need to be called every frame.
 * @param weaponHash Hash of the weapon
 * @param damageMultiplier Damage Multiplier
 */
declare function N_0x4757f00bc6323cfe(weaponHash: string | number, damageMultiplier: number): void;
/**
 * Changes the weapon damage output by the given multiplier value.
 * Does NOT need to be called every frame.
 * @param weaponHash Hash of the weapon
 * @param damageMultiplier Damage Multiplier
 */
declare function SetWeaponDamageModifierThisFrame(weaponHash: string | number, damageMultiplier: number): void;

/**
 * NativeDB Introduced: v2372
 */
declare function SetWeaponExplosionRadiusMultiplier(weaponHash: string | number, multiplier: number): void;

declare function SetWeaponObjectLiveryColor(weaponObject: number, camoComponentHash: string | number, colorIndex: number): void;
declare function N_0x5da825a85d0ea6e6(weaponObject: number, camoComponentHash: string | number, colorIndex: number): void;

declare function SetWeaponObjectTintIndex(weapon: number, tintIndex: number): void;

/**
 * Disables the game's built-in auto-reloading.
 * @param state On/Off
 */
declare function SetWeaponsNoAutoreload(state: boolean): void;

/**
 * Disables autoswapping to another weapon when the current weapon runs out of ammo.
 * @param state On/Off
 */
declare function SetWeaponsNoAutoswap(state: boolean): void;

/**
 * Sets whether or not the weather should be owned by the network subsystem.
 * To be able to use [\_SET_WEATHER_TYPE_TRANSITION](#\_0x578C752848ECFA0C), this has to be set to false.
 * @param network true to let the network control weather, false to not use network weather behavior.
 */
declare function SetWeatherOwnedByNetwork(network: boolean): void;

/**
 * // 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
 */
declare function SetWeatherTypeNow(weatherType: string): void;

/**
 * Refer to [`SET_WEATHER_TYPE_NOW`](#0x29B487C359E19889) for weather types.
 */
declare function SetWeatherTypeNowPersist(weatherType: string): void;

/**
 * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
 * @param weatherType The weather type to override to.
 * @param time A float on how long to take to transition (in seconds).
 */
declare function SetWeatherTypeOvertimePersist(weatherType: string, time: number): void;
/**
 * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
 * @param weatherType The weather type to override to.
 * @param time A float on how long to take to transition (in seconds).
 */
declare function SetWeatherTypeOverTime(weatherType: string, time: number): void;

/**
 * Refer to [`SET_WEATHER_TYPE_NOW_PERSIST`](#\_0xED712CA327900C8A) for weather types.
 */
declare function SetWeatherTypePersist(weatherType: string): void;

/**
 * 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);
 * ```
 */
declare function SetWeatherTypeTransition(weatherType1: string | number, weatherType2: string | number, percentWeather2: number): void;

declare function SetWidescreenBorders(p0: boolean, p1: number): void;

declare function SetWidescreenFormat(p0: number): void;

/**
 * Sets the the raw wind speed value.
 */
declare function SetWind(speed: number): void;

/**
 * Sets the wind direction.
 * @param direction the [wind direction](https://en.wikipedia.org/wiki/Wind_direction) in radians
 */
declare function SetWindDirection(direction: number): void;

/**
 * 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.
 */
declare function SetWindSpeed(speed: number): void;

declare function SetZoneEnabled(zoneId: number, toggle: boolean): void;

declare function Settimera(value: number): void;

declare function Settimerb(value: number): void;

declare function SetupShopPedApparelQuery(p0: number, p1: number, p2: number, p3: number): number;
declare function N_0x50f457823ce6eb5f(p0: number, p1: number, p2: number, p3: number): number;

/**
 * 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.
 */
declare function SetupShopPedApparelQueryTu(character: number, p1: number, p2: number, p3: boolean, p4: number, componentId: number): number;
/**
 * 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.
 */
declare function GetNumPropsFromOutfit(character: number, p1: number, p2: number, p3: boolean, p4: number, componentId: number): number;

/**
 * characters
 * 0: Michael
 * 1: Franklin
 * 2: Trevor
 * 3: MPMale
 * 4: MPFemale
 */
declare function SetupShopPedOutfitQuery(character: number, p1: boolean): number;
/**
 * characters
 * 0: Michael
 * 1: Franklin
 * 2: Trevor
 * 3: MPMale
 * 4: MPFemale
 */
declare function N_0xf3fbe2d50a6a8c28(character: number, p1: boolean): number;

/**
 * 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
 */
declare function ShakeCam(cam: number, _type: string, amplitude: number): void;

/**
 * p0 argument found in the b617d scripts: "DRUNK_SHAKE"
 */
declare function ShakeCinematicCam(p0: string, p1: number): void;

/**
 * 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
 */
declare function ShakeGameplayCam(shakeName: string, intensity: number): void;

/**
 * CAM::SHAKE_SCRIPT_GLOBAL("HAND_SHAKE", 0.2);
 */
declare function ShakeScriptGlobal(p0: string, p1: number): void;
/**
 * CAM::SHAKE_SCRIPT_GLOBAL("HAND_SHAKE", 0.2);
 */
declare function N_0xf4c8cf9e353afeca(p0: string, p1: number): void;

declare function ShiftLeft(value: number, bitShift: number): number;

declare function ShiftRight(value: number, bitShift: number): number;

/**
 * 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 The X coordinate to start the shot at.
 * @param y1 The Y coordinate to start the shot at.
 * @param z1 The Z coordinate to start the shot at.
 * @param x2 The X coordinate the shot should end up at.
 * @param y2 The Y coordinate the shot should end up at.
 * @param z2 The Z coordinate the shot should end up at.
 * @param damage The amount of damage the bullet carries.
 * @param pureAccuracy Whether the bullet should have pinpoint accuracy.
 * @param weaponHash Hash of the weapon the bullet is used as ammunition for.
 * @param ownerPed Owner of the bullet, e.g. if the bullet kills someone the kill feed shows 'X was shot by ownerPed.'
 * @param isAudible Whether the bullet should be audible. Optional, defaults to true
 * @param isInvisible Whether the bullet should be invisible. Optional, defaults to false
 * @param speed Speed the bullet should fly at. Optional
 */
declare function ShootSingleBulletBetweenCoords(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, damage: number, pureAccuracy: boolean, weaponHash: string | number, ownerPed: number, isAudible: boolean, isInvisible: boolean, speed: number): void;

/**
 * entity - entity to ignore
 * ```
 * ```
 * NativeDB Added Parameter 15: Any p14
 */
declare function ShootSingleBulletBetweenCoordsIgnoreEntity(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, damage: number, p7: boolean, weaponHash: string | number, ownerPed: number, isAudible: boolean, isInvisible: boolean, speed: number, entity: number): void;
/**
 * entity - entity to ignore
 * ```
 * ```
 * NativeDB Added Parameter 15: Any p14
 */
declare function N_0xe3a7742e0b7a2f8b(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, damage: number, p7: boolean, weaponHash: string | number, ownerPed: number, isAudible: boolean, isInvisible: boolean, speed: number, entity: number): void;
/**
 * entity - entity to ignore
 * ```
 * ```
 * NativeDB Added Parameter 15: Any p14
 */
declare function ShootSingleBulletBetweenCoordsPresetParams(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, damage: number, p7: boolean, weaponHash: string | number, ownerPed: number, isAudible: boolean, isInvisible: boolean, speed: number, entity: number): void;

/**
 * NativeDB Added Parameter 19: Any p18
 * NativeDB Added Parameter 20: Any p19
 * NativeDB Added Parameter 21: Any p20
 */
declare function ShootSingleBulletBetweenCoordsIgnoreEntityNew(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, damage: number, p7: boolean, weaponHash: string | number, ownerPed: number, isAudible: boolean, isInvisible: boolean, speed: number, entity: number, p14: boolean, p15: boolean, p16: boolean, p17: boolean): void;
/**
 * NativeDB Added Parameter 19: Any p18
 * NativeDB Added Parameter 20: Any p19
 * NativeDB Added Parameter 21: Any p20
 */
declare function N_0xbfe5756e7407064a(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, damage: number, p7: boolean, weaponHash: string | number, ownerPed: number, isAudible: boolean, isInvisible: boolean, speed: number, entity: number, p14: boolean, p15: boolean, p16: boolean, p17: boolean): void;
/**
 * NativeDB Added Parameter 19: Any p18
 * NativeDB Added Parameter 20: Any p19
 * NativeDB Added Parameter 21: Any p20
 */
declare function ShootSingleBulletBetweenCoordsWithExtraParams(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, damage: number, p7: boolean, weaponHash: string | number, ownerPed: number, isAudible: boolean, isInvisible: boolean, speed: number, entity: number, p14: boolean, p15: boolean, p16: boolean, p17: boolean): void;

/**
 * Returns true if the game is using the metric measurement system (profile setting 227), false if imperial is used.
 * @return Returns true if the game is using the metric measurement system, false if imperial is used.
 */
declare function ShouldUseMetricMeasurements(): boolean;
/**
 * Returns true if the game is using the metric measurement system (profile setting 227), false if imperial is used.
 * @return Returns true if the game is using the metric measurement system, false if imperial is used.
 */
declare function N_0xd3d15555431ab793(): boolean;
/**
 * Returns true if the game is using the metric measurement system (profile setting 227), false if imperial is used.
 * @return Returns true if the game is using the metric measurement system, false if imperial is used.
 */
declare function IsGameUsingMetricMeasurementSystem(): boolean;

/**
 * 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 The blip to toggle the half blue circle around the blip on.
 * @param toggle Enables or disables the half blue circle around the blip (on the left side).
 */
declare function ShowCrewIndicatorOnBlip(blip: number, toggle: boolean): void;
/**
 * 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 The blip to toggle the half blue circle around the blip on.
 * @param toggle Enables or disables the half blue circle around the blip (on the left side).
 */
declare function N_0xdcfb5d4db8bf367e(blip: number, toggle: boolean): void;
/**
 * 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 The blip to toggle the half blue circle around the blip on.
 * @param toggle Enables or disables the half blue circle around the blip (on the left side).
 */
declare function SetBlipCrew(blip: number, toggle: boolean): void;

/**
 * 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 The blip to toggle the half circle on.
 * @param toggle Enables or disables the half circle around the blip (on the right side of the blip).
 */
declare function ShowFriendIndicatorOnBlip(blip: number, toggle: boolean): void;
/**
 * 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 The blip to toggle the half circle on.
 * @param toggle Enables or disables the half circle around the blip (on the right side of the blip).
 */
declare function N_0x23c3eb807312f01a(blip: number, toggle: boolean): void;
/**
 * 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 The blip to toggle the half circle on.
 * @param toggle Enables or disables the half circle around the blip (on the right side of the blip).
 */
declare function SetBlipFriend(blip: number, toggle: boolean): void;

/**
 * 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
 */
declare function ShowHasCompletedIndicatorOnBlip(blip: number, toggle: boolean): void;

/**
 * Adds the GTA: Online player heading indicator to a blip.
 */
declare function ShowHeadingIndicatorOnBlip(blip: number, toggle: boolean): void;
/**
 * Adds the GTA: Online player heading indicator to a blip.
 */
declare function N_0x5fbca48327b914df(blip: number, toggle: boolean): void;

declare function ShowHeightOnBlip(blip: number, toggle: boolean): void;
declare function N_0x75a16c3da34f1245(blip: number, toggle: boolean): void;

/**
 * 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.
 */
declare function ShowHudComponentThisFrame(id: number): void;

declare function ShowNumberOnBlip(blip: number, _number: number): void;

/**
 * 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 The blip to toggle the outline on.
 * @param toggle Enables or disables the outline.
 */
declare function ShowOutlineIndicatorOnBlip(blip: number, toggle: boolean): void;
/**
 * 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 The blip to toggle the outline on.
 * @param toggle Enables or disables the outline.
 */
declare function N_0xb81656bc81fe24d1(blip: number, toggle: boolean): void;
/**
 * 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 The blip to toggle the outline on.
 * @param toggle Enables or disables the outline.
 */
declare function SetBlipFriendly(blip: number, toggle: boolean): void;

/**
 * SHOW_\*
 * ```
 * NativeDB Introduced: v1734
 * ```
 */
declare function ShowScriptedHudComponentThisFrame(id: number): void;

declare function ShowSigninUi(): void;
declare function N_0x60e892ba4f5bdca4(): void;

declare function ShowStartMissionInstructionalButton(p0: boolean): void;
declare function N_0xf1a6c18b35bcade6(p0: boolean): void;

/**
 * Adds a green checkmark on top of a blip.
 */
declare function ShowTickOnBlip(blip: number, toggle: boolean): void;
/**
 * Adds a green checkmark on top of a blip.
 */
declare function N_0x74513ea3e505181e(blip: number, toggle: boolean): void;
/**
 * Adds a green checkmark on top of a blip.
 */
declare function SetBlipChecked(blip: number, toggle: boolean): void;

/**
 * Starts a new singleplayer game (at the prologue).
 */
declare function ShutdownAndLaunchSinglePlayerGame(): void;

/**
 * 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 always seems to be 1
 */
declare function ShutdownAndLoadMostRecentSave(): boolean;
/**
 * 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 always seems to be 1
 */
declare function N_0x9eca15adfe141431(): boolean;

declare function ShutdownCreatorBudget(): void;
declare function N_0xcce26000e9a6fad7(): void;

declare function ShutdownLoadingScreen(): void;

/**
 * Shuts down the `loadingScreen` NUI frame, similarly to `SHUTDOWN_LOADING_SCREEN`.
 */
declare function ShutdownLoadingScreenNui(): void;

/**
 * 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 The player to target (always your local player id).
 * @param amount For game pads, using anything less than 1.0 will make it partially press analog controls (like sticks/triggers).
 * @param gaitType Value in increments of 100's. 2000, 500, 300, 200, etc. Set to -1 if you want your ped to walk forever.
 * @param rotationSpeed Determines the counterclockwise rotation angle when walking.
 * @param p4 Always true
 * @param p5 Always false
 */
declare function SimulatePlayerInputGait(player: number, amount: number, gaitType: number, rotationSpeed: number, p4: boolean, p5: boolean): void;

/**
 * Returns the sine of the given number.
 * @param value The number of degrees (in degrees, not radians)
 * @return The sine of the given number
 */
declare function Sin(value: number): number;

declare function SkipRadioForward(): void;

/**
 * SET_TIME_POSITION_IN_RECORDING can be emulated by: desired_time - GET_TIME_POSITION_IN_RECORDING(vehicle)
 */
declare function SkipTimeInPlaybackRecordedVehicle(vehicle: number, time: number): void;

declare function SkipToEndAndStopPlaybackRecordedVehicle(vehicle: number): void;

declare function SkipToNextScriptedConversationLine(): void;

/**
 * This native always come right before SET_ENTITY_QUATERNION where its final 4 parameters are SLERP_NEAR_QUATERNION p9 to p12
 * @param t acceleration differenzial (am_rollercoaster.c func\_134)
 * @param x rotation parameter (maybe X axys)
 * @param y rotation parameter (maybe X axys)
 * @param z rotation parameter (maybe X axys)
 * @param w rotation parameter (maybe X axys)
 * @param x1 rotation parameter (maybe Y axys)
 * @param y1 rotation parameter (maybe Y axys)
 * @param z1 rotation parameter (maybe Y axys)
 * @param w1 rotation parameter (maybe Y axys)
 * @param outX output value calculated (X)
 * @param outY output value calculated (Y)
 * @param outZ output value calculated (Z)
 * @param outW output value calculated (W)
 */
declare function SlerpNearQuaternion(t: number, x: number, y: number, z: number, w: number, x1: number, y1: number, z1: number, w1: number): [number, number, number, number];
/**
 * This native always come right before SET_ENTITY_QUATERNION where its final 4 parameters are SLERP_NEAR_QUATERNION p9 to p12
 * @param t acceleration differenzial (am_rollercoaster.c func\_134)
 * @param x rotation parameter (maybe X axys)
 * @param y rotation parameter (maybe X axys)
 * @param z rotation parameter (maybe X axys)
 * @param w rotation parameter (maybe X axys)
 * @param x1 rotation parameter (maybe Y axys)
 * @param y1 rotation parameter (maybe Y axys)
 * @param z1 rotation parameter (maybe Y axys)
 * @param w1 rotation parameter (maybe Y axys)
 * @param outX output value calculated (X)
 * @param outY output value calculated (Y)
 * @param outZ output value calculated (Z)
 * @param outW output value calculated (W)
 */
declare function N_0xf2f6a2fa49278625(t: number, x: number, y: number, z: number, w: number, x1: number, y1: number, z1: number, w1: number): [number, number, number, number];

/**
 * 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.
 */
declare function SlideObject(object: number, toX: number, toY: number, toZ: number, speedX: number, speedY: number, speedZ: number, collision: boolean): boolean;

/**
 * See eWindowId declared in [`IS_VEHICLE_WINDOW_INTACT`](#\_0x46E571A0E20D01F1).
 */
declare function SmashVehicleWindow(vehicle: number, windowIndex: number): void;

/**
 * SET_*
 */
declare function SoundVehicleHornThisFrame(vehicle: number): void;
/**
 * SET_*
 */
declare function N_0x9c11908013ea4715(vehicle: number): void;

declare function SpawnpointsCancelSearch(): void;
declare function N_0xfee4a5459472a9f8(): void;

declare function SpawnpointsGetNumSearchResults(): number;
declare function N_0xa635c11b8c44afc2(): number;

declare function SpawnpointsGetSearchResult(randomInt: number): [number, number, number];
declare function N_0x280c7e3ac7f56e90(randomInt: number): [number, number, number];

declare function SpawnpointsGetSearchResultFlags(p0: number, p1?: number): number;
declare function N_0xb782f8238512bad5(p0: number, p1?: number): number;

declare function SpawnpointsIsSearchActive(): boolean;
declare function N_0x3c67506996001f5e(): boolean;

declare function SpawnpointsIsSearchComplete(): boolean;
declare function N_0xa586fbeb32a53dbb(): boolean;

declare function SpawnpointsIsSearchFailed(): boolean;
declare function N_0xf445de8da80a1792(): boolean;

declare function SpawnpointsStartSearch(p0: number, p1: number, p2: number, p3: number, p4: number, interiorFlags: number, scale: number, duration: number): void;
declare function N_0x2df9038c90ad5264(p0: number, p1: number, p2: number, p3: number, p4: number, interiorFlags: number, scale: number, duration: number): void;

declare function SpawnpointsStartSearchInAngledArea(x: number, y: number, z: number, p3: number, p4: number, p5: number, p6: number, interiorFlags: number, scale: number, duration: number): void;
declare function N_0xb2aff10216defa2f(x: number, y: number, z: number, p3: number, p4: number, p5: number, p6: number, interiorFlags: number, scale: number, duration: number): void;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function SpecialAbilityActivate(player: number): void;
/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function N_0x821fdc827d6f4090(player: number): void;

/**
 * p1 appears as 5, 10, 15, 25, or 30. p2 is always true.
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function SpecialAbilityChargeAbsolute(player: number, p1: number, p2: boolean): void;

/**
 * p1 appears to always be 1 (only comes up twice)
 * ```
 * ```
 * NativeDB Added Parameter 3: Any p2
 */
declare function SpecialAbilityChargeContinuous(player: number, p2: number): void;

/**
 * 2 matches. p1 was always true.
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function SpecialAbilityChargeLarge(player: number, p1: boolean, p2: boolean): void;

/**
 * Only 1 match. Both p1 & p2 were true.
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function SpecialAbilityChargeMedium(player: number, p1: boolean, p2: boolean): void;

/**
 * normalizedValue is from 0.0 - 1.0
 * p2 is always 1
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function SpecialAbilityChargeNormalized(player: number, normalizedValue: number, p2: boolean): void;
/**
 * normalizedValue is from 0.0 - 1.0
 * p2 is always 1
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function ResetSpecialAbilityControlsCinematic(player: number, normalizedValue: number, p2: boolean): void;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function SpecialAbilityChargeOnMissionFailed(player: number): void;
/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function N_0xc9a763d8fe87436a(player: number): void;

/**
 * Every occurrence of p1 & p2 were both true.
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function SpecialAbilityChargeSmall(player: number, p1: boolean, p2: boolean): void;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function SpecialAbilityDeactivate(player: number): void;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function SpecialAbilityDeactivateFast(player: number): void;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function SpecialAbilityDeplete(p0: number): void;
/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function N_0x17f7471eaca78290(p0: number): void;

/**
 * p1 was always true.
 * ```
 * ```
 * NativeDB Added Parameter 3: Any p2
 */
declare function SpecialAbilityDepleteMeter(player: number, p1: boolean): void;

/**
 * Also known as _RECHARGE_SPECIAL_ABILITY
 * ```
 * ```
 * NativeDB Added Parameter 3: Any p2
 */
declare function SpecialAbilityFillMeter(player: number, p1: boolean): void;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function SpecialAbilityLock(playerModel: string | number): void;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function SpecialAbilityReset(player: number): void;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function SpecialAbilityUnlock(playerModel: string | number): void;

declare function Sqrt(value: number): number;

declare function StabiliseEntityAttachedToHeli(vehicle: number, entity: number, p2: number): void;
declare function N_0x374706271354cb18(vehicle: number, entity: number, p2: number): void;

/**
 * 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);
 */
declare function StartAlarm(alarmName: string, p2: boolean): void;

/**
 * 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
 */
declare function StartAudioScene(scene: string): boolean;

/**
 * Begins with START_*. Next character in the name is either D or E.
 */
declare function StartBenchmarkRecording(): void;
/**
 * Begins with START_*. Next character in the name is either D or E.
 */
declare function N_0x92790862e36c2ada(): void;

/**
 * flags: Usually 0.
 */
declare function StartCutscene(flags: number): void;

/**
 * Similar to [`SET_CUTSCENE_ORIGIN`](\_0xB812B3FD1C01CF27) but without heading and doesn't need [`START_CUTSCENE`](\_0x186D5CB5E7B0FF7B)
 * @param flags Usually 0
 */
declare function StartCutsceneAtCoords(x: number, y: number, z: number, flags: number): void;

declare function StartEntityFire(entity: number): number;

/**
 * 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 Starting X coordinate.
 * @param y1 Starting Y coordinate.
 * @param z1 Starting Z coordinate.
 * @param x2 Ending X coordinate.
 * @param y2 Ending Y coordinate.
 * @param z2 Ending Z coordinate.
 * @param flags See [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E).
 * @param entity An entity to ignore, or 0.
 * @param p8 A bit mask with bits 1, 2 and/or 4, relating to collider types. 4 should usually be used.
 * @return A shape test handle.
 */
declare function StartExpensiveSynchronousShapeTestLosProbe(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flags: number, entity: number, p8: number): number;
/**
 * 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 Starting X coordinate.
 * @param y1 Starting Y coordinate.
 * @param z1 Starting Z coordinate.
 * @param x2 Ending X coordinate.
 * @param y2 Ending Y coordinate.
 * @param z2 Ending Z coordinate.
 * @param flags See [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E).
 * @param entity An entity to ignore, or 0.
 * @param p8 A bit mask with bits 1, 2 and/or 4, relating to collider types. 4 should usually be used.
 * @return A shape test handle.
 */
declare function CastRayPointToPoint(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flags: number, entity: number, p8: number): number;
/**
 * 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 Starting X coordinate.
 * @param y1 Starting Y coordinate.
 * @param z1 Starting Z coordinate.
 * @param x2 Ending X coordinate.
 * @param y2 Ending Y coordinate.
 * @param z2 Ending Z coordinate.
 * @param flags See [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E).
 * @param entity An entity to ignore, or 0.
 * @param p8 A bit mask with bits 1, 2 and/or 4, relating to collider types. 4 should usually be used.
 * @return A shape test handle.
 */
declare function StartShapeTestRay(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flags: number, entity: number, p8: number): number;

/**
 * Equivalent of [START_FIND_KVP](#\_0xDD379006), but for another resource than the current one.
 * @param resourceName The resource to try finding the key/values for
 * @param prefix A prefix match
 * @return A KVP find handle to use with [FIND_KVP](#\_0xBD7BEBC5) and close with [END_FIND_KVP](#\_0xB3210203)
 */
declare function StartFindExternalKvp(resourceName: string, prefix: string): number;

declare function StartFindKvp(prefix: string): number;

declare function StartFiringAmnesty(duration: number): void;

/**
 * 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 The HUD color of the GPS path.
 * @param displayOnFoot Draws the path regardless if the player is in a vehicle or not.
 * @param followPlayer Draw the path partially between the previous and next point based on the players position between them. When false, the GPS appears to not disappear after the last leg is completed.
 */
declare function StartGpsCustomRoute(hudColor: number, displayOnFoot: boolean, followPlayer: boolean): void;
/**
 * 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 The HUD color of the GPS path.
 * @param displayOnFoot Draws the path regardless if the player is in a vehicle or not.
 * @param followPlayer Draw the path partially between the previous and next point based on the players position between them. When false, the GPS appears to not disappear after the last leg is completed.
 */
declare function N_0xdb34e8d56fc13b08(hudColor: number, displayOnFoot: boolean, followPlayer: boolean): void;

/**
 * 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 The HUD color of the GPS path.
 * @param routeFromPlayer Makes the GPS draw a path from the player to the next point, rather than the original path from the previous point.
 * @param displayOnFoot Draws the GPS path regardless if the player is in a vehicle or not.
 */
declare function StartGpsMultiRoute(hudColor: number, routeFromPlayer: boolean, displayOnFoot: boolean): void;
/**
 * 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 The HUD color of the GPS path.
 * @param routeFromPlayer Makes the GPS draw a path from the player to the next point, rather than the original path from the previous point.
 * @param displayOnFoot Draws the GPS path regardless if the player is in a vehicle or not.
 */
declare function N_0x3d3d15af7bcaaf83(hudColor: number, routeFromPlayer: boolean, displayOnFoot: boolean): void;

/**
 * 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
 */
declare function StartNetworkedParticleFxLoopedOnEntity(effectName: string, entity: number, xOffset: number, yOffset: number, zOffset: number, xRot: number, yRot: number, zRot: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number;
/**
 * 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
 */
declare function N_0x6f60e89a7b64ee1d(effectName: string, entity: number, xOffset: number, yOffset: number, zOffset: number, xRot: number, yRot: number, zRot: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number;
/**
 * 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
 */
declare function StartParticleFxLoopedOnEntity_2(effectName: string, entity: number, xOffset: number, yOffset: number, zOffset: number, xRot: number, yRot: number, zRot: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number;

/**
 * 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
 */
declare function StartNetworkedParticleFxLoopedOnEntityBone(effectName: string, entity: number, xOffset: number, yOffset: number, zOffset: number, xRot: number, yRot: number, zRot: number, boneIndex: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number;
/**
 * 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
 */
declare function N_0xdde23f30cc5a0f03(effectName: string, entity: number, xOffset: number, yOffset: number, zOffset: number, xRot: number, yRot: number, zRot: number, boneIndex: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number;
/**
 * 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
 */
declare function StartParticleFxLoopedOnEntityBone_2(effectName: string, entity: number, xOffset: number, yOffset: number, zOffset: number, xRot: number, yRot: number, zRot: number, boneIndex: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number;

/**
 * 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
 * ```
 */
declare function StartNetworkedParticleFxNonLoopedAtCoord(effectName: string, xPos: number, yPos: number, zPos: number, xRot: number, yRot: number, zRot: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): boolean;
/**
 * 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
 * ```
 */
declare function StartParticleFxNonLoopedAtCoord_2(effectName: string, xPos: number, yPos: number, zPos: number, xRot: number, yRot: number, zRot: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): boolean;

declare function StartNetworkedParticleFxNonLoopedOnEntity(effectName: string, entity: number, offsetX: number, offsetY: number, offsetZ: number, rotX: number, rotY: number, rotZ: number, scale: number, axisX: boolean, axisY: boolean, axisZ: boolean): boolean;
declare function StartParticleFxNonLoopedOnEntity_2(effectName: string, entity: number, offsetX: number, offsetY: number, offsetZ: number, rotX: number, rotY: number, rotZ: number, scale: number, axisX: boolean, axisY: boolean, axisZ: boolean): boolean;

/**
 * NativeDB Introduced: v2189
 */
declare function StartNetworkedParticleFxNonLoopedOnEntityBone(effectName: string, entity: number, offsetX: number, offsetY: number, offsetZ: number, rotX: number, rotY: number, rotZ: number, boneIndex: number, scale: number, axisX: boolean, axisY: boolean, axisZ: boolean): boolean;

declare function StartNetworkedParticleFxNonLoopedOnPedBone(effectName: string, ped: number, offsetX: number, offsetY: number, offsetZ: number, rotX: number, rotY: number, rotZ: number, boneIndex: number, scale: number, axisX: boolean, axisY: boolean, axisZ: boolean): boolean;
declare function StartParticleFxNonLoopedOnPedBone_2(effectName: string, ped: number, offsetX: number, offsetY: number, offsetZ: number, rotX: number, rotY: number, rotZ: number, boneIndex: number, scale: number, axisX: boolean, axisY: boolean, axisZ: boolean): boolean;

/**
 * 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
 */
declare function StartNewScript(scriptName: string, stackSize: number): number;

/**
 * return : script thread id, 0 if failed
 * Pass pointer to struct of args in p1, size of struct goes into p2
 */
declare function StartNewScriptWithArgs(scriptName: string, argCount: number, stackSize: number): [number, number];

declare function StartNewScriptWithNameHash(scriptHash: string | number, stackSize: number): number;
declare function StartNewStreamedScript(scriptHash: string | number, stackSize: number): number;

declare function StartNewScriptWithNameHashAndArgs(scriptHash: string | number, argCount: number, stackSize: number): [number, number];
declare function StartNewStreamedScriptWithArgs(scriptHash: string | number, argCount: number, stackSize: number): [number, number];

/**
 * 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
 */
declare function StartParticleFxLoopedAtCoord(effectName: string, x: number, y: number, z: number, xRot: number, yRot: number, zRot: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean, p11: boolean): number;

declare function StartParticleFxLoopedOnEntity(effectName: string, entity: number, xOffset: number, yOffset: number, zOffset: number, xRot: number, yRot: number, zRot: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number;

declare function StartParticleFxLoopedOnEntityBone(effectName: string, entity: number, xOffset: number, yOffset: number, zOffset: number, xRot: number, yRot: number, zRot: number, boneIndex: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number;

declare function StartParticleFxLoopedOnPedBone(effectName: string, ped: number, xOffset: number, yOffset: number, zOffset: number, xRot: number, yRot: number, zRot: number, boneIndex: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number;

/**
 * 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);
 */
declare function StartParticleFxNonLoopedAtCoord(effectName: string, xPos: number, yPos: number, zPos: number, xRot: number, yRot: number, zRot: number, scale: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): number;

/**
 * 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
 */
declare function StartParticleFxNonLoopedOnEntity(effectName: string, entity: number, offsetX: number, offsetY: number, offsetZ: number, rotX: number, rotY: number, rotZ: number, scale: number, axisX: boolean, axisY: boolean, axisZ: boolean): boolean;

/**
 * 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
 */
declare function StartParticleFxNonLoopedOnPedBone(effectName: string, ped: number, offsetX: number, offsetY: number, offsetZ: number, rotX: number, rotY: number, rotZ: number, boneIndex: number, scale: number, axisX: boolean, axisY: boolean, axisZ: boolean): boolean;

declare function StartPetrolTrailDecals(p0: number): void;
declare function N_0x99ac7f0d8b9c893d(p0: number): void;

/**
 * p3 is some flag related to 'trailers' (invokes CVehicle::GetTrailer).
 * See [`REQUEST_VEHICLE_RECORDING`](#\_0xAF514CABE74CBF15).
 */
declare function StartPlaybackRecordedVehicle(vehicle: number, recording: number, script: string, p3: boolean): void;

/**
 * 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.
 */
declare function StartPlaybackRecordedVehicleUsingAi(vehicle: number, recording: number, script: string, speed: number, drivingStyle: number): void;

/**
 * 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
 */
declare function StartPlaybackRecordedVehicleWithFlags(vehicle: number, recording: number, script: string, flags: number, time: number, drivingStyle: number): void;

/**
 * // 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.
 */
declare function StartPlayerSwitch(_from: number, to: number, flags: number, switchType: number): void;

/**
 * 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 teleportWithVehicle Teleports the player along with the vehicle they are in.
 * @param findCollisionLand Attempt to find a ground coordinate at the given XY location; overriding the Z value.
 */
declare function StartPlayerTeleport(player: number, x: number, y: number, z: number, heading: number, teleportWithVehicle: boolean, findCollisionLand: boolean, p7: boolean): void;

declare function StartPreloadedConversation(): void;

/**
 * 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.
 */
declare function StartRecording(mode: number): void;
/**
 * 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.
 */
declare function N_0xc3ac2fff9612ac81(mode: number): void;

declare function StartRopeUnwindingFront(ropeId: number): void;

declare function StartRopeWinding(ropeId: number): void;

declare function StartSaveArrayWithSize(size: number, arrayName: string): number;
declare function StartSaveArray(size: number, arrayName: string): number;

declare function StartSaveData(p1: number, p2: boolean): number;

declare function StartSaveStructWithSize(size: number, structName: string): number;
declare function StartSaveStruct(size: number, structName: string): number;

declare function StartScriptConversation(p0: boolean, p1: boolean, p2: boolean, p3: boolean): void;

/**
 * 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.
 */
declare function StartScriptFire(X: number, Y: number, Z: number, maxChildren: number, isGasFire: boolean): number;

declare function StartScriptPhoneConversation(p0: boolean, p1: boolean): void;

/**
 * See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E) for flags.
 */
declare function StartShapeTestBound(entity: number, flags1: number, flags2: number): number;
/**
 * See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E) for flags.
 */
declare function N_0x37181417ce7c8900(entity: number, flags1: number, flags2: number): number;

/**
 * See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E) for flags.
 */
declare function StartShapeTestBoundingBox(entity: number, flags1: number, flags2: number): number;
/**
 * See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E) for flags.
 */
declare function N_0x052837721a854ec7(entity: number, flags1: number, flags2: number): number;

/**
 * For more information, see [`START_EXPENSIVE_SYNCHRONOUS_SHAPE_TEST_LOS_PROBE`](#\_0x377906D8A31E5586) and [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E).
 * @param x Starting X coordinate.
 * @param y Starting Y coordinate.
 * @param z Starting Z coordinate.
 * @param x1 Ending X coordinate.
 * @param y1 Ending Y coordinate.
 * @param z1 Ending Z coordinate.
 * @param p9 Unknown, always 2 or 0
 * @param flags See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
 * @param p12 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
 */
declare function StartShapeTestBox(x: number, y: number, z: number, x1: number, y1: number, z1: number, rotX: number, rotY: number, rotZ: number, p9: number, flags: number, entity: number, p12: number): number;
/**
 * For more information, see [`START_EXPENSIVE_SYNCHRONOUS_SHAPE_TEST_LOS_PROBE`](#\_0x377906D8A31E5586) and [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E).
 * @param x Starting X coordinate.
 * @param y Starting Y coordinate.
 * @param z Starting Z coordinate.
 * @param x1 Ending X coordinate.
 * @param y1 Ending Y coordinate.
 * @param z1 Ending Z coordinate.
 * @param p9 Unknown, always 2 or 0
 * @param flags See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
 * @param p12 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
 */
declare function N_0xfe466162c4401d18(x: number, y: number, z: number, x1: number, y1: number, z1: number, rotX: number, rotY: number, rotZ: number, p9: number, flags: number, entity: number, p12: number): number;

/**
 * Raycast from point to point, where the ray has a radius.
 * @param x1 Starting X coordinate.
 * @param y1 Starting Y coordinate.
 * @param z1 Starting Z coordinate.
 * @param x2 Ending X coordinate.
 * @param y2 Ending Y coordinate.
 * @param z2 Ending Z coordinate.
 * @param flags See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
 * @param entity Entity to ignore, or 0.
 * @param p9 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
 */
declare function StartShapeTestCapsule(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, radius: number, flags: number, entity: number, p9: number): number;
/**
 * Raycast from point to point, where the ray has a radius.
 * @param x1 Starting X coordinate.
 * @param y1 Starting Y coordinate.
 * @param z1 Starting Z coordinate.
 * @param x2 Ending X coordinate.
 * @param y2 Ending Y coordinate.
 * @param z2 Ending Z coordinate.
 * @param flags See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
 * @param entity Entity to ignore, or 0.
 * @param p9 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
 */
declare function Cast_3dRayPointToPoint(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, radius: number, flags: number, entity: number, p9: number): number;

/**
 * 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 Starting X coordinate.
 * @param y1 Starting Y coordinate.
 * @param z1 Starting Z coordinate.
 * @param x2 Ending X coordinate.
 * @param y2 Ending Y coordinate.
 * @param z2 Ending Z coordinate.
 * @param flags Flags.
 * @param entity An entity to ignore, or 0.
 * @param p8 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
 * @return A shape test handle.
 */
declare function StartShapeTestLosProbe(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flags: number, entity: number, p8: number): number;
/**
 * 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 Starting X coordinate.
 * @param y1 Starting Y coordinate.
 * @param z1 Starting Z coordinate.
 * @param x2 Ending X coordinate.
 * @param y2 Ending Y coordinate.
 * @param z2 Ending Z coordinate.
 * @param flags Flags.
 * @param entity An entity to ignore, or 0.
 * @param p8 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
 * @return A shape test handle.
 */
declare function N_0x7ee9f5d83dd4f90e(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flags: number, entity: number, p8: number): number;

/**
 * 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.
 */
declare function StartShapeTestSurroundingCoords(flag: number, entity: number, flag2: number): [number, number[], number[]];
/**
 * 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.
 */
declare function N_0xff6be494c7987f34(flag: number, entity: number, flag2: number): [number, number[], number[]];

/**
 * Performs the same type of trace as START_SHAPE_TEST_CAPSULE, but with some different hardcoded parameters.
 * @param x1 Starting X coordinate.
 * @param y1 Starting Y coordinate.
 * @param z1 Starting Z coordinate.
 * @param x2 Ending X coordinate.
 * @param y2 Ending Y coordinate.
 * @param z2 Ending Z coordinate.
 * @param flags See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
 * @param entity An entity to ignore, or 0.
 * @param p9 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
 */
declare function StartShapeTestSweptSphere(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, radius: number, flags: number, entity: number, p9: number): number;
/**
 * Performs the same type of trace as START_SHAPE_TEST_CAPSULE, but with some different hardcoded parameters.
 * @param x1 Starting X coordinate.
 * @param y1 Starting Y coordinate.
 * @param z1 Starting Z coordinate.
 * @param x2 Ending X coordinate.
 * @param y2 Ending Y coordinate.
 * @param z2 Ending Z coordinate.
 * @param flags See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
 * @param entity An entity to ignore, or 0.
 * @param p9 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
 */
declare function N_0xe6ac6c45fbe83004(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, radius: number, flags: number, entity: number, p9: number): number;
/**
 * Performs the same type of trace as START_SHAPE_TEST_CAPSULE, but with some different hardcoded parameters.
 * @param x1 Starting X coordinate.
 * @param y1 Starting Y coordinate.
 * @param z1 Starting Z coordinate.
 * @param x2 Ending X coordinate.
 * @param y2 Ending Y coordinate.
 * @param z2 Ending Z coordinate.
 * @param flags See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
 * @param entity An entity to ignore, or 0.
 * @param p9 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
 */
declare function StartShapeTestCapsule_2(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, radius: number, flags: number, entity: number, p9: number): number;

declare function StartVehicleAlarm(vehicle: number): void;

/**
 * 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.
 */
declare function StartVehicleHorn(vehicle: number, duration: number, mode: string | number, forever: boolean): void;

/**
 * Example:
 * for (v_2 = 0; v_2 <= 4; v_2 += 1) {
 * STATS::STAT_CLEAR_SLOT_FOR_RELOAD(v_2);
 * }
 */
declare function StatClearSlotForReload(statSlot: number): number;

declare function StatDeleteSlot(p0: number): number;

declare function StatGetBool(statHash: string | number, p2: number): [boolean, any /* actually bool */];

/**
 * p2 - Default value? Seems to be -1 most of the time.
 */
declare function StatGetBoolMasked(statName: string | number, mask: number, p2: number): boolean;

declare function StatGetCancelSaveMigrationStatus(): number;
declare function N_0x567384dfa67029e6(): number;

declare function StatGetDate(statHash: string | number, p2: number, p3: number): [boolean, number];

declare function StatGetFloat(statHash: string | number, p2: number): [boolean, number];

/**
 * p2 appears to always be -1
 */
declare function StatGetInt(statHash: string | number, p2: number): [boolean, number];

declare function StatGetLicensePlate(statName: string | number): string;

declare function StatGetMaskedInt(p0: number, p2: number, p3: number, p4: number): [boolean, number];

declare function StatGetNumberOfDays(statName: string | number): number;
declare function N_0xe0e854f5280fb769(statName: string | number): number;

declare function StatGetNumberOfHours(statName: string | number): number;
declare function N_0xf2d4b2fe415aafc3(statName: string | number): number;

declare function StatGetNumberOfMinutes(statName: string | number): number;
declare function N_0x7583b4be4c5a41b5(statName: string | number): number;

declare function StatGetNumberOfSeconds(statName: string | number): number;
declare function N_0x2ce056ff3723f00b(statName: string | number): number;

/**
 * Needs more research. Possibly used to calculate the "mask" when calling "STAT_SET_BOOL_MASKED"?
 */
declare function StatGetPackedBoolMask(p0: number): number;
/**
 * Needs more research. Possibly used to calculate the "mask" when calling "STAT_SET_BOOL_MASKED"?
 */
declare function N_0xf4d8e7ac2a27758c(p0: number): number;

/**
 * Needs more research. Possibly used to calculate the "mask" when calling "STAT_SET_MASKED_INT"?
 */
declare function StatGetPackedIntMask(p0: number): number;
/**
 * Needs more research. Possibly used to calculate the "mask" when calling "STAT_SET_MASKED_INT"?
 */
declare function N_0x94f12abf9c79e339(p0: number): number;

declare function StatGetPos(p0: number, p4: number): [boolean, number, number, number];

declare function StatGetSaveMigrationConsumeContentUnlockStatus(p0: number): [number, number];
declare function N_0xce5aa445aba8dee0(p0: number): [number, number];

declare function StatGetSaveMigrationStatus(data: number): [number, number];
declare function N_0x886913bbeaca68c1(data: number): [number, number];

/**
 * p1 is always -1 in the script files
 */
declare function StatGetString(statHash: string | number, p1: number): string;

/**
 * Needs more research. Seems to return "STAT_UNKNOWN" if no such user id exists.
 */
declare function StatGetUserId(p0: number): string;

declare function StatIncrement(statName: string | number, value: number): void;

declare function StatLoad(p0: number): boolean;

declare function StatLoadPending(p0: number): boolean;

/**
 * platformName must be one of the following: ps3, xbox360, ps4, xboxone
 */
declare function StatMigrateSave(platformName: string): boolean;
/**
 * platformName must be one of the following: ps3, xbox360, ps4, xboxone
 */
declare function N_0xa5c80d8e768a9e66(platformName: string): boolean;

/**
 * NativeDB Added Parameter 4: Any p3
 */
declare function StatSave(p0: number, p1: boolean, p2: number): boolean;

declare function StatSaveMigrationCancel(): boolean;
declare function N_0x4fef53183c3c6414(): boolean;

declare function StatSaveMigrationConsumeContentUnlock(contentId: string | number, srcPlatform: string, srcGamerHandle: string): boolean;
declare function N_0x3270f67eed31fbc1(contentId: string | number, srcPlatform: string, srcGamerHandle: string): boolean;

declare function StatSaveMigrationStatusStart(): boolean;
declare function N_0xc70ddce56d0d3a99(): boolean;

declare function StatSavePending(): boolean;

declare function StatSavePendingOrRequested(): boolean;

declare function StatSetBlockSaves(toggle: boolean): void;
declare function N_0xf434a10ba01c37d0(toggle: boolean): void;

/**
 * Example:
 * STATS::STAT_SET_BOOL(MISC::GET_HASH_KEY("MPPLY_MELEECHLENGECOMPLETED"), trur, true);
 */
declare function StatSetBool(statName: string | number, value: boolean, save: boolean): boolean;

declare function StatSetBoolMasked(statName: string | number, value: boolean, mask: number, save: boolean): boolean;

declare function StatSetCheatIsActive(): void;
declare function N_0x047cbed6f6f8b63c(): void;

/**
 * p1 always true.
 */
declare function StatSetCurrentPosixTime(statName: string | number, p1: boolean): boolean;

/**
 * '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.
 */
declare function StatSetDate(statName: string | number, numFields: number, save: boolean): [boolean, number];

/**
 * Example:
 * STATS::STAT_SET_FLOAT(MISC::GET_HASH_KEY("MP0_WEAPON_ACCURACY"), 66.6f, true);
 */
declare function StatSetFloat(statName: string | number, value: number, save: boolean): boolean;

/**
 * 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"
 */
declare function StatSetGxtLabel(statName: string | number, value: string, save: boolean): boolean;

declare function StatSetInt(statName: string | number, value: number, save: boolean): boolean;

declare function StatSetLicensePlate(statName: string | number, str: string): boolean;

declare function StatSetMaskedInt(statName: string | number, p1: number, p2: number, p3: number, save: boolean): boolean;

declare function StatSetPos(statName: string | number, x: number, y: number, z: number, save: boolean): boolean;

/**
 * Does not take effect immediately, unfortunately.
 * profileSetting seems to only be 936, 937 and 938 in scripts
 */
declare function StatSetProfileSettingValue(profileSetting: number, value: number): void;
/**
 * Does not take effect immediately, unfortunately.
 * profileSetting seems to only be 936, 937 and 938 in scripts
 */
declare function N_0x68f01422be1d838f(profileSetting: number, value: number): void;
/**
 * Does not take effect immediately, unfortunately.
 * profileSetting seems to only be 936, 937 and 938 in scripts
 */
declare function StatSetProfileSetting(profileSetting: number, value: number): void;

declare function StatSetString(statName: string | number, value: string, save: boolean): boolean;

declare function StatSetUserId(statName: string | number, value: string, save: boolean): boolean;

declare function StatSlotIsLoaded(p0: number): boolean;

/**
 * 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.
 */
declare function StopAlarm(alarmName: string, toggle: boolean): void;

declare function StopAllAlarms(stop: boolean): void;

declare function StopAllGarageActivity(): void;

/**
 * Looks like p1 may be a flag, still need to do some research, though.
 */
declare function StopAnimPlayback(ped: number, p1: number, p2: boolean): void;

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function StopAnimTask(ped: number, animDictionary: string, animationName: string, p3: number): void;

declare function StopAnyPedModelBeingSuppressed(): void;

declare function StopAudioScene(scene: string): void;

/**
 * ??
 */
declare function StopAudioScenes(): void;

/**
 * Begins with STOP_*. Next character in the name is either D or E.
 */
declare function StopBenchmarkRecording(): void;
/**
 * Begins with STOP_*. Next character in the name is either D or E.
 */
declare function N_0xc7db36c24634f52b(): void;

/**
 * NativeDB Introduced: v1290
 */
declare function StopBinkMovie(binkMovie: number): void;

/**
 * Stops CTaskBringVehicleToHalt
 */
declare function StopBringVehicleToHalt(vehicle: number): void;
/**
 * Stops CTaskBringVehicleToHalt
 */
declare function N_0x7c06330bfdda182e(vehicle: number): void;

declare function StopCamPointing(cam: number): void;

declare function StopCamShaking(cam: number, p1: boolean): void;

declare function StopCinematicCamShaking(p0: boolean): void;

declare function StopCinematicShot(p0: string | number): void;

declare function StopCurrentPlayingAmbientSpeech(ped: number): void;

declare function StopCurrentPlayingSpeech(ped: number): void;
declare function N_0x7a73d05a607734c7(ped: number): void;
declare function SetPedMute(ped: number): void;

declare function StopCutscene(p0: boolean): void;

declare function StopCutsceneAudio(): void;
declare function N_0x806058bbdc136e06(): void;

declare function StopCutsceneCamShaking(): void;

/**
 * Stop cutscene instantly, will dump registered entities right where they were when ran.
 */
declare function StopCutsceneImmediately(): void;

/**
 * RAGEPluginHook list: docs.ragepluginhook.net/html/62951c37-a440-478c-b389-c471230ddfc5.htm
 */
declare function StopEntityAnim(entity: number, animation: string, animGroup: string, p3: number): number;

declare function StopEntityFire(entity: number): void;

declare function StopFireInRange(x: number, y: number, z: number, radius: number): void;

declare function StopGameplayCamShaking(p0: boolean): void;

declare function StopGameplayHint(p0: boolean): void;

declare function StopPadShake(padIndex: number): void;

/**
 * p1 is always 0 in the native scripts
 */
declare function StopParticleFxLooped(ptfxHandle: number, p1: boolean): void;

declare function StopPedRingtone(ped: number): void;

declare function StopPedSpeaking(ped: number, shaking: boolean): void;

declare function StopPedWeaponFiringWhenDropped(ped: number): void;

declare function StopPlaybackRecordedVehicle(vehicle: number): void;

declare function StopPlayerSwitch(): void;

/**
 * Disables the player's teleportation
 */
declare function StopPlayerTeleport(): void;

/**
 * Stops recording and discards the recorded clip.
 */
declare function StopRecordingAndDiscardClip(): void;
/**
 * Stops recording and discards the recorded clip.
 */
declare function N_0x88bb3507ed41a240(): void;

/**
 * Stops recording and saves the recorded clip.
 */
declare function StopRecordingAndSaveClip(): void;
/**
 * Stops recording and saves the recorded clip.
 */
declare function StopRecording(): void;

/**
 * This disable the recording feature and has to be called every frame.
 */
declare function StopRecordingThisFrame(): void;
/**
 * This disable the recording feature and has to be called every frame.
 */
declare function N_0xeb2d525b57f42b40(): void;

/**
 * This native makes the gameplay camera zoom into first person/third person with a special effect.
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function StopRenderingScriptCamsUsingCatchUp(render: boolean, p1: number, p2: number): void;
/**
 * This native makes the gameplay camera zoom into first person/third person with a special effect.
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function N_0xc819f3cbb62bf692(render: boolean, p1: number, p2: number): void;
/**
 * This native makes the gameplay camera zoom into first person/third person with a special effect.
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function RenderFirstPersonCam(render: boolean, p1: number, p2: number): void;

declare function StopRopeUnwindingFront(ropeId: number): void;

declare function StopRopeWinding(ropeId: number): void;

declare function StopSaveArray(): void;

declare function StopSaveData(): void;

declare function StopSaveStruct(): void;

/**
 * In drunk_controller.c4, sub_309
 * if (CAM::IS_SCRIPT_GLOBAL_SHAKING()) {
 * CAM::STOP_SCRIPT_GLOBAL_SHAKING(0);
 * }
 */
declare function StopScriptGlobalShaking(p0: boolean): void;
/**
 * In drunk_controller.c4, sub_309
 * if (CAM::IS_SCRIPT_GLOBAL_SHAKING()) {
 * CAM::STOP_SCRIPT_GLOBAL_SHAKING(0);
 * }
 */
declare function N_0x1c9d7949fa533490(p0: boolean): void;

declare function StopScriptedConversation(p0: boolean): number;

declare function StopSound(soundId: number): void;

declare function StopStream(): void;

declare function StopSynchronizedAudioEvent(p0: number): boolean;

/**
 * p1 sync task id?
 */
declare function StopSynchronizedEntityAnim(entity: number, p1: number, p2: boolean): boolean;

declare function StopSynchronizedMapEntityAnim(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): boolean;

/**
 * Always returns zero.
 */
declare function StreamvolCreateFrustum(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): number;
/**
 * Always returns zero.
 */
declare function N_0x1f3f018bc3afa77c(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): number;

/**
 * Always returns zero.
 */
declare function StreamvolCreateLine(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;
/**
 * Always returns zero.
 */
declare function N_0x0ad9710cee2f590f(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;

/**
 * Always returns zero.
 */
declare function StreamvolCreateSphere(x: number, y: number, z: number, rad: number, p4: number, p5: number): number;
/**
 * Always returns zero.
 */
declare function N_0x219c7b8d53e429fd(x: number, y: number, z: number, rad: number, p4: number, p5: number): number;
/**
 * Always returns zero.
 */
declare function FormatFocusHeading(x: number, y: number, z: number, rad: number, p4: number, p5: number): number;

declare function StreamvolDelete(unused: number): void;
declare function N_0x1ee7d8df4425f053(unused: number): void;

declare function StreamvolHasLoaded(unused: number): boolean;
declare function N_0x7d41e9d2d17c5b2d(unused: number): boolean;

declare function StreamvolIsValid(unused: number): boolean;
declare function N_0x07c313f94746702c(unused: number): boolean;

/**
 * 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.
 */
declare function StringToInt(_string: string, outInteger?: number): [boolean, number];

declare function SuppressAgitationEventsNextFrame(): void;

declare function SuppressFrontendRenderingThisFrame(): void;
declare function N_0xba751764f0821256(): void;

/**
 * eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt
 */
declare function SuppressShockingEventTypeNextFrame(eventType: number): void;

declare function SuppressShockingEventsNextFrame(): void;

/**
 * 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
 */
declare function SwitchCrimeType(player: number, p1: number): void;
/**
 * 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
 */
declare function N_0x9a987297ed8bd838(player: number, p1: number): void;

/**
 * Use after using \_SWITCH_OUT_PLAYER to swoop the camera back down to the player's ped.
 */
declare function SwitchInPlayer(ped: number): void;
/**
 * Use after using \_SWITCH_OUT_PLAYER to swoop the camera back down to the player's ped.
 */
declare function N_0xd8295af639fd9cb8(ped: number): void;

/**
 * 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
 */
declare function SwitchOutPlayer(ped: number, flags: number, switchType: number): void;
/**
 * 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
 */
declare function N_0xaab3200ed59016bc(ped: number, flags: number, switchType: number): void;

/**
 * Used in carsteal3 script with p0 = "Carsteal4_spycar".
 * S*
 */
declare function SwitchToInputMappingScheme(name: string): boolean;
/**
 * Used in carsteal3 script with p0 = "Carsteal4_spycar".
 * S*
 */
declare function N_0x3d42b92563939375(name: string): boolean;

/**
 * Same as 0x3D42B92563939375
 * S*
 */
declare function SwitchToInputMappingScheme_2(name: string): boolean;
/**
 * Same as 0x3D42B92563939375
 * S*
 */
declare function N_0x4683149ed1dde7a1(name: string): boolean;

/**
 * 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 The internal id of the train track to switch
 * @param state Whether ambient trains can spawn or not
 * @return None. The original return type is `void`, but ABI compatibility makes this impossible.
 */
declare function SwitchTrainTrack(trackId: number, state: boolean): void;

/**
 * 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).
 */
declare function TakeControlOfFrontend(): void;
/**
 * 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).
 */
declare function N_0xec9264727eec0f28(): void;

declare function Tan(p0: number): number;

/**
 * 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.
 */
declare function TaskAchieveHeading(ped: number, heading: number, timeout: number): void;

declare function TaskAgitatedAction(ped: number, ped2: number): void;
declare function N_0x19d1b791cb3670fe(ped: number, ped2: number): void;

declare function TaskAimGunAtCoord(ped: number, x: number, y: number, z: number, time: number, p5: boolean, p6: boolean): void;

/**
 * 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
 */
declare function TaskAimGunAtEntity(ped: number, entity: number, duration: number, p3: boolean): void;

declare function TaskAimGunScripted(ped: number, scriptTask: string | number, p2: boolean, p3: boolean): void;

declare function TaskAimGunScriptedWithTarget(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: boolean, p7: boolean): void;

/**
 * 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.
 */
declare function TaskArrestPed(ped: number, target: number): void;

/**
 * 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
 */
declare function TaskBoatMission(pedDriver: number, boat: number, p2: number, p3: number, x: number, y: number, z: number, p7: number, maxSpeed: number, drivingStyle: number, p10: number, p11: number): void;

/**
 * p2 tend to be 16, 17 or 1
 * p3 to p7 tend to be 0.0
 */
declare function TaskChatToPed(ped: number, target: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): void;

declare function TaskClearDefensiveArea(p0: number): void;

/**
 * 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);
 */
declare function TaskClearLookAt(ped: number): void;

/**
 * Climbs or vaults the nearest thing.
 */
declare function TaskClimb(ped: number, unused: boolean): void;

declare function TaskClimbLadder(ped: number, p1: number): void;

/**
 * Despite its name, it only attacks ONE hated target. The one closest hated target.
 * p2 seems to be always 0
 */
declare function TaskCombatHatedTargetsAroundPed(ped: number, radius: number, p2: number): void;

declare function TaskCombatHatedTargetsAroundPedTimed(p0: number, p1: number, p2: number, p3: number): void;

/**
 * Despite its name, it only attacks ONE hated target. The one closest to the specified position.
 */
declare function TaskCombatHatedTargetsInArea(ped: number, x: number, y: number, z: number, radius: number, p5: number): void;

/**
 * Makes the specified ped attack the target ped.
 * p2 should be 0
 * p3 should be 16
 */
declare function TaskCombatPed(ped: number, targetPed: number, p2: number, p3: number): void;

declare function TaskCombatPedTimed(p0: number, ped: number, p2: number, p3: number): void;

/**
 * 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 Ped id.
 * @param duration Duration of the animation in ms. Set to -1 if you do not want a duration.
 */
declare function TaskCower(ped: number, duration: number): void;

/**
 * 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.
 */
declare function TaskDriveBy(driverPed: number, targetPed: number, targetVehicle: number, targetX: number, targetY: number, targetZ: number, distanceToShoot: number, pedAccuracy: number, p8: boolean, firingPattern: string | number): void;

/**
 * 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 seatIndex See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
 */
declare function TaskEnterVehicle(ped: number, vehicle: number, timeout: number, seatIndex: number, speed: number, flag: number, p6: number): void;

declare function TaskEveryoneLeaveVehicle(vehicle: number): void;

declare function TaskExitCover(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * 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.
 */
declare function TaskExtendRoute(x: number, y: number, z: number): void;

/**
 * Clears the current point route. Call this before [TASK_EXTEND_ROUTE](#\_0x1E7889778264843A) and [TASK_FOLLOW_POINT_ROUTE](#\_0x595583281858626E).
 */
declare function TaskFlushRoute(): void;

/**
 * If no timeout, set timeout to -1.
 */
declare function TaskFollowNavMeshToCoord(ped: number, x: number, y: number, z: number, speed: number, timeout: number, stoppingRange: number, persistFollowing: boolean, unk: number): void;

declare function TaskFollowNavMeshToCoordAdvanced(ped: number, x: number, y: number, z: number, speed: number, timeout: number, unkFloat: number, unkInt: number, unkX: number, unkY: number, unkZ: number, unk_40000f: number): void;

/**
 * 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 The ped to give the task to.
 * @param speed The speed to move at in m/s.
 * @param unknown Unknown. Can be 0, 1, 2 or 3.
 */
declare function TaskFollowPointRoute(ped: number, speed: number, unknown: number): void;

/**
 * p6 always -1
 * p7 always 10.0
 * p8 always 1
 */
declare function TaskFollowToOffsetOfEntity(ped: number, entity: number, offsetX: number, offsetY: number, offsetZ: number, movementSpeed: number, timeout: number, stoppingRange: number, persistFollowing: boolean): void;

declare function TaskFollowWaypointRecording(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * See [`FORCE_PED_MOTION_STATE`](#\_0xF28965D04F570DCA)
 */
declare function TaskForceMotionState(ped: number, state: string | number, p2: boolean): void;

declare function TaskGetOffBoat(ped: number, boat: number): void;
declare function TaskGetOffBoat(ped: number, boat: number): void;

declare function TaskGoStraightToCoord(ped: number, x: number, y: number, z: number, speed: number, timeout: number, targetHeading: number, distanceToSlide: number): void;

declare function TaskGoStraightToCoordRelativeToEntity(entity1: number, entity2: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;

/**
 * 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.
 */
declare function TaskGoToCoordAndAimAtHatedEntitiesNearCoord(pedHandle: number, goToLocationX: number, goToLocationY: number, goToLocationZ: number, focusLocationX: number, focusLocationY: number, focusLocationZ: number, speed: number, shootAtEnemies: boolean, distanceToStopAt: number, noRoadsDistance: number, unkTrue: boolean, unkFlag: number, aimingFlag: number, firingPattern: string | number): void;

/**
 * example from fm_mission_controller
 * TASK::TASK_GO_TO_COORD_ANY_MEANS(l_649, sub_f7e86(-1, 0), 1.0, 0, 0, 786603, 0xbf800000);
 */
declare function TaskGoToCoordAnyMeans(ped: number, x: number, y: number, z: number, speed: number, p5: number, p6: boolean, walkingStyle: number, p8: number): void;

/**
 * NativeDB Added Parameter 13: Any p12
 */
declare function TaskGoToCoordAnyMeansExtraParams(ped: number, x: number, y: number, z: number, speed: number, p5: number, p6: boolean, walkingStyle: number, p8: number, p9: number, p10: number, p11: number): void;

/**
 * NativeDB Added Parameter 14: Any p13
 */
declare function TaskGoToCoordAnyMeansExtraParamsWithCruiseSpeed(ped: number, x: number, y: number, z: number, speed: number, p5: number, p6: boolean, walkingStyle: number, p8: number, p9: number, p10: number, p11: number, p12: number): void;

/**
 * Will make the ped move to a coordinate while aiming (and optionally shooting) at given coordinates.
 * @param ped Ped to task
 * @param x Destination X position
 * @param y Destination Y position
 * @param z Destination Z position
 * @param aimAtX Aim at target x position
 * @param aimAtY Aim at target Y position
 * @param aimAtZ Aim at target Z position
 * @param moveSpeed mostly 2f, but also 1/1.2f, etc.
 * @param shoot If true ped will shoot; false - will not
 * @param p9 Usually 2.0f
 * @param p10 Usually 0.5f
 * @param p11 If true ped will stay still; false - will not
 * @param flags 0 / 512 / 513, etc
 * @param firingPattern ${firing_pattern_full_auto}, 0xC6EE6B4C
 */
declare function TaskGoToCoordWhileAimingAtCoord(ped: number, x: number, y: number, z: number, aimAtX: number, aimAtY: number, aimAtZ: number, moveSpeed: number, shoot: boolean, p9: number, p10: number, p11: boolean, flags: number, p13: boolean, firingPattern: string | number): void;

declare function TaskGoToCoordWhileAimingAtEntity(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: boolean, p7: number, p8: number, p9: boolean, p10: number, p11: boolean, p12: number, p13: number): void;

/**
 * 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).
 */
declare function TaskGoToEntity(entity: number, target: number, duration: number, distance: number, speed: number, p5: number, p6: number): void;

declare function TaskGoToEntityWhileAimingAtCoord(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: boolean, p7: number, p8: number, p9: boolean, p10: boolean, p11: number): void;

/**
 * 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.
 */
declare function TaskGoToEntityWhileAimingAtEntity(ped: number, entityToWalkTo: number, entityToAimAt: number, speed: number, shootatEntity: boolean, p5: number, p6: number, p7: boolean, p8: boolean, firingPattern: string | number): void;

/**
 * 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.
 */
declare function TaskGotoEntityAiming(ped: number, target: number, distanceToStopAt: number, StartAimingDist: number): void;

declare function TaskGotoEntityOffset(ped: number, p1: number, p2: number, x: number, y: number, z: number, duration: number): void;

declare function TaskGotoEntityOffsetXy(ped: number, entity: number, duration: number, xOffset: number, yOffset: number, zOffset: number, moveBlendRatio: number, useNavmesh: boolean): void;

declare function TaskGuardAssignedDefensiveArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;

/**
 * From re_prisonvanbreak:
 * TASK::TASK_GUARD_CURRENT_POSITION(l_DD, 35.0, 35.0, 1);
 */
declare function TaskGuardCurrentPosition(p0: number, p1: number, p2: number, p3: boolean): void;

/**
 * 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?
 */
declare function TaskGuardSphereDefensiveArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: number): void;

/**
 * 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.
 */
declare function TaskHandsUp(ped: number, duration: number, facingPed: number, p3: number, p4: boolean): void;

/**
 * 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.
 */
declare function TaskHeliChase(pilot: number, entityToFollow: number, x: number, y: number, z: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function TaskHeliEscortHeli(pilot: number, heli1: number, heli2: number, p3: number, p4: number, p5: number): void;

/**
 * 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.
 */
declare function TaskHeliMission(pilot: number, aircraft: number, targetVehicle: number, targetPed: number, destinationX: number, destinationY: number, destinationZ: number, missionFlag: number, maxSpeed: number, landingRadius: number, targetHeading: number, unk1: number, unk2: number, unk3: number, landingFlags: number): void;

/**
 * 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
 */
declare function TaskJump(ped: number, unused: boolean): void;

/**
 * Flags are the same flags used in [`TASK_LEAVE_VEHICLE`](#\_0xD3DBCE61A490BE02)
 */
declare function TaskLeaveAnyVehicle(ped: number, p1: number, flags: number): void;

/**
 * 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.
 */
declare function TaskLeaveVehicle(ped: number, vehicle: number, flags: number): void;

declare function TaskLookAtCoord(entity: number, x: number, y: number, z: number, duration: number, p5: number, p6: number): void;

/**
 * param3: duration in ms, use -1 to look forever
 * param4: using 2048 is fine
 * param5: using 3 is fine
 */
declare function TaskLookAtEntity(ped: number, lookAt: number, duration: number, unknown1: number, unknown2: number): void;

/**
 * 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);
 */
declare function TaskMoveNetworkAdvancedByName(ped: number, p1: string, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: boolean, animDict: string, flags: number): void;
/**
 * 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);
 */
declare function N_0xd5b35bea41919acb(ped: number, p1: string, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: boolean, animDict: string, flags: number): void;
/**
 * 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);
 */
declare function TaskMoveNetworkAdvanced(ped: number, p1: string, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: boolean, animDict: string, flags: number): void;

/**
 * Example:
 * TASK::TASK_MOVE_NETWORK_BY_NAME(PLAYER::PLAYER_PED_ID(), "arm_wrestling_sweep_paired_a_rev3", 0.0f, true, "mini@arm_wrestling", 0);
 */
declare function TaskMoveNetworkByName(ped: number, task: string, multiplier: number, p3: boolean, animDict: string, flags: number): void;
/**
 * Example:
 * TASK::TASK_MOVE_NETWORK_BY_NAME(PLAYER::PLAYER_PED_ID(), "arm_wrestling_sweep_paired_a_rev3", 0.0f, true, "mini@arm_wrestling", 0);
 */
declare function N_0x2d537ba194896636(ped: number, task: string, multiplier: number, p3: boolean, animDict: string, flags: number): void;
/**
 * Example:
 * TASK::TASK_MOVE_NETWORK_BY_NAME(PLAYER::PLAYER_PED_ID(), "arm_wrestling_sweep_paired_a_rev3", 0.0f, true, "mini@arm_wrestling", 0);
 */
declare function TaskMoveNetwork(ped: number, task: string, multiplier: number, p3: boolean, animDict: string, flags: number): void;

/**
 * Used only once in the scripts (am_mp_nightclub)
 * ```
 * ```
 * Used only once in the scripts (am_mp_nightclub)
 * NativeDB Introduced: v1493
 */
declare function TaskMoveNetworkByNameWithInitParams(ped: number, p1: string, p3: number, p4: boolean, animDict: string, flags: number): number;
/**
 * Used only once in the scripts (am_mp_nightclub)
 * ```
 * ```
 * Used only once in the scripts (am_mp_nightclub)
 * NativeDB Introduced: v1493
 */
declare function TaskMoveNetworkScripted(ped: number, p1: string, p3: number, p4: boolean, animDict: string, flags: number): number;

/**
 * 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 The ped to do the task
 * @param vehicle The vehicle whose doors the ped shoud open
 * @param timeOut Sets a timeout to the task; doesn't work for 0
 * @param seat The seat index - the ped will attempt to open doors to get to the specified seat
 */
declare function TaskOpenVehicleDoor(ped: number, vehicle: number, timeOut: number, seat: number, speed: number): void;

/**
 * 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
 */
declare function TaskParachute(ped: number, p1: boolean): void;

/**
 * makes ped parachute to coords x y z. Works well with PATHFIND::GET_SAFE_COORD_FOR_PED
 */
declare function TaskParachuteToTarget(ped: number, x: number, y: number, z: number): void;

/**
 * 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();
 */
declare function TaskPatrol(ped: number, p1: string, p2: number, p3: boolean, p4: boolean): void;

/**
 * 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 The ped to pause. Set to this 0 when using task sequences.
 * @param ms The amount of miliseconds to wait.
 */
declare function TaskPause(ped: number, ms: number): void;

declare function TaskPedSlideToCoord(ped: number, x: number, y: number, z: number, heading: number, duration: number): void;

declare function TaskPedSlideToCoordHdgRate(ped: number, x: number, y: number, z: number, heading: number, p5: number, p6: number): void;

declare function TaskPerformSequence(ped: number, taskSequenceId: number): void;

declare function TaskPerformSequenceFromProgress(p0: number, p1: number, p2: number, p3: number): void;

declare function TaskPerformSequenceLocally(ped: number, taskSequenceId: number): void;
declare function N_0x8c33220c8d78ca0d(ped: number, taskSequenceId: number): void;

declare function TaskPlaneChase(pilot: number, entityToFollow: number, x: number, y: number, z: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function TaskPlaneGotoPreciseVtol(ped: number, vehicle: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number): void;

declare function TaskPlaneLand(pilot: number, plane: number, runwayStartX: number, runwayStartY: number, runwayStartZ: number, runwayEndX: number, runwayEndY: number, runwayEndZ: number): void;

/**
 * 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
 */
declare function TaskPlaneMission(pilot: number, aircraft: number, targetVehicle: number, targetPed: number, destinationX: number, destinationY: number, destinationZ: number, missionFlag: number, angularDrag: number, unk: number, targetHeading: number, maxZ: number, minZ: number): void;

declare function TaskPlaneTaxi(pilot: number, aircraft: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;
declare function N_0x92c360b5f15d2302(pilot: number, aircraft: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;

declare function TaskPlantBomb(ped: number, x: number, y: number, z: number, heading: number): void;

/**
 * [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
 * ```
 */
declare function TaskPlayAnim(ped: number, animDictionary: string, animationName: string, blendInSpeed: number, blendOutSpeed: number, duration: number, flag: number, playbackRate: number, lockX: boolean, lockY: boolean, lockZ: boolean): void;

/**
 * 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 The target ped
 * @param animDict Name of the animation dictionary
 * @param animName Name of the animation
 * @param posX Initial X position of the task
 * @param posY Initial Y position of the task
 * @param posZ Initial Z position of the task
 * @param rotX Initial X rotation of the task, doesn't seem to have any effect
 * @param rotY Initial Y rotation of the task, doesn't seem to have any effect
 * @param rotZ Initial Z rotation of the task
 * @param animEnterSpeed Adjust character speed to fully enter animation
 * @param animExitSpeed Adjust character speed to fully exit animation (useless `ClearPedTasksImmediately()` is called)
 * @param duration Time in milliseconds
 * @param animTime Value between 0.0 and 1.0, lets you start an animation from the given point
 */
declare function TaskPlayAnimAdvanced(ped: number, animDict: string, animName: string, posX: number, posY: number, posZ: number, rotX: number, rotY: number, rotZ: number, animEnterSpeed: number, animExitSpeed: number, duration: number, flag: number, animTime: number, p14: number, p15: number): void;

/**
 * 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).
 * =========================================================
 */
declare function TaskPlayPhoneGestureAnimation(ped: number, animDict: string, animation: string, boneMaskType: string, p4: number, p5: number, p6: boolean, p7: boolean): void;

declare function TaskPutPedDirectlyIntoCover(ped: number, x: number, y: number, z: number, timeout: number, p5: boolean, p6: number, p7: boolean, p8: boolean, p9: number, p10: boolean): void;

/**
 * from armenian3.c4
 * TASK::TASK_PUT_PED_DIRECTLY_INTO_MELEE(PlayerPed, armenianPed, 0.0, -1.0, 0.0, 0);
 */
declare function TaskPutPedDirectlyIntoMelee(ped: number, meleeTarget: number, p2: number, p3: number, p4: number, p5: boolean): void;

/**
 * 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 Ped to perform the task
 * @param x1 X coord to start the task
 * @param y1 Y coord to start the task
 * @param z1 Z coord to start the task
 * @param x2 Second X coord, uses the same position as above in the scripts
 * @param y2 Second Y coord
 * @param z2 Second Z coord
 * @param minZ Minimum Z that the player can descend to
 * @param ropeId Rope to attach this task to, must be created with [ADD_ROPE](#\_0xE832D760399EB220)
 * @param clipset Clipset to use for the task
 * @param p10 Usually 1 in the scripts
 */
declare function TaskRappelDownWall(ped: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, minZ: number, ropeId: number, clipset: string, p10: number): void;
/**
 * 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 Ped to perform the task
 * @param x1 X coord to start the task
 * @param y1 Y coord to start the task
 * @param z1 Z coord to start the task
 * @param x2 Second X coord, uses the same position as above in the scripts
 * @param y2 Second Y coord
 * @param z2 Second Z coord
 * @param minZ Minimum Z that the player can descend to
 * @param ropeId Rope to attach this task to, must be created with [ADD_ROPE](#\_0xE832D760399EB220)
 * @param clipset Clipset to use for the task
 * @param p10 Usually 1 in the scripts
 */
declare function N_0xeaf66acddc794793(ped: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, minZ: number, ropeId: number, clipset: string, p10: number): void;

/**
 * Only appears twice in the scripts.
 * TASK::TASK_RAPPEL_FROM_HELI(PLAYER::PLAYER_PED_ID(), 0x41200000);
 * TASK::TASK_RAPPEL_FROM_HELI(a_0, 0x41200000);
 */
declare function TaskRappelFromHeli(ped: number, unused: number): void;

declare function TaskReactAndFleePed(ped: number, fleeTarget: number): void;

/**
 * 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);
 * }
 */
declare function TaskReloadWeapon(ped: number, unused: boolean): void;

/**
 * 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@");
 */
declare function TaskScriptedAnimation(ped: number, p4: number, p5: number): [number, number, number];

declare function TaskSeekCoverFromPed(ped: number, target: number, duration: number, p3: boolean): void;

declare function TaskSeekCoverFromPos(ped: number, x: number, y: number, z: number, duration: number, p5: boolean): void;

/**
 * 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);
 */
declare function TaskSeekCoverToCoords(ped: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p7: number, p8: boolean): void;

declare function TaskSeekCoverToCoverPoint(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: boolean): void;

/**
 * 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.
 */
declare function TaskSetBlockingOfNonTemporaryEvents(ped: number, toggle: boolean): void;

/**
 * p1 is always GET_HASH_KEY("empty") in scripts, for the rare times this is used
 */
declare function TaskSetDecisionMaker(ped: number, p1: string | number): void;

declare function TaskSetSphereDefensiveArea(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function TaskShockingEventReact(ped: number, eventHandle: number): void;

/**
 * Firing Pattern Hash Information: https://pastebin.com/Px036isB
 */
declare function TaskShootAtCoord(ped: number, x: number, y: number, z: number, duration: number, firingPattern: string | number): void;

/**
 * //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
 */
declare function TaskShootAtEntity(entity: number, target: number, duration: number, firingPattern: string | number): void;

/**
 * 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
 */
declare function TaskShuffleToNextVehicleSeat(ped: number, vehicle: number): void;

/**
 * NativeDB Added Parameter 2: BOOL p1
 */
declare function TaskSkyDive(ped: number): void;

/**
 * Makes the specified ped flee the specified distance from the specified position.
 */
declare function TaskSmartFleeCoord(ped: number, x: number, y: number, z: number, distance: number, time: number, p6: boolean, p7: boolean): void;

/**
 * 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
 */
declare function TaskSmartFleePed(ped: number, fleeTarget: number, distance: number, fleeTime: number, p4: boolean, p5: boolean): void;

/**
 * scenarioName example: "WORLD_HUMAN_GUARD_STAND"
 */
declare function TaskStandGuard(ped: number, x: number, y: number, z: number, heading: number, scenarioName: string): void;

/**
 * Makes the specified ped stand still for (time) milliseconds.
 */
declare function TaskStandStill(ped: number, time: number): void;

/**
 * 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
 */
declare function TaskStartScenarioAtPosition(ped: number, scenarioName: string, x: number, y: number, z: number, heading: number, duration: number, sittingScenario: boolean, teleport: boolean): void;

/**
 * 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
 */
declare function TaskStartScenarioInPlace(ped: number, scenarioName: string, unkDelay: number, playEnterAnim: boolean): void;

/**
 * Makes the ped run to take cover
 */
declare function TaskStayInCover(ped: number): void;

/**
 * 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
 */
declare function TaskStealthKill(killer: number, target: number, actionType: string | number, p3: number, p4: number): void;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function TaskStopPhoneGestureAnimation(ped: number): void;
/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function TaskStopPhoneGestureAnimation(ped: number): void;

/**
 * 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
 * ```
 */
declare function TaskSubmarineGotoAndStop(p0: number, submarine: number, x: number, y: number, z: number, p5: number): void;

declare function TaskSwapWeapon(ped: number, p1: boolean): void;

/**
 * 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
 */
declare function TaskSweepAimEntity(ped: number, anim: string, p2: string, p3: string, p4: string, p5: number, vehicle: number, p7: number, p8: number): void;

declare function TaskSweepAimPosition(p0: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: number): [number, number, number, number];

/**
 * TASK::TASK_SYNCHRONIZED_SCENE(ped, scene, "creatures@rottweiler@in_vehicle@std_car", "get_in", 1000.0, -8.0, 4, 0, 0x447a0000, 0);
 */
declare function TaskSynchronizedScene(ped: number, scene: number, animDictionary: string, animationName: string, speed: number, speedMultiplier: number, duration: number, flag: number, playbackRate: number, p9: number): void;

/**
 * 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
 */
declare function TaskThrowProjectile(ped: number, x: number, y: number, z: number): void;

/**
 * used in sequence task
 * both parameters seems to be always 0
 */
declare function TaskToggleDuck(p0: boolean, p1: boolean): void;

/**
 * duration in milliseconds
 */
declare function TaskTurnPedToFaceCoord(ped: number, x: number, y: number, z: number, duration: number): void;

/**
 * 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
 */
declare function TaskTurnPedToFaceEntity(ped: number, entity: number, duration: number): void;

/**
 * Actually has 3 params, not 2.
 * p0: Ped
 * p1: int (or bool?)
 * p2: int
 * ```
 * ```
 * NativeDB Added Parameter 3: Any p2
 */
declare function TaskUseMobilePhone(ped: number, p1: number): void;

declare function TaskUseMobilePhoneTimed(ped: number, duration: number): void;

declare function TaskUseNearestScenarioChainToCoord(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

declare function TaskUseNearestScenarioChainToCoordWarp(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

/**
 * Updated variables
 * An alternative to TASK::TASK_USE_NEAREST_SCENARIO_TO_COORD_WARP. Makes the ped walk to the scenario instead.
 */
declare function TaskUseNearestScenarioToCoord(ped: number, x: number, y: number, z: number, distance: number, duration: number): void;

declare function TaskUseNearestScenarioToCoordWarp(ped: number, x: number, y: number, z: number, radius: number, p5: number): void;

declare function TaskVehicleAimAtCoord(ped: number, x: number, y: number, z: number): void;

declare function TaskVehicleAimAtPed(ped: number, target: number): void;

/**
 * chases targetEnt fast and aggressively
 * --
 * Makes ped (needs to be in vehicle) chase targetEnt.
 */
declare function TaskVehicleChase(driver: number, targetEnt: number): void;

/**
 * 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);
 */
declare function TaskVehicleDriveToCoord(ped: number, vehicle: number, x: number, y: number, z: number, speed: number, p6: number, vehicleModel: string | number, drivingMode: number, stopRange: number, p10: number): void;

/**
 * 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 Ped id for the task.
 * @param vehicle Vehicle entity id for the task.
 * @param x Destination X coordinate.
 * @param y Destination Y coordinate.
 * @param z Destination Z coordinate.
 * @param speed Speed of driving.
 * @param driveMode More info can be found [here](https://vespura.com/fivem/drivingstyle/)
 * @param stopRange Stops in the specific range near the destination. 20.0 works fine.
 */
declare function TaskVehicleDriveToCoordLongrange(ped: number, vehicle: number, x: number, y: number, z: number, speed: number, driveMode: number, stopRange: number): void;

/**
 * Drive randomly with no destination set.
 * @param ped Ped id for the task.
 * @param vehicle Vehicle entity id for the task.
 * @param speed Speed of driving.
 * @param drivingStyle More info can be found [here](https://vespura.com/fivem/drivingstyle/)
 */
declare function TaskVehicleDriveWander(ped: number, vehicle: number, speed: number, drivingStyle: number): void;

/**
 * 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/
 */
declare function TaskVehicleEscort(ped: number, vehicle: number, targetVehicle: number, mode: number, speed: number, drivingStyle: number, minDistance: number, p7: number, noRoadsDistance: number): void;

/**
 * Makes a ped in a vehicle follow an entity (ped, vehicle, etc.)
 * drivingStyle: http://gtaforums.com/topic/822314-guide-driving-styles/
 */
declare function TaskVehicleFollow(driver: number, vehicle: number, targetEntity: number, speed: number, drivingStyle: number, minDistance: number): void;
/**
 * Makes a ped in a vehicle follow an entity (ped, vehicle, etc.)
 * drivingStyle: http://gtaforums.com/topic/822314-guide-driving-styles/
 */
declare function TaskVehicleFollow(driver: number, vehicle: number, targetEntity: number, speed: number, drivingStyle: number, minDistance: number): void;

/**
 * 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
 */
declare function TaskVehicleFollowWaypointRecording(ped: number, vehicle: number, WPRecording: string, p3: number, p4: number, p5: number, p6: number, p7: number, p8: boolean, p9: number): void;

/**
 * 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/
 */
declare function TaskVehicleGotoNavmesh(ped: number, vehicle: number, x: number, y: number, z: number, speed: number, behaviorFlag: number, stoppingRange: number): void;

/**
 * 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.
 */
declare function TaskVehicleHeliProtect(pilot: number, vehicle: number, entityToFollow: number, targetSpeed: number, p4: number, radius: number, altitude: number, p7: number): void;

/**
 * missionType: https://alloc8or.re/gta5/doc/enums/eVehicleMissionType.txt
 */
declare function TaskVehicleMission(driver: number, vehicle: number, vehicleTarget: number, missionType: number, p4: number, p5: number, p6: number, p7: number, DriveAgainstTraffic: boolean): void;

/**
 * See [`TASK_VEHICLE_MISSION`](#\_0x659427E0EF36BCDE).
 */
declare function TaskVehicleMissionCoorsTarget(ped: number, vehicle: number, x: number, y: number, z: number, p5: number, p6: number, p7: number, p8: number, p9: number, DriveAgainstTraffic: boolean): void;

/**
 * See [`TASK_VEHICLE_MISSION`](#\_0x659427E0EF36BCDE).
 */
declare function TaskVehicleMissionPedTarget(ped: number, vehicle: number, pedTarget: number, missionType: number, maxSpeed: number, drivingStyle: number, minDistance: number, p7: number, DriveAgainstTraffic: boolean): void;

/**
 * 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.
 */
declare function TaskVehiclePark(ped: number, vehicle: number, x: number, y: number, z: number, heading: number, mode: number, radius: number, keepEngineOn: boolean): void;

/**
 * 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.
 */
declare function TaskVehiclePlayAnim(vehicle: number, animationSet: string, animationName: string): void;

declare function TaskVehicleShootAtCoord(ped: number, x: number, y: number, z: number, p4: number): void;

declare function TaskVehicleShootAtPed(ped: number, target: number, p2: number): void;

/**
 * '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
 */
declare function TaskVehicleTempAction(driver: number, vehicle: number, action: number, time: number): void;

/**
 * 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 The ped which will wander the area.
 * @param x The X coordinate.
 * @param y The Y coordinate
 * @param z The Z coordinate
 * @param radius The radius of the area to wander around in
 * @param minimalLength The minimal length it will wander before waiting timeBetweenWalks seconds before continuing
 * @param timeBetweenWalks The length of time the ped will stand still/rest between walks
 */
declare function TaskWanderInArea(ped: number, x: number, y: number, z: number, radius: number, minimalLength: number, timeBetweenWalks: number): void;

/**
 * NativeDB Introduced: v1868
 */
declare function TaskWanderSpecific(p0: number, p1: number, p2: number, p3: number): void;

/**
 * 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.
 */
declare function TaskWanderStandard(ped: number, p1: number, p2: number): void;

declare function TaskWarpPedIntoVehicle(ped: number, vehicle: number, seatIndex: number): void;

/**
 * NativeDB Added Parameter 5: Any p4
 * NativeDB Added Parameter 6: Any p5
 */
declare function TaskWrithe(ped: number, target: number, time: number, p3: number): void;

/**
 * For a full list, see here: pastebin.com/yLNWicUi
 */
declare function TerminateAllScriptsWithThisName(scriptName: string): void;

declare function TerminateThisThread(): void;

declare function TerminateThread(threadId: number): void;

/**
 * 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 Enables or disables the golf putting grid display.
 */
declare function TerraingridActivate(toggle: boolean): void;
/**
 * 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 Enables or disables the golf putting grid display.
 */
declare function N_0xa356990e161c9e65(toggle: boolean): void;

/**
 * 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 red value for the lower level
 * @param lowG green value for the lower level
 * @param lowB blue value for the lower level
 * @param lowAlpha alpha value for the lower level
 * @param R red value for the normal level
 * @param G green value for the normal level
 * @param B blue value for the normal level
 * @param Alpha alpha value for the normal level
 * @param highR red value for the upper level
 * @param highG green value for the upper level
 * @param highB blue value for the upper level
 * @param highAlpha alpha value for the upper level
 */
declare function TerraingridSetColours(lowR: number, lowG: number, lowB: number, lowAlpha: number, R: number, G: number, B: number, Alpha: number, highR: number, highG: number, highB: number, highAlpha: number): void;
/**
 * 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 red value for the lower level
 * @param lowG green value for the lower level
 * @param lowB blue value for the lower level
 * @param lowAlpha alpha value for the lower level
 * @param R red value for the normal level
 * @param G green value for the normal level
 * @param B blue value for the normal level
 * @param Alpha alpha value for the normal level
 * @param highR red value for the upper level
 * @param highG green value for the upper level
 * @param highB blue value for the upper level
 * @param highAlpha alpha value for the upper level
 */
declare function N_0x5ce62918f8d703c7(lowR: number, lowG: number, lowB: number, lowAlpha: number, R: number, G: number, B: number, Alpha: number, highR: number, highG: number, highB: number, highAlpha: number): void;

/**
 * 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 Grid center x coord.
 * @param y Grid center y coord.
 * @param z Grid center z coord.
 * @param p3 Not sure, but seems to be the amount of lines top/bottom there are in the grid. -1.0 works best.
 * @param rotation Grid rotation (keep between 0.0 and 1.0).
 * @param p5 Offset top/bottom (? not sure about this one, seems weird).
 * @param width Grid width (usually 15.0).
 * @param height Grid height (usually 15.0).
 * @param p8 Not sure, but seems to be the amount of lines left/right there are in the grid. -1.0 works best.
 * @param scale Zoom / scale (higher values = smaller (more) squares) (lower values = bigger (less) squares).
 * @param glowIntensity glow intensity / opacity (40.0 is fine for daylight, 15.0 is fine for night time).
 * @param normalHeight The z coord for 'normal' height (white grid lines level).
 * @param heightDiff This is the height difference/margin used for line color changes. 0.2 works fine (normalHeight + 0.2 = yellow, normalHeight - 0.2 = red).
 */
declare function TerraingridSetParams(x: number, y: number, z: number, p3: number, rotation: number, p5: number, width: number, height: number, p8: number, scale: number, glowIntensity: number, normalHeight: number, heightDiff: number): void;
/**
 * 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 Grid center x coord.
 * @param y Grid center y coord.
 * @param z Grid center z coord.
 * @param p3 Not sure, but seems to be the amount of lines top/bottom there are in the grid. -1.0 works best.
 * @param rotation Grid rotation (keep between 0.0 and 1.0).
 * @param p5 Offset top/bottom (? not sure about this one, seems weird).
 * @param width Grid width (usually 15.0).
 * @param height Grid height (usually 15.0).
 * @param p8 Not sure, but seems to be the amount of lines left/right there are in the grid. -1.0 works best.
 * @param scale Zoom / scale (higher values = smaller (more) squares) (lower values = bigger (less) squares).
 * @param glowIntensity glow intensity / opacity (40.0 is fine for daylight, 15.0 is fine for night time).
 * @param normalHeight The z coord for 'normal' height (white grid lines level).
 * @param heightDiff This is the height difference/margin used for line color changes. 0.2 works fine (normalHeight + 0.2 = yellow, normalHeight - 0.2 = red).
 */
declare function N_0x1c4fc5752bcd8e48(x: number, y: number, z: number, p3: number, rotation: number, p5: number, width: number, height: number, p8: number, scale: number, glowIntensity: number, normalHeight: number, heightDiff: number): void;

/**
 * Flags are identical to START_SHAPE_TEST\*, however, 128 is automatically set.
 * @param flag See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
 */
declare function TestProbeAgainstAllWater(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flag: number): [boolean, number[]];

declare function TestProbeAgainstWater(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): [boolean, number[]];

declare function TestVerticalProbeAgainstAllWater(x: number, y: number, z: number, flag: number, height?: number): [boolean, number];

declare function TextureDownloadGetName(p0: number): string;

declare function TextureDownloadHasFailed(p0: number): boolean;
declare function N_0x5776ed562c134687(p0: number): boolean;

declare function TextureDownloadRelease(p0: number): void;

declare function TextureDownloadRequest(FilePath: string, Name: string, p3: boolean): [number, number];

declare function ThefeedClearFrozenPost(): void;
declare function N_0x80fe4f3ab4e1b62a(): void;
declare function ThefeedFlushPersistent(): void;

/**
 * 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).
 */
declare function ThefeedCommentTeleportPoolOff(): void;
/**
 * 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).
 */
declare function N_0xaded7f5748acafe6(): void;
/**
 * 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).
 */
declare function ThefeedShowGtaoTooltips(): void;

/**
 * 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.
 */
declare function ThefeedCommentTeleportPoolOn(): void;
/**
 * 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.
 */
declare function N_0x56c8b608cfd49854(): void;

/**
 * Stops loading screen tips shown by invoking either `0x488043841BBE156F` or `0x15CFA549788D35EF`
 */
declare function ThefeedDisableLoadingScreenTips(): void;
/**
 * Stops loading screen tips shown by invoking either `0x488043841BBE156F` or `0x15CFA549788D35EF`
 */
declare function N_0x32888337579a5970(): void;
/**
 * Stops loading screen tips shown by invoking either `0x488043841BBE156F` or `0x15CFA549788D35EF`
 */
declare function ThefeedDisable(): void;

/**
 * Displays loading screen tips, requires `0x56C8B608CFD49854` to be called beforehand.
 */
declare function ThefeedDisplayLoadingScreenTips(): void;
/**
 * Displays loading screen tips, requires `0x56C8B608CFD49854` to be called beforehand.
 */
declare function N_0x15cfa549788d35ef(): void;
/**
 * Displays loading screen tips, requires `0x56C8B608CFD49854` to be called beforehand.
 */
declare function ThefeedEnable(): void;

declare function ThefeedFlushQueue(): void;
declare function N_0xa8fdb297a8d25fba(): void;

/**
 * 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.
 */
declare function ThefeedForceRenderOff(): void;
/**
 * 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.
 */
declare function N_0x583049884a2eee3c(): void;
/**
 * 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.
 */
declare function ThefeedHideGtaoTooltips(): void;

declare function ThefeedForceRenderOn(): void;
declare function N_0xa13c11e1b5c06bfc(): void;

/**
 * Requires manual management of game stream handles (i.e., 0xBE4390CB40B3E627).
 */
declare function ThefeedFreezeNextPost(): void;
/**
 * Requires manual management of game stream handles (i.e., 0xBE4390CB40B3E627).
 */
declare function N_0xfdec055ab549e328(): void;
/**
 * Requires manual management of game stream handles (i.e., 0xBE4390CB40B3E627).
 */
declare function ThefeedSetNextPostPersistent(): void;

/**
 * Returns the handle for the notification currently displayed on the screen. Name may be a hash collision, but describes the function accurately.
 */
declare function ThefeedGetFirstVisibleDeleteRemaining(): number;
/**
 * Returns the handle for the notification currently displayed on the screen. Name may be a hash collision, but describes the function accurately.
 */
declare function N_0x82352748437638ca(): number;
/**
 * Returns the handle for the notification currently displayed on the screen. Name may be a hash collision, but describes the function accurately.
 */
declare function GetCurrentNotification(): number;
/**
 * Returns the handle for the notification currently displayed on the screen. Name may be a hash collision, but describes the function accurately.
 */
declare function ThefeedGetCurrentNotification(): number;

/**
 * Once called each frame hides all above radar notifications.
 */
declare function ThefeedHideThisFrame(): void;
/**
 * Once called each frame hides all above radar notifications.
 */
declare function N_0x25f87b30c382fca7(): void;
/**
 * Once called each frame hides all above radar notifications.
 */
declare function HideHudNotificationsThisFrame(): void;

declare function ThefeedIsPaused(): boolean;
declare function N_0xa9cbfd40b3fa3010(): boolean;

declare function ThefeedOnlyShowTooltips(toggle: boolean): void;
declare function N_0x6f1554b0cc2089fa(toggle: boolean): void;

declare function ThefeedPause(): void;
declare function N_0xfdb423997fa30340(): void;

/**
 * Removes a notification instantly instead of waiting for it to disappear
 */
declare function ThefeedRemoveItem(notificationId: number): void;
/**
 * Removes a notification instantly instead of waiting for it to disappear
 */
declare function RemoveNotification(notificationId: number): void;

declare function ThefeedResetAllParameters(): void;
declare function N_0xfdd85225b2dea55e(): void;
declare function ThefeedClearAnimpostfx(): void;

declare function ThefeedResume(): void;
declare function N_0xe1cd1e48e025e661(): void;

declare function ThefeedSetAnimpostfxColor(red: number, green: number, blue: number, alpha: number): void;
declare function N_0x17430b918701c342(red: number, green: number, blue: number, alpha: number): void;
declare function SetNotificationFlashColor(red: number, green: number, blue: number, alpha: number): void;

/**
 * Related to notification color flashing, setting p0 to 0 invalidates a `_SET_NOTIFICATION_FLASH_COLOR` call for the target notification.
 */
declare function ThefeedSetAnimpostfxCount(count: number): void;
/**
 * Related to notification color flashing, setting p0 to 0 invalidates a `_SET_NOTIFICATION_FLASH_COLOR` call for the target notification.
 */
declare function N_0x17ad8c9706bdd88a(count: number): void;

/**
 * Requires GAME_STREAM_ENUMS.MSGTEXT. Default sounds: "DPAD_WEAPON_SCROLL" and "HUD_FRONTEND_DEFAULT_SOUNDSET"
 */
declare function ThefeedSetAnimpostfxSound(toggle: boolean): void;
/**
 * Requires GAME_STREAM_ENUMS.MSGTEXT. Default sounds: "DPAD_WEAPON_SCROLL" and "HUD_FRONTEND_DEFAULT_SOUNDSET"
 */
declare function N_0x4a0c7c9bb10abb36(toggle: boolean): void;

/**
 * If true, remove all feed components instantly. Otherwise tween/animate close each component
 */
declare function ThefeedSetFlushAnimpostfx(toggle: boolean): void;
/**
 * If true, remove all feed components instantly. Otherwise tween/animate close each component
 */
declare function N_0xbae4f9b97cd43b30(toggle: boolean): void;

/**
 * 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
 */
declare function ThefeedSetNextPostBackgroundColor(hudColorIndex: number): void;
/**
 * 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
 */
declare function N_0x92f0da1e27db96dc(hudColorIndex: number): void;
/**
 * 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
 */
declare function SetNotificationBackgroundColor(hudColorIndex: number): void;
/**
 * 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
 */
declare function ThefeedNextPostBackgroundColor(hudColorIndex: number): void;

declare function ThefeedSetScriptedMenuHeight(pos: number): void;
declare function N_0x55598d21339cb998(pos: number): void;
declare function ClearNotificationsPos(pos: number): void;

declare function ThefeedSpsExtendWidescreenOff(): void;
declare function N_0xb695e2cd0a2da9ee(): void;
declare function ThefeedDisableBaselineOffset(): void;

declare function ThefeedSpsExtendWidescreenOn(): void;
declare function N_0xd4438c0564490e63(): void;
declare function ThefeedEnableBaselineOffset(): void;

/**
 * Used in the native scripts to reference "GET_PEDHEADSHOT_TXD_STRING" and "CHAR_DEFAULT".
 * NativeDB Introduced: v323
 */
declare function ThefeedUpdateItemTexture(txdString1: string, txnString1: string, txdString2: string, txnString2: string): void;
/**
 * Used in the native scripts to reference "GET_PEDHEADSHOT_TXD_STRING" and "CHAR_DEFAULT".
 * NativeDB Introduced: v323
 */
declare function N_0x317eba71d7543f52(txdString1: string, txnString1: string, txdString2: string, txnString2: string): void;
/**
 * Used in the native scripts to reference "GET_PEDHEADSHOT_TXD_STRING" and "CHAR_DEFAULT".
 * NativeDB Introduced: v323
 */
declare function ThefeedAddTxdRef(txdString1: string, txnString1: string, txdString2: string, txnString2: string): void;

/**
 * Counts up. Every 1000 is 1 real-time second. Use SETTIMERA(int value) to set the timer (e.g.: SETTIMERA(0)).
 */
declare function Timera(): number;

declare function Timerb(): number;

/**
 * Gets the current frame time.
 */
declare function Timestep(): number;

declare function TitleTextureDownloadRequest(FilePath: string, Name: string, p2: boolean): number;
declare function N_0x0b203b4afde53a4f(FilePath: string, Name: string, p2: boolean): number;

declare function ToFloat(value: number): number;

declare function TogglePausedRenderphases(toggle: boolean): void;
declare function EnableGameplayCam(toggle: boolean): void;
declare function SetFrozenRenderingDisabled(toggle: boolean): void;

declare function ToggleStealthRadar(toggle: boolean): void;

/**
 * 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_*
 */
declare function ToggleUsePickupsForPlayer(player: number, pickupHash: string | number, toggle: boolean): void;
/**
 * 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_*
 */
declare function N_0x616093ec6b139dd9(player: number, pickupHash: string | number, toggle: boolean): void;

declare function ToggleVehicleMod(vehicle: number, modType: number, toggle: boolean): void;

declare function TrackObjectVisibility(object: number): void;

/**
 * in script hook .net
 * Vehicle v = ...;
 * Function.Call(Hash.TRACK_VEHICLE_VISIBILITY, v.Handle);
 */
declare function TrackVehicleVisibility(vehicle: number): void;

/**
 * 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 A vehicle handle.
 * @param instantly If true, the vehicle will be instantly transformed, when false the transform animation plays normally.
 */
declare function TransformToCar(vehicle: number, instantly: boolean): void;
/**
 * 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 A vehicle handle.
 * @param instantly If true, the vehicle will be instantly transformed, when false the transform animation plays normally.
 */
declare function N_0x2a69ffd1b42bff9e(vehicle: number, instantly: boolean): void;
/**
 * 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 A vehicle handle.
 * @param instantly If true, the vehicle will be instantly transformed, when false the transform animation plays normally.
 */
declare function TransformStormbergToRoadVehicle(vehicle: number, instantly: boolean): void;
/**
 * 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 A vehicle handle.
 * @param instantly If true, the vehicle will be instantly transformed, when false the transform animation plays normally.
 */
declare function TransformSubmarineToVehicle(vehicle: number, instantly: boolean): void;

/**
 * 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 A vehicle handle.
 * @param instantly If true, the vehicle will be instantly transformed, when false the transform animation plays normally.
 */
declare function TransformToSubmarine(vehicle: number, instantly: boolean): void;
/**
 * 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 A vehicle handle.
 * @param instantly If true, the vehicle will be instantly transformed, when false the transform animation plays normally.
 */
declare function N_0xbe4c854ffdb6eebe(vehicle: number, instantly: boolean): void;
/**
 * 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 A vehicle handle.
 * @param instantly If true, the vehicle will be instantly transformed, when false the transform animation plays normally.
 */
declare function TransformStormbergToWaterVehicle(vehicle: number, instantly: boolean): void;
/**
 * 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 A vehicle handle.
 * @param instantly If true, the vehicle will be instantly transformed, when false the transform animation plays normally.
 */
declare function TransformVehicleToSubmarine(vehicle: number, instantly: boolean): void;

/**
 * The backing function for TriggerEvent.
 */
declare function TriggerEventInternal(eventName: string, eventPayload: string, payloadLength: number): void;

/**
 * The backing function for TriggerLatentServerEvent.
 */
declare function TriggerLatentServerEventInternal(eventName: string, eventPayload: string, payloadLength: number, bps: number): void;

/**
 * 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
 */
declare function TriggerMusicEvent(eventName: string): boolean;

declare function TriggerScreenblurFadeIn(transitionTime: number): boolean;
declare function TransitionToBlurred(transitionTime: number): boolean;

declare function TriggerScreenblurFadeOut(transitionTime: number): boolean;
declare function TransitionFromBlurred(transitionTime: number): boolean;

/**
 * p1 = 6
 */
declare function TriggerScriptCrcCheckOnPlayer(player: number, p1: number, scriptHash: string | number): boolean;
/**
 * p1 = 6
 */
declare function N_0x46fb3ed415c7641c(player: number, p1: number, scriptHash: string | number): boolean;
/**
 * p1 = 6
 */
declare function NetworkIsPlayerInScript(player: number, p1: number, scriptHash: string | number): boolean;

/**
 * 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.
 */
declare function TriggerScriptEvent(eventGroup: number, eventDataSize: number, playerBits: number): number;

/**
 * See TRIGGER_SCRIPT_EVENT
 */
declare function TriggerScriptEvent_2(eventGroup: number, eventDataSize: number, playerBits: number): number;
/**
 * See TRIGGER_SCRIPT_EVENT
 */
declare function N_0xa40cc53df8e50837(eventGroup: number, eventDataSize: number, playerBits: number): number;

/**
 * The backing function for TriggerServerEvent.
 */
declare function TriggerServerEventInternal(eventName: string, eventPayload: string, payloadLength: number): void;

/**
 * ... When not in a vehicle
 * ```
 * NativeDB Introduced: v1290
 * ```
 */
declare function TriggerSiren(vehicle: number): void;
/**
 * ... When not in a vehicle
 * ```
 * NativeDB Introduced: v1290
 * ```
 */
declare function N_0x66c3fb05206041ba(vehicle: number): void;

declare function TriggerSonarBlip(posX: number, posY: number, posZ: number, radius: number, p4: number): void;
declare function N_0x72dd432f3cdfc0ee(posX: number, posY: number, posZ: number, radius: number, p4: number): void;

declare function UgcCancelQuery(): void;
declare function N_0xe9b99b6853181409(): void;

declare function UgcClearCreateResult(): void;
declare function N_0x17440aa15d1d3739(): void;

declare function UgcClearModifyResult(): void;
declare function N_0xa1e5e0204a6fcc70(): void;

declare function UgcClearOfflineQuery(): void;
declare function N_0x61a885d3f7cfee9a(): void;

declare function UgcClearQueryResults(): void;
declare function N_0xba96394a0eecfa65(): void;

declare function UgcCopyContent(): [boolean, number, number];
declare function N_0x152d90e4c1b4738a(): [boolean, number, number];

/**
 * NativeDB Added Parameter 8: Any p7
 */
declare function UgcCreateContent(data: string, dataCount: number, contentName: string, description: string, tagsCsv: string, contentTypeName: string, publish: boolean): boolean;
/**
 * NativeDB Added Parameter 8: Any p7
 */
declare function N_0xc84527e235fca219(data: string, dataCount: number, contentName: string, description: string, tagsCsv: string, contentTypeName: string, publish: boolean): boolean;

/**
 * NativeDB Added Parameter 6: Any p5
 */
declare function UgcCreateMission(contentName: string, description: string, tagsCsv: string, contentTypeName: string, publish: boolean): boolean;
/**
 * NativeDB Added Parameter 6: Any p5
 */
declare function N_0xa5efc3e847d60507(contentName: string, description: string, tagsCsv: string, contentTypeName: string, publish: boolean): boolean;

declare function UgcDidGetSucceed(): number;
declare function N_0x941e5306bcd7c2c7(): number;

declare function UgcGetBookmarkedContent(p0: number, p1: number): [boolean, number, number];
declare function N_0xd5a4b59980401588(p0: number, p1: number): [boolean, number, number];

declare function UgcGetCachedDescription(p0: number, p1: number): number;
declare function N_0x40f7e66472df3e5c(p0: number, p1: number): number;

declare function UgcGetContentCategory(p0: number): number;
declare function N_0xa7bab11e7c9c6c5a(p0: number): number;
declare function GetContentCategory(p0: number): number;

declare function UgcGetContentDescriptionHash(p0: number): number;
declare function N_0x7cf0448787b23758(p0: number): number;
declare function GetContentDescriptionHash(p0: number): number;

declare function UgcGetContentFileVersion(p0: number, p1: number): number;
declare function N_0x37025b27d9b658b1(p0: number, p1: number): number;
declare function GetContentFileVersion(p0: number, p1: number): number;

declare function UgcGetContentHasPlayerBookmarked(p0: number): boolean;
declare function N_0x993cbe59d350d225(p0: number): boolean;

declare function UgcGetContentHasPlayerRecord(p0: number): boolean;
declare function N_0x70ea8da57840f9be(p0: number): boolean;

declare function UgcGetContentHash(): number;
declare function N_0x3a17a27d75c74887(): number;

/**
 * Return the mission id of a job.
 */
declare function UgcGetContentId(p0: number): string;
/**
 * Return the mission id of a job.
 */
declare function N_0x55aa95f481d694d2(p0: number): string;
/**
 * Return the mission id of a job.
 */
declare function GetContentId(p0: number): string;

declare function UgcGetContentIsPublished(p0: number): boolean;
declare function N_0x3054f114121c21ea(p0: number): boolean;

declare function UgcGetContentIsVerified(p0: number): boolean;
declare function N_0xa9240a96c74cca13(p0: number): boolean;

declare function UgcGetContentLanguage(p0: number): number;
declare function N_0x32dd916f3f7c9672(p0: number): number;

declare function UgcGetContentName(p0: number): number;
declare function N_0xbf09786a7fcab582(p0: number): number;

declare function UgcGetContentNum(): number;
declare function N_0xe0a6138401bcb837(): number;

declare function UgcGetContentPath(p0: number, p1: number): string;
declare function N_0xbaf6babf9e7ccc13(p0: number, p1: number): string;
declare function UgcGetCloudPath(p0: number, p1: number): string;

declare function UgcGetContentRating(p0: number, p1: number): number;
declare function N_0x1accfba3d8dab2ee(p0: number, p1: number): number;

declare function UgcGetContentRatingCount(p0: number, p1: number): number;
declare function N_0x759299c5bb31d2a9(p0: number, p1: number): number;

declare function UgcGetContentRatingNegativeCount(p0: number, p1: number): number;
declare function N_0x4e548c0d7ae39ff9(p0: number, p1: number): number;

declare function UgcGetContentRatingPositiveCount(p0: number, p1: number): number;
declare function N_0x87e5c46c187fe0ae(p0: number, p1: number): number;

declare function UgcGetContentTotal(): number;
declare function N_0x769951e2455e2eb5(): number;

declare function UgcGetContentUpdatedDate(p0: number, p1?: number): number;
declare function N_0xcfd115b373c0df63(p0: number, p1?: number): number;

declare function UgcGetContentUserId(p0: number): string;
declare function N_0xcd67ad041a394c9c(p0: number): string;
declare function GetContentUserId(p0: number): string;
declare function GetPlayerAdvancedModifierPrivileges(p0: number): string;

declare function UgcGetContentUserName(p0: number): number;
declare function N_0x703f12425eca8bf5(p0: number): number;

declare function UgcGetCreateContentId(): number;
declare function N_0xc55a0b40ffb1ed23(): number;

declare function UgcGetCreateResult(): number;
declare function N_0xfbc5e768c7a77a6a(): number;

declare function UgcGetCreatorNum(): number;
declare function N_0x597f8dba9b206fc7(): number;

declare function UgcGetCrewContent(p0: number, p1: number, p2: number): [boolean, number, number];
declare function N_0x9f6e2821885caee2(p0: number, p1: number, p2: number): [boolean, number, number];

declare function UgcGetFriendContent(p0: number, p1: number): [boolean, number, number];
declare function N_0xf9e1ccae8ba4c281(p0: number, p1: number): [boolean, number, number];

declare function UgcGetGetByCategory(p0: number, p1: number, p2: number): [boolean, number, number];
declare function N_0x678bb03c1a3bd51e(p0: number, p1: number, p2: number): [boolean, number, number];

declare function UgcGetModifyResult(): number;
declare function N_0x5a0a3d1a186a5508(): number;

declare function UgcGetMyContent(p0: number, p1: number): [boolean, number, number];
declare function N_0x3195f8dd0d531052(p0: number, p1: number): [boolean, number, number];

declare function UgcGetQueryResult(): number;
declare function N_0xedf7f927136c224b(): number;

/**
 * Return the root content id of a job.
 */
declare function UgcGetRootContentId(p0: number): string;
/**
 * Return the root content id of a job.
 */
declare function N_0xc0173d6bff4e0348(p0: number): string;
/**
 * Return the root content id of a job.
 */
declare function GetRootContentId(p0: number): string;

declare function UgcHasCreateFinished(): boolean;
declare function N_0x5e24341a7f92a74b(): boolean;

declare function UgcHasGetFinished(): boolean;
declare function N_0x02ada21ea2f6918f(): boolean;

declare function UgcHasModifyFinished(): boolean;
declare function N_0x299ef3c576773506(): boolean;

declare function UgcIsGetting(): boolean;
declare function N_0xd53acdbef24a46e8(): boolean;

declare function UgcIsLanguageSupported(p0: number): boolean;
declare function N_0xf53e48461b71eecb(p0: number): boolean;

declare function UgcPoliciesMakePrivate(p0: number): boolean;
declare function N_0x5cae833b0ee0c500(p0: number): boolean;

declare function UgcPublish(contentId: string, baseContentId: string, contentTypeName: string): boolean;
declare function N_0x1de0f5f50d723caa(contentId: string, baseContentId: string, contentTypeName: string): boolean;

declare function UgcQueryByContentId(contentId: string, latestVersion: boolean, contentTypeName: string): boolean;
declare function N_0x158ec424f35ec469(contentId: string, latestVersion: boolean, contentTypeName: string): boolean;

declare function UgcQueryByContentIds(count: number, latestVersion: boolean, contentTypeName: string): [boolean, number];
declare function N_0xc7397a83f7a2a462(count: number, latestVersion: boolean, contentTypeName: string): [boolean, number];

declare function UgcQueryMyContent(p0: number, p1: number, p3: number, p4: number, p5: number): [boolean, number];
declare function N_0x9bf438815f5d96ea(p0: number, p1: number, p3: number, p4: number, p5: number): [boolean, number];

declare function UgcQueryRecentlyCreatedContent(offset: number, count: number, contentTypeName: string, p3: number): boolean;
declare function N_0x6d4cb481fac835e8(offset: number, count: number, contentTypeName: string, p3: number): boolean;

declare function UgcRequestCachedDescription(p0: number): number;
declare function N_0x5e0165278f6339ee(p0: number): number;

declare function UgcRequestContentDataFromIndex(p0: number, p1: number): number;
declare function N_0x171df6a0c07fb3dc(p0: number, p1: number): number;

declare function UgcRequestContentDataFromParams(contentTypeName: string, contentId: string, p2: number, p3: number, p4: number): number;
declare function N_0x7fd2990af016795e(contentTypeName: string, contentId: string, p2: number, p3: number, p4: number): number;

declare function UgcSetBookmarked(contentId: string, bookmarked: boolean, contentTypeName: string): boolean;
declare function N_0x274a1519dfc1094f(contentId: string, bookmarked: boolean, contentTypeName: string): boolean;

declare function UgcSetDeleted(p1: boolean): [boolean, number, number];
declare function N_0xd05d1a6c74da3498(p1: boolean): [boolean, number, number];

/**
 * NativeDB Added Parameter 4: Any p3
 */
declare function UgcSetPlayerData(contentId: string, rating: number, contentTypeName: string): boolean;
/**
 * NativeDB Added Parameter 4: Any p3
 */
declare function N_0x692d808c34a82143(contentId: string, rating: number, contentTypeName: string): boolean;

declare function UgcSetQueryDataFromOffline(p0: boolean): void;
declare function N_0xf98dde0a8ed09323(p0: boolean): void;

declare function UgcTextureDownloadRequest(p1: number, p2: number, p3: number, p5: boolean): [number, number, number];
declare function N_0x308f96458b7087cc(p1: number, p2: number, p3: number, p5: boolean): [number, number, number];

/**
 * NativeDB Added Parameter 8: Any p7
 */
declare function UgcUpdateContent(contentId: string, dataCount: number, contentName: string, description: string, tagsCsv: string, contentTypeName: string): [boolean, number];
/**
 * NativeDB Added Parameter 8: Any p7
 */
declare function N_0x648e7a5434af7969(contentId: string, dataCount: number, contentName: string, description: string, tagsCsv: string, contentTypeName: string): [boolean, number];

/**
 * NativeDB Added Parameter 6: Any p5
 */
declare function UgcUpdateMission(contentId: string, contentName: string, description: string, tagsCsv: string, contentTypeName: string): boolean;
/**
 * NativeDB Added Parameter 6: Any p5
 */
declare function N_0x4645de9980999e93(contentId: string, contentName: string, description: string, tagsCsv: string, contentTypeName: string): boolean;

declare function Ui3dsceneIsAvailable(): boolean;
declare function N_0xd3a10fc7fd8d98cd(): boolean;

/**
 * All presets can be found in common\data\ui\uiscenes.meta
 */
declare function Ui3dscenePushPreset(presetName: string): boolean;
/**
 * All presets can be found in common\data\ui\uiscenes.meta
 */
declare function N_0xf1cea8a4198d8e9a(presetName: string): boolean;

/**
 * Returns true if the current frontend menu is FE_MENU_VERSION_SP_PAUSE
 * U*
 */
declare function UiIsSingleplayerPauseMenuActive(): boolean;
/**
 * Returns true if the current frontend menu is FE_MENU_VERSION_SP_PAUSE
 * U*
 */
declare function N_0xea2f2061875eed90(): boolean;

/**
 * eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt
 */
declare function UnblockDecisionMakerEvent(name: string | number, eventType: number): void;

declare function UncuffPed(ped: number): void;

declare function UnfreezeRadioStation(radioStation: string): void;

/**
 * Called 4 times in the b617d scripts:
 * MISC::_A74802FB8D0B7814("CONTRAILS", 0);
 */
declare function UnloadCloudHat(name: string, p1: number): void;
/**
 * Called 4 times in the b617d scripts:
 * MISC::_A74802FB8D0B7814("CONTRAILS", 0);
 */
declare function N_0xa74802fb8d0b7814(name: string, p1: number): void;

/**
 * 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
 */
declare function UnloadContentChangeSetGroup(hash: string | number): void;

declare function UnlockMinimapAngle(): void;

declare function UnlockMinimapPosition(): void;

declare function UnlockMissionNewsStory(newsStory: number): void;

/**
 * AUDIO::UNLOCK_RADIO_STATION_TRACK_LIST("RADIO_16_SILVERLAKE", "MIRRORPARK_LOCKED");
 */
declare function UnlockRadioStationTrackList(radioStation: string, trackListName: string): void;
/**
 * AUDIO::UNLOCK_RADIO_STATION_TRACK_LIST("RADIO_16_SILVERLAKE", "MIRRORPARK_LOCKED");
 */
declare function N_0x031acb6aba18c729(radioStation: string, trackListName: string): void;

/**
 * GRAPHICS::UNPATCH_DECAL_DIFFUSE_MAP(9123);
 * GRAPHICS::SET_STREAMED_TEXTURE_DICT_AS_NO_LONGER_NEEDED("MPMissMarkers256");
 */
declare function UnpatchDecalDiffuseMap(decalType: number): void;
/**
 * GRAPHICS::UNPATCH_DECAL_DIFFUSE_MAP(9123);
 * GRAPHICS::SET_STREAMED_TEXTURE_DICT_AS_NO_LONGER_NEEDED("MPMissMarkers256");
 */
declare function N_0xb7ed70c49521a61d(decalType: number): void;
/**
 * GRAPHICS::UNPATCH_DECAL_DIFFUSE_MAP(9123);
 * GRAPHICS::SET_STREAMED_TEXTURE_DICT_AS_NO_LONGER_NEEDED("MPMissMarkers256");
 */
declare function UndoDecalTextureOverride(decalType: number): void;

declare function UnpausePlaybackRecordedVehicle(vehicle: number): void;

/**
 * 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.
 */
declare function UnpinInterior(interior: number): void;

declare function UnpinRopeVertex(ropeId: number, vertex: number): void;

/**
 * gtaforums.com/topic/885580-ped-headshotmugshot-txd/
 */
declare function UnregisterPedheadshot(id: number): void;

/**
 * Will unregister and cleanup a registered NUI callback handler.
 * Use along side the REGISTER_RAW_NUI_CALLBACK native.
 * @param callbackType The callback type to target
 */
declare function UnregisterRawNuiCallback(callbackType: string): void;

/**
 * **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.
 * ```
 */
declare function UnregisterScriptWithAudio(): void;

declare function UpdateLightsOnEntity(entity: number): void;
declare function N_0xdeadc0dedeadc0de(entity: number): void;
declare function EntityDescriptionText(entity: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function UpdateLsur(enableMixes: boolean): void;

/**
 * Transiently updates the entity with the specified mapdata index and entity index.
 * This function supports SDK infrastructure and is not intended to be used directly from your code.
 * @param mapdata A fwMapData index from GET_MAPDATA_FROM_HASH_KEY.
 * @param entity An entity index from GET_ENTITY_INDEX_FROM_MAPDATA.
 * @param entityDef The new entity definition in fwEntityDef format.
 */
declare function UpdateMapdataEntity(mapdata: number, entity: number, entityDef: any): void;

declare function UpdateNavmeshBlockingObject(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): void;

/**
 * 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
 */
declare function UpdateOnscreenKeyboard(): number;

/**
 * See [`SET_PED_HEAD_BLEND_DATA`](#\_0x9414E18B9434C2FE)
 */
declare function UpdatePedHeadBlendData(ped: number, shapeMix: number, skinMix: number, thirdMix: number): void;

declare function UpdatePlayerTeleport(player: number): boolean;
declare function N_0xe23d5873c2394c61(player: number): boolean;
declare function HasPlayerTeleportFinished(player: number): boolean;

declare function UpdateTaskAimGunScriptedTarget(p0: number, p1: number, p2: number, p3: number, p4: number, p5: boolean): void;

declare function UpdateTaskHandsUpDuration(ped: number, duration: number): void;

declare function UpdateTaskSweepAimEntity(ped: number, entity: number): void;

declare function UpdateTaskSweepAimPosition(p0: number, p1: number, p2: number, p3: number): void;

/**
 * Related to displaying cash on the HUD
 * Always called before HUD::CHANGE_FAKE_MP_CASH in decompiled scripts
 */
declare function UseFakeMpCash(p0: boolean): void;
/**
 * Related to displaying cash on the HUD
 * Always called before HUD::CHANGE_FAKE_MP_CASH in decompiled scripts
 */
declare function N_0x170f541e1cadd1de(p0: boolean): void;

/**
 * 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");
 */
declare function UseParticleFxAsset(name: string): void;
/**
 * 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");
 */
declare function SetPtfxAssetNextCall(name: string): void;
/**
 * 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");
 */
declare function UseParticleFxAssetNextCall(name: string): void;

declare function UsePlayerColourInsteadOfTeamColour(toggle: boolean): void;

declare function UseSirenAsHorn(vehicle: number, toggle: boolean): void;

declare function UseStuntCameraThisFrame(): void;
declare function N_0x6493cf69859b116a(): void;

declare function UseWaypointRecordingAsAssistedMovementRoute(name: string, p1: boolean, p2: number, p3: number): void;

declare function UsingMissionCreator(toggle: boolean): void;

/**
 * Calculates distance between vectors.
 */
declare function Vdist(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;

/**
 * Calculates distance between vectors but does not perform Sqrt operations. (Its way faster)
 */
declare function Vdist2(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;

/**
 * calls from vehicle to net.
 */
declare function VehToNet(vehicle: number): number;

declare function VehicleWaypointPlaybackOverrideSpeed(vehicle: number, speed: number): void;

declare function VehicleWaypointPlaybackPause(vehicle: number): void;

declare function VehicleWaypointPlaybackResume(vehicle: number): void;

declare function VehicleWaypointPlaybackUseDefaultSpeed(vehicle: number): void;

/**
 * Calculates the magnitude of a vector.
 */
declare function Vmag(x: number, y: number, z: number): number;

/**
 * Calculates the magnitude of a vector but does not perform Sqrt operations. (Its way faster)
 */
declare function Vmag2(x: number, y: number, z: number): number;

/**
 * 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
 */
declare function Wait(ms: number): void;

declare function WasCutsceneSkipped(): boolean;

/**
 * Returns whether or not the currently executing event was canceled.
 * @return A boolean.
 */
declare function WasEventCanceled(): boolean;

declare function WasPedKilledByStealth(ped: number): boolean;

declare function WasPedKilledByTakedown(ped: number): boolean;

declare function WasPedKnockedOut(ped: number): boolean;
declare function N_0x61767f73eaceed21(ped: number): boolean;

/**
 * Despite this function's name, it simply returns whether the specified handle is a Ped.
 */
declare function WasPedSkeletonUpdated(ped: number): boolean;

declare function WashDecalsFromVehicle(vehicle: number, p1: number): void;

declare function WashDecalsInRange(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function WaterOverrideFadeIn(p0: number): void;
declare function N_0xa8434f1dff41d6e7(p0: number): void;

declare function WaterOverrideFadeOut(p0: number): void;
declare function N_0xc3c221addde31a11(p0: number): void;

declare function WaterOverrideSetOceannoiseminamplitude(minAmplitude: number): void;
declare function N_0x31727907b2c43c55(minAmplitude: number): void;

declare function WaterOverrideSetOceanwaveamplitude(amplitude: number): void;
declare function N_0x405591ec8fd9096d(amplitude: number): void;

declare function WaterOverrideSetOceanwavemaxamplitude(maxAmplitude: number): void;
declare function N_0xb3e6360dde733e82(maxAmplitude: number): void;

declare function WaterOverrideSetOceanwaveminamplitude(minAmplitude: number): void;
declare function N_0xf751b16fb32abc1d(minAmplitude: number): void;

declare function WaterOverrideSetRipplebumpiness(bumpiness: number): void;
declare function N_0x7c9c0b1eeb1f9072(bumpiness: number): void;

declare function WaterOverrideSetRippledisturb(disturb: number): void;
declare function N_0xb9854dfde0d833d6(disturb: number): void;

declare function WaterOverrideSetRipplemaxbumpiness(maxBumpiness: number): void;
declare function N_0x9f5e6bb6b34540da(maxBumpiness: number): void;

declare function WaterOverrideSetRippleminbumpiness(minBumpiness: number): void;
declare function N_0x6216b116083a7cb4(minBumpiness: number): void;

declare function WaterOverrideSetShorewaveamplitude(amplitude: number): void;
declare function N_0xb8f87ead7533b176(amplitude: number): void;

declare function WaterOverrideSetShorewavemaxamplitude(maxAmplitude: number): void;
declare function N_0xa7a1127490312c36(maxAmplitude: number): void;

declare function WaterOverrideSetShorewaveminamplitude(minAmplitude: number): void;
declare function N_0xc3ead29ab273ece8(minAmplitude: number): void;

/**
 * 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.
 */
declare function WaterOverrideSetStrength(strength: number): void;
/**
 * 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.
 */
declare function N_0xc54a08c85ae4d410(strength: number): void;

declare function WaypointPlaybackGetIsPaused(p0: number): boolean;

declare function WaypointPlaybackOverrideSpeed(p0: number, p1: number, p2: boolean): void;

declare function WaypointPlaybackPause(p0: number, p1: boolean, p2: boolean): void;

declare function WaypointPlaybackResume(p0: number, p1: boolean, p2: number, p3: number): void;

declare function WaypointPlaybackStartAimingAtCoord(p0: number, p1: number, p2: number, p3: number, p4: boolean): void;

declare function WaypointPlaybackStartAimingAtPed(p0: number, p1: number, p2: boolean): void;

declare function WaypointPlaybackStartShootingAtCoord(p0: number, p1: number, p2: number, p3: number, p4: boolean, p5: number): void;

declare function WaypointPlaybackStartShootingAtPed(p0: number, p1: number, p2: boolean, p3: number): void;
declare function N_0xe70ba7b90f8390dc(p0: number, p1: number, p2: boolean, p3: number): void;

declare function WaypointPlaybackStopAimingOrShooting(p0: number): void;

declare function WaypointPlaybackUseDefaultSpeed(p0: number): void;

/**
 * For a full list of the points, see here: goo.gl/wIH0vn
 */
declare function WaypointRecordingGetClosestWaypoint(name: string, x: number, y: number, z: number, point?: number): [boolean, number];

/**
 * For a full list of the points, see here: goo.gl/wIH0vn
 */
declare function WaypointRecordingGetCoord(name: string, point: number): [boolean, number[]];

/**
 * For a full list of the points, see here: goo.gl/wIH0vn
 */
declare function WaypointRecordingGetNumPoints(name: string, points?: number): [boolean, number];

declare function WaypointRecordingGetSpeedAtPoint(name: string, point: number): number;

/**
 * Does nothing and always returns 0.
 */
declare function WithdrawVc(amount: number): number;
/**
 * Does nothing and always returns 0.
 */
declare function N_0xf70efa14fe091429(amount: number): number;

declare function WouldEntityBeOccluded(entityModelHash: string | number, x: number, y: number, z: number, p4: boolean): boolean;

