declare function Absf(value: number): number;

declare function Absi(value: number): number;

/**
 * Returns arccos value of p0.
 */
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;

/**
 * seems to be frequently used with the NETWORK::NET_TO_x natives, particularly with vehicles. It is often the only ROPE:: native in a script.
 */
declare function ActivatePhysics(entity: number): void;

declare function ActivateRockstarEditor(): void;
declare function N_0x49da8145672b2725(): void;

declare function AddAmmoToPed(ped: number, weaponHash: string | number, ammo: number): void;

/**
 * NativeDB Parameter 1: Hash ammoType
 */
declare function AddAmmoToPedByType(ped: number, ammoType: number, ammo: number): void;
/**
 * NativeDB Parameter 1: Hash ammoType
 */
declare function N_0x2472622ce1f2d45f(ped: number, ammoType: number, ammo: number): void;
/**
 * NativeDB Parameter 1: Hash ammoType
 */
declare function AddPedAmmo(ped: number, ammoType: 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;

/**
 * Returns red ( default ) blip attached to entity.
 * Example:
 * Blip blip; //Put this outside your case or option
 * blip = UI::ADD_BLIP_FOR_ENTITY(YourPedOrBodyguardName);
 * UI::SET_BLIP_AS_FRIENDLY(blip, true);
 */
declare function AddBlipForEntity(entity: number): number;

declare function AddBlipForPickup(pickup: number): number;

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;

declare function AddCamSplineNodeUsingCamera(cam: number, cam2: number, p2: number, p3: number): void;
declare function N_0x0fb82563989cf4fb(cam: number, cam2: number, p2: 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;

/**
 * Most likely ADD_CURRENT_*
 */
declare function AddCurrentRise(xLow: number, yLow: number, xHigh: number, yHigh: number, height: number): number;
/**
 * Most likely ADD_CURRENT_*
 */
declare function N_0xfdbf4cdbc07e1706(xLow: number, yLow: number, xHigh: number, yHigh: number, height: number): 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(p0: number, p1: number, p2: number, p3: number): number;
declare function N_0x2d4259f1feb81da9(p0: number, p1: number, p2: number, p3: number): number;

/**
 * p5 only set to true in single player native scripts.
 * 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;

/**
 * ADD_E* (most likely ADD_ENTITY_*)
 * All found occurrences in b678d:
 * pastebin.com/ceu67jz8
 * Still not sure on the functionality of this native but it has something to do with dynamic mixer groups defined in dynamix.dat15
 */
declare function AddEntityToAudioMixGroup(entity: number, groupName: string, p2: number): void;
/**
 * ADD_E* (most likely ADD_ENTITY_*)
 * All found occurrences in b678d:
 * pastebin.com/ceu67jz8
 * Still not sure on the functionality of this native but it has something to do with dynamic mixer groups defined in dynamix.dat15
 */
declare function N_0x153973ab99fe8980(entity: number, groupName: string, p2: number): void;
/**
 * ADD_E* (most likely ADD_ENTITY_*)
 * All found occurrences in b678d:
 * pastebin.com/ceu67jz8
 * Still not sure on the functionality of this native but it has something to do with dynamic mixer groups defined in dynamix.dat15
 */
declare function DynamicMixerRelatedFn(entity: number, groupName: string, p2: number): void;

/**
 * BOOL isAudible = If explosion makes a sound.
 * BOOL isInvisible = If the explosion is invisible or not.
 * this native is missing a new argument: noDamage
 * nodamage = false: damage || nodamage = true: no damage
 * enum ExplosionTypes
 * {
 * EXPLOSION_GRENADE,
 * EXPLOSION_GRENADELAUNCHER,
 * EXPLOSION_STICKYBOMB,
 * EXPLOSION_MOLOTOV,
 * EXPLOSION_ROCKET,
 * EXPLOSION_TANKSHELL,
 * EXPLOSION_HI_OCTANE,
 * EXPLOSION_CAR,
 * EXPLOSION_PLANE,
 * EXPLOSION_PETROL_PUMP,
 * EXPLOSION_BIKE,
 * EXPLOSION_DIR_STEAM,
 * EXPLOSION_DIR_FLAME,
 * EXPLOSION_DIR_WATER_HYDRANT,
 * EXPLOSION_DIR_GAS_CANISTER,
 * EXPLOSION_BOAT,
 * EXPLOSION_SHIP_DESTROY,
 * EXPLOSION_TRUCK,
 * EXPLOSION_BULLET,
 * EXPLOSION_SMOKEGRENADELAUNCHER,
 * EXPLOSION_SMOKEGRENADE,
 * EXPLOSION_BZGAS,
 * EXPLOSION_FLARE,
 * EXPLOSION_GAS_CANISTER,
 * EXPLOSION_EXTINGUISHER,
 * EXPLOSION_PROGRAMMABLEAR,
 * EXPLOSION_TRAIN,
 * EXPLOSION_BARREL,
 * EXPLOSION_PROPANE,
 * EXPLOSION_BLIMP,
 * EXPLOSION_DIR_FLAME_EXPLODE,
 * EXPLOSION_TANKER,
 * EXPLOSION_PLANE_ROCKET,
 * EXPLOSION_VEHICLE_BULLET,
 * EXPLOSION_GAS_TANK,
 * EXPLOSION_BIRD_CRAP
 * };
 * ```
 * ```
 * NativeDB Added Parameter 9: BOOL noDamage
 */
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;

/**
 * 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
 * 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): number;
declare function N_0x0bc3144deb678666(modelHash: string | number): number;

declare function AddNavmeshBlockingObject(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: boolean, p8: number): number;

declare function AddNavmeshRequiredRegion(x: number, y: number, radius: number): void;

declare function AddNextMessageToPreviousBriefs(p0: boolean): void;

/**
 * enum ExplosionTypes
 * {
 * EXPLOSION_GRENADE,
 * EXPLOSION_GRENADELAUNCHER,
 * EXPLOSION_STICKYBOMB,
 * EXPLOSION_MOLOTOV,
 * EXPLOSION_ROCKET,
 * EXPLOSION_TANKSHELL,
 * EXPLOSION_HI_OCTANE,
 * EXPLOSION_CAR,
 * EXPLOSION_PLANE,
 * EXPLOSION_PETROL_PUMP,
 * EXPLOSION_BIKE,
 * EXPLOSION_DIR_STEAM,
 * EXPLOSION_DIR_FLAME,
 * EXPLOSION_DIR_WATER_HYDRANT,
 * EXPLOSION_DIR_GAS_CANISTER,
 * EXPLOSION_BOAT,
 * EXPLOSION_SHIP_DESTROY,
 * EXPLOSION_TRUCK,
 * EXPLOSION_BULLET,
 * EXPLOSION_SMOKEGRENADELAUNCHER,
 * EXPLOSION_SMOKEGRENADE,
 * EXPLOSION_BZGAS,
 * EXPLOSION_FLARE,
 * EXPLOSION_GAS_CANISTER,
 * EXPLOSION_EXTINGUISHER,
 * EXPLOSION_PROGRAMMABLEAR,
 * EXPLOSION_TRAIN,
 * EXPLOSION_BARREL,
 * EXPLOSION_PROPANE,
 * EXPLOSION_BLIMP,
 * EXPLOSION_DIR_FLAME_EXPLODE,
 * EXPLOSION_TANKER,
 * EXPLOSION_PLANE_ROCKET,
 * EXPLOSION_VEHICLE_BULLET,
 * EXPLOSION_GAS_TANK,
 * EXPLOSION_BIRD_CRAP
 * };
 * BOOL isAudible = If explosion makes a sound.
 * BOOL isInvisible = If the explosion is invisible or not.
 */
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:
 * AI::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:
 * AI::ADD_PATROL_ROUTE_NODE(1, "WORLD_HUMAN_GUARD_STAND", l_739[7 -- [[3]] ], 0.0, 0.0, 0.0, 0);
 * AI::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: GAMEPLAY::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(), GAMEPLAY::GET_HASH_KEY("mpbeach_overlays"), GAMEPLAY::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(), GAMEPLAY::GET_HASH_KEY("mpbeach_overlays"), GAMEPLAY::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(), GAMEPLAY::GET_HASH_KEY("mpbeach_overlays"), GAMEPLAY::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.
 * Based on it asking if does_entity_exist for the global I have determined that p1 is, in fact, the ped, but could be wrong.
 */
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;

declare function AddPopMultiplierSphere(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: boolean, p7: boolean): number;
declare function N_0x32c7a7e8c43a1f80(p0: number, p1: number, p2: number, p3: number, p4: number, p5: 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.
 */
// Return is unknown[] due to pointer value being input of the function
declare function AddRelationshipGroup(name: string, groupHash?: number): unknown[];

/**
 * 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;

/**
 * Creates a rope at the specific position, that extends in the specified direction when not attached to any entities.
 * __
 * Add_Rope(pos.x,pos.y,pos.z,0.0,0.0,0.0,20.0,4,20.0,1.0,0.0,false,false,false,5.0,false,NULL)
 * When attached, Position<vector> does not matter
 * When attached, Angle<vector> does not matter
 * Rope Type:
 * 4 and bellow is a thick rope
 * 5 and up are small metal wires
 * 0 crashes the game
 * Max_length - Rope is forced to this length, generally best to keep this the same as your rope length.
 * Rigid - 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).
 * breakable - Whether or not shooting the rope will break it.
 * unkPtr - unknown ptr, always 0 in orig scripts
 * __
 * Lengths can be calculated like so:
 * float distance = abs(x1 - x2) + abs(y1 - y2) + abs(z1 - z2); // Rope length
 * NOTES:
 * 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.
 */
// Return is unknown[] due to pointer value being input of the function
declare function AddRope(x: number, y: number, z: number, rotX: number, rotY: number, rotZ: number, length: number, ropeType: number, maxLength: number, minLength: number, windingSpeed: number, p11: boolean, p12: boolean, rigid: boolean, p14: number, breakWhenShot: boolean, unkPtr?: number): unknown[];

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);
 * -----
 * Hardcoded to not work in Multiplayer.
 * ------
 * Which I'm sure can easily be bypassed by nop'ing the branch preventing it from working if you are in multiplayer lol. Which would still be pointless since you don't need this to make peds do what you wish.
 */
declare function AddScriptToRandomPed(name: string, model: string | number, p2: number, p3: number): void;

/**
 * duration is float here
 * Event types- camx.me/gtav/tasks/shockingevents.txt
 */
declare function AddShockingEventAtPosition(_type: number, x: number, y: number, z: number, duration: number): number;

/**
 * duration is float here
 * Event types - camx.me/gtav/tasks/shockingevents.txt
 */
declare function AddShockingEventForEntity(_type: number, entity: number, duration: number): number;

/**
 * This is used to add a speedzone on a position.
 * Example usage C#:
 * uint speedZone = Function.Call<uint>((Hash) 0x2CE544C68FB812A0, Game.PlayerPed.Position.X, Game.PlayerPed.Position.Y, Game.PlayerPed.Position.Z, 100.0f, 0.0f, false);
 * (Thanks to alexguirre for his help!)
 * ==========================================
 * What is the point in adding a speed zone? Does it just generally affect the speed NPCs will drive? I can imagine running this on every section of the interstate setting it to 3 MPH rip.
 */
declare function AddSpeedZoneForCoord(x: number, y: number, z: number, radius: number, speed: number, p5: boolean): number;
/**
 * This is used to add a speedzone on a position.
 * Example usage C#:
 * uint speedZone = Function.Call<uint>((Hash) 0x2CE544C68FB812A0, Game.PlayerPed.Position.X, Game.PlayerPed.Position.Y, Game.PlayerPed.Position.Z, 100.0f, 0.0f, false);
 * (Thanks to alexguirre for his help!)
 * ==========================================
 * What is the point in adding a speed zone? Does it just generally affect the speed NPCs will drive? I can imagine running this on every section of the interstate setting it to 3 MPH rip.
 */
declare function N_0x2ce544c68fb812a0(x: number, y: number, z: number, radius: number, speed: number, p5: boolean): 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;

/**
 * Add a point related to CTacticalAnalysis
 */
declare function AddTacticalAnalysisPoint(x: number, y: number, z: number): void;
/**
 * Add 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;

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(p0: string): void;
declare function AddTextComponentString3(p0: string): void;
declare function AddTextComponentScaleform(p0: string): void;

/**
 * p1 was always -1.
 * used for phone applications; scaleform
 */
declare function AddTextComponentSubstringPhoneNumber(p0: string, p1: number): void;
/**
 * p1 was always -1.
 * used for phone applications; scaleform
 */
declare function N_0x761b77454205a61d(p0: string, p1: number): void;
/**
 * p1 was always -1.
 * used for phone applications; scaleform
 */
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): number;

/**
 * ADD_*
 */
declare function AddVehicleCombatAngledAvoidanceArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;
/**
 * ADD_*
 */
declare function N_0x54b0f614960f4a5f(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;
/**
 * ADD_*
 */
declare function AddVehicleCombatAvoidanceArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;

/**
 * Now has 15 parameters, previous declaration:
 * BOOL _0x428BDCB9DA58DA53(Any p0, Any p1, Any p2, float p3, float p4, float p5, float p6, float p7, float p8, float p9, float p10, float p11, float p12, Any p13)
 * boneIndex is always chassis_dummy in the scripts. The x/y/z params are location relative to the chassis bone. They are usually rotations and measurements. Haven't reversed which are what yet.
 * Scale is how big the decal will be.
 * p13 is always 0.
 * For alpha, 200 seems to match what the game is doing, I think. I don't have access to the new scripts to see what this parameter is, but based on guessing this seems (kind of) accurate.
 */
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): number;
/**
 * Now has 15 parameters, previous declaration:
 * BOOL _0x428BDCB9DA58DA53(Any p0, Any p1, Any p2, float p3, float p4, float p5, float p6, float p7, float p8, float p9, float p10, float p11, float p12, Any p13)
 * boneIndex is always chassis_dummy in the scripts. The x/y/z params are location relative to the chassis bone. They are usually rotations and measurements. Haven't reversed which are what yet.
 * Scale is how big the decal will be.
 * p13 is always 0.
 * For alpha, 200 seems to match what the game is doing, I think. I don't have access to the new scripts to see what this parameter is, but based on guessing this seems (kind of) accurate.
 */
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): number;

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 AllowSonarBlips(p0: boolean): void;
declare function N_0x60734cc207c9833c(p0: 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::_C2EAE3FB8CDBED31("SHAKE_CAM_medium", "medium", "", 0.5f);
 */
declare function AnimatedShakeScriptGlobal(p0: string, p1: string, p2: string, p3: number): void;
/**
 * CAM::_C2EAE3FB8CDBED31("SHAKE_CAM_medium", "medium", "", 0.5f);
 */
declare function N_0xc2eae3fb8cdbed31(p0: string, p1: string, p2: string, p3: number): void;

declare function AnimpostfxGetUnk(effectName: string): number;
declare function N_0xe35b38a27e8e7179(effectName: string): number;

/**
 * Returns whether the specified screen effect is active.
 * See the effects list in _START_SCREEN_EFFECT
 * Example and list of screen FX: www.pastebin.com/dafBAjs0
 */
declare function AnimpostfxIsRunning(effectName: string): number;
/**
 * Returns whether the specified screen effect is active.
 * See the effects list in _START_SCREEN_EFFECT
 * Example and list of screen FX: www.pastebin.com/dafBAjs0
 */
declare function GetScreenEffectIsActive(effectName: string): number;

/**
 * playLength - is how long to play the effect for in milliseconds. If 0, it plays the default length
 * if loop is true, the effect wont stop until you call _STOP_SCREEN_EFFECT on it. (only loopable effects)
 * Example and list of screen FX: www.pastebin.com/dafBAjs0
 */
declare function AnimpostfxPlay(effectName: string, duration: number, looped: boolean): void;
/**
 * playLength - is how long to play the effect for in milliseconds. If 0, it plays the default length
 * if loop is true, the effect wont stop until you call _STOP_SCREEN_EFFECT on it. (only loopable effects)
 * Example and list of screen FX: www.pastebin.com/dafBAjs0
 */
declare function StartScreenEffect(effectName: string, duration: number, looped: boolean): void;

/**
 * Example and list of screen FX: www.pastebin.com/dafBAjs0
 */
declare function AnimpostfxStop(effectName: string): void;
/**
 * Example and list of screen FX: www.pastebin.com/dafBAjs0
 */
declare function StopScreenEffect(effectName: string): void;

declare function AnimpostfxStopAll(): void;
declare function StopAllScreenEffects(): void;

/**
 * "SwitchHUDFranklinOut",
 * "SwitchHUDMichaelOut",
 * "SwitchHUDOut",
 * "SwitchHUDTrevorOut",
 * "SwitchOpenFranklinOut",
 * "SwitchOpenMichaelIn",
 * "SwitchOpenNeutral"
 */
declare function AnimpostfxStopAndDoUnk(effectName: string): void;
/**
 * "SwitchHUDFranklinOut",
 * "SwitchHUDMichaelOut",
 * "SwitchHUDOut",
 * "SwitchHUDTrevorOut",
 * "SwitchOpenFranklinOut",
 * "SwitchOpenMichaelIn",
 * "SwitchOpenNeutral"
 */
declare function N_0xd2209be128b5418c(effectName: string): void;

declare function AppClearBlock(): void;

declare function AppCloseApp(): void;

declare function AppCloseBlock(): void;

/**
 * NativeDB Return Type: BOOL
 */
declare function AppDataValid(): number;

declare function AppDeleteAppData(appName: string): number;

declare function AppGetDeletedFileStatus(): number;

declare function AppGetFloat(property: string): number;

/**
 * NativeDB Parameter 0: char* property
 * NativeDB Return Type: int
 */
declare function AppGetInt(property: number): void;

declare function AppGetString(property: string): string;

declare function AppHasLinkedSocialClubAccount(): number;

declare function AppHasSyncedData(appName: string): number;

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;

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): void;
declare function N_0x3311e47b91edcbbc(ped: number, p1: number, p2: number, p3: number, p4: number): void;

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): void;
declare function N_0xef0d582cbf2d9b0f(ped: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): void;

/**
 * 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(): number;

/**
 * Appears to return false if any window is broken.
 */
declare function AreAllVehicleWindowsIntact(vehicle: number): number;
/**
 * Appears to return false if any window is broken.
 */
declare function AreAllVehicleWindowsIntact(vehicle: number): number;

/**
 * Returns false if every seat is occupied.
 */
declare function AreAnyVehicleSeatsFree(vehicle: number): number;
/**
 * Returns false if every seat is occupied.
 */
declare function IsAnyVehicleSeatEmpty(vehicle: number): number;

/**
 * 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): number;
/**
 * 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): number;
/**
 * 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): number;

/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function AreEntitiesEntirelyInsideGarage(garageHash: number, p1: boolean, p2: boolean, p3: boolean, p4: number): number;
/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function N_0x85b6c850546fdde2(garageHash: number, p1: boolean, p2: boolean, p3: boolean, p4: number): number;

/**
 * Only used with the "akula" in the decompiled native scripts.
 * ```
 * NativeDB Introduced: v1290
 * ```
 */
declare function AreHeliStubWingsDeployed(vehicle: number): number;
/**
 * Only used with the "akula" in the decompiled native scripts.
 * ```
 * NativeDB Introduced: v1290
 * ```
 */
declare function N_0xaef12960fa943792(vehicle: number): number;

/**
 * Parameters are to be start x, start y, end x, end y.
 */
declare function ArePathNodesLoadedInArea(x1: number, y1: number, x2: number, y2: number): number;
/**
 * Parameters are to be start x, start y, end x, end y.
 */
declare function N_0xf7b79a50b905a30d(x1: number, y1: number, x2: number, y2: number): number;

/**
 * Found this in the decompiled scripts, I'd do more research before changing the name --
 * if (!ENTITY::IS_ENTITY_DEAD(l_1911)) {
 * if (!VEHICLE::_755D6D5267CBBD7E(l_1911)) {
 * sub_1ba80("TRAFFICKING AIR: FAILING - PROPELLERS ARE DAMAGED");
 * l_12CE = 9;
 * }
 * }
 */
declare function ArePlanePropellersIntact(plane: number): number;
/**
 * Found this in the decompiled scripts, I'd do more research before changing the name --
 * if (!ENTITY::IS_ENTITY_DEAD(l_1911)) {
 * if (!VEHICLE::_755D6D5267CBBD7E(l_1911)) {
 * sub_1ba80("TRAFFICKING AIR: FAILING - PROPELLERS ARE DAMAGED");
 * l_12CE = 9;
 * }
 * }
 */
declare function N_0x755d6d5267cbbd7e(plane: number): number;
/**
 * Found this in the decompiled scripts, I'd do more research before changing the name --
 * if (!ENTITY::IS_ENTITY_DEAD(l_1911)) {
 * if (!VEHICLE::_755D6D5267CBBD7E(l_1911)) {
 * sub_1ba80("TRAFFICKING AIR: FAILING - PROPELLERS ARE DAMAGED");
 * l_12CE = 9;
 * }
 * }
 */
declare function ArePropellersUndamaged(plane: number): number;

/**
 * Can be used for planes only!
 */
declare function ArePlaneWingsIntact(plane: number): number;
/**
 * Can be used for planes only!
 */
declare function N_0x5991a01434ce9677(plane: number): number;
/**
 * Can be used for planes only!
 */
declare function AddAMarkerOverVehicle(plane: number): number;
/**
 * Can be used for planes only!
 */
declare function AreVehicleWingsIntact(plane: number): number;

declare function ArePlayerFlashingStarsAboutToDrop(player: number): number;

declare function ArePlayerStarsGreyedOut(player: number): number;

declare function AreProfileSettingsValid(): number;
declare function N_0x5aa3befa29f03ad4(): number;

/**
 * is this like strcmp??
 */
declare function AreStringsEqual(string1: string, string2: string): number;

/**
 * Returns arcsin value of p0.
 */
declare function Asin(p0: number): number;

declare function AssistedMovementCloseRoute(): void;

declare function AssistedMovementFlushRoute(): void;

declare function AssistedMovementIsRouteLoaded(route: string): number;

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;

/**
 * Returns arctan value of p0.
 */
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;

/**
 * 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;

/**
 * Attaches entity1 to bone (boneIndex) of entity2.
 * boneIndex - this is different to boneID, use GET_PED_BONE_INDEX to get the index from the ID. use the index for attaching to specific bones. entity1 will be attached to entity2's centre if bone index given doesn't correspond to bone indexes for that entity type.
 * useSoftPinning - when 2 entities with collision collide and form into a ball they will break the attachment of the entity that they were attached to. Or when an entity is attached far away and then the resets.
 * collision - controls collision between the two entities (FALSE disables collision).
 * isPed - pitch doesnt work when false and roll will only work on negative numbers (only peds)
 * vertexIndex - position of vertex
 * 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, vertexIndex: number, fixedRot: boolean): void;

/**
 * breakForce is the amount of force required to break the bond.
 * fixedRot - if false it ignores entity vector
 * p15 - is 1 or 0 in scripts - unknoun what it does
 * collision - controls collision between the two entities (FALSE disables collision).
 * teleport - 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.
 * -------------------------
 * teleport is not exactly "doNotTeleport". What it actually does is the following:
 * if true, entities will be attached as if loosely tethered, up to the maximum offset position specified. Almost as if attached by an invisible rope.
 * if false, entities will be attached in a fixed position as specified in the offset position.
 * When p15 = true, it seems to force teleport to false.
 * It also lets the Rotation params actually work.
 */
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(ped: number, p1: 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;

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.
 * When using the tow truck online, this is not used (set a breakpoint and never called during tow truck 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;

/**
 * NativeDB Return Type: BOOL
 */
declare function AudioIsScriptedMusicPlaying(): number;

declare function BadSportPlayerLeftDetected(event: number, amountReceived: number): [number, number];
declare function N_0xec5e3af5289dca81(event: number, amountReceived: number): [number, 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): number;
/**
 * Push a function from the Scaleform onto the stack
 */
declare function PushScaleformMovieFunction(scaleform: number, methodName: string): number;

/**
 * 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): number;
/**
 * 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): number;
/**
 * 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): number;
/**
 * 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): number;

/**
 * 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): number;
/**
 * 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): number;
/**
 * 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): number;

/**
 * Pushes a function from the Hud component Scaleform onto the stack. Same behavior as GRAPHICS::_PUSH_SCALEFORM_MOVIE_FUNCTION, just a hud component id instead of a Scaleform.
 * Known components:
 * 19
 * 20
 * 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): number;
/**
 * Pushes a function from the Hud component Scaleform onto the stack. Same behavior as GRAPHICS::_PUSH_SCALEFORM_MOVIE_FUNCTION, just a hud component id instead of a Scaleform.
 * Known components:
 * 19
 * 20
 * 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): number;
/**
 * Pushes a function from the Hud component Scaleform onto the stack. Same behavior as GRAPHICS::_PUSH_SCALEFORM_MOVIE_FUNCTION, just a hud component id instead of a Scaleform.
 * Known components:
 * 19
 * 20
 * 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): number;

declare function BeginSrl(): void;

declare function BeginTakeHighQualityPhoto(): number;
declare function N_0xa67c35c56eb1bd9d(): number;

/**
 * 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;

/**
 * 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;

/**
 * nothin doin.
 * void message()
 * {
 * _BEGIN_TEXT_COMMAND_OBJECTIVE("AHT_RTIT");
 * _END_TEXT_COMMAND_OBJECTIVE(0);
 * }
 */
declare function BeginTextCommandObjective(p0: string): void;
/**
 * nothin doin.
 * void message()
 * {
 * _BEGIN_TEXT_COMMAND_OBJECTIVE("AHT_RTIT");
 * _END_TEXT_COMMAND_OBJECTIVE(0);
 * }
 */
declare function N_0x23d69e0465570028(p0: string): void;

/**
 * void message(char *text)
 * {
 * _BEGIN_TEXT_COMMAND_TIMER("STRING");
 * ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);
 * _END_TEXT_COMMAND_TIMER(0);
 * }
 */
declare function BeginTextCommandOverrideButtonText(gxtEntry: string): void;
/**
 * void message(char *text)
 * {
 * _BEGIN_TEXT_COMMAND_TIMER("STRING");
 * ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);
 * _END_TEXT_COMMAND_TIMER(0);
 * }
 */
declare function N_0x8f9ee5687f8eeccd(gxtEntry: string): void;
/**
 * void message(char *text)
 * {
 * _BEGIN_TEXT_COMMAND_TIMER("STRING");
 * ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);
 * _END_TEXT_COMMAND_TIMER(0);
 * }
 */
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;

/**
 * Previously called _BEGIN_TEXT_COMPONENT
 * 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");
 * UI::ADD_TEXT_COMPONENT_INTEGER(GAMEPLAY::ABSI(a_1));
 * GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();
 * GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING");
 * UI::_ADD_TEXT_COMPONENT_STRING(a_2);
 * GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();
 * GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRTNM2");
 * UI::_0x17299B63C7683A2B(v_3);
 * UI::_0x17299B63C7683A2B(v_4);
 * GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();
 * GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRTNM1");
 * UI::_0x17299B63C7683A2B(v_3);
 * GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();
 */
declare function BeginTextCommandScaleformString(componentType: string): void;
/**
 * Previously called _BEGIN_TEXT_COMPONENT
 * 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");
 * UI::ADD_TEXT_COMPONENT_INTEGER(GAMEPLAY::ABSI(a_1));
 * GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();
 * GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING");
 * UI::_ADD_TEXT_COMPONENT_STRING(a_2);
 * GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();
 * GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRTNM2");
 * UI::_0x17299B63C7683A2B(v_3);
 * UI::_0x17299B63C7683A2B(v_4);
 * GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();
 * GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRTNM1");
 * UI::_0x17299B63C7683A2B(v_3);
 * GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();
 */
declare function BeginTextComponent(componentType: 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;

/**
 * Example output preview:
 * ![](https://i.imgur.com/TJvqkYq.png)
 * @param text The text label to use.
 */
declare function BeginTextCommandThefeedPost(text: string): void;
/**
 * Example output preview:
 * ![](https://i.imgur.com/TJvqkYq.png)
 * @param text The text label to use.
 */
declare function SetNotificationTextEntry(text: string): void;

/**
 * Example:
 * _BEGIN_TEXT_COMMAND_WIDTH("NUMBER");
 * ADD_TEXT_COMPONENT_FLOAT(69.420f, 2);
 * float width = _END_TEXT_COMMAND_GET_WIDTH(true);
 */
declare function BeginTextCommandWidth(text: string): void;
/**
 * Example:
 * _BEGIN_TEXT_COMMAND_WIDTH("NUMBER");
 * ADD_TEXT_COMPONENT_FLOAT(69.420f, 2);
 * float width = _END_TEXT_COMMAND_GET_WIDTH(true);
 */
declare function SetTextEntryForWidth(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;

declare function BlockDecisionMakerEvent(name: string | number, _type: number): void;

declare function BlockDispatchServiceResourceCreation(dispatchService: number, toggle: boolean): void;
declare function N_0x9b2bd3773123ea2f(dispatchService: number, toggle: boolean): void;

/**
 * Related toggling CEventShockingDeadBody
 */
declare function BlockPedDeadBodyShockingEvents(ped: number, toggle: boolean): void;
/**
 * Related toggling CEventShockingDeadBody
 */
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;

/**
 * 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;

/**
 * NativeDB Return Type: BOOL
 */
declare function BusyspinnerIsDisplaying(): number;
/**
 * NativeDB Return Type: BOOL
 */
declare function N_0xb2a592b04648a9cb(): number;

declare function BusyspinnerIsOn(): number;
declare function N_0xd422fcc5f239a915(): number;
declare function IsLoadingPromptBeingDisplayed(): number;

/**
 * Removes the loading prompt at the bottom right of the screen, created by the UI::_SHOW_LOADING_PROMPT native.
 */
declare function BusyspinnerOff(): void;
/**
 * Removes the loading prompt at the bottom right of the screen, created by the UI::_SHOW_LOADING_PROMPT native.
 */
declare function N_0x10d373323e5b9c0d(): void;
/**
 * Removes the loading prompt at the bottom right of the screen, created by the UI::_SHOW_LOADING_PROMPT native.
 */
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): number;

/**
 * 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): number;
declare function GetBoatAnchor(vehicle: number): number;
declare function CanBoatBeAnchored(vehicle: number): number;

/**
 * Differs from 0x26C10ECBDA5D043B in that 0x140EFCC10 (1604 retail) is called with a2 = true.
 * NativeDB Introduced: v678
 */
declare function CanBoatBeAnchored_2(vehicle: number): number;

declare function CanCreateRandomBikeRider(): number;

declare function CanCreateRandomCops(): number;

declare function CanCreateRandomDriver(): number;

declare function CanCreateRandomPed(unk: boolean): number;

declare function CanKnockPedOffVehicle(ped: number): number;

/**
 * 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(): number;
/**
 * 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(): number;

declare function CanPedHearPlayer(player: number, ped: number): number;

declare function CanPedInCombatSeeTarget(ped: number, target: number): number;

/**
 * Prevents the ped from going limp.
 * [Example: Can prevent peds from falling when standing on moving vehicles.]
 */
declare function CanPedRagdoll(ped: number): number;

/**
 * Returns true if ped1 can see ped2 in their line of vision
 */
declare function CanPedSeeHatedPed(ped1: number, ped2: number): number;
/**
 * Returns true if ped1 can see ped2 in their line of vision
 */
declare function N_0x6cd5a433374d4cfb(ped1: number, ped2: number): number;
/**
 * Returns true if ped1 can see ped2 in their line of vision
 */
declare function CanPedSeePed(ped1: number, ped2: number): number;

/**
 * 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): number;
/**
 * 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): number;

/**
 * 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(): number;

declare function CanPlayerStartMission(player: number): number;

/**
 * if (CAN_REGISTER_MISSION_ENTITIES(20, 20, 20, 10))
 * {
 * }
 */
declare function CanRegisterMissionEntities(ped_amt: number, vehicle_amt: number, object_amt: number, pickup_amt: number): number;

declare function CanRegisterMissionObjects(amount: number): number;

declare function CanRegisterMissionPeds(amount: number): number;

declare function CanRegisterMissionPickups(amount: number): number;

declare function CanRegisterMissionVehicles(amount: number): number;

/**
 * "Can request assets for cutscene entity"? (found in decompiled scripts)
 */
declare function CanRequestAssetsForCutsceneEntity(): number;
/**
 * "Can request assets for cutscene entity"? (found in decompiled scripts)
 */
declare function N_0xb56bbbcc2955d9cb(): number;

/**
 * modelHash (p1) was always 0 in R* scripts
 */
declare function CanSetEnterStateForRegisteredEntity(cutsceneEntName: string, modelHash: string | number): number;

declare function CanSetExitStateForCamera(p0: boolean): number;

declare function CanSetExitStateForRegisteredEntity(cutsceneEntName: string, modelHash: string | number): number;

declare function CanShuffleSeat(vehicle: number, p1: number): number;

/**
 * this returns if you can use the weapon while using a parachute
 */
declare function CanUseWeaponOnParachute(weaponHash: string | number): number;

declare function CanVehicleParachuteBeActivated(vehicle: number): number;

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): number;

/**
 * Cancels an onscreen keyboard, if available.
 */
declare function CancelOnscreenKeyboard(): void;
/**
 * Cancels an onscreen keyboard, if available.
 */
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 CascadeshadowsResetType(): void;
declare function N_0x27cb772218215325(): void;

/**
 * Has something to do with player switch.
 * Only possible values:
 * - "CSM_ST_BOX3x3"
 */
declare function CascadeshadowsSetType(_type: string): void;
/**
 * Has something to do with player switch.
 * Only possible values:
 * - "CSM_ST_BOX3x3"
 */
declare function N_0xb11d94bc55f41932(_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): number;

/**
 * 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;

/**
 * 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;

/**
 * b2 and/or b3 maybe got something to do with keeping values from the last ped. Both of them set to 1 works great. <br/><br/>Examples from the decompiled scripts:<br/><br/>PLAYER::CHANGE_PLAYER_PED(PLAYER::PLAYER_ID(), l_5C0[4 -- [[14]] ], 0, 1);<br/>PLAYER::CHANGE_PLAYER_PED(PLAYER::PLAYER_ID(), a_0[a_0._f7 -- [[1]] ], a_2, 0);<br/><br/><br/>===========================================================<br/>The only way I ever got this to work in GTA Online once is by setting both to 0, 0. However, when you switch from your online character to whomever, your character will start walking away 'as if you left the game.' If from there you attempt to call this native once more to switch back to you online ped. You will freeze or if you try changing to another ped. I've tried all posibilities so far.<br/>1, 1 (Freeze), 0, 0(Works Once), 1, 0 & 0, 1 (Freeze). Note of course trying to call this on another online player will crash. Anyone have any idea if implementing a blr within the xex itself on a possible check if it would prevent this freezing?<br/>===========================================================
 */
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.
 * ```
 * ```
 * NativeDB Return Type: void
 */
declare function ClampGameplayCamPitch(minimum: number, maximum: number): number;

/**
 * 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.
 * ```
 * ```
 * NativeDB Return Type: void
 */
declare function ClampGameplayCamYaw(minimum: number, maximum: number): number;

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;

/**
 * Removes broken glass particles.
 */
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(char* zoneName, bool p1, Any p2);
 * Still needs more research.
 * Here are the names I've found: pastebin.com/AfA0Qjyv
 * New Ambient Zone List (Combind with old): pastebin.com/h8BsKgUD -DasChaos
 */
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;

/**
 * flags appears to always be 0
 */
declare function ClearAreaOfCops(x: number, y: number, z: number, radius: number, flags: number): void;

/**
 * GAMEPLAY::_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;
/**
 * GAMEPLAY::_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;

/**
 * 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;

/**
 * NativeDB Parameter 4: int flags
 */
declare function ClearAreaOfProjectiles(x: number, y: number, z: number, radius: number, flags: boolean): 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:
 * GAMEPLAY::CLEAR_BIT(&bitAddress, 1);
 * To check if this bit has been enabled:
 * GAMEPLAY::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::_1654F24A88A8E3FE("RADIO_16_SILVERLAKE");
 * AUDIO::_1654F24A88A8E3FE("RADIO_01_CLASS_ROCK");
 */
declare function ClearCustomRadioTrackList(radioStation: string): void;
/**
 * 3 calls in the b617d scripts, removed duplicate.
 * AUDIO::_1654F24A88A8E3FE("RADIO_16_SILVERLAKE");
 * AUDIO::_1654F24A88A8E3FE("RADIO_01_CLASS_ROCK");
 */
declare function N_0x1654f24a88a8e3fe(radioStation: string): void;

declare function ClearDecisionMakerEventResponse(name: string | number, _type: number): void;

/**
 * Resets the screen's draw-origin which was changed by the function GRAPHICS::SET_DRAW_ORIGIN(...) back to x=0,y=0.
 * See GRAPHICS::SET_DRAW_ORIGIN(...) for further information.
 */
declare function ClearDrawOrigin(): void;

declare function ClearDrivebyTaskUnderneathDrivingTask(ped: number): void;

declare function ClearDynamicPauseMenuErrorMessage(): void;
declare function N_0x7792424aa0eac32e(): void;

/**
 * NativeDB Return Type: void
 */
declare function ClearEntityLastDamageEntity(entity: number): number;

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;

/**
 * p0 looks like int in script
 */
declare function ClearFloatingHelp(p0: number, p1: boolean): void;

declare function ClearFocus(): void;

/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function ClearGarageArea(garageHash: number, isNetwork: boolean): void;
/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function N_0xda05194260cdcdf9(garageHash: 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;

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 ClearOverrideWeather(): void;

declare function ClearPedAlternateMovementAnim(ped: number, stance: number, p2: number): void;

declare function ClearPedAlternateWalkAnim(ped: number, p1: number): void;

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;

/**
 * Something related to clearing the ped because always used with CLEAR_PED_WETNESS, CLEAR_PED_BLOOD_DAMAGE and RESET_PED_VISIBLE_DAMAGE.
 */
declare function ClearPedEnvDirt(ped: number): void;
/**
 * Something related to clearing the ped because always used with CLEAR_PED_WETNESS, CLEAR_PED_BLOOD_DAMAGE and RESET_PED_VISIBLE_DAMAGE.
 */
declare function N_0x6585d955a68452a5(ped: number): void;

declare function ClearPedInPauseMenu(): void;

declare function ClearPedLastDamageBone(ped: number): void;

/**
 * Does NOT seem to work with HasPedBeenDamagedByWeapon.
 * Use ClearEntityLastWeaponDamage and HasEntityBeenDamagedByWeapon 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 ClearPedTasks(ped: number): void;

/**
 * Immediately stops the pedestrian from whatever it's doing. They stop fighting, animations, etc. they forget what they were doing.
 */
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;

/**
 * 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;

/**
 * Remove all BLIP_GALLERY blips from the map.
 */
declare function ClearRaceGalleryBlips(): void;
/**
 * Remove all BLIP_GALLERY blips from the map.
 */
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;

/**
 * Sets the next spawn location to the position supplied to _SET_CUSTOM_RESPAWN_POSITION.
 */
declare function ClearRestartCustomPosition(): void;
/**
 * Sets the next spawn location to the position supplied to _SET_CUSTOM_RESPAWN_POSITION.
 */
declare function N_0xa2716d40842eaf79(): void;
/**
 * Sets the next spawn location to the position supplied to _SET_CUSTOM_RESPAWN_POSITION.
 */
declare function SetNextRespawnToCustom(): void;

declare function ClearRoomForEntity(entity: number): void;

declare function ClearRoomForGameViewport(): void;
declare function N_0x23b59d8912f94246(): void;

/**
 * NativeDB Return Type: void
 */
// Return is unknown[] due to pointer value being input of the function
declare function ClearSequenceTask(taskSequenceId?: number): unknown[];

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;

/**
 * NativeDB Return Type: void
 */
declare function ClearVehicleCustomPrimaryColour(vehicle: number): number;

/**
 * NativeDB Return Type: void
 */
declare function ClearVehicleCustomSecondaryColour(vehicle: number): number;

declare function ClearVehiclePhoneExplosiveDevice(): void;
declare function N_0xaa3f739abddcf21f(): void;

declare function ClearVehicleRouteHistory(vehicle: number): void;
declare function N_0x6d6af961b72728ae(vehicle: number): void;

declare function ClearWeatherTypePersist(): void;

/**
 * Example of Cloning Your Player: CLONE_PED(PLAYER_PED_ID(), GET_ENTITY_HEADING(PLAYER_PED_ID()), 0, 1);
 */
declare function ClonePed(ped: number, heading: number, isNetwork: boolean, netMissionEntity: boolean): number;

/**
 * What exactly is the difference? What does this exactly do by chance?
 * ^ Copies ped's components and props to targetPed.
 * ---------------------------------------------------------------------------------
 * | Internally has a 3rd param (bool) which is set to true by default |
 */
declare function ClonePedToTarget(ped: number, targetPed: number): void;
/**
 * What exactly is the difference? What does this exactly do by chance?
 * ^ Copies ped's components and props to targetPed.
 * ---------------------------------------------------------------------------------
 * | Internally has a 3rd param (bool) which is set to true by default |
 */
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;

/**
 * Used one time in fmmc_launcher.c instead of ClonePed because ?
 * ```
 * NativeDB Parameter 1: float heading
 * NativeDB Parameter 2: BOOL isNetwork
 * NativeDB Parameter 3: BOOL netMissionEntity
 * ```
 */
declare function ClonePed_2(ped: number, heading: number, isNetwork: number, netMissionEntity: number, p4: number): number;
/**
 * Used one time in fmmc_launcher.c instead of ClonePed because ?
 * ```
 * NativeDB Parameter 1: float heading
 * NativeDB Parameter 2: BOOL isNetwork
 * NativeDB Parameter 3: BOOL netMissionEntity
 * ```
 */
declare function N_0x668fd40bcba5de48(ped: number, heading: number, isNetwork: number, netMissionEntity: number, p4: number): number;

declare function CloseBombBayDoors(vehicle: number): void;
declare function N_0x3556041742a0dc74(vehicle: number): void;

/**
 * Aborts the current message in the text chat.
 */
declare function CloseMultiplayerChat(): void;
/**
 * Aborts the current message in the text chat.
 */
declare function AbortTextChat(): void;

declare function ClosePatrolRoute(): void;

/**
 * NativeDB Return Type: void
 */
declare function CloseSequenceTask(taskSequenceId: number): number;

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): number;
declare function N_0x3a3d5568af297cd5(handle: number): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function CloudGetAvailabilityCheckResult(): number;
/**
 * NativeDB Return Type: BOOL
 */
declare function NetworkEnableMotionDrugged(): number;
/**
 * NativeDB Return Type: BOOL
 */
declare function N_0x0b0cc10720653f3b(): number;

declare function CloudHasRequestCompleted(handle: number): number;
declare function N_0x4c61b39930d045da(handle: number): number;

declare function CloudIsCheckingAvailability(): number;
declare function N_0xc7abac5de675ee3b(): number;

/**
 * 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:
 * GAMEPLAY::COMPARE_STRINGS("STRING", "string", false, -1); // 0; equal
 * GAMEPLAY::COMPARE_STRINGS("TESTING", "test", false, 4); // 0; equal
 * GAMEPLAY::COMPARE_STRINGS("R2D2", "R2xx", false, 2); // 0; equal
 * GAMEPLAY::COMPARE_STRINGS("foo", "bar", false, -1); // 4; 'f' > 'b'
 * GAMEPLAY::COMPARE_STRINGS("A", "A", true, 1); // 0; equal
 * When comparing case-sensitive strings, lower-case characters are greater than upper-case characters:
 * GAMEPLAY::COMPARE_STRINGS("A", "a", true, 1); // -1; 'A' < 'a'
 * GAMEPLAY::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): number;

declare function CopyMemory(src: number, size: number): number;
declare function N_0x213aeb2b90cba7ac(src: number, size: number): number;

/**
 * Copy the damage like broken bumpers and broken lights from a vehicle and paste them on another vehicle.
 * @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;
/**
 * Copy the damage like broken bumpers and broken lights from a vehicle and paste them on another vehicle.
 * @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;

declare function Cos(value: number): number;

/**
 * NativeDB Parameter 10: Hash weaponHash
 */
declare function CreateAirDefenseArea(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number, weaponHash: number): number;
/**
 * NativeDB Parameter 10: Hash weaponHash
 */
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: 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.
 * ```
 * NativeDB Parameter 3: float radius
 * ```
 * @param p0 X coordinate
 * @param p1 Y coordinate
 * @param p2 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(p0: number, p1: number, p2: 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.
 * ```
 * NativeDB Parameter 3: float radius
 * ```
 * @param p0 X coordinate
 * @param p1 Y coordinate
 * @param p2 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(p0: number, p1: number, p2: 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;

/**
 * "DEFAULT_SCRIPTED_CAMERA"
 * "DEFAULT_ANIMATED_CAMERA"
 * "DEFAULT_SPLINE_CAMERA"
 * "DEFAULT_SCRIPTED_FLY_CAMERA"
 * "TIMED_SPLINE_CAMERA"
 */
declare function CreateCam(camName: string, p1: boolean): number;

/**
 * camName is always set to "DEFAULT_SCRIPTED_CAMERA" in Rockstar's scripts.
 * ------------
 * Camera names found in the b617d scripts:
 * "DEFAULT_ANIMATED_CAMERA"
 * "DEFAULT_SCRIPTED_CAMERA"
 * "DEFAULT_SCRIPTED_FLY_CAMERA"
 * "DEFAULT_SPLINE_CAMERA"
 * ------------
 * Side Note: It seems p8 is basically to represent what would be the bool p1 within CREATE_CAM native. As well as the p9 since it's always 2 in scripts seems to represent what would be the last param within SET_CAM_ROT native which normally would be 2.
 */
declare function CreateCamWithParams(camName: string, posX: number, posY: number, posZ: number, rotX: number, rotY: number, rotZ: number, fov: number, p8: boolean, p9: number): number;

declare function CreateCamera(camHash: string | number, p1: 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. )
 * p8 ???
 * p9 uses 2 by default
 */
declare function CreateCameraWithParams(camHash: string | number, posX: number, posY: number, posZ: number, rotX: number, rotY: number, rotZ: number, fov: number, p8: boolean, p9: 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.
 * * radius - The radius 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:
 * 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)
 */
declare function CreateCheckpoint(_type: number, posX1: number, posY1: number, posZ1: number, posX2: number, posY2: number, posZ2: number, radius: 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;

/**
 * p0 was the return of NET_TO_PED in fm_mission_controler.
 * p4 was always "".
 * returns headDisplayId
 * @param clanFlag takes a number 0-5
 */
declare function CreateFakeMpGamerTag(ped: number, username: string, pointedClanTag: boolean, isRockstarClan: boolean, clanTag: string, clanFlag: number): number;
/**
 * p0 was the return of NET_TO_PED in fm_mission_controler.
 * p4 was always "".
 * returns headDisplayId
 * @param clanFlag takes a number 0-5
 */
declare function N_0xbfefe3321a3f5015(ped: number, username: string, pointedClanTag: boolean, isRockstarClan: boolean, clanTag: string, clanFlag: number): number;
/**
 * p0 was the return of NET_TO_PED in fm_mission_controler.
 * p4 was always "".
 * returns headDisplayId
 * @param clanFlag takes a number 0-5
 */
declare function CreateMpGamerTag(ped: number, username: string, pointedClanTag: boolean, isRockstarClan: boolean, clanTag: string, clanFlag: 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
 */
// Return is unknown[] due to pointer value being input of the function
declare function CreateIncident(dispatchService: number, x: number, y: number, z: number, numUnits: number, radius: number, outIncidentID?: number): unknown[];

/**
 * 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
 */
// Return is unknown[] due to pointer value being input of the function
declare function CreateIncidentWithEntity(dispatchService: number, ped: number, numUnits: number, radius: number, outIncidentID?: number): unknown[];

/**
 * NativeDB Parameter 0: BOOL distri
 */
declare function CreateItemset(distri: number): number;

/**
 * Train models HAVE TO be loaded (requested) before you use this.
 * For variation 15 - request:
 * freight
 * freightcar
 * freightgrain
 * freightcont1
 * freightcont2
 * freighttrailer
 */
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;

declare function CreateMpGamerTagWithCrewColor(player: number, username: string, pointedClanTag: boolean, isRockstarClan: boolean, clanTag: string, clanFlag: number, r: number, g: number, b: number): void;
declare function N_0x6dd05e9d83efa4c9(player: number, username: string, pointedClanTag: boolean, isRockstarClan: boolean, clanTag: string, clanFlag: number, r: number, g: number, b: number): void;
declare function CreateMpGamerTagColor(player: number, username: string, pointedClanTag: boolean, isRockstarClan: boolean, clanTag: string, clanFlag: number, r: number, g: number, b: number): void;
declare function SetMpGamerTagColor(player: number, username: string, pointedClanTag: boolean, isRockstarClan: boolean, clanTag: string, clanFlag: number, r: number, g: number, b: number): void;
declare function CreateMpGamerTagForNetPlayer(player: number, username: string, pointedClanTag: boolean, isRockstarClan: boolean, clanTag: string, clanFlag: number, r: number, g: number, b: 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;

declare function CreateObject(modelHash: number, x: number, y: number, z: number, isNetwork: boolean, netMissionEntity: boolean, dynamic: boolean): number;

declare function CreateObjectNoOffset(modelHash: string | number, x: number, y: number, z: number, isNetwork: boolean, netMissionEntity: boolean, dynamic: boolean): number;

declare function CreateParachuteObject(ped: number, p1: boolean, p2: boolean): number;
declare function N_0x8c4f3bf23b6237db(ped: number, p1: boolean, p2: boolean): number;

declare function CreatePatrolRoute(): void;

/**
 * *Heading*: 0.0
 * *Heading* is the Z axis spawn rotation of the ped 0->5th parameter.
 * Ped Types:
 * enum PedTypes
 * {
 * PED_TYPE_PLAYER_0,// michael
 * PED_TYPE_PLAYER_1,// franklin
 * PED_TYPE_NETWORK_PLAYER,	// mp character
 * PED_TYPE_PLAYER_2,// trevor
 * 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 CreatePed(pedType: number, modelHash: string | number, x: number, y: number, z: number, heading: number, isNetwork: boolean, netMissionEntity: boolean): number;

/**
 * Ped Types:
 * enum ePedType
 * {
 * PED_TYPE_PLAYER_0 = 0,
 * PED_TYPE_PLAYER_1 = 1,
 * PED_TYPE_PLAYER_2 = 3,
 * PED_TYPE_CIVMALE = 4,
 * PED_TYPE_CIVFEMALE = 5,
 * PED_TYPE_COP = 6,
 * PED_TYPE_UNKNOWN_7 = 7,
 * PED_TYPE_UNKNOWN_12 = 12, // gang member?
 * PED_TYPE_UNKNOWN_19 = 19,
 * PED_TYPE_MEDIC = 20,
 * PED_TYPE_FIREMAN = 21,
 * PED_TYPE_UNKNOWN_22 = 22,
 * PED_TYPE_UNKNOWN_25 = 25,
 * PED_TYPE_UNKNOWN_26 = 26,
 * PED_TYPE_SWAT = 27,
 * PED_TYPE_ANIMAL = 28,
 * PED_TYPE_ARMY = 29
 * };
 */
declare function CreatePedInsideVehicle(vehicle: number, pedType: number, modelHash: string | number, seat: number, isNetwork: boolean, netMissionEntity: 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;

/**
 * CREATE_*
 */
declare function CreatePortablePickup_2(pickupHash: string | number, x: number, y: number, z: number, placeOnGround: boolean, modelHash: string | number): number;
/**
 * CREATE_*
 */
declare function N_0x125494b98a21aaf7(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.
 */
declare function CreateTrackedPoint(): number;

/**
 * NativeDB Added Parameter 8: BOOL p7
 */
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;

// Return is unknown[] due to pointer value being input of the function
declare function DataarrayAddDict(arrayData?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function ArrayValueAddObject(arrayData?: number): unknown[];

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): [number, number];
declare function ArrayValueGetBoolean(arrayIndex: number): [number, number];

// Return is unknown[] due to pointer value being input of the function
declare function DataarrayGetCount(arrayData?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function ArrayValueGetSize(arrayData?: number): unknown[];

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): [number, number];
declare function ObjectValueGetBoolean(key: string): [number, 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;

declare function DatafileCreate(): void;

declare function DatafileDelete(): void;

declare function DatafileDeleteRequestedFile(p0: number): number;
declare function N_0x8f5ea1c01d65a100(p0: number): number;

declare function DatafileFlushMissionHeader(): void;
declare function N_0xc55854c7d7274882(): void;

declare function DatafileGetFileDict(): string;
declare function N_0x906b778ca1dc72b6(): string;

declare function DatafileHasLoadedFileData(p0: number): number;
declare function N_0x15ff52b809db2353(p0: number): number;

declare function DatafileHasValidFileData(p0: number): number;
declare function N_0xf8cc1ebe0b62e29f(p0: number): number;

/**
 * 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(): number;
/**
 * 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(): number;

declare function DatafileIsValidRequestId(index: number): number;
declare function N_0xfccae5b92a830878(index: number): number;

/**
 * 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"
 */
declare function DatafileLoadOfflineUgc(filename: string): number;
/**
 * 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"
 */
declare function LoadUgcFile(filename: string): number;

declare function DatafileSelectActiveFile(p0: number): number;
declare function N_0x22da66936e0fff37(p0: number): number;

declare function DatafileSelectCreatorStats(p0: number): number;
declare function N_0x01095c95cd46b624(p0: number): number;

declare function DatafileSelectUgcData(p0: number): number;
declare function N_0xa69ac4ade82b57a4(p0: number): number;

declare function DatafileSelectUgcPlayerData(p0: number): number;
declare function N_0x52818819057f2b40(p0: number): number;

declare function DatafileSelectUgcStats(p0: number, p1: boolean): number;
declare function N_0x9cb0bfa7a9342c3d(p0: number, p1: boolean): number;

/**
 * Saves a JSON file? It might even be saving it to the Rockstar Cloud, but I have no way of verifying this
 * "shrinkletter.c4", line ~378:
 * DATAFILE::DATAFILE_CREATE();
 * v_5 = DATAFILE::_GET_ROOT_OBJECT();
 * DATAFILE::_OBJECT_VALUE_ADD_INTEGER(v_5, "in", a_2);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "st", &a_2._f1);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "mp", &a_2._f2);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "ms", &a_2._f3);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "sc", &a_2._f5);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "pr", &a_2._f6);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "fa", &a_2._f7);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "sm", &a_2._f8);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "kp", &a_2._f9);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "sv", &a_2._fA);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "yo", &a_2._fB);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "fi", &a_2._fC);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "rc", &a_2._fD);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "co", &a_2._fE);
 * DATAFILE::_OBJECT_VALUE_ADD_INTEGER(v_5, "su", a_2._fF);
 * DATAFILE::_83BCCE3224735F05("gta5/psych/index.json"); // saves the file?
 */
declare function DatafileStartSaveToCloud(filename: string): number;
/**
 * Saves a JSON file? It might even be saving it to the Rockstar Cloud, but I have no way of verifying this
 * "shrinkletter.c4", line ~378:
 * DATAFILE::DATAFILE_CREATE();
 * v_5 = DATAFILE::_GET_ROOT_OBJECT();
 * DATAFILE::_OBJECT_VALUE_ADD_INTEGER(v_5, "in", a_2);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "st", &a_2._f1);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "mp", &a_2._f2);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "ms", &a_2._f3);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "sc", &a_2._f5);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "pr", &a_2._f6);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "fa", &a_2._f7);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "sm", &a_2._f8);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "kp", &a_2._f9);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "sv", &a_2._fA);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "yo", &a_2._fB);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "fi", &a_2._fC);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "rc", &a_2._fD);
 * DATAFILE::_OBJECT_VALUE_ADD_STRING(v_5, "co", &a_2._fE);
 * DATAFILE::_OBJECT_VALUE_ADD_INTEGER(v_5, "su", a_2._fF);
 * DATAFILE::_83BCCE3224735F05("gta5/psych/index.json"); // saves the file?
 */
declare function N_0x83bcce3224735f05(filename: string): number;

declare function DatafileStoreMissionHeader(): void;
declare function N_0x2ed61456317b8178(): void;

declare function DatafileUpdateSaveToCloud(): [number, any /* actually bool */];
declare function N_0x4dfdd9eb705f8140(): [number, 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): number;

declare function DecorGetBool(entity: number, propertyName: string): number;

/**
 * The native name is correct but the db automatically prefixes "_" to unknown natives when changed.
 */
declare function DecorGetFloat(entity: number, propertyName: string): number;
/**
 * The native name is correct but the db automatically prefixes "_" to unknown natives when changed.
 */
declare function DecorGetFloat(entity: number, propertyName: string): number;

declare function DecorGetInt(entity: number, propertyName: string): number;

/**
 * Is property of that type.
 * enum eDecorType
 * {
 * DECOR_TYPE_FLOAT = 1,
 * DECOR_TYPE_BOOL,
 * DECOR_TYPE_INT,
 * DECOR_TYPE_UNK,
 * DECOR_TYPE_TIME
 * };
 */
declare function DecorIsRegisteredAsType(propertyName: string, _type: number): number;

/**
 * Found this in standard_global_init.c4 line 1898
 * void sub_523a() {
 * DECORATOR::DECOR_REGISTER("Player_Vehicle", 3);
 * DECORATOR::DECOR_REGISTER("PV_Slot", 3);
 * DECORATOR::DECOR_REGISTER("Previous_Owner", 3);
 * DECORATOR::DECOR_REGISTER("Sprayed_Vehicle_Decorator", 2);
 * DECORATOR::DECOR_REGISTER("Sprayed_Vehicle_Timer_Dec", 5);
 * DECORATOR::DECOR_REGISTER("Vehicle_Reward", 3);
 * DECORATOR::DECOR_REGISTER("Vehicle_Reward_Teams", 3);
 * DECORATOR::DECOR_REGISTER("Skill_Blocker", 2);
 * DECORATOR::DECOR_REGISTER("TargetPlayerForTeam", 3);
 * DECORATOR::DECOR_REGISTER("XP_Blocker", 2);
 * DECORATOR::DECOR_REGISTER("CrowdControlSetUp", 3);
 * DECORATOR::DECOR_REGISTER("Bought_Drugs", 2);
 * DECORATOR::DECOR_REGISTER("HeroinInPossession", 1);
 * DECORATOR::DECOR_REGISTER("CokeInPossession", 1);
 * DECORATOR::DECOR_REGISTER("WeedInPossession", 1);
 * DECORATOR::DECOR_REGISTER("MethInPossession", 1);
 * DECORATOR::DECOR_REGISTER("bombdec", 3);
 * DECORATOR::DECOR_REGISTER("bombdec1", 3);
 * DECORATOR::DECOR_REGISTER("bombowner", 3);
 * DECORATOR::DECOR_REGISTER("noPlateScan", 2);
 * DECORATOR::DECOR_REGISTER("prisonBreakBoss", 2);
 * DECORATOR::DECOR_REGISTER("cashondeadbody", 3);
 * DECORATOR::DECOR_REGISTER("MissionType", 3);
 * DECORATOR::DECOR_REGISTER("MatchId", 3);
 * DECORATOR::DECOR_REGISTER("TeamId", 3);
 * DECORATOR::DECOR_REGISTER("Not_Allow_As_Saved_Veh", 3);
 * DECORATOR::DECOR_REGISTER("Veh_Modded_By_Player", 3);
 * DECORATOR::DECOR_REGISTER("MPBitset", 3);
 * DECORATOR::DECOR_REGISTER("MC_EntityID", 3);
 * DECORATOR::DECOR_REGISTER("MC_ChasePedID", 3);
 * DECORATOR::DECOR_REGISTER("MC_Team0_VehDeliveredRules", 3);
 * DECORATOR::DECOR_REGISTER("MC_Team1_VehDeliveredRules", 3);
 * DECORATOR::DECOR_REGISTER("MC_Team2_VehDeliveredRules", 3);
 * DECORATOR::DECOR_REGISTER("MC_Team3_VehDeliveredRules", 3);
 * DECORATOR::DECOR_REGISTER("AttributeDamage", 3);
 * DECORATOR::DECOR_REGISTER("GangBackup", 3);
 * DECORATOR::DECOR_REGISTER("CreatedByPegasus", 2);
 * DECORATOR::DECOR_REGISTER("BeforeCorona_0", 2);
 * }
 * -----------------------------------------------------------------------
 * Defines type of property for property name.
 * enum eDecorType
 * {
 * DECOR_TYPE_FLOAT = 1,
 * DECOR_TYPE_BOOL,
 * DECOR_TYPE_INT,
 * DECOR_TYPE_UNK,
 * DECOR_TYPE_TIME
 * };
 */
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): number;

/**
 * This function sets metadata of type bool to specified entity.
 */
declare function DecorSetBool(entity: number, propertyName: string, value: boolean): number;

/**
 * The native name is correct but the db automatically prefixes "_" to unknown natives when changed.
 */
declare function DecorSetFloat(entity: number, propertyName: string, value: number): number;
/**
 * The native name is correct but the db automatically prefixes "_" to unknown natives when changed.
 */
declare function DecorSetFloat(entity: number, propertyName: string, value: number): number;

/**
 * Sets property to int.
 */
declare function DecorSetInt(entity: number, propertyName: string, value: number): number;

declare function DecorSetTime(entity: number, propertyName: string, timestamp: number): number;

declare function DeleteAllTrains(): void;

declare function DeleteCheckpoint(checkpoint: number): void;

/**
 * NativeDB Return Type: void
 */
declare function DeleteChildRope(ropeId: number): number;

/**
 * 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.
 * meme.
 */
declare function DeleteObject(object: number): void;

/**
 * From the b617d scripts:
 * AI::DELETE_PATROL_ROUTE("miss_merc0");
 * AI::DELETE_PATROL_ROUTE("miss_merc1");
 * AI::DELETE_PATROL_ROUTE("miss_merc2");
 * AI::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): number;
/**
 * Does nothing and always returns false.
 */
declare function N_0xe260e0bb9cd995ac(amount: number): number;

/**
 * BOOL param indicates whether the cam should be destroyed if it belongs to the calling script.
 */
declare function DestroyAllCams(thisScriptCheck: boolean): void;

/**
 * BOOL param indicates whether the cam should be destroyed if it belongs to the calling script.
 */
declare function DestroyCam(cam: number, thisScriptCheck: 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(ped: number): void;

declare function DetachRopeFromEntity(ropeId: number, entity: number): void;

declare function DetachSynchronizedScene(sceneID: number): void;

declare function DetachVehicleFromAnyCargobob(vehicle: number): number;

declare function DetachVehicleFromAnyTowTruck(vehicle: number): number;

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;

/**
 * Public Sub detatchTrailer(vh1 As Vehicle)
 * Native.Function.Call(Hash.DETACH_VEHICLE_FROM_TRAILER, vh1)
 * End Sub
 */
declare function DetachVehicleFromTrailer(vehicle: number): void;

/**
 * Detaches the vehicle's windscreen.
 * For further information, see : gtaforums.com/topic/859570-glass/#entry1068894566
 */
declare function DetachVehicleWindscreen(vehicle: number): void;

/**
 * used for the remote vehicle explode thing with phones
 */
declare function DetonateVehiclePhoneExplosiveDevice(): void;
/**
 * used for the remote vehicle explode thing with phones
 */
declare function N_0xef49cf0270307cbe(): void;
/**
 * used for the remote vehicle explode thing with phones
 */
declare function RequestVehiclePhoneExplosion(): void;

declare function DisableAimCamThisUpdate(): void;
declare function N_0x1a31fe0049e542f6(): void;

/**
 * inputGroup: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts.
 */
declare function DisableAllControlActions(padIndex: 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 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.
 * Doesn't work....
 */
declare function DisableHospitalRestart(hospitalIndex: number, toggle: boolean): void;

declare function DisableInputGroup(inputGroup: number): void;
declare function N_0x7f4724035fdca1dd(inputGroup: 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;

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;

/**
 * Ailerons are responsible for the rolling motion of a plane.
 */
declare function DisablePlaneAileron(vehicle: number, p1: boolean, p2: boolean): void;

/**
 * Disables propeller animation. Used in pilot_school_mp for the Titan's timed engine detonation.
 */
declare function DisablePlanePropeller(vehicle: number, propeller: number): void;
/**
 * Disables propeller animation. Used in pilot_school_mp for the Titan's timed engine detonation.
 */
declare function N_0x500873a45724c863(vehicle: number, propeller: number): 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.
 */
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;

declare function DisplayAmmoThisFrame(display: boolean): void;

declare function DisplayAreaName(toggle: boolean): void;

/**
 * "DISPLAY_CASH(false);" makes the cash amount render on the screen when appropriate
 * "DISPLAY_CASH(true);" disables cash amount rendering
 */
declare function DisplayCash(toggle: 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;

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;

/**
 * If Minimap / Radar should be displayed.
 * ```
 * ```
 * NativeDB Return Type: void
 */
declare function DisplayRadar(toggle: boolean): number;

/**
 * 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.
 */
declare function DistantCopCarSirens(value: boolean): void;
/**
 * if value is set to true, and ambient siren sound will be played.
 */
declare function N_0x552369f549563ad5(value: boolean): void;
/**
 * if value is set to true, and ambient siren sound will be played.
 */
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): number;
declare function N_0xcd79a550999d7d4f(zoneId: number): number;

declare function DoesAnimDictExist(animDict: string): number;

declare function DoesBlipExist(blip: number): number;

declare function DoesBlipHaveGpsRoute(blip: number): number;
declare function N_0xdd2238f57b977751(blip: number): number;

/**
 * Returns whether or not the passed camera handle exists.
 */
declare function DoesCamExist(cam: number): number;

/**
 * Returns true only when the hook is active, will return false if the magnet is active
 */
declare function DoesCargobobHavePickUpRope(cargobob: number): number;
/**
 * Returns true only when the hook is active, will return false if the magnet is active
 */
declare function IsCargobobHookActive(cargobob: number): number;

/**
 * Returns true only when the magnet is active, will return false if the hook is active
 */
declare function DoesCargobobHavePickupMagnet(cargobob: number): number;
/**
 * Returns true only when the magnet is active, will return false if the hook is active
 */
declare function IsCargobobMagnetActive(cargobob: number): number;
/**
 * Returns true only when the magnet is active, will return false if the hook is active
 */
declare function DoesCargobobHavePickupMagnet(cargobob: number): number;

declare function DoesCutsceneEntityExist(cutsceneEntName: string, modelHash: string | number): number;

declare function DoesEntityBelongToThisScript(entity: number, p2: boolean): number;

/**
 * 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): number;

declare function DoesEntityHaveDrawable(entity: number): number;

/**
 * GET_*
 */
declare function DoesEntityHaveFragInst(object: number): number;
/**
 * GET_*
 */
declare function N_0x0c112765300c7e1e(object: number): number;

declare function DoesEntityHavePhysics(entity: number): number;

/**
 * Checks via CVehicleModelInfo
 */
declare function DoesExtraExist(vehicle: number, extraId: number): number;

declare function DoesGroupExist(groupId: number): number;

declare function DoesNavmeshBlockingObjectExist(p0: number): number;
declare function N_0x0eaeb0db4b132399(p0: number): number;

/**
 * p5 is usually 0.
 */
declare function DoesObjectOfTypeExistAtCoords(x: number, y: number, z: number, radius: number, hash: string | number, p5: boolean): number;

declare function DoesParticleFxLoopedExist(ptfxHandle: number): number;

/**
 * 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): number;

declare function DoesPickupExist(pickup: number): number;

declare function DoesPickupObjectExist(pickupObject: number): number;

/**
 * Pickup hashes: pastebin.com/8EuSv2r1
 */
declare function DoesPickupOfTypeExistInArea(pickupHash: string | number, x: number, y: number, z: number, radius: number): number;
/**
 * Pickup hashes: pastebin.com/8EuSv2r1
 */
declare function IsPickupWithinRadius(pickupHash: string | number, x: number, y: number, z: number, radius: number): number;

declare function DoesPlayerVehHaveRadio(): number;
declare function N_0x109697e2ffbac8a1(): number;

declare function DoesPopMultiplierAreaExist(id: number): number;
declare function N_0x1327e2fe9746baee(id: number): number;

declare function DoesPopMultiplierSphereExist(id: number): number;
declare function N_0x171bafb3c60389f4(id: number): number;

/**
 * Returns true if a destructible object with this handle exists, false otherwise.
 */
declare function DoesRayfireMapObjectExist(object: number): number;
/**
 * Returns true if a destructible object with this handle exists, false otherwise.
 */
declare function N_0x52af537a0c5b8aad(object: number): number;
/**
 * Returns true if a destructible object with this handle exists, false otherwise.
 */
declare function DoesDesObjectExist(object: number): number;

/**
 * NativeDB Parameter 0: Hash groupHash
 */
declare function DoesRelationshipGroupExist(groupHash: number): number;
/**
 * NativeDB Parameter 0: Hash groupHash
 */
declare function N_0xcc6e3b6bb69501f1(groupHash: number): number;

declare function DoesRopeBelongToThisScript(ropeId: number): number;
declare function N_0x271c9d3aca5d6409(ropeId: number): number;

/**
 * Ptr is correct
 */
// Return is unknown[] due to pointer value being input of the function
declare function DoesRopeExist(ropeId?: number): unknown[];

declare function DoesScenarioBlockingAreaExist(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;
declare function N_0x8a24b067d175a7bd(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;

declare function DoesScenarioExistInArea(x: number, y: number, z: number, radius: number, b: boolean): number;

/**
 * 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 (AI::DOES_SCENARIO_GROUP_EXIST("Observatory_Bikers") && (!AI::IS_SCENARIO_GROUP_ENABLED("Observatory_Bikers"))) {
 * else if (AI::IS_SCENARIO_GROUP_ENABLED("BLIMP")) {
 */
declare function DoesScenarioGroupExist(scenarioGroup: string): number;

declare function DoesScenarioOfTypeExistInArea(p0: number, p1: number, p2: number, p4: number, p5: boolean): [number, number];

/**
 * For a full list, see here: pastebin.com/yLNWicUi
 */
declare function DoesScriptExist(scriptName: string): number;

declare function DoesScriptVehicleGeneratorExist(vehicleGenerator: number): number;

/**
 * formerly _IS_STREAMED_SCRIPT_RUNNING
 * Jenkins hash: 0x19EAE282
 */
declare function DoesScriptWithNameHashExist(scriptHash: string | number): number;
/**
 * formerly _IS_STREAMED_SCRIPT_RUNNING
 * Jenkins hash: 0x19EAE282
 */
declare function N_0xf86aa3c56ba31381(scriptHash: string | number): number;
/**
 * formerly _IS_STREAMED_SCRIPT_RUNNING
 * Jenkins hash: 0x19EAE282
 */
declare function DoesScriptWithNameHashExist(scriptHash: string | number): number;

/**
 * Checks if there is a cover point at position
 */
declare function DoesScriptedCoverPointExistAtCoords(x: number, y: number, z: number): number;

declare function DoesShopPedApparelHaveRestrictionTag(componentHash: string | number, restrictionTagHash: string | number, componentId: number): number;
declare function N_0x341de7ed1d2a1bfd(componentHash: string | number, restrictionTagHash: string | number, componentId: number): number;

declare function DoesTextBlockExist(gxt: string): number;

/**
 * Checks if the passed gxt name exists in the game files.
 */
declare function DoesTextLabelExist(gxt: string): number;

/**
 * Returns true if the vehicle has the FLAG_ALLOWS_RAPPEL flag set.
 */
declare function DoesVehicleAllowRappel(vehicle: number): number;
/**
 * Returns true if the vehicle has the FLAG_ALLOWS_RAPPEL flag set.
 */
declare function N_0x4e417c547182c84d(vehicle: number): number;

declare function DoesVehicleExistWithDecorator(decorator: string): number;

/**
 * This function is called before ADD_CLAN_DECAL_TO_VEHICLE to see if it needs to run. IDK if it's for clan decal or not, but the 2nd parameter might be decal index? It's always passed 0. Not sure what this function really does. But it does return 0 if the clan tag is not on, and 1 if it is.
 */
declare function DoesVehicleHaveCrewEmblem(vehicle: number, p1: number): number;
/**
 * This function is called before ADD_CLAN_DECAL_TO_VEHICLE to see if it needs to run. IDK if it's for clan decal or not, but the 2nd parameter might be decal index? It's always passed 0. Not sure what this function really does. But it does return 0 if the clan tag is not on, and 1 if it is.
 */
declare function HasVehicleGotDecal(vehicle: number, p1: number): number;
/**
 * This function is called before ADD_CLAN_DECAL_TO_VEHICLE to see if it needs to run. IDK if it's for clan decal or not, but the 2nd parameter might be decal index? It's always passed 0. Not sure what this function really does. But it does return 0 if the clan tag is not on, and 1 if it is.
 */
declare function DoesVehicleHaveDecal(vehicle: number, p1: number): number;

declare function DoesVehicleHaveDoor(vehicle: number, doorIndex: number): number;

/**
 * Returns true if the vehicle has the FLAG_JUMPING_CAR flag set.
 */
declare function DoesVehicleHaveJumpingAbility(vehicle: number): number;
/**
 * Returns true if the vehicle has the FLAG_JUMPING_CAR flag set.
 */
declare function HasVehicleJumpingAbility(vehicle: number): number;

declare function DoesVehicleHaveParachute(vehicle: number): number;
declare function HasVehicleParachute(vehicle: number): number;

declare function DoesVehicleHaveRetractableWheels(vehicle: number): number;
declare function GetHasLowerableWheels(vehicle: number): number;

declare function DoesVehicleHaveRocketBoost(vehicle: number): number;
declare function HasVehicleRocketBoost(vehicle: number): number;

declare function DoesVehicleHaveRoof(vehicle: number): number;

/**
 * Maximum amount of vehicles with vehicle stuck check appears to be 16.
 */
declare function DoesVehicleHaveStuckVehicleCheck(vehicle: number): number;

declare function DoesVehicleHaveWeapons(vehicle: number): number;

declare function DoesWeaponTakeWeaponComponent(weaponHash: string | number, componentHash: string | number): number;

/**
 * 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
 */
// Return is unknown[] due to pointer value being input of the function
declare function DoorSystemFindExistingDoor(x: number, y: number, z: number, modelHash: number, doorOutPointer?: number): unknown[];
/**
 * 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
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0x589f80b325cc82c5(x: number, y: number, z: number, modelHash: number, doorOutPointer?: number): unknown[];

/**
 * 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;

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;

/**
 * NativeDB Parameter 0: Hash doorHash
 */
declare function DoorSystemGetIsPhysicsLoaded(doorHash: number): number;
/**
 * NativeDB Parameter 0: Hash doorHash
 */
declare function N_0xdf97cdd4fc08fd34(doorHash: number): number;

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, p1: 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, p1: 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;

/**
 * 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>
 * ```
 * NativeDB Parameter 5: BOOL p5
 * NativeDB Return Type: void
 * ```
 * @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: number, p6: number, p7: number, p8: string, p9: string, background: boolean, errorCode: number): number;
/**
 * 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>
 * ```
 * NativeDB Parameter 5: BOOL p5
 * NativeDB Return Type: void
 * ```
 * @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: number, p6: number, p7: number, p8: string, p9: string, background: boolean, errorCode: number): number;

/**
 * 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;

/**
 * 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;

/**
 * GTA V Scaleforms Decompiled
 * pastebin.com/mmNdjX2k
 */
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;

/**
 * sharpness goes from 0.0 to 1.0
 */
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;
/**
 * sharpness goes from 0.0 to 1.0
 */
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;

/**
 * what the heck does this one do differently from the one above?
 */
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;
/**
 * what the heck does this one do differently from the one above?
 */
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;
/**
 * what the heck does this one do differently from the one above?
 */
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): number;
/**
 * 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): number;

declare function DrawSphere(x: number, y: number, z: number, radius: number, r: number, g: number, b: number, opacity: number): void;
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;

/**
 * shadowId: each call to this native in the same tick should have a different value passed to this parameter, if two or more calls have the same values, only the first one will render its shadow properly
 */
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;

/**
 * All calls to this native are preceded by calls to GRAPHICS::_0x61BB1D9B3A95D802 and GRAPHICS::_0xC6372ECD45D73BCD, respectively.
 * "act_cinema.ysc", line 1483:
 * UI::SET_HUD_COMPONENT_POSITION(15, 0.0, -0.0375);
 * UI::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 (UI::IS_NAMED_RENDERTARGET_LINKED(ENTITY::GET_ENTITY_MODEL(a_2._f3))) {
 * UI::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);
 * }
 * UI::SET_TEXT_RENDER_ID(UI::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;

/**
 * inputGroup: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts.
 */
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;

/**
 * Directly from R*:
 * enum eDispatchType : UINT16
 * {
 * DT_PoliceAutomobile = 1,
 * DT_PoliceHelicopter = 2,
 * DT_FireDepartment = 3,
 * DT_SwatAutomobile = 4,
 * DT_AmbulanceDepartment = 5,
 * DT_PoliceRiders = 6,
 * DT_PoliceVehicleRequest = 7,
 * DT_PoliceRoadBlock = 8,
 * DT_PoliceAutomobileWaitPulledOver = 9,
 * DT_PoliceAutomobileWaitCruising = 10,
 * DT_Gangs = 11,
 * DT_SwatHelicopter = 12,
 * DT_PoliceBoat = 13,
 * DT_ArmyVehicle = 14,
 * DT_BikerBackup = 15
 * };
 * By making toggle false it disables the dispatch.
 * curious if this is what they used when you toggled on and off cops in a GTA IV freemode you hosted. Sad they got rid of the option to make a private session without cops.
 * Also on x360 seems with or without neverWanted on, setting these to all false in SP of course doesn't seem to work. I would understand getting stars, but cops are still dispatched and combat you.
 */
declare function EnableDispatchService(dispatchService: number, toggle: boolean): void;
/**
 * Directly from R*:
 * enum eDispatchType : UINT16
 * {
 * DT_PoliceAutomobile = 1,
 * DT_PoliceHelicopter = 2,
 * DT_FireDepartment = 3,
 * DT_SwatAutomobile = 4,
 * DT_AmbulanceDepartment = 5,
 * DT_PoliceRiders = 6,
 * DT_PoliceVehicleRequest = 7,
 * DT_PoliceRoadBlock = 8,
 * DT_PoliceAutomobileWaitPulledOver = 9,
 * DT_PoliceAutomobileWaitCruising = 10,
 * DT_Gangs = 11,
 * DT_SwatHelicopter = 12,
 * DT_PoliceBoat = 13,
 * DT_ArmyVehicle = 14,
 * DT_BikerBackup = 15
 * };
 * By making toggle false it disables the dispatch.
 * curious if this is what they used when you toggled on and off cops in a GTA IV freemode you hosted. Sad they got rid of the option to make a private session without cops.
 * Also on x360 seems with or without neverWanted on, setting these to all false in SP of course doesn't seem to work. I would understand getting stars, but cops are still dispatched and combat you.
 */
declare function N_0xdc0f817884cdd856(dispatchService: number, toggle: boolean): 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;

/**
 * #4
 */
declare function EnableScriptBrainSet(brainSet: number): void;

/**
 * NativeDB Parameter 0: Hash mapObjectHash
 */
declare function EnableScriptCullModelThisFrame(mapObjectHash: number): void;
/**
 * NativeDB Parameter 0: Hash mapObjectHash
 */
declare function N_0x50c375537449f369(mapObjectHash: number): void;

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;

declare function EnableVehicleExhaustPops(vehicle: number, toggle: boolean): void;
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;

/**
 * Pops and calls the Scaleform movie on the stack. Returns data from the function (not sure if this is a string).
 */
declare function EndScaleformMovieMethodReturnValue(): number;
/**
 * Pops and calls the Scaleform movie on the stack. Returns data from the function (not sure if this is a string).
 */
declare function PopScaleformMovieFunction(): number;
/**
 * Pops and calls the Scaleform movie on the stack. Returns data from the function (not sure if this is a string).
 */
declare function EndScaleformMovieMethodReturn(): number;

/**
 * Clear the current srl and stop rendering the area selected by PrefetchSrl and started with BeginSrl.
 */
declare function EndSrl(): void;

/**
 * This does NOT get called per frame. Call it once to show, then use UI::_REMOVE_LOADING_PROMPT to remove it
 * Changes the the above native's (UI::_SET_LOADING_PROMPT_TEXT_ENTRY) spinning circle type.
 * Types:
 * enum LoadingPromptTypes
 * {
 * LOADING_PROMPT_LEFT,
 * LOADING_PROMPT_LEFT_2,
 * LOADING_PROMPT_LEFT_3,
 * SAVE_PROMPT_LEFT,
 * LOADING_PROMPT_RIGHT,
 * };
 */
declare function EndTextCommandBusyspinnerOn(busySpinnerType: number): void;
/**
 * This does NOT get called per frame. Call it once to show, then use UI::_REMOVE_LOADING_PROMPT to remove it
 * Changes the the above native's (UI::_SET_LOADING_PROMPT_TEXT_ENTRY) spinning circle type.
 * Types:
 * enum LoadingPromptTypes
 * {
 * LOADING_PROMPT_LEFT,
 * LOADING_PROMPT_LEFT_2,
 * LOADING_PROMPT_LEFT_3,
 * SAVE_PROMPT_LEFT,
 * LOADING_PROMPT_RIGHT,
 * };
 */
declare function N_0xbd12f8228410d9b4(busySpinnerType: number): void;
/**
 * This does NOT get called per frame. Call it once to show, then use UI::_REMOVE_LOADING_PROMPT to remove it
 * Changes the the above native's (UI::_SET_LOADING_PROMPT_TEXT_ENTRY) spinning circle type.
 * Types:
 * enum LoadingPromptTypes
 * {
 * LOADING_PROMPT_LEFT,
 * LOADING_PROMPT_LEFT_2,
 * LOADING_PROMPT_LEFT_3,
 * SAVE_PROMPT_LEFT,
 * LOADING_PROMPT_RIGHT,
 * };
 */
declare function ShowLoadingPrompt(busySpinnerType: number): void;
/**
 * This does NOT get called per frame. Call it once to show, then use UI::_REMOVE_LOADING_PROMPT to remove it
 * Changes the the above native's (UI::_SET_LOADING_PROMPT_TEXT_ENTRY) spinning circle type.
 * Types:
 * enum LoadingPromptTypes
 * {
 * LOADING_PROMPT_LEFT,
 * LOADING_PROMPT_LEFT_2,
 * LOADING_PROMPT_LEFT_3,
 * SAVE_PROMPT_LEFT,
 * LOADING_PROMPT_RIGHT,
 * };
 */
declare function EndTextCommandBusyString(busySpinnerType: number): void;

declare function EndTextCommandClearPrint(): void;
declare function N_0xfcc75460aba29378(): void;

/**
 * -----------
 * p3 (duration in MS) was previously mentioned as "shape", but with some more testing it seems that it's more likely to be a duration in MS. (Tested this when not calling it every tick, but instead only once and let it display for the specified duration).
 * -1 seems to be default delay (around 3 seconds), 5000 (ms) seems to be the max. Anything > 5000 will still result in 5 seconds of display time.
 * Old p3 (shape) description: "shape goes from -1 to 50 (may be more)."
 * --------------
 * p0 is always 0.
 * Example:
 * void FloatingHelpText(char* text)
 * {
 * BEGIN_TEXT_COMMAND_DISPLAY_HELP("STRING");
 * ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);
 * END_TEXT_COMMAND_DISPLAY_HELP (0, 0, 1, -1);
 * }
 * Image:
 * - imgbin.org/images/26209.jpg
 * more inputs/icons:
 * - pastebin.com/nqNYWMSB
 * Used to be known as _DISPLAY_HELP_TEXT_FROM_STRING_LABEL
 */
declare function EndTextCommandDisplayHelp(p0: number, loop: boolean, beep: boolean, shape: number): void;
/**
 * -----------
 * p3 (duration in MS) was previously mentioned as "shape", but with some more testing it seems that it's more likely to be a duration in MS. (Tested this when not calling it every tick, but instead only once and let it display for the specified duration).
 * -1 seems to be default delay (around 3 seconds), 5000 (ms) seems to be the max. Anything > 5000 will still result in 5 seconds of display time.
 * Old p3 (shape) description: "shape goes from -1 to 50 (may be more)."
 * --------------
 * p0 is always 0.
 * Example:
 * void FloatingHelpText(char* text)
 * {
 * BEGIN_TEXT_COMMAND_DISPLAY_HELP("STRING");
 * ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);
 * END_TEXT_COMMAND_DISPLAY_HELP (0, 0, 1, -1);
 * }
 * Image:
 * - imgbin.org/images/26209.jpg
 * more inputs/icons:
 * - pastebin.com/nqNYWMSB
 * Used to be known as _DISPLAY_HELP_TEXT_FROM_STRING_LABEL
 */
declare function DisplayHelpTextFromStringLabel(p0: number, loop: boolean, beep: boolean, shape: 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.
 * Used to be known as _DRAW_TEXT
 * ```
 * ```
 * 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.
 * Used to be known as _DRAW_TEXT
 * ```
 * ```
 * NativeDB Added Parameter 3: int p2
 */
declare function DrawText(x: number, y: number): void;

/**
 * Determines how many lines the text string will use when drawn on screen.
 * Must use _BEGIN_TEXT_COMMAND_LINE_COUNT for setting up
 */
declare function EndTextCommandGetLineCount(x: number, y: number): number;
/**
 * Determines how many lines the text string will use when drawn on screen.
 * Must use _BEGIN_TEXT_COMMAND_LINE_COUNT for setting up
 */
declare function N_0x9040dfb09be75706(x: number, y: number): number;
/**
 * Determines how many lines the text string will use when drawn on screen.
 * Must use _BEGIN_TEXT_COMMAND_LINE_COUNT for setting up
 */
declare function GetTextScreenLineCount(x: number, y: number): number;

/**
 * Used with _BEGIN_TEXT_COMMAND_WIDTH.
 * In scripts, p0 is false when used in combination with "ESMINDOLLA" or "ESDOLLA", otherwise it's true.
 * Returns from range 0 to 1.
 */
declare function EndTextCommandGetWidth(p0: boolean): number;
/**
 * Used with _BEGIN_TEXT_COMMAND_WIDTH.
 * In scripts, p0 is false when used in combination with "ESMINDOLLA" or "ESDOLLA", otherwise it's true.
 * Returns from range 0 to 1.
 */
declare function GetTextScreenWidth(p0: boolean): number;

declare function EndTextCommandIsMessageDisplayed(): number;
declare function N_0x8a9ba1ab3e237613(): number;

declare function EndTextCommandIsThisHelpMessageBeingDisplayed(p0: number): number;
declare function N_0x10bddbfc529428dd(p0: number): number;

/**
 * p0 is always false in scripts.
 */
declare function EndTextCommandObjective(p0: boolean): void;
/**
 * p0 is always false in scripts.
 */
declare function N_0xcfdbdf5ae59ba0f4(p0: boolean): void;

/**
 * NativeDB Parameter 0: int p0
 */
declare function EndTextCommandOverrideButtonText(p0: boolean): void;
/**
 * NativeDB Parameter 0: int p0
 */
declare function N_0xa86911979638106f(p0: boolean): void;
/**
 * NativeDB Parameter 0: int p0
 */
declare function EndTextCommandTimer(p0: 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 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;

/**
 * Previously called _END_TEXT_COMPONENT
 */
declare function EndTextCommandScaleformString(): void;
/**
 * Previously called _END_TEXT_COMPONENT
 */
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;

/**
 * Example, only occurrence in the scripts:
 * UI::_8EFCCF6EC66D85E4(&v_23, &v_13, &v_13, 1, v_34);
 */
declare function EndTextCommandThefeedPostCrewRankup(chTitle: string, clanTxd: string, clanTxn: string, isImportant: boolean, showSubtitle: boolean): number;
/**
 * Example, only occurrence in the scripts:
 * UI::_8EFCCF6EC66D85E4(&v_23, &v_13, &v_13, 1, v_34);
 */
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;

/**
 * Needs more research.
 * Only one type of usage in the scripts:
 * ```
 * UI::_SET_NOTIFICATION_MESSAGE_3("CHAR_ACTING_UP", "CHAR_ACTING_UP", 0, 0, "DI_FEED_CHAR", a_0);
 * ```
 * Example result:
 * ![](https://i.imgur.com/UglK7Gq.png)
 */
declare function EndTextCommandThefeedPostMessagetextEntry(picTxd: string, picTxn: string, flash: boolean, iconType: number, entryText: string, text: string): number;
/**
 * Needs more research.
 * Only one type of usage in the scripts:
 * ```
 * UI::_SET_NOTIFICATION_MESSAGE_3("CHAR_ACTING_UP", "CHAR_ACTING_UP", 0, 0, "DI_FEED_CHAR", a_0);
 * ```
 * Example result:
 * ![](https://i.imgur.com/UglK7Gq.png)
 */
declare function N_0xc6f580e4c94926ac(picTxd: string, picTxn: string, flash: boolean, iconType: number, entryText: string, text: string): number;
/**
 * Needs more research.
 * Only one type of usage in the scripts:
 * ```
 * UI::_SET_NOTIFICATION_MESSAGE_3("CHAR_ACTING_UP", "CHAR_ACTING_UP", 0, 0, "DI_FEED_CHAR", a_0);
 * ```
 * Example result:
 * ![](https://i.imgur.com/UglK7Gq.png)
 */
declare function SetNotificationMessage_3(picTxd: string, picTxn: string, flash: boolean, iconType: number, entryText: string, text: 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;

/**
 * Alias of 0x2ED7843F8F801023
 */
declare function EndTextCommandThefeedPostMpticker(isImportant: boolean, bHasTokens: boolean): number;
/**
 * Alias of 0x2ED7843F8F801023
 */
declare function DrawNotification_4(isImportant: 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
 * if you set type to 1, button accepts "~INPUT_SOMETHING~"
 * example:
 * UI::_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]] ]=UI::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING~","");
 * l_D1[2 -- [[1]] ]=UI::_DD6CB2CCE7C2735C(1,"~INPUT_SAVE_REPLAY_CLIP~","");
 * l_D1[1 -- [[1]] ]=UI::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING~","");
 * l_D1[2 -- [[1]] ]=UI::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING_SECONDARY~","");
 */
declare function EndTextCommandThefeedPostReplayInput(eType: number, sIcon: string, sSubtitle: string): number;
/**
 * returns a notification handle, prints out a notification like below:
 * type range: 0
 * if you set type to 1, button accepts "~INPUT_SOMETHING~"
 * example:
 * UI::_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]] ]=UI::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING~","");
 * l_D1[2 -- [[1]] ]=UI::_DD6CB2CCE7C2735C(1,"~INPUT_SAVE_REPLAY_CLIP~","");
 * l_D1[1 -- [[1]] ]=UI::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING~","");
 * l_D1[2 -- [[1]] ]=UI::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING_SECONDARY~","");
 */
declare function N_0xdd6cb2cce7c2735c(eType: number, sIcon: string, sSubtitle: string): number;
/**
 * returns a notification handle, prints out a notification like below:
 * type range: 0
 * if you set type to 1, button accepts "~INPUT_SOMETHING~"
 * example:
 * UI::_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]] ]=UI::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING~","");
 * l_D1[2 -- [[1]] ]=UI::_DD6CB2CCE7C2735C(1,"~INPUT_SAVE_REPLAY_CLIP~","");
 * l_D1[1 -- [[1]] ]=UI::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING~","");
 * l_D1[2 -- [[1]] ]=UI::_DD6CB2CCE7C2735C(1,"~INPUT_REPLAY_START_STOP_RECORDING_SECONDARY~","");
 */
declare function DrawNotificationWithButton(eType: number, sIcon: string, sSubtitle: 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;

/**
 * Removes all game feed posts and unfreezes (see 0xFDB423997FA30340) CGameStreamMgr
 */
declare function EndTextCommandThefeedPostTickerForced(isImportant: boolean, bHasTokens: boolean): number;
/**
 * Removes all game feed posts and unfreezes (see 0xFDB423997FA30340) CGameStreamMgr
 */
declare function DrawNotification_2(isImportant: 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;

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;

/**
 * Forces the ped to fall back and kills it.
 * It doesn't really explode the ped's head but it kills the ped
 */
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;

/**
 * Will change world AABB so that given point will be inside of the world limits.
 * Example:
 * You want world limits to be -9000<X<10000 -11000<Y<12000 and leave Z limits as is.
 * You should call this function two times:
 * _EXPAND_WORLD_LIMITS(-9000.0,-11000.0,30.0)
 * _EXPAND_WORLD_LIMITS(10000.0,12000.0,30.0)
 * 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;
/**
 * Will change world AABB so that given point will be inside of the world limits.
 * Example:
 * You want world limits to be -9000<X<10000 -11000<Y<12000 and leave Z limits as is.
 * You should call this function two times:
 * _EXPAND_WORLD_LIMITS(-9000.0,-11000.0,30.0)
 * _EXPAND_WORLD_LIMITS(10000.0,12000.0,30.0)
 * 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;
/**
 * Will change world AABB so that given point will be inside of the world limits.
 * Example:
 * You want world limits to be -9000<X<10000 -11000<Y<12000 and leave Z limits as is.
 * You should call this function two times:
 * _EXPAND_WORLD_LIMITS(-9000.0,-11000.0,30.0)
 * _EXPAND_WORLD_LIMITS(10000.0,12000.0,30.0)
 * 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(): number;
declare function N_0xa75e2b6733da5142(): number;

declare function FacebookIsAvailable(): number;
declare function N_0x43865688ae10f0d7(): number;

declare function FacebookIsSendingData(): number;
declare function N_0x62b9fec9a11f10ef(): number;

/**
 * GTA Online character creation
 */
declare function FacebookSetCreateCharacterComplete(): number;
/**
 * GTA Online character creation
 */
declare function N_0xdc48473142545431(): number;

declare function FacebookSetHeistComplete(heistName: string, cashEarned: number, xpEarned: number): number;
declare function N_0x098ab65b9ed9a9ec(heistName: string, cashEarned: number, xpEarned: number): number;

/**
 * milestoneId:
 * 0 = "percentcomplete"
 * 1 = "storycomplete"
 * 2 = "vehicles"
 * 3 = "properties"
 * 4 = "psych"
 * 5 = "mapreveal"
 * 6 = "prologue"
 */
declare function FacebookSetMilestoneComplete(milestoneId: number): number;
/**
 * milestoneId:
 * 0 = "percentcomplete"
 * 1 = "storycomplete"
 * 2 = "vehicles"
 * 3 = "properties"
 * 4 = "psych"
 * 5 = "mapreveal"
 * 6 = "prologue"
 */
declare function N_0x0ae1f1653b554ab9(milestoneId: number): number;

/**
 * Fades nearby decals within the range specified
 */
declare function FadeDecalsInRange(p0: number, p1: number, p2: number, p3: number, p4: 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): [number, number];

declare function FilloutPmPlayerListWithNames(p2: number, p3: number): [number, number, number];

/**
 * ```
 * 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): [number, number, number];

// Return is unknown[] due to pointer value being input of the function
declare function FindFirstObject(outEntity?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function FindFirstPed(outEntity?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function FindFirstPickup(outEntity?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function FindFirstVehicle(outEntity?: number): unknown[];

declare function FindKvp(handle: number): string;

// Return is unknown[] due to pointer value being input of the function
declare function FindNextObject(findHandle: number, outEntity?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function FindNextPed(findHandle: number, outEntity?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function FindNextPickup(findHandle: number, outEntity?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function FindNextVehicle(findHandle: number, outEntity?: number): unknown[];

declare function FindRadioStationIndex(station: 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.
 * =======================================================
 * I may sort this with alter research, but if someone
 * already knows please tell what the difference in
 * X2, Y2, Z2 is. I doubt it's rotation. Is it like
 * checkpoints where X1, Y1, Z1 is your/a position and
 * X2, Y2, Z2 is a given position ahead of that position?
 * =======================================================
 */
declare function FindSpawnPointInDirection(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, distance: number): [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;

/**
 * int index = 0 to 13
 * 0 = front right window
 * 1 = front left window
 * 2 = rear right window
 * 3 = rear left window
 * 4 = unsure
 * 5 = unsure
 * 6 = windowscreen
 * 7 = rear windowscreen
 * 8 = unsure
 * 9 = unsure
 * 10 = unsure
 * 11 = unsure
 * 12 = unsure
 * 13 = unsure
 * Additional information: `FIX_VEHICLE_WINDOW` (0x140D0BB88) references an array of bone vehicle indices (0x141D4B3E0) `{ 2Ah, 2Bh, 2Ch, 2Dh, 2Eh, 2Fh, 28h, 29h }` that correspond to: `window_lf`, `window_rf`, `window_lr`, `window_rr`, `window_lm`, `window_rm`, `windscreen`, `windscreen_r`. This array is used by most vehwindow natives.
 * Also, this function is coded to not work on vehicles of type: `CBike`, `Bmx`, `CBoat`, `CTrain`, and `CSubmarine`.
 */
declare function FixVehicleWindow(vehicle: number, index: number): number;

declare function FlagPlayerContextInTournament(toggle: boolean): void;
declare function N_0xcef214315d276fd1(toggle: boolean): void;
declare function SetIsInTournament(toggle: boolean): void;

/**
 * If set to true ability bar will flash
 * ```
 * ```
 * NativeDB Parameter 0: int millisecondsToFlash
 */
declare function FlashAbilityBar(millisecondsToFlash: boolean): 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;

/**
 * NativeDB Return Type: void
 */
declare function FlashWantedDisplay(p0: boolean): number;

declare function Floor(value: number): number;

/**
 * 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;

/**
 * Hides the hud element displayed by _0x523A590C1A3CC0D3
 */
declare function ForceCloseReportugcMenu(): void;
/**
 * Hides the hud element displayed by _0x523A590C1A3CC0D3
 */
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;

/**
 * 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,
 * }
 * ```
 * ```
 * NativeDB Parameter 3: int p3
 */
declare function ForcePedMotionState(ped: number, motionStateHash: string | number, p2: boolean, p3: boolean, p4: boolean): number;

declare function ForcePedToOpenParachute(ped: number): void;

/**
 * Name verified in RDR3 gamecode
 */
declare function ForcePickupRegenerate(p0: number): void;
/**
 * Name verified in RDR3 gamecode
 */
declare function N_0x758a5c1b3b1e1990(p0: number): 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 audioName (p1).
 * Use the audioNameHash found in vehicles.meta
 * Example:
 * _FORCE_VEHICLE_ENGINE_SOUND(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 audioName (p1).
 * Use the audioNameHash found in vehicles.meta
 * Example:
 * _FORCE_VEHICLE_ENGINE_SOUND(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 audioName (p1).
 * Use the audioNameHash found in vehicles.meta
 * Example:
 * _FORCE_VEHICLE_ENGINE_SOUND(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 FormatFocusHeading(x: number, y: number, z: number, rad: number, p4: number, p5: number): number;
declare function N_0x219c7b8d53e429fd(x: number, y: number, z: number, rad: number, p4: number, p5: number): number;

/**
 * ```
 * No, this should be called SET_ENTITY_KINEMATIC. It does more than just "freeze" it's position.
 * ^Rockstar Devs named it like that, Now cry about it.
 * ```
 * 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;

/**
 * Usage example:
 * Public Function GenerateDirectionsToCoord(Pos As Vector3) As Tuple(Of String, Single, Single)
 * Dim f4, f5, f6 As New OutputArgument()
 * Native.Function.Call(Hash.GENERATE_DIRECTIONS_TO_COORD, Pos.X, Pos.Y, Pos.Z, True, f4, f5, f6)
 * Dim direction As String = f4.GetResult(Of Single)()
 * Return New Tuple(Of String, Single, Single)(direction.Substring(0, 1), f5.GetResult(Of Single)(), f6.GetResult(Of Single)())
 * End Function
 * p3 I use 1
 * direction:
 * 0 = You Have Arrived
 * 1 = Recalculating Route, Please make a u-turn where safe
 * 2 = Please Proceed the Highlighted Route
 * 3 = In (distToNxJunction) Turn Left
 * 4 = In (distToNxJunction) Turn Right
 * 5 = In (distToNxJunction) Go Straight
 * 6 = In (distToNxJunction) Keep Left
 * 7 = In (distToNxJunction) Keep Right
 * 8 = In (distToNxJunction) Join the freeway
 * 9 = In (distToNxJunction) Exit Freeway
 * return value set to 0 always
 */
declare function GenerateDirectionsToCoord(x: number, y: number, z: number, p3: boolean): [number, number, number, number];

declare function GetAchievementProgression(achievement: number): number;
declare function N_0x1c186837d0619335(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];

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;

/**
 * NativeDB Return Type: Blip
 */
declare function GetAiBlip_2(ped: number): void;
/**
 * NativeDB Return Type: Blip
 */
declare function N_0x7cd934010e115c2c(ped: number): void;

/**
 * NativeDB Parameter 0: int* vehArray
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetAllVehicles(vehArray?: number): unknown[];

declare function GetAllocatedStackSize(): number;

/**
 * Returns profile setting 17.
 */
declare function GetAllowMovementWhileZoomed(): number;
/**
 * Returns profile setting 17.
 */
declare function N_0xfc859e2374407556(): number;

/**
 * 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;

/**
 * NativeDB Return Type: Hash
 */
declare function GetAmbientVoiceNameHash(ped: number): number;
/**
 * NativeDB Return Type: Hash
 */
declare function N_0x5e203da2ba15d436(ped: number): number;

// Return is unknown[] due to pointer value being input of the function
declare function GetAmmoInClip(ped: number, weaponHash: string | number, ammo?: number): unknown[];

/**
 * 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;

/**
 * Returns the degree of angle between (x1, y1) and (x2, y2) lines in 2D coordinate system.
 */
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;

/**
 * This line found 48 times in the scripts:
 * GAMEPLAY::_B335F761606DB47C(&v_4, &v_7, a_0, v_A);
 */
declare function GetBaseElementMetadata(p3: number, p4: boolean): [number, number, number];
/**
 * This line found 48 times in the scripts:
 * GAMEPLAY::_B335F761606DB47C(&v_4, &v_7, a_0, v_A);
 */
declare function N_0xb335f761606db47c(p3: number, p4: boolean): [number, 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;

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
 * 2
 * 3
 * 4
 * 5
 * 6
 * 7
 */
declare function GetBlipInfoIdType(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;

declare function GetCamAnimCurrentPhase(cam: number): number;

declare function GetCamCoord(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;

/**
 * The last parameter, as in other "ROT" methods, is usually 2.
 */
declare function GetCamRot(cam: number, rotationOrder: number): number[];

/**
 * I named the beginning from Any to BOOL as this native is used in an if statement as well.
 * Big surprise it returns an int.
 */
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;

/**
 * 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): [number, 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): [number, 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): [number, 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
 * Setting p4 to 0 does not return coords in the middle of the closest asphalt road. Seems to be the closest major road, doesn't matter the type. I used coords near N. Calafia Way, which is a dirt road, the dirt road was returned.
 */
declare function GetClosestVehicleNode(x: number, y: number, z: number, nodeType: number, p5: number, p6: number): [number, 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): [number, 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;

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): number;
declare function N_0xca94551b50b4932c(index: number): number;

/**
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function GetControlGroupInstructionalButton(padIndex: number, controlGroup: number, p2: boolean): string;
/**
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
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.
 * ```
 * ```
 * NativeDB Parameter 2: BOOL p2
 */
declare function GetControlInstructionalButton(padIndex: number, control: number, p2: number): 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.
 * ```
 * ```
 * NativeDB Parameter 2: BOOL p2
 */
declare function N_0x0499d7b09fc9b407(padIndex: number, control: number, p2: number): string;

/**
 * Returns the value of CONTROLS::GET_CONTROL_VALUE Normalized (ie a real number value between -1 and 1)
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function GetControlNormal(padIndex: number, control: number): number;

/**
 * Seems to return values between -1 and 1 for controls like gas and steering.
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function GetControlUnboundNormal(padIndex: number, control: number): number;
/**
 * Seems to return values between -1 and 1 for controls like gas and steering.
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function N_0x5b84d09cec5209c5(padIndex: number, control: number): number;

/**
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function GetControlValue(padIndex: number, control: number): number;

declare function GetConvar(varName: string, default_: string): string;

declare function GetConvarInt(varName: string, default_: number): number;

/**
 * 0 -> up
 * 1 -> lowering down
 * 2 -> down
 * 3 -> raising up
 * enum RoofState
 * {
 * ROOFSTATE_UP = 0;
 * ROOFSTATE_LOWERING,
 * ROOFSTATE_DOWN,
 * ROOFSTATE_RAISING
 * };
 */
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[]];

/**
 * NativeDB Return Type: Vector3
 */
declare function GetCoordsOfProjectileTypeInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, projHash: string | number, ownedByPlayer: boolean): [number, number[]];
/**
 * NativeDB Return Type: Vector3
 */
declare function N_0x8d7a43ec6a5fea45(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, projHash: string | number, ownedByPlayer: boolean): [number, number[]];
/**
 * NativeDB Return Type: Vector3
 */
declare function GetIsProjectileTypeInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, projHash: string | number, ownedByPlayer: boolean): [number, number[]];

/**
 * NativeDB Parameter 3: Entity* entity
 * NativeDB Return Type: Vector3
 */
declare function GetCoordsOfProjectileTypeWithinDistance(ped: number, weaponHash: string | number, radius: number, ownedByPlayer: boolean): [number, number[]];
/**
 * NativeDB Parameter 3: Entity* entity
 * NativeDB Return Type: Vector3
 */
declare function N_0xdfb4138eefed7b81(ped: number, weaponHash: string | number, radius: number, ownedByPlayer: boolean): [number, number[]];
/**
 * NativeDB Parameter 3: Entity* entity
 * NativeDB Return Type: Vector3
 */
declare function GetProjectileNearPedCoords(ped: number, weaponHash: string | number, radius: number, ownedByPlayer: boolean): [number, number[]];

/**
 * if (UI::_2309595AD6145265() == ${fe_menu_version_empty_no_background})
 * Seems to get the current frontend menu
 */
declare function GetCurrentFrontendMenuVersion(): number;
/**
 * if (UI::_2309595AD6145265() == ${fe_menu_version_empty_no_background})
 * Seems to get the current frontend menu
 */
declare function N_0x2309595ad6145265(): number;
/**
 * if (UI::_2309595AD6145265() == ${fe_menu_version_empty_no_background})
 * Seems to get the current frontend menu
 */
declare function GetCurrentFrontendMenu(): number;

/**
 * american = 0
 * french = 1
 * german = 2
 * italian =3
 * spanish = 4
 * portuguese = 5
 * polish = 6
 * russian = 7
 * korean = 8
 * chinesetraditional = 9
 * japanese = 10
 * mexican = 11
 * chinesesimplified = 12
 */
declare function GetCurrentLanguage(): number;
/**
 * american = 0
 * french = 1
 * german = 2
 * italian =3
 * spanish = 4
 * portuguese = 5
 * polish = 6
 * russian = 7
 * korean = 8
 * chinesetraditional = 9
 * japanese = 10
 * mexican = 11
 * chinesesimplified = 12
 */
declare function GetUiLanguageId(): number;
/**
 * american = 0
 * french = 1
 * german = 2
 * italian =3
 * spanish = 4
 * portuguese = 5
 * polish = 6
 * russian = 7
 * korean = 8
 * chinesetraditional = 9
 * japanese = 10
 * mexican = 11
 * chinesesimplified = 12
 */
declare function GetCurrentLanguageId(): number;

/**
 * GET_CURRENT_*
 */
declare function GetCurrentNumberOfPhotos(): number;
/**
 * GET_CURRENT_*
 */
declare function N_0x473151ebc762c6da(): number;
/**
 * GET_CURRENT_*
 */
declare function GetNumberOfPhotos(): number;

// Return is unknown[] due to pointer value being input of the function
declare function GetCurrentPedVehicleWeapon(ped: number, weaponHash?: number): unknown[];

/**
 * 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): [number, number];

declare function GetCurrentPedWeaponEntityIndex(ped: number): number;

declare function GetCurrentPlaybackForVehicle(vehicle: number): 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;

/**
 * native only found once in appinternet.c4
 * same thing as this but does not need websiteID
 * Any _0xE3B05614DCE1D014(Any p0) // 0xE3B05614DCE1D014 0xD217EE7E
 * returns current websitePageID
 */
declare function GetCurrentWebpageId(): number;
/**
 * native only found once in appinternet.c4
 * same thing as this but does not need websiteID
 * Any _0xE3B05614DCE1D014(Any p0) // 0xE3B05614DCE1D014 0xD217EE7E
 * returns current websitePageID
 */
declare function N_0x01a358d9128b7a86(): number;
/**
 * native only found once in appinternet.c4
 * same thing as this but does not need websiteID
 * Any _0xE3B05614DCE1D014(Any p0) // 0xE3B05614DCE1D014 0xD217EE7E
 * returns current websitePageID
 */
declare function GetActiveWebsiteId(): number;

declare function GetCurrentWebsiteId(): number;

/**
 * Jenkins hash probably is 0xFD8B1AC2
 */
declare function GetCutFileNumSections(cutsceneName: string): number;
/**
 * Jenkins hash probably is 0xFD8B1AC2
 */
declare function N_0x0abc54de641dc0fc(cutsceneName: string): number;

declare function GetCutsceneSectionPlaying(): number;

declare function GetCutsceneTime(): number;

declare function GetCutsceneTotalDuration(): 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(unixEpoch: number, timeStructure: number): void;

declare function GetDeadPedPickupCoords(ped: number, p1: number, p2: number): 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;

/**
 * control - c# works with (int)GTA.Control.CursorY / (int)GTA.Control.CursorX and returns the mouse movement (additive).
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function GetDisabledControlNormal(padIndex: number, control: number): number;

/**
 * The "disabled" variant of _0x5B84D09CEC5209C5.
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function GetDisabledControlUnboundNormal(padIndex: number, control: number): number;
/**
 * The "disabled" variant of _0x5B84D09CEC5209C5.
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
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 UI::_GET_LABEL_TEXT, you can get the localized name.
 * For a full list, see here: pastebin.com/wvpyS4kS (pastebin.com/dA3TbkZw)
 */
declare function GetDisplayNameFromVehicleModel(modelHash: string | number): string;

/**
 * Returns the distance between two three-dimensional points, optionally ignoring the Z values.
 * You'll most likely want to use your language's native vector functionality instead.
 * @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;

/**
 * dlcVehicleIndex takes a number from 0 - GET_NUM_DLC_VEHICLES() - 1.
 * outData is a struct of 3 8-byte items.
 * The Second item in the struct *(Hash *)(outData + 1) is the vehicle hash.
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetDlcVehicleData(dlcVehicleIndex: number, outData?: number): unknown[];

declare function GetDlcVehicleFlags(dlcVehicleIndex: number): number;

/**
 * Use _GET_VEHICLE_MOD_DATA for modData
 * Appears to be a GET_DLC_VEHICLE_MOD_* native.
 * ```
 * ```
 * NativeDB Parameter 0: Hash hash
 * NativeDB Return Type: Hash
 */
declare function GetDlcVehicleModLockHash(hash: number): number;
/**
 * Use _GET_VEHICLE_MOD_DATA for modData
 * Appears to be a GET_DLC_VEHICLE_MOD_* native.
 * ```
 * ```
 * NativeDB Parameter 0: Hash hash
 * NativeDB Return Type: Hash
 */
declare function N_0xc098810437312fff(hash: 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];
 * };
 * ```
 * ```
 * NativeDB Parameter 2: int* ComponentDataPtr
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetDlcWeaponComponentData(dlcWeaponIndex: number, dlcWeapCompIndex: number, ComponentDataPtr?: number): unknown[];

/**
 * 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];
 * };
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetDlcWeaponData(dlcWeaponIndex: number, outData?: number): unknown[];

/**
 * NativeDB Introduced: v1604
 */
declare function GetDoesVehicleHaveTombstone(vehicle: number): number;

/**
 * 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;

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;

/**
 * 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;

declare function GetEntityCanBeDamaged(entity: number): number;
declare function N_0xd95cc5d2ab15a09f(entity: number): number;

declare function GetEntityCollisionDisabled(entity: number): number;
declare function N_0xccf1e97befdae480(entity: number): number;
declare function GetEntityCollisonDisabled(entity: number): number;

/**
 * Gets the current coordinates 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;

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. It could return a ped or an entity, but the scripts expect a ped, but still check if it's a ped.
 */
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. It could return a ped or an entity, but the scripts expect a ped, but still check if it's a ped.
 */
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;

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
 * Sometimes throws an exception, idk what causes it though.
 * @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.
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetEntityPlayerIsFreeAimingAt(player: number, entity?: number): unknown[];

/**
 * Gets an entity's population type.
 * **Valid population types:**
 * ```cpp
 * enum ePopulationType
 * {
 * POPTYPE_UNKNOWN = 0,
 * POPTYPE_RANDOM_PERMANENT,
 * POPTYPE_RANDOM_PARKED,
 * POPTYPE_RANDOM_PATROL,
 * POPTYPE_RANDOM_SCENARIO,
 * POPTYPE_RANDOM_AMBIENT,
 * POPTYPE_PERMANENT,
 * POPTYPE_MISSION,
 * POPTYPE_REPLAY,
 * POPTYPE_CACHE,
 * POPTYPE_TOOL
 * };
 * ```
 * @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): [number, 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.
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetEntityScript(entity: number, script?: number): unknown[];

/**
 * result is in meters per second
 * ------------------------------------------------------------
 * So would the conversion to mph and km/h, be along the lines of this.
 * float speed = GET_ENTITY_SPEED(veh);
 * float kmh = (speed * 3.6);
 * float mph = (speed * 2.236936);
 */
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
 * This is weird, because in memory atleast on xbox360 it stores it from testing with a variety of (ped, vehicle, and objects).
 * 03
 * 04
 * 05
 * The above is more then likely true for the native's return, but if you were to skip using the native it's a bit weird it returns different results.
 */
declare function GetEntityType(entity: number): number;

declare function GetEntityUprightValue(entity: number): number;

/**
 * the unit is m/s along each axis
 * GET_ENTITY_VELOCITY(aEntity) is the same as GET_ENTITY_SPEED_VECTOR(aEntity,false)
 */
declare function GetEntityVelocity(entity: number): number[];

declare function GetEntryPositionOfDoor(vehicle: number, doorIndex: number): number[];

/**
 * eventGroup: 0 = CEventGroupScriptAI, 1 = CEventGroupScriptNetwork
 */
declare function GetEventAtIndex(eventGroup: number, eventIndex: number): number;

/**
 * eventGroup: 0 = CEventGroupScriptAI, 1 = CEventGroupScriptNetwork
 */
declare function GetEventData(eventGroup: number, eventIndex: number, argStructSize: number): [number, number];

/**
 * eventGroup: 0 = CEventGroupScriptAI, 1 = CEventGroupScriptNetwork
 */
declare function GetEventExists(eventGroup: number, eventIndex: number): number;

declare function GetExtraContentPackHasBeenInstalled(): number;
declare function N_0x8d30f648014a92b5(): number;

/**
 * See [`GetTimecycleModifierIndex`](#\_0xFDF3D97C674AFB66) for use, works the same just for the secondary timecycle modifier.
 * @return An integer representing the Timecycle modifier
 */
declare function GetExtraTimecycleModifierIndex(): number;
/**
 * See [`GetTimecycleModifierIndex`](#\_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[];

/**
 * 8 = waypoint
 */
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;

/**
 * Returns
 * 0 - Third Person Close
 * 1 - Third Person Mid
 * 2 - Third Person Far
 * 4 - First Person
 */
declare function GetFollowPedCamViewMode(): number;

declare function GetFollowPedCamZoomLevel(): number;

/**
 * Returns the type of camera:
 * 0 - Third Person Close
 * 1 - Third Person Mid
 * 2 - Third Person Far
 * 4 - First Person
 */
declare function GetFollowVehicleCamViewMode(): number;

declare function GetFollowVehicleCamZoomLevel(): number;

/**
 * NativeDB Parameter 2: Hash* nameHash
 * NativeDB Parameter 3: int* enumValue
 * NativeDB Parameter 4: int* componentType
 */
declare function GetForcedComponent(componentHash: string | number, componentId: number): [number, number, number];

/**
 * NativeDB Parameter 0: Hash componentHash
 * NativeDB Parameter 1: int forcedPropIndex
 * NativeDB Parameter 2: Hash* nameHash
 * NativeDB Parameter 3: int* enumValue
 * NativeDB Parameter 4: int* anchorPoint
 */
declare function GetForcedProp(componentHash: number, forcedPropIndex: number): [number, number, number];
/**
 * NativeDB Parameter 0: Hash componentHash
 * NativeDB Parameter 1: int forcedPropIndex
 * NativeDB Parameter 2: Hash* nameHash
 * NativeDB Parameter 3: int* enumValue
 * NativeDB Parameter 4: int* anchorPoint
 */
declare function N_0xe1ca84ebf72e691d(componentHash: number, forcedPropIndex: number): [number, number, number];

declare function GetFrameCount(): number;

declare function GetFrameTime(): number;

/**
 * Returns all pool handles for the given pool name; the data returned adheres to the following layout:
 * ```
 * [ 770, 1026, 1282, 1538, 1794, 2050, 2306, 2562, 2818, 3074, 3330, 3586, 3842, 4098, 4354, 4610, ...]
 * ```
 * ### Supported Pools
 * **1**: CPed\
 * **2**: CObject\
 * **3**: CVehicle\
 * **4**: CPickup
 * @return An object containing a list of all pool handles
 */
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[];

/**
 * it returns a reference to an empty string, the same empty string that's used by 1687 internal gta functions.   if it was used in a script (and i cannot find an instance of it being used), it would be as the source for a StringCopy or somesuch.
 */
declare function GetGlobalCharBuffer(): string;
/**
 * it returns a reference to an empty string, the same empty string that's used by 1687 internal gta functions.   if it was used in a script (and i cannot find an instance of it being used), it would be as the source for a StringCopy or somesuch.
 */
declare function N_0x24da7d7667fd7b09(): string;

declare function GetGpsBlipRouteFound(): number;
declare function N_0x869daacbbe9fa006(): number;

declare function GetGpsBlipRouteLength(): number;
declare function N_0xbbb45c3cf5c8aa85(): number;

declare function GetGroundZAndNormalFor_3dCoord(x: number, y: number, z: number): [number, number, number[]];
declare function N_0x8bdc7bfc57a81e76(x: number, y: number, z: number): [number, number, number[]];
declare function GetGroundZCoordWithOffsets(x: number, y: number, z: number): [number, number, number[]];

/**
 * Gets the ground elevation at the specified position. Note that if the specified position is below ground level, the function will output zero! Bear in mind this native can only calculate the elevation when the coordinates are within the client's render distance.
 * x: Position on the X-axis to get ground elevation at.
 * y: Position on the Y-axis to get ground elevation at.
 * z: Position on the Z-axis to get ground elevation at.
 * groundZ: The ground elevation at the specified position.
 * unk: Nearly always 0, very rarely 1 in the scripts.
 * ```
 * ```
 * NativeDB Added Parameter 6: BOOL p5
 */
declare function GetGroundZFor_3dCoord(x: number, y: number, z: number, unk: boolean): [number, number];

/**
 * NativeDB Added Parameter 6: BOOL p5
 */
declare function GetGroundZFor_3dCoord_2(x: number, y: number, z: number, p4: boolean): [number, number];
/**
 * NativeDB Added Parameter 6: BOOL p5
 */
declare function N_0x9e82f0f362881b29(x: number, y: number, z: number, p4: boolean): [number, number];

/**
 * p1 may be a BOOL representing whether or not the group even exists
 */
declare function GetGroupSize(groupID: number): [number, number];

/**
 * Gets the (case-insensitive, lower-cased) hash value for the passed string. This uses the 'Jenkins one-at-a-time' hashing
 * algorithm.
 * @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
 * dy = y1
 */
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): [number, 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): [number, 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): [number, 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;

/**
 * Returns the interior ID at the given coords, but only if the unknown variable is set to 0, otherwise it will return 0.
 * ```
 * ```
 * NativeDB Parameter 3: Hash typeHash
 */
declare function GetInteriorAtCoordsWithTypehash(x: number, y: number, z: number, typeHash: number): number;
/**
 * Returns the interior ID at the given coords, but only if the unknown variable is set to 0, otherwise it will return 0.
 * ```
 * ```
 * NativeDB Parameter 3: Hash typeHash
 */
declare function N_0xf0f77adb9f67e79d(x: number, y: number, z: number, typeHash: number): number;
/**
 * Returns the interior ID at the given coords, but only if the unknown variable is set to 0, otherwise it will return 0.
 * ```
 * ```
 * NativeDB Parameter 3: Hash typeHash
 */
declare function UnkGetInteriorAtCoords(x: number, y: number, z: number, typeHash: 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 GetInteriorFromGameplayCam(): number;
/**
 * NativeDB Introduced: v1604
 */
declare function N_0xe7d267ec6ca966c3(): 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;

/**
 * GET_INTERIOR_*
 * 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 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): number;
/**
 * NativeDB Introduced: v1604
 */
declare function N_0x43c677f1e1158005(entity: number, p1: number): number;

/**
 * Returns true if profile setting 208 is equal to 0.
 */
declare function GetIsAutoSaveOff(): number;
/**
 * Returns true if profile setting 208 is equal to 0.
 */
declare function N_0x6e04f06094c87047(): number;

/**
 * false = Any resolution < 1280x720
 * true = Any resolution >= 1280x720
 */
declare function GetIsHidef(): number;

/**
 * From the driver's perspective, is the left headlight broken.
 */
declare function GetIsLeftVehicleHeadlightDamaged(vehicle: number): number;
/**
 * From the driver's perspective, is the left headlight broken.
 */
declare function IsHeadlightLBroken(vehicle: number): number;

declare function GetIsLoadingScreenActive(): number;

/**
 * gadgetHash - was always 0xFBAB5776 ("GADGET_PARACHUTE").
 */
declare function GetIsPedGadgetEquipped(ped: number, gadgetHash: string | number): number;

/**
 * only documented. to be continued...
 */
declare function GetIsPetrolDecalInRange(xCoord: number, yCoord: number, zCoord: number, radius: number): number;
/**
 * only documented. to be continued...
 */
declare function N_0x2f09f7976c512404(xCoord: number, yCoord: number, zCoord: number, radius: number): number;

/**
 * Although we don't have a jenkins hash for this one, the name is 100% confirmed.
 */
declare function GetIsPlayerInAnimalForm(): number;
/**
 * Although we don't have a jenkins hash for this one, the name is 100% confirmed.
 */
declare function N_0x9689123e3f213aa5(): number;

declare function GetIsPreloadedConversationReady(): number;
declare function N_0xe73364db90778ffa(): number;

/**
 * From the driver's perspective, is the right headlight broken.
 */
declare function GetIsRightVehicleHeadlightDamaged(vehicle: number): number;
/**
 * From the driver's perspective, is the right headlight broken.
 */
declare function IsHeadlightRBroken(vehicle: number): number;

/**
 * NativeDB Introduced: v1290
 */
declare function GetIsSubmarineVehicleTransformed(vehicle: number): number;

/**
 * from docks_heistb.c4:
 * AI::GET_IS_TASK_ACTIVE(PLAYER::PLAYER_PED_ID(), 2))
 * Known Tasks: pastebin.com/2gFqJ3Px
 */
declare function GetIsTaskActive(ped: number, taskIndex: number): number;

/**
 * Returns profile setting 225.
 */
declare function GetIsUsingAlternateDriveby(): number;
/**
 * Returns profile setting 225.
 */
declare function N_0x0f70731baccfbb96(): number;

/**
 * Returns whether this vehicle is currently disabled by an EMP mine.
 * NativeDB Introduced: v1604
 */
declare function GetIsVehicleEmpDisabled(vehicle: number): number;

/**
 * Returns true when in a vehicle, false whilst entering/exiting.
 */
declare function GetIsVehicleEngineRunning(vehicle: number): number;
/**
 * Returns true when in a vehicle, false whilst entering/exiting.
 */
declare function IsVehicleEngineOn(vehicle: number): number;

declare function GetIsVehiclePrimaryColourCustom(vehicle: number): number;

/**
 * Check if Vehicle Secondary is avaliable for customize
 */
declare function GetIsVehicleSecondaryColourCustom(vehicle: number): number;

/**
 * NativeDB Introduced: v1604
 */
declare function GetIsVehicleShuntBoostActive(vehicle: number): number;

/**
 * For a full list, see here: pastebin.com/Tp0XpBMN
 */
declare function GetIsWaypointRecordingLoaded(name: string): number;

declare function GetIsWheelsLoweredStateActive(vehicle: number): number;
declare function N_0x1da0da9cb3f0c8bf(vehicle: number): number;

/**
 * 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(): number;

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.
 */
declare function GetLabelText(labelName: string): string;

/**
 * ```
 * Landing gear states:
 * 0: Deployed
 * 1: Closing (Retracting)
 * 3: Opening (Deploying)
 * 4: Retracted
 * ```
 * 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
 * ```
 * 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;

/**
 * Not exactly sure on this one, but here's a snippet of code:
 * if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0)) {
 * v_2 = PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0);
 * } else {
 * v_2 = VEHICLE::_B2D06FAEDE65B577();
 * }
 */
declare function GetLastDrivenVehicle(): number;
/**
 * Not exactly sure on this one, but here's a snippet of code:
 * if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), 0)) {
 * v_2 = PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0);
 * } else {
 * v_2 = VEHICLE::_B2D06FAEDE65B577();
 * }
 */
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;

/**
 * gets the length of a null terminated string, without checking unicode encodings
 */
declare function GetLengthOfLiteralStringInBytes(_string: string): number;
/**
 * gets the length of a null terminated string, without checking unicode encodings
 */
declare function N_0x43e4111189e54f0e(_string: string): number;
/**
 * gets the length of a null terminated string, without checking unicode encodings
 */
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;

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 GetMainPlayerBlipId(): number;

/**
 * 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): [number, number, number, number, number, number];

// Return is unknown[] due to pointer value being input of the function
declare function GetMaxAmmo(ped: number, weaponHash: string | number, ammo?: number): unknown[];

/**
 * NativeDB Parameter 1: Hash ammoType
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetMaxAmmoByType(ped: number, ammoType: number, ammo?: number): unknown[];
/**
 * NativeDB Parameter 1: Hash ammoType
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0x585847c5e4e11709(ped: number, ammoType: number, ammo?: number): unknown[];
/**
 * NativeDB Parameter 1: Hash ammoType
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetMaxAmmo_2(ped: number, ammoType: number, ammo?: number): unknown[];

/**
 * 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 is the "actual" GET_MAXIMUM_NUMBER_OF_PHOTOS native. Always returns 96.
 */
declare function GetMaximumNumberOfCloudPhotos(): number;
/**
 * This is the "actual" GET_MAXIMUM_NUMBER_OF_PHOTOS native. Always returns 96.
 */
declare function N_0xdc54a7af8b3a14ef(): number;
/**
 * This is the "actual" GET_MAXIMUM_NUMBER_OF_PHOTOS native. Always returns 96.
 */
declare function GetMaximumNumberOfPhotos_2(): number;

/**
 * This function is hard-coded to always return 0.
 * Limit is 96, see _GET_MAXIMUM_NUMBER_OF_PHOTOS_2 (0xDC54A7AF8B3A14EF).
 */
declare function GetMaximumNumberOfPhotos(): number;

declare function GetMeleeTargetForPed(ped: number): 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): number;
declare function N_0x6e31b91145873922(x: number, y: number, z: number): number;
declare function IsMinimapAreaRevealed(x: number, y: number, z: number): number;

declare function GetMinimapFowDiscoveryRatio(): number;
declare function N_0xe0130b41d3cf4574(): number;
declare function GetMinimapRevealPercentage(): number;

declare function GetMissionFlag(): number;

declare function GetMobilePhonePosition(): number[];

declare function GetMobilePhoneRenderId(renderId: number): void;

declare function GetMobilePhoneRotation(p1: number): number[];

/**
 * Returns the name for the type of vehicle mod(Armour, engine etc)
 * -----------
 * for some reason this native seems unreliable: sometimes returns NULL, and when retval != NULL the string can be empty
 */
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
 */
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.
 * Vector3 GetDimensions(Hash model)
 * {
 * Vector3 right, left;
 * GET_MODEL_DIMENSIONS(model, &right, &left);
 * return Vector3::Subtract(left, right);
 * }
 * Example from the scripts: GAMEPLAY::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;

/**
 * The reversed code looks like this (Sasuke78200)
 * //
 * char g_szScriptName[64];
 * char* _0xBE7ACD89(int a_iThreadID)
 * {
 * scrThread* l_pThread;
 * // Get the script thread
 * l_pThread = GetThreadByID(a_iThreadID);
 * if(l_pThread == 0 || l_pThread->m_iThreadState == 2)
 * {
 * strncpy(g_szScriptName, "", 64);
 * }
 * else
 * {
 * strncpy(g_szScriptName, l_pThread->m_szScriptName, 64);
 * }
 * return g_szScriptName;
 * }
 */
declare function GetNameOfThread(threadId: number): string;
/**
 * The reversed code looks like this (Sasuke78200)
 * //
 * char g_szScriptName[64];
 * char* _0xBE7ACD89(int a_iThreadID)
 * {
 * scrThread* l_pThread;
 * // Get the script thread
 * l_pThread = GetThreadByID(a_iThreadID);
 * if(l_pThread == 0 || l_pThread->m_iThreadState == 2)
 * {
 * strncpy(g_szScriptName, "", 64);
 * }
 * else
 * {
 * strncpy(g_szScriptName, l_pThread->m_szScriptName, 64);
 * }
 * return g_szScriptName;
 * }
 */
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
 */
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 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;

/**
 * Returns weather name hash
 */
declare function GetNextWeatherTypeHashName(): number;
/**
 * Returns weather name hash
 */
declare function GetNextWeatherType(): number;

/**
 * Needs more research. Gets the stat name of a masked bool?
 * p4 - Usually "_NGPSTAT_BOOL" or "_NGTATPSTAT_BOOL". There may be more that I missed.
 */
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?
 * p4 - Usually "_NGPSTAT_BOOL" or "_NGTATPSTAT_BOOL". There may be more that I missed.
 */
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?
 * p4 - Usually one of the following (there may be more that I missed):
 * -----> "_APAPSTAT_INT"
 * -----> "_LRPSTAT_INT"
 * -----> "_NGPSTAT_INT"
 * -----> "_MP_APAPSTAT_INT"
 * -----> "_MP_LRPSTAT_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?
 * p4 - Usually one of the following (there may be more that I missed):
 * -----> "_APAPSTAT_INT"
 * -----> "_LRPSTAT_INT"
 * -----> "_NGPSTAT_INT"
 * -----> "_MP_APAPSTAT_INT"
 * -----> "_MP_LRPSTAT_INT"
 */
declare function N_0x2b4cdca6f07ff3da(index: number, spStat: boolean, charStat: boolean, character: number, section: string): number;

declare function GetNoLoadingScreen(): number;
declare function GetNoLoadingScreen(): number;

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): [number, 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): [number, number[], number];

/**
 * Returns the id.
 */
declare function GetNthClosestVehicleNodeId(x: number, y: number, z: number, nth: number, nodetype: number, p5: number, p6: number): number;

/**
 * NativeDB Parameter 5: float* outHeading
 * NativeDB Return Type: int
 */
declare function GetNthClosestVehicleNodeIdWithHeading(x: number, y: number, z: number, nthClosest: number, outHeading: number, p6: number, p7: number, p8: 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): [number, 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;

/**
 * only documented to be continued...
 */
declare function GetNumDecorations(character: number): number;
/**
 * only documented to be continued...
 */
declare function N_0x278f76c3b0a8f109(character: number): number;

declare function GetNumDlcVehicles(): number;

/**
 * Allowed Values from 0 - DLC1::GET_NUM_DLC_WEAPONS()
 */
declare function GetNumDlcWeaponComponents(dlcWeaponIndex: number): number;

/**
 * Gets the total number of DLC weapons.
 */
declare function GetNumDlcWeapons(): number;

/**
 * Used for freemode (online) characters.
 */
declare function GetNumHairColors(): number;

declare function GetNumMakeupColors(): number;
declare function N_0xd1f7ca1535d22818(): number;

declare function GetNumModColors(p0: number, p1: boolean): number;

declare function GetNumModKits(vehicle: 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;

/**
 * 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 a boolean flag; unknown function.
 * p4 is usually -1; unknown function.
 */
declare function GetNumPropsFromOutfit(character: number, p1: number, p2: number, p3: boolean, p4: number, componentId: 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;

declare function GetNumUnlockedRadioStations(): number;
declare function MaxRadioStationIndex(): number;

/**
 * Returns how many possible mods a vehicle has for a given mod type
 */
declare function GetNumVehicleMods(vehicle: number, modType: number): number;

declare function GetNumVehicleWindowTints(): number;

declare function GetNumberOfActiveBlips(): number;

declare function GetNumberOfDispatchedUnitsForPlayer(dispatchService: number): number;
declare function N_0xeb4a0c2d56441717(dispatchService: number): number;

/**
 * eventGroup: 0 = CEventGroupScriptAI, 1 = 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;

/**
 * Gets the number of instances of the specified script is currently running.
 * Actually returns numInstances - 1.
 * if (scriptPtr)
 * v3 = GetNumberOfInstancesOfScript(scriptPtr) - 1;
 * return v3;
 */
declare function GetNumberOfInstancesOfScriptWithNameHash(scriptHash: string | number): number;
/**
 * Gets the number of instances of the specified script is currently running.
 * Actually returns numInstances - 1.
 * if (scriptPtr)
 * v3 = GetNumberOfInstancesOfScript(scriptPtr) - 1;
 * return v3;
 */
declare function GetNumberOfInstancesOfStreamedScript(scriptHash: string | 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;

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"
 * Belongs in NETWORK
 */
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"
 * Belongs in NETWORK
 */
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 GetPackedTitleUpdateBoolStatKey(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 GetPackedTitleUpdateIntStatKey(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;

/**
 * A getter for [SET_PARKED_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME](#\_0xEAE6DCC7EEE3DB1D).
 * @return Returns parked vehicle density multiplier value.
 */
declare function GetParkedVehicleDensityMultiplier(): number;

/**
 * Returns:
 * 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;

/**
 * NativeDB Parameter 1: Hash ammoType
 */
declare function GetPedAmmoByType(ped: number, ammoType: 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[];

/**
 * Bone ID enum: pastebin.com/3pz17QGd
 */
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;

/**
 * p2 is always 1 in the scripts.
 * if (GET_PED_CONFIG_FLAG(ped, 78, 1))
 * = returns true if ped is aiming/shooting a gun
 */
declare function GetPedConfigFlag(ped: number, flagId: number, p2: boolean): number;

/**
 * Returns the zoneID for the overlay if it is a member of collection.
 * 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,
 * };
 */
declare function GetPedDecorationZoneFromHashes(collection: string | number, overlay: string | number): number;
/**
 * Returns the zoneID for the overlay if it is a member of collection.
 * 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,
 * };
 */
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;

/**
 * Ids
 * 1
 * 2
 * 3
 * 4
 * 5
 * 6
 * 7 - ------
 * 8 - Accessories 1
 * 9 - Accessories 2
 * 10
 * 11 - Auxiliary parts for torso
 */
declare function GetPedDrawableVariation(ped: number, componentId: number): number;

declare function GetPedEnveffScale(ped: number): 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_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;
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetPedHeadBlendData(ped: number, headBlendData?: number): unknown[];
/**
 * 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;
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetPedHeadBlendData(ped: number, headBlendData?: number): unknown[];

/**
 * 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;

/**
 * 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): [number, 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;
 */
declare function GetPedHeadOverlayValue(ped: number, overlayID: 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;
/**
 * 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;

/**
 * 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.
 * Seat indexes:
 * *   \-1 = Driver
 * *   0 = Front Right Passenger
 * *   1 = Back Left Passenger
 * *   2 = Back Right Passenger
 * *   3 = Further Back Left Passenger (vehicles > 4 seats)
 * *   4 = Further Back Right Passenger (vehicles > 4 seats)
 * *   etc.
 * One can use GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS(vehicle) to get the amount of seats in a vehicle.
 * **NativeDB Added Parameter 3**: BOOL p2 (uses a different GetOccupant function)
 * @param vehicle The vehicle to get the ped for.
 * @param index The seat index.
 * @return A handle to a ped in the specified vehicle seat, or 0 if no such ped existed.
 */
declare function GetPedInVehicleSeat(vehicle: number, index: number): number;

/**
 * Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).
 */
declare function GetPedIndexFromEntityIndex(entity: number): number;

/**
 * Pretty sure outBone is an int.
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetPedLastDamageBone(ped: number, outBone?: number): unknown[];

/**
 * 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): [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 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;

/**
 * sizeAndPeds - is a pointer to an array. The array is filled with peds found nearby the ped supplied to the first argument.
 * ignore - ped type to ignore
 * Return value is the number of peds found and added to the array passed.
 * -----------------------------------
 * To make this work in most menu bases at least in C++ do it like so,
 * Formatted Example: pastebin.com/D8an9wwp
 * -----------------------------------
 * Example: gtaforums.com/topic/789788-function-args-to-pedget-ped-nearby-peds/?p=1067386687
 * Here's the right way to do it (console and pc):
 * pastebin.com/SsFej963
 */
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
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetPedNearbyVehicles(ped: number, sizeAndVehs?: number): unknown[];

/**
 * 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): void;

/**
 * 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): 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 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): 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;

/**
 * Name was _GET_PED_TIME_OF_DEATH
 * -----------------------------------------------------------------
 * There is no way this is the correct name. The only time this is called it's compared with the game timer and I used this to test something and noticed when I was killed by no matter what it was my 'Time Of Death' via this native was always 0, but my friends was some random big number like so, 147591.
 * Retreives [CPed + 15CC] (as of 944)
 */
declare function GetPedTimeOfDeath(ped: number): number;
/**
 * Name was _GET_PED_TIME_OF_DEATH
 * -----------------------------------------------------------------
 * There is no way this is the correct name. The only time this is called it's compared with the game timer and I used this to test something and noticed when I was killed by no matter what it was my 'Time Of Death' via this native was always 0, but my friends was some random big number like so, 147591.
 * Retreives [CPed + 15CC] (as of 944)
 */
declare function GetPedTimeOfDeath(ped: number): number;
/**
 * Name was _GET_PED_TIME_OF_DEATH
 * -----------------------------------------------------------------
 * There is no way this is the correct name. The only time this is called it's compared with the game timer and I used this to test something and noticed when I was killed by no matter what it was my 'Time Of Death' via this native was always 0, but my friends was some random big number like so, 147591.
 * Retreives [CPed + 15CC] (as of 944)
 */
declare function N_0x1e98817b311ae98a(ped: number): number;

/**
 * Ped Types: (ordered by return priority)
 * Michael = 0
 * Franklin = 1
 * Trevor = 2
 * Army = 29
 * Animal = 28
 * SWAT = 27
 * LSFD = 21
 * Paramedic = 20
 * Cop = 6
 * Male = 4
 * Female = 5
 * Human = 26
 * Note/Exception
 * hc_gunman : 4 // Mix male and female
 * hc_hacker : 4 // Mix male and female
 * mp_f_misty_01 : 4 // Female character
 * s_f_y_ranger_01 : 5 // Ranger
 * s_m_y_ranger_01 : 4 // Ranger
 * s_m_y_uscg_01 : 6 // US Coast Guard
 */
declare function GetPedType(ped: number): number;

declare function GetPedUsingVehicleDoor(vehicle: number, doorIndex: number): number;
declare function N_0x218297bf0cfd853b(vehicle: number, doorIndex: number): number;
declare function GetPedUsingVehicleDoor(vehicle: number, doorIndex: number): number;

/**
 * NativeDB Introduced: v1493
 */
declare function GetPedVisualFieldCenterAngle(ped: number): number;

declare function GetPedWaypointDistance(p0: number): number;

/**
 * Returns the progress percent to current waypoint.
 */
declare function GetPedWaypointProgress(ped: number): number;

/**
 * NativeDB Parameter 1: Hash weaponHash
 * NativeDB Parameter 2: Hash camoComponentHash
 */
declare function GetPedWeaponLiveryColor(ped: number, weaponHash: number, camoComponentHash: number): number;
/**
 * NativeDB Parameter 1: Hash weaponHash
 * NativeDB Parameter 2: Hash camoComponentHash
 */
declare function N_0xf0a60040be558f2d(ped: number, weaponHash: number, camoComponentHash: 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(handle: 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.
 * ```
 * ```
 * NativeDB Parameter 0: Hash pickupHash
 */
declare function GetPickupHash(pickupHash: number): number;
/**
 * returns pickup hash.
 * ```
 * ```
 * NativeDB Parameter 0: Hash pickupHash
 */
declare function N_0x5eaad83f8cfb4575(pickupHash: 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;

/**
 * A float indicating the percentage of the hover mode. 1.0 = in VTOL mode, 0.0 = in normal flying mode.
 * @param aircraft The vehicle to check the hover mode on.
 * @return A float indicating the percentage of the hover mode. 1.0 = in VTOL mode, 0.0 = in normal flying mode.
 */
declare function GetPlaneVtolDirection(aircraft: number): number;
/**
 * A float indicating the percentage of the hover mode. 1.0 = in VTOL mode, 0.0 = in normal flying mode.
 * @param aircraft The vehicle to check the hover mode on.
 * @return A float indicating the percentage of the hover mode. 1.0 = in VTOL mode, 0.0 = in normal flying mode.
 */
declare function N_0xda62027c8bdb326e(aircraft: number): number;
/**
 * A float indicating the percentage of the hover mode. 1.0 = in VTOL mode, 0.0 = in normal flying mode.
 * @param aircraft The vehicle to check the hover mode on.
 * @return A float indicating the percentage of the hover mode. 1.0 = in VTOL mode, 0.0 = in normal flying mode.
 */
declare function GetPlaneHoverModePercentage(aircraft: number): number;
/**
 * A float indicating the percentage of the hover mode. 1.0 = in VTOL mode, 0.0 = in normal flying mode.
 * @param aircraft The vehicle to check the hover mode on.
 * @return A float indicating the percentage of the hover mode. 1.0 = in VTOL mode, 0.0 = in normal flying mode.
 */
declare function GetVehicleHoverModePercentage(aircraft: number): number;

declare function GetPlayerAdvancedModifierPrivileges(p0: number): string;
declare function N_0xcd67ad041a394c9c(p0: number): string;
declare function GetContentUserId(p0: number): string;

declare function GetPlayerCurrentStealthNoise(player: number): number;

/**
 * Seems to do something with network (?)
 * PLAYER::_56105E599CAB0EFA(NETWORK::NETWORK_GET_PLAYER_INDEX_FROM_PED(ped))
 */
declare function GetPlayerFakeWantedLevel(player: number): number;
/**
 * Seems to do something with network (?)
 * PLAYER::_56105E599CAB0EFA(NETWORK::NETWORK_GET_PLAYER_INDEX_FROM_PED(ped))
 */
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): number;

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): number;

/**
 * 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): number;

declare function GetPlayerMaxArmour(player: 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
 */
declare function GetPlayerName(player: number): string;

declare function GetPlayerParachutePackTintIndex(player: number, tintIndex: number): void;

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): void;

/**
 * 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<br/>
 */
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;

/**
 * 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): void;

/**
 * Returns RGB color of the player
 */
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 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.
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetPlayerTargetEntity(player: number, entity?: number): unknown[];

/**
 * 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): [number, number[]];
declare function N_0x16f46fb18c8009e4(x: number, y: number, z: number, p3: number): [number, number[]];

declare function GetPositionInRecording(p0: number): number;

/**
 * p1 is some kind of tolerance
 */
declare function GetPositionOfVehicleRecordingAtTime(p0: number, p1: number, p2: string): number[];

/**
 * NativeDB Return Type: Vector3
 */
declare function GetPositionOfVehicleRecordingIdAtTime(id: number, time: number): number;
/**
 * NativeDB Return Type: Vector3
 */
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;

/**
 * Returns current weather name hash
 */
declare function GetPrevWeatherTypeHashName(): number;
/**
 * Returns current weather name hash
 */
declare function GetPrevWeatherType(): number;

/**
 * gtaforums.com/topic/799843-stats-profile-settings/
 */
declare function GetProfileSetting(profileSetting: number): number;

/**
 * NativeDB Parameter 3: float projPos
 * NativeDB Parameter 4: float projEnt
 */
declare function GetProjectileNearPed(ped: number, weaponhash: string | number, radius: number, ownedByPlayer: boolean): [number, number[], number];
/**
 * NativeDB Parameter 3: float projPos
 * NativeDB Parameter 4: float projEnt
 */
declare function N_0x82fde6a57ee4ee44(ped: number, weaponhash: string | number, radius: number, ownedByPlayer: boolean): [number, number[], number];

/**
 * Returns String with radio station name.
 */
declare function GetRadioStationName(radioStation: number): string;

declare function GetRainLevel(): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function GetRandomEventFlag(): number;

declare function GetRandomFloatInRange(startRange: number, endRange: number): number;

/**
 * Another extremely useful native.
 * You can use it simply like:
 * if (GAMEPLAY::GET_RANDOM_INT_IN_RANGE(0, 2))
 */
declare function GetRandomIntInRange(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
 * p2 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): [number, number[], number];

/**
 * Gets a destructible object's handle
 * Example:
 * OBJECT::_B48FCED898292E52(-809.9619750976562, 170.919, 75.7406997680664, 3.0, "des_tvsmash");
 * All found arguments for p4 starts with "des_" like "DES_FIB_Floor" and "des_shipsink".
 */
declare function GetRayfireMapObject(x: number, y: number, z: number, radius: number, name: string): number;
/**
 * Gets a destructible object's handle
 * Example:
 * OBJECT::_B48FCED898292E52(-809.9619750976562, 170.919, 75.7406997680664, 3.0, "des_tvsmash");
 * All found arguments for p4 starts with "des_" like "DES_FIB_Floor" and "des_shipsink".
 */
declare function N_0xb48fced898292e52(x: number, y: number, z: number, radius: number, name: string): number;
/**
 * Gets a destructible object's handle
 * Example:
 * OBJECT::_B48FCED898292E52(-809.9619750976562, 170.919, 75.7406997680664, 3.0, "des_tvsmash");
 * All found arguments for p4 starts with "des_" like "DES_FIB_Floor" and "des_shipsink".
 */
declare function GetDesObject(x: number, y: number, z: number, radius: number, name: string): number;

declare function GetRayfireMapObjectAnimPhase(object: number): number;
declare function N_0x260ee4fdbdf4db01(object: number): number;
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;

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(): number;
declare function N_0x35fb78dc42b7bd21(): number;

declare function GetResourceByFindIndex(findIndex: number): string;

/**
 * A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938).
 * @param key The key to fetch
 * @return A float that contains the value stored in the Kvp or nil/null if none.
 */
declare function GetResourceKvpFloat(key: string): number;

/**
 * A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8).
 * @param key The key to fetch
 * @return A int that contains the value stored in the Kvp or nil/null if none.
 */
declare function GetResourceKvpInt(key: string): number;

/**
 * A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B).
 * @param key The key to fetch
 * @return A string that contains the value stored in the Kvp or nil/null if none.
 */
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 GetRoadSidePointWithHeading(x: number, y: number, z: number, heading: number): [number, number[]];
declare function N_0xa0f8a7517a273c05(x: number, y: number, z: number, heading: number): [number, number[]];

/**
 * Returns the room hash key from the current gameplay cam.
 */
declare function GetRoomKeyForGameViewport(): number;
/**
 * Returns the room hash key from the current gameplay cam.
 */
declare function N_0xa6575914d2a0b450(): number;
/**
 * Returns the room hash key from the current gameplay cam.
 */
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;

/**
 * NativeDB Return Type: Vector3
 */
declare function GetRopeLastVertexCoord(ropeId: number): number;

declare function GetRopeVertexCoord(ropeId: number, vertex: number): number[];

declare function GetRopeVertexCount(ropeId: number): number;

/**
 * NativeDB Return Type: Vector3
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetRotationOfVehicleRecordingAtTime(p0: number, p1: number, p2?: number): unknown[];

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;

/**
 * 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): [number, number[]];

/**
 * NativeDB Parameter 3: float p3
 * NativeDB Parameter 4: float p4
 */
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;

declare function GetScaleformMovieMethodReturnValueBool(returnValueData: number): number;
declare function N_0xd80a80346a45d761(returnValueData: 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.
 * Old description:
 * ```
 * Needs a bit more research, but it seems to return an int.
 * Testing with the scaleform "HACKING_PC" it seems to return an int depending on the clicked App/Program ID
 * "agency_heist3b.ysc", line 71836:
 * if (CONTROLS::IS_CONTROL_JUST_PRESSED(2, 201) || CONTROLS::IS_CONTROL_JUST_PRESSED(2, 237)) {
 * GRAPHICS::BEGIN_SCALEFORM_MOVIE_METHOD(l_46, "SET_INPUT_EVENT_SELECT");
 * l_45 = GRAPHICS::_END_SCALEFORM_MOVIE_METHOD_RETURN();
 * }
 * if (GRAPHICS::IS_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_READY(l_45)) {
 * v_13 = GRAPHICS::GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT(l_45);
 * if (v_13 == 6) {
 * sub_73269(a_0);
 * }
 * }
 * ```
 * @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.
 * Old description:
 * ```
 * Needs a bit more research, but it seems to return an int.
 * Testing with the scaleform "HACKING_PC" it seems to return an int depending on the clicked App/Program ID
 * "agency_heist3b.ysc", line 71836:
 * if (CONTROLS::IS_CONTROL_JUST_PRESSED(2, 201) || CONTROLS::IS_CONTROL_JUST_PRESSED(2, 237)) {
 * GRAPHICS::BEGIN_SCALEFORM_MOVIE_METHOD(l_46, "SET_INPUT_EVENT_SELECT");
 * l_45 = GRAPHICS::_END_SCALEFORM_MOVIE_METHOD_RETURN();
 * }
 * if (GRAPHICS::IS_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_READY(l_45)) {
 * v_13 = GRAPHICS::GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT(l_45);
 * if (v_13 == 6) {
 * sub_73269(a_0);
 * }
 * }
 * ```
 * @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.
 * Old description:
 * ```
 * Needs a bit more research, but it seems to return an int.
 * Testing with the scaleform "HACKING_PC" it seems to return an int depending on the clicked App/Program ID
 * "agency_heist3b.ysc", line 71836:
 * if (CONTROLS::IS_CONTROL_JUST_PRESSED(2, 201) || CONTROLS::IS_CONTROL_JUST_PRESSED(2, 237)) {
 * GRAPHICS::BEGIN_SCALEFORM_MOVIE_METHOD(l_46, "SET_INPUT_EVENT_SELECT");
 * l_45 = GRAPHICS::_END_SCALEFORM_MOVIE_METHOD_RETURN();
 * }
 * if (GRAPHICS::IS_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_READY(l_45)) {
 * v_13 = GRAPHICS::GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT(l_45);
 * if (v_13 == 6) {
 * sub_73269(a_0);
 * }
 * }
 * ```
 * @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): [number, 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): [number, number, number];

/**
 * int screenresx,screenresy;
 * GET_SCREEN_RESOLUTION(&screenresx,&screenresy);
 * Hardcoded to always return 1280 x 720
 */
declare function GetScreenResolution(): [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 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. The hash does not seem to match the actual native name, but is assigned hardcoded from the executable during task creation.
 * Statuses are specific to tasks, in addition '7' means the specified task is not assigned to the ped.
 * A few hashes found in the executable (although not a complete list) can be found at pastebin.com/R9iK6M9W as it was too long for this wiki.
 */
declare function GetScriptTaskStatus(targetPed: number, taskHash: string | number): number;

declare function GetScriptedCoverPointCoords(coverpoint: number): number[];

declare function GetSeatPedIsTryingToEnter(ped: number): number;

/**
 * Returns the hash of the weapon.
 * var num7 = WEAPON::GET_SELECTED_PED_WEAPON(num4);
 * sub_27D3(num7);
 * switch (num7)
 * {
 * case 0x24B17070:
 * Also see WEAPON::GET_CURRENT_PED_WEAPON. Difference?
 * -------------------------------------------------------------------------
 * The difference is that GET_SELECTED_PED_WEAPON simply returns the ped's current weapon hash but GET_CURRENT_PED_WEAPON also checks the weapon object and returns true if the hash of the weapon object equals the weapon hash
 */
declare function GetSelectedPedWeapon(ped: number): number;

/**
 * returned values:
 * 0 to 7 = task that's currently in progress, 0 meaning the first one.
 */
declare function GetSequenceProgress(ped: number): number;

/**
 * Parameters:
 * rayHandle - Ray Handle from a casted ray, as returned by CAST_RAY_POINT_TO_POINT
 * hit - Where to store whether or not it hit anything. False is when the ray reached its destination.
 * endCoords - Where to store the world-coords of where the ray was stopped (by hitting its desired max range or by colliding with an entity/the map)
 * surfaceNormal - Where to store the surface-normal coords (NOT relative to the game world) of where the entity was hit by the ray
 * entityHit - Where to store the handle of the entity hit by the ray
 * Returns:
 * Result? Some type of enum.
 * NOTE: To get the offset-coords of where the ray hit relative to the entity that it hit (which is NOT the same as surfaceNormal), you can use these two natives:
 * Vector3 offset = ENTITY::GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(entityHit, endCoords.x, endCoords.y, endCoords.z);
 * Vector3 entitySpotCoords = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(entityHit, offset.x, offset.y, offset.z);
 * Use ENTITY::GET_ENTITY_TYPE(entityHit) to quickly distinguish what type of entity you hit (ped/vehicle/object - 1/2/3)
 */
declare function GetShapeTestResult(rayHandle: number): [number, any /* actually bool */, number[], number[], number];
/**
 * Parameters:
 * rayHandle - Ray Handle from a casted ray, as returned by CAST_RAY_POINT_TO_POINT
 * hit - Where to store whether or not it hit anything. False is when the ray reached its destination.
 * endCoords - Where to store the world-coords of where the ray was stopped (by hitting its desired max range or by colliding with an entity/the map)
 * surfaceNormal - Where to store the surface-normal coords (NOT relative to the game world) of where the entity was hit by the ray
 * entityHit - Where to store the handle of the entity hit by the ray
 * Returns:
 * Result? Some type of enum.
 * NOTE: To get the offset-coords of where the ray hit relative to the entity that it hit (which is NOT the same as surfaceNormal), you can use these two natives:
 * Vector3 offset = ENTITY::GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS(entityHit, endCoords.x, endCoords.y, endCoords.z);
 * Vector3 entitySpotCoords = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(entityHit, offset.x, offset.y, offset.z);
 * Use ENTITY::GET_ENTITY_TYPE(entityHit) to quickly distinguish what type of entity you hit (ped/vehicle/object - 1/2/3)
 */
declare function GetRaycastResult(rayHandle: number): [number, any /* actually bool */, number[], number[], number];

/**
 * [Materials list](https://d0p3t.nl/enums/materialhash.html#plastersolid)
 * @param materialHash hash of the hit material or surface type, see materialFX.dat
 */
declare function GetShapeTestResultIncludingMaterial(rayHandle: number): [number, any /* actually bool */, number[], number[], number, number];
/**
 * [Materials list](https://d0p3t.nl/enums/materialhash.html#plastersolid)
 * @param materialHash hash of the hit material or surface type, see materialFX.dat
 */
declare function N_0x65287525d951f6be(rayHandle: number): [number, any /* actually bool */, number[], number[], number, number];
/**
 * [Materials list](https://d0p3t.nl/enums/materialhash.html#plastersolid)
 * @param materialHash hash of the hit material or surface type, see materialFX.dat
 */
declare function GetShapeTestResultEx(rayHandle: 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.
 * NativeDB Parameter 1: Hash componentHash
 */
declare function GetShopPedApparelForcedPropCount(componentHash: number): number;
/**
 * Returns number of possible values of the forcedPropIndex argument of GET_FORCED_PROP.
 * NativeDB Parameter 1: Hash componentHash
 */
declare function N_0x017568a8182d98a6(componentHash: 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): void;

declare function GetShopPedOutfit(p0: number, p1: number): void;

/**
 * outfit = a structure passing though it - see GET_SHOP_PED_QUERY_OUTFIT
 * slot - outfit slot
 * item - hold 3 ints in a struct, you can use Vector3 structure
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetShopPedOutfitComponentVariant(outfit: number, slot: number, item?: number): unknown[];
/**
 * outfit = a structure passing though it - see GET_SHOP_PED_QUERY_OUTFIT
 * slot - outfit slot
 * item - hold 3 ints in a struct, you can use Vector3 structure
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetPropFromOutfit(outfit: number, slot: number, item?: number): unknown[];

declare function GetShopPedOutfitLocate(p0: number): number;
declare function N_0x073ca26b079f956e(p0: number): number;

// Return is unknown[] due to pointer value being input of the function
declare function GetShopPedOutfitPropVariant(outfit: number, slot: number, item?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0xa9f9c2e0fde11cbb(outfit: number, slot: number, item?: number): unknown[];

/**
 * NativeDB Parameter 0: Hash componentHash
 */
declare function GetShopPedProp(componentHash: number, outProp: number): void;
/**
 * NativeDB Parameter 0: Hash componentHash
 */
declare function N_0x5d5caff661ddf6fc(componentHash: number, outProp: number): void;

declare function GetShopPedQueryComponent(componentId: number, outComponent: number): void;

/**
 * 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(p0: number, outfit: number): void;

declare function GetShopPedQueryProp(p0: number, p1: number): void;

/**
 * NativeDB Return Type: float
 */
declare function GetSnowLevel(): number;

declare function GetSoundId(): number;

declare function GetSoundIdFromNetworkId(netId: number): number;
declare function N_0x75262fd12d0a1c84(netId: number): number;

/**
 * NativeDB Return Type: int
 */
declare function GetStandardBlipEnumId(): number;
/**
 * NativeDB Return Type: int
 */
declare function N_0x4a9923385bdb9dad(): number;
/**
 * NativeDB Return Type: int
 */
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];

/**
 * Get a destructible object's state.
 * Substract 1 to get the real state.
 * See SET_STATE_OF_RAYFIRE_MAP_OBJECT to see the different states
 * For example, if the object just spawned (state 2), the native will return 3.
 */
declare function GetStateOfRayfireMapObject(object: number): number;
/**
 * Get a destructible object's state.
 * Substract 1 to get the real state.
 * See SET_STATE_OF_RAYFIRE_MAP_OBJECT to see the different states
 * For example, if the object just spawned (state 2), the native will return 3.
 */
declare function N_0x899ba936634a322e(object: number): number;
/**
 * Get a destructible object's state.
 * Substract 1 to get the real state.
 * See SET_STATE_OF_RAYFIRE_MAP_OBJECT to see the different states
 * For example, if the object just spawned (state 2), the native will return 3.
 */
declare function GetDesObjectState(object: number): number;

declare function GetStatusOfSaveHighQualityPhoto(): number;
declare function N_0x0c0c4e81e1ac60a0(): number;

declare function GetStatusOfTakeHighQualityPhoto(): number;
declare function N_0x0d6ca79eeebd8ca3(): number;

/**
 * 0 = succeeded
 * 1 = pending
 * 2 = failed
 * GET_ST*
 */
declare function GetStatusOfTextureDownload(p0: number): number;
/**
 * 0 = succeeded
 * 1 = pending
 * 2 = failed
 * GET_ST*
 */
declare function N_0x8bd6c6dea20e82c6(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 UI::GET_STREET_NAME_FROM_HASH_KEY.
 */
declare function GetStreetNameAtCoord(x: number, y: number, z: number): [number, number];

/**
 * This functions converts the hash of a street name into a readable string.
 * For how to get the hashes, see PATHFIND::GET_STREET_NAME_AT_COORD.
 */
declare function GetStreetNameFromHashKey(hash: string | number): string;

declare function GetSynchronizedScenePhase(sceneID: number): number;

declare function GetSynchronizedSceneRate(sceneID: number): number;

declare function GetTaskMoveNetworkEvent(ped: number, eventName: string): number;
declare function N_0xb4f47213df45a64c(ped: number, eventName: string): number;

/**
 * Found in scripts:
 * if (AI::_A7FFBA498E4AAF67(l_9BC, "Run")) {
 * if (AI::_A7FFBA498E4AAF67(l_9BC, "Escape")) {
 */
declare function GetTaskMoveNetworkSignalBool(ped: number, signalName: string): number;
/**
 * Found in scripts:
 * if (AI::_A7FFBA498E4AAF67(l_9BC, "Run")) {
 * if (AI::_A7FFBA498E4AAF67(l_9BC, "Escape")) {
 */
declare function N_0xa7ffba498e4aaf67(ped: number, signalName: string): number;

/**
 * NativeDB Introduced: v1493
 */
declare function GetTaskMoveNetworkSignalFloat(ped: number, signalName: string): number;

/**
 * If the function fails, returns "Unknown".
 * Could be task (sequence) name. Needs more research.
 */
declare function GetTaskMoveNetworkState(ped: number): string;
/**
 * If the function fails, returns "Unknown".
 * Could be task (sequence) name. Needs more research.
 */
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(?)
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetTattooCollectionData(characterType: number, decorationIndex: number, outComponent?: number): unknown[];
/**
 * 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(?)
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0xff56381874f82086(characterType: number, decorationIndex: number, outComponent?: number): unknown[];

declare function GetTennisSwingAnimComplete(ped: number): number;
declare function N_0x17df68d720aa77f8(ped: number): number;

/**
 * This get's 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.
 */
declare function GetTextScaleHeight(size: number, font: number): number;
/**
 * This get's 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.
 */
declare function N_0xdb88a37483346780(size: number, font: number): number;

/**
 * Returns a substring of a specified length starting at a specified position.
 * Example:
 * // Get "STRING" text from "MY_STRING"
 * subStr = UI::_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 = UI::GET_LENGTH_OF_LITERAL_STRING(GAMEPLAY::GET_ONSCREEN_KEYBOARD_RESULT());
 * subStr = UI::_GET_TEXT_SUBSTRING_SAFE(GAMEPLAY::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 (!GAMEPLAY::ARE_STRINGS_EQUAL(UI::_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 = UI::_GET_TEXT_SUBSTRING_SLICE("MY_STRING", 3, 9);
 * // Overflows are possibly replaced with underscores (needs verification)
 * subStr = UI::_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;

/**
 * Previously named, '_FORMAT_TIME' for people who can't find it's uses in decompiled scripts.
 */
declare function GetTimeAsString(time: number): string;
/**
 * Previously named, '_FORMAT_TIME' for people who can't find it's uses in decompiled scripts.
 */
declare function FormatTime(time: number): string;

/**
 * Subtracts the second argument from the first.
 */
declare function GetTimeDifference(timeA: number, timeB: number): number;

/**
 * GET_TIME_SINCE_???
 * ```
 * ```
 * NativeDB Parameter 1: Hash weaponHash
 */
declare function GetTimeOfLastPedWeaponDamage(ped: number, weaponHash: number): number;
/**
 * GET_TIME_SINCE_???
 * ```
 * ```
 * NativeDB Parameter 1: Hash weaponHash
 */
declare function N_0x36b77bb84687c318(ped: number, weaponHash: number): number;

/**
 * Adds the first argument to the second.
 */
declare function GetTimeOffset(timeA: number, timeB: number): number;

declare function GetTimePositionInRecording(p0: 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 inputGroup registered pressed
 */
declare function GetTimeSinceLastInput(inputGroup: number): number;
/**
 * The number of milliseconds since last inputGroup registered pressed
 */
declare function N_0xd7d22f5592aed8ba(inputGroup: 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
 * can someone update this pastebin???
 */
declare function GetTimecycleModifierIndex(): number;

declare function GetTimecycleTransitionModifierIndex(): number;
declare function N_0x459fd2c8d0ab78bc(): number;

declare function GetTogglePausedRenderphasesStatus(): number;
declare function N_0xeb3dac2c86001e5e(): number;

/**
 * NativeDB Return Type: float
 */
declare function GetTotalDurationOfVehicleRecording(p0: number, p1: number): number;

declare function GetTotalDurationOfVehicleRecordingId(p0: 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;

declare function GetTvChannel(): number;

declare function GetTvVolume(): 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;

/**
 * Gets whether or not NIGHTVISION is Active.
 * Note:  When nightvision is actually active, this native will return TRUE!
 */
declare function GetUsingnightvision(): number;
/**
 * Gets whether or not NIGHTVISION is Active.
 * Note:  When nightvision is actually active, this native will return TRUE!
 */
declare function IsNightvisionInactive(): number;
/**
 * Gets whether or not NIGHTVISION is Active.
 * Note:  When nightvision is actually active, this native will return TRUE!
 */
declare function IsNightvisionActive(): number;

/**
 * Returns whether or not SEETHROUGH is active.
 */
declare function GetUsingseethrough(): number;
/**
 * Returns whether or not SEETHROUGH is active.
 */
declare function IsSeethroughActive(): number;

/**
 * gets current UTC time
 */
declare function GetUtcTime(): [number, number, number, number, number, number];
/**
 * gets current UTC time
 */
declare function GetLocalTime(): [number, number, number, number, number, number];
/**
 * gets current UTC time
 */
declare function GetUtcTime(): [number, number, number, number, number, number];

/**
 * NativeDB Parameter 2: Hash* nameHash
 * NativeDB Parameter 3: int* enumValue
 * NativeDB Parameter 4: int* componentType
 */
declare function GetVariantComponent(componentHash: string | number, componentId: number): [number, number, number];

/**
 * NativeDB Parameter 2: Hash* nameHash
 * NativeDB Parameter 3: int* enumValue
 * NativeDB Parameter 4: int* componentType
 */
declare function GetVariantProp(componentHash: number, variantPropIndex: number, nameHash: number, enumValue: number, anchorPoint: number): void;
/**
 * NativeDB Parameter 2: Hash* nameHash
 * NativeDB Parameter 3: int* enumValue
 * NativeDB Parameter 4: int* componentType
 */
declare function N_0xd81b7f27bc773e66(componentHash: number, variantPropIndex: number, nameHash: number, enumValue: number, anchorPoint: number): void;

/**
 * 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;

/**
 * Get the vehicle attached to the object/entity? May also just convert it to a vehicle, but I'm not sure.
 */
declare function GetVehicleAttachedToEntity(entity: number): number;
/**
 * Get the vehicle attached to the object/entity? May also just convert it to a vehicle, but I'm not sure.
 */
declare function N_0x375e7fc44f21c8ab(entity: 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;

/**
 * 0 min 100 max
 * starts at 100
 * Seams to have health zones
 * Front of vehicle when damaged goes from 100-50 and stops at 50.
 * Rear can be damaged from 100-0
 * Only tested with two cars.
 * any idea how this differs from the first one?
 * --
 * May return the vehicle health on a scale of 0.0 - 100.0 (needs to be confirmed)
 * example:
 * v_F = ENTITY::GET_ENTITY_MODEL(v_3);
 * if (((v_F == ${tanker}) || (v_F == ${armytanker})) || (v_F == ${tanker2})) {
 * if (VEHICLE::_GET_VEHICLE_BODY_HEALTH_2(v_3) <= 1.0) {
 * NETWORK::NETWORK_EXPLODE_VEHICLE(v_3, 1, 1, -1);
 * }
 * }
 * ```
 * ```
 * NativeDB Added Parameter 2: Any p1
 * NativeDB Added Parameter 3: Any p2
 * NativeDB Added Parameter 4: Any p3
 * NativeDB Added Parameter 5: Any p4
 * NativeDB Added Parameter 6: Any p5
 * NativeDB Added Parameter 7: Any p6
 */
declare function GetVehicleBodyHealth_2(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;

/**
 * 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
 * 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));
 * char* className = UI::_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;

/**
 * What's this for? Primary and Secondary RGB have their own natives and this one doesn't seem specific.
 */
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).
 */
declare function GetVehicleCurrentSlipstreamDraft(vehicle: number): number;
/**
 * Returns a float value between 0.0 and 3.0 related to its slipstream draft (boost/speedup).
 */
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 GetVehicleDashboardColour(vehicle: number, color: number): void;

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;

/**
 * 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;

/**
 * Dirt level 0..15
 */
declare function GetVehicleDirtLevel(vehicle: number): number;

declare function GetVehicleDoorAngleRatio(vehicle: number, door: 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): number;

/**
 * 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.
 * -----------------------------------------------------------------------
 * The actual value isn't stored as a float but as an unsigned char (BYTE).
 */
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.
 * -----------------------------------------------------------------------
 * The actual value isn't stored as a float but as an unsigned char (BYTE).
 */
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 GetVehicleFuelLevel(vehicle: number): number;

declare function GetVehicleGravityAmount(vehicle: number): number;

declare function GetVehicleHandbrake(vehicle: number): number;

/**
 * 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): number;
declare function N_0x50634e348c8d44ef(vehicle: number): number;
declare function HasVehicleKersBoost(vehicle: number): number;

/**
 * NativeDB Introduced: v1180
 */
declare function GetVehicleHasLandingGear(vehicle: number): number;
/**
 * NativeDB Introduced: v1180
 */
declare function N_0xe43701c36caff1a4(vehicle: number): number;

declare function GetVehicleHighGear(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 GetVehicleInteriorColour(vehicle: number, color: number): void;

declare function GetVehicleLayoutHash(vehicle: number): number;

declare function GetVehicleLightsState(vehicle: number): [number, 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;

/**
 * The resulting entity can be a Vehicle or Ped.
 * =========================
 * on a side note watching changes in memory this will only store your ped's entityPoolAddress if it's your personal vehicle. So seems to be related to personal vehicles or atleast a specific decor of it maybe.
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetVehicleLockOnTarget(vehicle: number, entity?: number): unknown[];
/**
 * The resulting entity can be a Vehicle or Ped.
 * =========================
 * on a side note watching changes in memory this will only store your ped's entityPoolAddress if it's your personal vehicle. So seems to be related to personal vehicles or atleast a specific decor of it maybe.
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetVehicleOwner(vehicle: number, entity?: number): unknown[];

declare function GetVehicleMaxBraking(vehicle: number): number;

declare function GetVehicleMaxNumberOfPassengers(vehicle: number): number;

declare function GetVehicleMaxTraction(vehicle: number): number;

/**
 * In b944, there are 50 (0 - 49) mod types.
 * Returns -1 if the vehicle mod is stock
 */
declare function GetVehicleMod(vehicle: number, modType: number): number;

/**
 * p3 seems to be the pearlescent highlight color.
 * Seems redondant with void GET_VEHICLE_EXTRA_COLOURS(Vehicle vehicle, int *pearlescentColor, int *wheelColor)
 */
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
 * ```
 * ```
 * NativeDB Return Type: Hash
 */
declare function GetVehicleModIdentifierHash(vehicle: number, modType: number, modIndex: number): number;
/**
 * Can be used for IS_DLC_VEHICLE_MOD and _0xC098810437312FFF
 * ```
 * ```
 * NativeDB Return Type: Hash
 */
declare function N_0x4593cf82aa179706(vehicle: number, modType: number, modIndex: number): number;
/**
 * Can be used for IS_DLC_VEHICLE_MOD and _0xC098810437312FFF
 * ```
 * ```
 * NativeDB Return Type: Hash
 */
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;

/**
 * Returns true if the wheels are custom wheels
 */
declare function GetVehicleModVariation(vehicle: number, modType: number): number;

/**
 * Returns the acceleration of the specified model.
 * For a full list, see here: pastebin.com/GaN6vT4R
 */
declare function GetVehicleModelAcceleration(modelHash: string | number): number;

/**
 * GET_VEHICLE_MODEL_*
 * 9.8 * thrust if air vehicle, else 0.38 + drive force?
 * For a full list, see here: pastebin.com/bJQeDqNd
 */
declare function GetVehicleModelDownForce(modelHash: string | number): number;
/**
 * GET_VEHICLE_MODEL_*
 * 9.8 * thrust if air vehicle, else 0.38 + drive force?
 * For a full list, see here: pastebin.com/bJQeDqNd
 */
declare function N_0x53409b5163d5b846(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.
 * For a full list, see here: pastebin.com/3N8DVbpG
 */
declare function GetVehicleModelMaxBraking(modelHash: string | number): number;

/**
 * max braking if air vehicle, else max braking + 0.1
 * -------------------
 * For a full list, see here: pastebin.com/Cb9L1Cn0
 */
declare function GetVehicleModelMaxBrakingMaxMods(modelHash: string | number): number;
/**
 * max braking if air vehicle, else max braking + 0.1
 * -------------------
 * For a full list, see here: pastebin.com/Cb9L1Cn0
 */
declare function N_0xbfba3ba79cff7ebf(modelHash: string | number): number;
/**
 * max braking if air vehicle, else max braking + 0.1
 * -------------------
 * For a full list, see here: pastebin.com/Cb9L1Cn0
 */
declare function GetVehicleModelHandBrake(modelHash: string | number): number;

/**
 * GET_VEHICLE_MODEL_*
 * Function pertains only to aviation vehicles.
 * For a full list, see here: pastebin.com/JwuGNp2K
 */
declare function GetVehicleModelMaxKnots(modelHash: string | number): number;
/**
 * GET_VEHICLE_MODEL_*
 * Function pertains only to aviation vehicles.
 * For a full list, see here: pastebin.com/JwuGNp2K
 */
declare function N_0xc6ad107ddc9054cc(modelHash: string | number): number;

/**
 * Returns max traction of the specified vehicle model.
 * For a full list, see here: pastebin.com/ERnntVjK
 */
declare function GetVehicleModelMaxTraction(modelHash: string | number): number;

/**
 * GET_VEHICLE_MODEL_*
 * called if the vehicle is a boat -- returns vecMoveResistanceX?
 * For a full list, see here: pastebin.com/Pyb2RhZ9
 */
declare function GetVehicleModelMoveResistance(modelHash: string | number): number;
/**
 * GET_VEHICLE_MODEL_*
 * called if the vehicle is a boat -- returns vecMoveResistanceX?
 * For a full list, see here: pastebin.com/Pyb2RhZ9
 */
declare function N_0x5aa3f878a178c4fc(modelHash: string | number): number;

/**
 * Returns max number of passengers (including the driver) for the specified vehicle model.
 * For a full list, see here: pastebin.com/MdETCS1j
 */
declare function GetVehicleModelNumberOfSeats(modelHash: string | number): number;
/**
 * Returns max number of passengers (including the driver) for the specified vehicle model.
 * For a full list, see here: pastebin.com/MdETCS1j
 */
declare function GetVehicleModelMaxNumberOfPassengers(modelHash: 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;

/**
 * p0 = VEHICLE_NODE_ID
 * 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): number;
/**
 * p0 = VEHICLE_NODE_ID
 * 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): number;
/**
 * p0 = VEHICLE_NODE_ID
 * 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): number;

/**
 * p0 = VEHICLE_NODE_ID
 * 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): number;
/**
 * p0 = VEHICLE_NODE_ID
 * 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): number;
/**
 * p0 = VEHICLE_NODE_ID
 * 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): number;

/**
 * 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.
 */
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): [number, number, number];

/**
 * GET_VEHICLE_NUMBER_*
 */
declare function GetVehicleNumberOfBrokenBones(vehicle: number): number;
/**
 * GET_VEHICLE_NUMBER_*
 */
declare function N_0x2c8cbfe1ea5fc631(vehicle: number): number;

/**
 * GET_VEHICLE_NUMBER_*
 * Also includes 'turnOffBones' when vehicle mods are installed.
 */
declare function GetVehicleNumberOfBrokenOffBones(vehicle: number): number;
/**
 * GET_VEHICLE_NUMBER_*
 * Also includes '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/was in depending on bool value.
 * @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;

/**
 * Should be renamed GET_CAR_PED_IS_TRYING_TO_ENTER...
 * Because this works only for cars, not for helis, planes,motorcycles or bicycles...
 * From Calderon
 * This is what R* named it, deal with it.
 */
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;

declare function GetVehiclePlateType(vehicle: number): number;

declare function GetVehicleRecordingId(p0: number, p1: 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.
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetVehicleTrailerVehicle(vehicle: number, trailer?: number): unknown[];

declare function GetVehicleTurboPressure(vehicle: number): number;

declare function GetVehicleTyreSmokeColor(vehicle: number): [number, number, number];

declare function GetVehicleTyresCanBurst(vehicle: number): number;

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): number;

/**
 * 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;

/**
 * Returns an int
 * Wheel Types:
 * 0: Sport
 * 1: Muscle
 * 2: Lowrider
 * 3: SUV
 * 4: Offroad
 * 5: Tuner
 * 6: Bike Wheels
 * 7: High End
 * Tested in Los Santos Customs
 */
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 GetVehicleXenonLightsColour(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;

/**
 * Remnant from GTA IV. Does nothing in GTA V.
 * ```
 * ```
 * NativeDB Return Type: float
 */
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
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetWaterHeight(x: number, y: number, z: number, height?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function GetWaterHeightNoWaves(x: number, y: number, z: number, height?: number): unknown[];

declare function GetWaypointBlipEnumId(): number;
declare function GetBlipInfoIdIterator(): number;

declare function GetWaypointDistanceAlongRoute(p0: string, p1: 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;

// Return is unknown[] due to pointer value being input of the function
declare function GetWeaponComponentHudStats(componentHash: string | number, outData?: number): unknown[];

declare function GetWeaponComponentTypeModel(componentHash: string | number): number;

/**
 * NativeDB Parameter 0: Hash componentHash
 */
declare function GetWeaponComponentVariantExtraComponentCount(componentHash: number): number;
/**
 * NativeDB Parameter 0: Hash componentHash
 */
declare function N_0x6558ac7c17bfef58(componentHash: number): number;

/**
 * NativeDB Parameter 0: Hash componentHash
 * NativeDB Return Type: Hash
 */
declare function GetWeaponComponentVariantExtraComponentModel(componentHash: number, extraComponentIndex: number): number;
/**
 * NativeDB Parameter 0: Hash componentHash
 * NativeDB Return Type: Hash
 */
declare function N_0x4d1cb8dc40208a17(componentHash: number, extraComponentIndex: number): number;

/**
 * This native does not return damages of weapons from the melee and explosive group.
 * ```
 * NativeDB Parameter 1: Hash componentHash
 * ```
 * @param componentHash 0 in the decompiled scripts.
 * @return Damages of the weapon.
 */
declare function GetWeaponDamage(weaponHash: string | number, componentHash: number): number;
/**
 * This native does not return damages of weapons from the melee and explosive group.
 * ```
 * NativeDB Parameter 1: Hash componentHash
 * ```
 * @param componentHash 0 in the decompiled scripts.
 * @return Damages of the weapon.
 */
declare function N_0x3133b907d8b32053(weaponHash: string | number, componentHash: number): number;
/**
 * This native does not return damages of weapons from the melee and explosive group.
 * ```
 * NativeDB Parameter 1: Hash componentHash
 * ```
 * @param componentHash 0 in the decompiled scripts.
 * @return Damages of the weapon.
 */
declare function GetWeaponDamage(weaponHash: string | number, componentHash: 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...
 * }
 */
// Return is unknown[] due to pointer value being input of the function
declare function GetWeaponHudStats(weaponHash: string | number, outData?: number): unknown[];

/**
 * Drops the current weapon and returns the object
 * Unknown behavior when unarmed.
 */
declare function GetWeaponObjectFromPed(ped: number, p1: boolean): number;

/**
 * NativeDB Parameter 1: Hash camoComponentHash
 */
declare function GetWeaponObjectLiveryColor(weaponObject: number, camoComponentHash: number): number;
/**
 * NativeDB Parameter 1: Hash camoComponentHash
 */
declare function N_0xb3ea4feabf41464b(weaponObject: number, camoComponentHash: number): number;

declare function GetWeaponObjectTintIndex(weapon: number): number;

/**
 * NativeDB Introduced: v1290
 */
declare function GetWeaponTimeBetweenShots(weaponHash: string | number): number;
/**
 * NativeDB Introduced: v1290
 */
declare function N_0x065d2aacad8cf7a4(weaponHash: string | number): number;

declare function GetWeaponTintCount(weaponHash: string | number): number;

/**
 * returns the weapon hash of pickup
 * ```
 * ```
 * NativeDB Parameter 0: Hash pickupHash
 */
declare function GetWeaponTypeFromPickupType(pickupHash: number): number;
/**
 * returns the weapon hash of pickup
 * ```
 * ```
 * NativeDB Parameter 0: Hash pickupHash
 */
declare function N_0x08f96ca6c551ad51(pickupHash: number): number;
/**
 * returns the weapon hash of pickup
 * ```
 * ```
 * NativeDB Parameter 0: Hash pickupHash
 */
declare function GetWeaponHashFromPickup(pickupHash: 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;

/**
 * changed any --> hash
 * progress_or_time --> percentWeather2, is not time but percent of the 2nd weather (0-1).
 * weatherType1 is same as GAMEPLAY::GET_PREV_WEATHER_TYPE_HASH_NAME()
 * and weatherType 2 GAMEPLAY::GET_NEXT_WEATHER_TYPE_HASH_NAME()
 * -QuantFC
 */
declare function GetWeatherTypeTransition(): [number, number, number];

declare function GetWindDirection(): number[];

declare function GetWindSpeed(): number;

/**
 * Returns the coordinates of an entity-bone.
 */
declare function GetWorldPositionOfEntityBone(entity: number, boneIndex: number): number[];

declare function GetWorldPositionOfEntityBone_2(entity: number, boneIndex: number): number[];
declare function N_0x46f8696933a63c9b(entity: number, boneIndex: number): number[];

declare function GetWorldRotationOfEntityBone(entity: number, boneIndex: number): number[];
declare function N_0xce6294a232d03786(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;

/**
 * cellphone range 1- 5 used for signal bar in iFruit phone
 */
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.
 * ```
 * ```
 * NativeDB Return Type: BOOL
 */
declare function GiveAchievementToPlayer(achievement: number): number;

/**
 * Gives a weapon to PED with a delay, example:
 * WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PED::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("WEAPON_PISTOL"), 1000, false)
 * ----------------------------------------------------------------------------------------------------------------------------------------
 * Translation table:
 * pastebin.com/a39K8Nz8
 */
declare function GiveDelayedWeaponToPed(ped: number, weaponHash: string | number, ammoCount: number, equipNow: boolean): void;

/**
 * NativeDB Parameter 1: Hash loadoutHash
 */
declare function GiveLoadoutToPed(ped: number, loadoutHash: number): void;
/**
 * NativeDB Parameter 1: Hash loadoutHash
 */
declare function N_0x68f8be6af5cdf8a6(ped: number, loadoutHash: 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)
 * ^ Wrong.
 * AddonHash is NOT a model hash, it's the weapon component hash.
 * ${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;

/**
 * isHidden - ????
 * All weapon names (add to the list if something is missing), use GAMEPLAY::GET_HASH_KEY((char *)weaponNames[i]) to get get the hash:
 * static LPCSTR weaponNames[] = {
 * "WEAPON_KNIFE", "WEAPON_NIGHTSTICK", "WEAPON_HAMMER", "WEAPON_BAT", "WEAPON_GOLFCLUB",
 * "WEAPON_CROWBAR", "WEAPON_PISTOL", "WEAPON_COMBATPISTOL", "WEAPON_APPISTOL", "WEAPON_PISTOL50",
 * "WEAPON_MICROSMG", "WEAPON_SMG", "WEAPON_ASSAULTSMG", "WEAPON_ASSAULTRIFLE",
 * "WEAPON_CARBINERIFLE", "WEAPON_ADVANCEDRIFLE", "WEAPON_MG", "WEAPON_COMBATMG", "WEAPON_PUMPSHOTGUN",
 * "WEAPON_SAWNOFFSHOTGUN", "WEAPON_ASSAULTSHOTGUN", "WEAPON_BULLPUPSHOTGUN", "WEAPON_STUNGUN", "WEAPON_SNIPERRIFLE",
 * "WEAPON_HEAVYSNIPER", "WEAPON_GRENADELAUNCHER", "WEAPON_GRENADELAUNCHER_SMOKE", "WEAPON_RPG", "WEAPON_MINIGUN",
 * "WEAPON_GRENADE", "WEAPON_STICKYBOMB", "WEAPON_SMOKEGRENADE", "WEAPON_BZGAS", "WEAPON_MOLOTOV",
 * "WEAPON_FIREEXTINGUISHER", "WEAPON_PETROLCAN", "WEAPON_FLARE", "WEAPON_SNSPISTOL", "WEAPON_SPECIALCARBINE",
 * "WEAPON_HEAVYPISTOL", "WEAPON_BULLPUPRIFLE", "WEAPON_HOMINGLAUNCHER", "WEAPON_PROXMINE", "WEAPON_SNOWBALL",
 * "WEAPON_VINTAGEPISTOL", "WEAPON_DAGGER", "WEAPON_FIREWORK", "WEAPON_MUSKET", "WEAPON_MARKSMANRIFLE",
 * "WEAPON_HEAVYSHOTGUN", "WEAPON_GUSENBERG", "WEAPON_HATCHET", "WEAPON_RAILGUN", "WEAPON_COMBATPDW",
 * "WEAPON_KNUCKLE", "WEAPON_MARKSMANPISTOL", "WEAPON_FLASHLIGHT", "WEAPON_MACHETE", "WEAPON_MACHINEPISTOL",
 * "WEAPON_SWITCHBLADE", "WEAPON_REVOLVER", "WEAPON_COMPACTRIFLE", "WEAPON_DBSHOTGUN", "WEAPON_FLAREGUN",
 * "WEAPON_AUTOSHOTGUN", "WEAPON_BATTLEAXE", "WEAPON_COMPACTLAUNCHER", "WEAPON_MINISMG", "WEAPON_PIPEBOMB",
 * "WEAPON_POOLCUE", "WEAPON_SWEEPER", "WEAPON_WRENCH"
 * };
 * ----------------------------------------------------------------------------------------------------------------------------------------
 * Translation table:
 * pastebin.com/a39K8Nz8
 */
declare function GiveWeaponToPed(ped: number, weaponHash: string | number, ammoCount: number, isHidden: boolean, equipNow: boolean): void;

declare function GolfTrailGetMaxHeight(): number;
declare function N_0xa4819f5e23e2ffad(): number;

declare function GolfTrailGetVisualControlPoint(p0: number): number[];
declare function N_0xa4664972a9b8f8ba(p0: number): number[];

/**
 * Only used in the golf and golf_mp script
 */
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;
/**
 * Only used in the golf and golf_mp script
 */
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): number;

declare function HasActionModeAssetLoaded(asset: string): number;

declare function HasAdditionalTextLoaded(slot: number): number;

declare function HasAnimDictLoaded(animDict: string): number;

/**
 * if (ENTITY::HAS_ANIM_EVENT_FIRED(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("CreateObject")))
 */
declare function HasAnimEventFired(entity: number, actionHash: string | number): number;

/**
 * Gets whether the specified animation set has finished loading. An animation set provides movement animations for a ped. See SET_PED_MOVEMENT_CLIPSET.
 * Animation set and clip set are synonymous.
 */
declare function HasAnimSetLoaded(animSet: string): number;

/**
 * Hardcoded to always return true.
 */
declare function HasAsyncInstallFinished(): number;
/**
 * Hardcoded to always return true.
 */
declare function N_0x14832bf2aba53fc5(): number;

/**
 * p3 - possibly radius?
 */
declare function HasBulletImpactedInArea(x: number, y: number, z: number, p3: number, p4: boolean, p5: boolean): number;

declare function HasBulletImpactedInBox(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: boolean, p7: boolean): number;

/**
 * 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/
 */
declare function HasButtonCombinationJustBeenEntered(hash: string | number, amount: number): number;
/**
 * 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/
 */
declare function N_0x071e2a839de82d90(hash: string | number, amount: number): number;

/**
 * Get inputted "Cheat code", for example:
 * while (TRUE)
 * {
 * if (GAMEPLAY::_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): number;
/**
 * Get inputted "Cheat code", for example:
 * while (TRUE)
 * {
 * if (GAMEPLAY::_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): number;

/**
 * Alias for HAS_ANIM_SET_LOADED.
 */
declare function HasClipSetLoaded(clipSet: string): number;

declare function HasClosestObjectOfTypeBeenBroken(p0: number, p1: number, p2: number, p3: number, modelHash: string | number, p5: number): number;

declare function HasClosestObjectOfTypeBeenCompletelyDestroyed(x: number, y: number, z: number, radius: number, modelHash: string | number, p5: boolean): number;
declare function N_0x46494a2475701343(x: number, y: number, z: number, radius: number, modelHash: string | number, p5: boolean): number;

/**
 * Sets the value of the specified variable to 0.
 * Always returns true.
 * bool _NULLIFY(void* variable, int unused)
 * {
 * *variable = NULL;
 * return true;
 * }
 * ```
 * ```
 * NativeDB Parameter 0: BOOL* variable
 */
declare function HasCloudRequestsFinished(unused: number): [number, number];
/**
 * Sets the value of the specified variable to 0.
 * Always returns true.
 * bool _NULLIFY(void* variable, int unused)
 * {
 * *variable = NULL;
 * return true;
 * }
 * ```
 * ```
 * NativeDB Parameter 0: BOOL* variable
 */
declare function Nullify(unused: number): [number, number];

declare function HasCollisionForModelLoaded(model: string | number): number;

declare function HasCollisionLoadedAroundEntity(entity: number): number;

/**
 * Checks if the cutscene has loaded and doesn't check via CutSceneManager as opposed to HAS_[THIS]_CUTSCENE_LOADED.
 */
declare function HasCutFileLoaded(cutsceneName: string): number;
/**
 * 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): number;

declare function HasCutsceneCutThisFrame(): number;
declare function N_0x708bdd8cd795b043(): number;

declare function HasCutsceneFinished(): number;

declare function HasCutsceneLoaded(): number;

/**
 * HAS_*
 */
declare function HasDirectorModeBeenTriggered(): number;
/**
 * HAS_*
 */
declare function N_0xa277800a9eae340e(): number;

/**
 * ```
 * 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): number;

declare function HasEntityBeenDamagedByAnyObject(entity: number): number;

declare function HasEntityBeenDamagedByAnyPed(entity: number): number;

declare function HasEntityBeenDamagedByAnyVehicle(entity: number): number;

/**
 * Entity 1 = Victim
 * Entity 2 = Attacker
 * p2 seems to always be 1
 */
declare function HasEntityBeenDamagedByEntity(entity1: number, entity2: number, p2: boolean): number;

/**
 * It determines what weapons caused damage:
 * If youu 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): number;

/**
 * traceType is always 17 in the scripts.
 * There is other codes used for traceType:
 * 19 - in jewelry_prep1a
 * 126 - in am_hunt_the_beast
 * 256 & 287 - in fm_mission_controller
 */
declare function HasEntityClearLosToEntity(entity1: number, entity2: number, traceType: number): number;

/**
 * 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): 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): number;

declare function HasForceCleanupOccurred(cleanupFlags: number): number;

/**
 * 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): number;

/**
 * Checks if the specified model has loaded into memory.
 */
declare function HasModelLoaded(model: string | number): number;

/**
 * HAS_*
 */
declare function HasMultiplayerAudioDataLoaded(): number;
/**
 * HAS_*
 */
declare function N_0x544810ed9db6bbe6(): number;

/**
 * HAS_*
 */
declare function HasMultiplayerAudioDataUnloaded(): number;
/**
 * HAS_*
 */
declare function N_0x5b50abb1fe3746f4(): number;

/**
 * assetName = For example "core"
 */
declare function HasNamedPtfxAssetLoaded(assetName: string): number;

declare function HasNetworkTimeStarted(): number;
declare function N_0x46718aceedeafc84(): number;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function HasObjectBeenBroken(object: number): number;

/**
 * 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): number;

/**
 * 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): number;

declare function HasPedGotWeaponComponent(ped: number, weaponHash: string | number, componentHash: string | number): number;

declare function HasPedHeadBlendFinished(ped: number): number;

/**
 * Normally returns true. Returns false briefly whilst putting on a helmet after getting onto a motorbike. Not sure what that's about.
 */
declare function HasPedPreloadPropDataFinished(ped: number): number;
/**
 * Normally returns true. Returns false briefly whilst putting on a helmet after getting onto a motorbike. Not sure what that's about.
 */
declare function N_0x784002a632822099(ped: number): number;

/**
 * Normally returns true. Returns false briefly whilst getting into a plane. This is probably a check to see if the ped model and all its components/drawables are properly loaded yet.
 */
declare function HasPedPreloadVariationDataFinished(ped: number): number;
/**
 * Normally returns true. Returns false briefly whilst getting into a plane. This is probably a check to see if the ped model and all its components/drawables are properly loaded yet.
 */
declare function N_0x66680a92700f43df(ped: number): number;

declare function HasPedReceivedEvent(ped: number, eventId: number): number;

declare function HasPedheadshotImgUploadFailed(): number;
declare function N_0x876928dddfccc9cd(): number;

declare function HasPedheadshotImgUploadSucceeded(): number;
declare function N_0xe8a169e666cbc541(): number;

declare function HasPickupBeenCollected(pickup: number): number;

declare function HasPlayerBeenSpottedInStolenVehicle(player: number): number;

declare function HasPlayerDamagedAtLeastOneNonAnimalPed(player: number): number;

declare function HasPlayerDamagedAtLeastOnePed(player: number): number;

/**
 * Gets the player's info and calls a function that checks the player's ped position.
 * Here's the decompiled function that checks the position: pastebin.com/ZdHG2E7n
 */
declare function HasPlayerLeftTheWorld(player: number): number;

declare function HasPlayerTeleportFinished(player: number): number;
declare function N_0xe23d5873c2394c61(player: number): number;

declare function HasPreloadModsFinished(p0: number): number;

declare function HasPtfxAssetLoaded(): number;

/**
 * Hardcoded to return false.
 */
declare function HasResumedFromSuspend(): number;
/**
 * Hardcoded to return false.
 */
declare function N_0xe8b9c0ec9e183f35(): number;

declare function HasScaleformContainerMovieLoadedIntoParent(scaleformHandle: number): number;

/**
 * Pretty sure it's the real name (not 100% sure so I added the _ prefix); can someone else confirm it?
 * Only values used in the scripts are:
 * "heist_mp"
 * "heistmap_mp"
 * "instructional_buttons"
 * "heist_pre"
 */
declare function HasScaleformMovieFilenameLoaded(scaleformName: string): number;
/**
 * Pretty sure it's the real name (not 100% sure so I added the _ prefix); can someone else confirm it?
 * Only values used in the scripts are:
 * "heist_mp"
 * "heistmap_mp"
 * "instructional_buttons"
 * "heist_pre"
 */
declare function N_0x0c1c5d756fb5f337(scaleformName: string): number;
/**
 * Pretty sure it's the real name (not 100% sure so I added the _ prefix); can someone else confirm it?
 * Only values used in the scripts are:
 * "heist_mp"
 * "heistmap_mp"
 * "instructional_buttons"
 * "heist_pre"
 */
declare function HasNamedScaleformMovieLoaded(scaleformName: string): number;

declare function HasScaleformMovieLoaded(scaleformHandle: number): number;

/**
 * Check to see if hud component Scaleform has loaded?
 */
declare function HasScaleformScriptHudMovieLoaded(hudComponent: number): number;
/**
 * Check to see if hud component Scaleform has loaded?
 */
declare function HasHudScaleformLoaded(hudComponent: number): number;

/**
 * Returns if a script has been loaded into the game. Used to see if a script was loaded after requesting.
 * For a full list, see here: pastebin.com/yLNWicUi
 */
declare function HasScriptLoaded(scriptName: string): number;

declare function HasScriptWithNameHashLoaded(scriptHash: string | number): number;
declare function HasStreamedScriptLoaded(scriptHash: string | number): number;

declare function HasSoundFinished(soundId: number): number;

declare function HasStealthModeAssetLoaded(asset: string): number;

/**
 * HAS_*
 * Functionality also closely related to blending
 */
declare function HasStreamedPedAssetsLoaded(ped: number): number;
/**
 * HAS_*
 * Functionality also closely related to blending
 */
declare function N_0x7350823473013c02(ped: number): number;

declare function HasStreamedTextureDictLoaded(textureDict: string): number;

/**
 * Checks if the specified gxt has loaded into the passed slot.
 */
declare function HasThisAdditionalTextLoaded(gxt: string, slot: number): number;

declare function HasThisCutsceneLoaded(cutsceneName: string): number;

declare function HasVehicleAssetLoaded(vehicleAsset: number): number;

/**
 * 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): number;

declare function HasVehiclePhoneExplosiveDevice(): number;
declare function N_0x6adaabd3068c5235(): number;

// Return is unknown[] due to pointer value being input of the function
declare function HasVehicleRecordingBeenLoaded(p0: number, p1?: number): unknown[];

declare function HasWeaponAssetLoaded(weaponHash: string | number): number;

declare function HasWeaponGotWeaponComponent(weapon: number, addonHash: string | number): number;

declare function HaveCreditsReachedEnd(): number;
declare function N_0x075f1d57402c93ba(): number;

/**
 * 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 HidePickup(pickup: number, toggle: boolean): void;
declare function N_0x867458251d47ccb2(pickup: number, toggle: boolean): void;

declare function HideScriptedHudComponentThisFrame(id: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function HideVehicleTombstone(vehicle: number, toggle: boolean): 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;
/**
 * 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;

/**
 * NativeDB Parameter 0: char* p0
 * NativeDB Added Parameter 3: int 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;

/**
 * Forces the weapon wheel to appear on screen.
 */
declare function HudForceWeaponWheel(show: boolean): void;
/**
 * Forces the weapon wheel to appear on screen.
 */
declare function N_0xeb354e5376bc81a7(show: boolean): void;
/**
 * Forces the weapon wheel to appear on screen.
 */
declare function ShowWeaponWheel(show: boolean): 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;

/**
 * Return the weapon hash active in a specific weapon wheel slotList
 */
declare function HudWeaponWheelGetSlotHash(weaponTypeIndex: number): number;
/**
 * Return 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, it stops the player from receiving a weapon via the weapon wheel.
 */
declare function HudWeaponWheelIgnoreSelection(): void;
/**
 * calling this each frame, it stops the player from receiving a weapon via the weapon wheel.
 */
declare function BlockWeaponWheelThisFrame(): void;
/**
 * calling this each frame, it stops the player from receiving a weapon via the weapon wheel.
 */
declare function N_0x0afc4af510774b47(): 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;
/**
 * 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;

declare function IgnoreNextRestart(toggle: boolean): void;

/**
 * Loads "common:/data/missioncreatordata" data and sets some values.
 */
declare function InitCreatorBudget(): void;
/**
 * Loads "common:/data/missioncreatordata" data and sets some values.
 */
declare function N_0xb5a4db34fe89b88a(): void;
/**
 * Loads "common:/data/missioncreatordata" data and sets some values.
 */
declare function LoadMissionCreatorData(): void;

declare function InitShopPedComponent(outComponent: number): void;

declare function InitShopPedProp(outProp: number): 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(p0: 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(p0: number, p1: string, p2: string): void;

/**
 * Resets the idle camera timer. Calling this in a loop will disable the idle camera.
 */
declare function InvalidateIdleCam(): void;
/**
 * Resets the idle camera timer. Calling this in a loop will disable the idle camera.
 */
declare function N_0xf4f2c0d4ee209e20(): void;

// Return is unknown[] due to pointer value being input of the function
declare function InvokeFunctionReference(referenceIdentity: string, argsSerialized: string, argsLength: number, retvalLength?: number): unknown[];

declare function IsAceAllowed(object: string): number;

declare function IsAimCamActive(): number;

/**
 * IS_A*
 */
declare function IsAimCamThirdPersonActive(): number;
/**
 * IS_A*
 */
declare function N_0x74bd83ea840f6bc9(): number;

declare function IsAirDefenseZoneInsideSphere(x: number, y: number, z: number, radius: number, zoneId: number): number;
declare function N_0xdab963831dbfd3f4(x: number, y: number, z: number, radius: number, zoneId: number): number;

/**
 * Example:
 * bool playing = AUDIO::IS_ALARM_PLAYING("PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS");
 */
declare function IsAlarmPlaying(alarmName: string): number;

/**
 * Common in the scripts:
 * AUDIO::IS_AMBIENT_SPEECH_DISABLED(PLAYER::PLAYER_PED_ID());
 */
declare function IsAmbientSpeechDisabled(ped: number): number;

declare function IsAmbientSpeechPlaying(ped: number): number;

declare function IsAmbientZoneEnabled(ambientZone: string): number;

declare function IsAnEntity(handle: number): number;

declare function IsAnimalVocalizationPlaying(pedHandle: number): number;
declare function N_0xc265df9fb44a9fbd(pedHandle: number): number;

/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function IsAnyEntityEntirelyInsideGarage(garageHash: number, p1: boolean, p2: boolean, p3: boolean, p4: number): number;
/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function N_0x673ed815d6e323b7(garageHash: number, p1: boolean, p2: boolean, p3: boolean, p4: number): number;

declare function IsAnyHostilePedNearPoint(ped: number, x: number, y: number, z: number, radius: number): number;
declare function N_0x68772db2b2526f9f(ped: number, x: number, y: number, z: number, radius: number): number;

declare function IsAnyObjectNearPoint(x: number, y: number, z: number, range: number, p4: boolean): number;

declare function IsAnyPassengerRappelingFromVehicle(vehicle: number): number;
declare function N_0x291e373d483e7ee7(vehicle: number): number;
declare function AnyPassengersRappeling(vehicle: number): number;

declare function IsAnyPedNearPoint(x: number, y: number, z: number, radius: number): number;

declare function IsAnyPedShootingInArea(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p6: boolean, p7: boolean): number;

declare function IsAnySpeechPlaying(ped: number): number;

declare function IsAnyVehicleNearPoint(x: number, y: number, z: number, radius: number): number;

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): number;

declare function IsAudioSceneActive(scene: string): number;

/**
 * if (GAMEPLAY::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(): number;

declare function IsAutoSaveInProgress(): number;

declare function IsBigVehicle(vehicle: number): number;

/**
 * <!-- 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(): number;

/**
 * <!-- 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(): number;

/**
 * Returns bit's boolean state from [offset] of [address].
 * Example:
 * GAMEPLAY::IS_BIT_SET(bitAddress, 1);
 * To enable and disable bits, see:
 * GAMEPLAY::SET_BIT(&bitAddress, 1);   // enable
 * GAMEPLAY::CLEAR_BIT(&bitAddress, 1); // disable
 */
declare function IsBitSet(address: number, offset: number): number;

declare function IsBlipFlashing(blip: number): number;

declare function IsBlipOnMinimap(blip: number): number;

declare function IsBlipShortRange(blip: number): number;

/**
 * IS_*
 */
declare function IsBoatAnchoredAndFrozen(vehicle: number): number;
/**
 * IS_*
 */
declare function N_0xb0ad1238a709b1a2(vehicle: number): number;

/**
 * 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): number;

declare function IsBulletInArea(x: number, y: number, z: number, radius: number, ownedByPlayer: boolean): number;

declare function IsBulletInBox(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, ownedByPlayer: boolean): number;

/**
 * Returns whether or not the passed camera handle is active.
 */
declare function IsCamActive(cam: number): number;

declare function IsCamInterpolating(cam: number): number;

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function IsCamPlayingAnim(cam: number, animName: string, animDictionary: string): number;

declare function IsCamRendering(cam: number): number;

declare function IsCamShaking(cam: number): number;

declare function IsCamSplinePaused(p0: number): number;

/**
 * NativeDB Introduced: v1493
 */
declare function IsCinematicCamActive(): number;
/**
 * NativeDB Introduced: v1493
 */
declare function N_0xf5f1e89a970b7796(): number;

declare function IsCinematicCamRendering(): number;

declare function IsCinematicCamShaking(): number;

declare function IsCinematicShotActive(p0: number): number;

/**
 * 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): number;
/**
 * 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): number;
/**
 * 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): number;

/**
 * Returns true if command line option '-benchmark' is set.
 */
declare function IsCommandLineBenchmarkValueSet(): number;
/**
 * Returns true if command line option '-benchmark' is set.
 */
declare function N_0xa049a5be0f04f2f8(): number;

declare function IsCommerceDataValid(): number;
declare function N_0xea14eef5b7cd2c30(): number;

declare function IsCommerceStoreOpen(): number;
declare function N_0x2eac52b4019e2782(): number;

/**
 * NativeDB Parameter 0: Hash itemHash
 */
// Return is unknown[] due to pointer value being input of the function
declare function IsContentItemLocked(itemHash?: number): unknown[];
/**
 * NativeDB Parameter 0: Hash itemHash
 */
// Return is unknown[] due to pointer value being input of the function
declare function IsOutfitEmpty(itemHash?: number): unknown[];
/**
 * NativeDB Parameter 0: Hash itemHash
 */
// Return is unknown[] due to pointer value being input of the function
declare function IsDlcDataEmpty(itemHash?: number): unknown[];

/**
 * Control Groups:
 * enum InputGroups
 * {
 * INPUTGROUP_MOVE = 0,
 * INPUTGROUP_LOOK = 1,
 * INPUTGROUP_WHEEL = 2,
 * INPUTGROUP_CELLPHONE_NAVIGATE = 3,
 * INPUTGROUP_CELLPHONE_NAVIGATE_UD = 4,
 * INPUTGROUP_CELLPHONE_NAVIGATE_LR = 5,
 * INPUTGROUP_FRONTEND_DPAD_ALL = 6,
 * INPUTGROUP_FRONTEND_DPAD_UD = 7,
 * INPUTGROUP_FRONTEND_DPAD_LR = 8,
 * INPUTGROUP_FRONTEND_LSTICK_ALL = 9,
 * INPUTGROUP_FRONTEND_RSTICK_ALL = 10,
 * INPUTGROUP_FRONTEND_GENERIC_UD = 11,
 * INPUTGROUP_FRONTEND_GENERIC_LR = 12,
 * INPUTGROUP_FRONTEND_GENERIC_ALL = 13,
 * INPUTGROUP_FRONTEND_BUMPERS = 14,
 * INPUTGROUP_FRONTEND_TRIGGERS = 15,
 * INPUTGROUP_FRONTEND_STICKS = 16,
 * INPUTGROUP_SCRIPT_DPAD_ALL = 17,
 * INPUTGROUP_SCRIPT_DPAD_UD = 18,
 * INPUTGROUP_SCRIPT_DPAD_LR = 19,
 * INPUTGROUP_SCRIPT_LSTICK_ALL = 20,
 * INPUTGROUP_SCRIPT_RSTICK_ALL = 21,
 * INPUTGROUP_SCRIPT_BUMPERS = 22,
 * INPUTGROUP_SCRIPT_TRIGGERS = 23,
 * INPUTGROUP_WEAPON_WHEEL_CYCLE = 24,
 * INPUTGROUP_FLY = 25,
 * INPUTGROUP_SUB = 26,
 * INPUTGROUP_VEH_MOVE_ALL = 27,
 * INPUTGROUP_CURSOR = 28,
 * INPUTGROUP_CURSOR_SCROLL = 29,
 * INPUTGROUP_SNIPER_ZOOM_SECONDARY = 30,
 * INPUTGROUP_VEH_HYDRAULICS_CONTROL = 31,
 * MAX_INPUTGROUPS = 32,
 * INPUTGROUP_INVALID = 33
 * };
 * 0, 1 and 2 used in the scripts.
 */
declare function IsControlEnabled(padIndex: number, control: number): number;

/**
 * Returns whether a [control](https://docs.fivem.net/game-references/controls/) was newly pressed since the last check.
 * @param inputGroup The control system instance to use. Usually set to 0.
 * @param control The control ID to check.
 * @return True if the control was pressed.
 */
declare function IsControlJustPressed(inputGroup: number, control: number): number;

/**
 * Returns whether a [control](https://docs.fivem.net/game-references/controls/) was newly released since the last check.
 * @param inputGroup The control system instance to use. Usually set to 0.
 * @param control The control ID to check.
 * @return True if the control was recently released.
 */
declare function IsControlJustReleased(inputGroup: number, control: number): number;

/**
 * Returns whether a [control](https://docs.fivem.net/game-references/controls/) is currently pressed.
 * @param inputGroup The control system instance to use. Usually set to 0.
 * @param control The control ID to check.
 * @return True if the control was pressed.
 */
declare function IsControlPressed(inputGroup: number, control: number): number;

/**
 * Returns whether a [control](https://docs.fivem.net/game-references/controls/) is currently *not* pressed.
 * @param inputGroup The control system instance to use. Usually set to 0.
 * @param control The control ID to check.
 * @return True if the control is not pressed.
 */
declare function IsControlReleased(inputGroup: number, control: number): number;

declare function IsConversationPedDead(ped: number): number;

/**
 * xyz - relative to the world origin.
 */
declare function IsCopPedInArea_3d(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;

/**
 * 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): number;

declare function IsCutsceneActive(): number;

/**
 * It's 100% an IS_CUTSCENE_* native.
 */
declare function IsCutscenePlaybackFlagSet(flag: number): number;
/**
 * It's 100% an IS_CUTSCENE_* native.
 */
declare function N_0x71b74d2ae19338d0(flag: number): number;

declare function IsCutscenePlaying(): number;

declare function IsDamageTrackerActiveOnNetworkId(netID: number): number;

declare function IsDamageTrackerActiveOnPlayer(player: number): number;
declare function N_0xb2092a1eaa7fd45f(player: number): number;

declare function IsDecalAlive(decal: number): number;

/**
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function IsDisabledControlJustPressed(padIndex: number, control: number): number;

/**
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function IsDisabledControlJustReleased(padIndex: number, control: number): number;

/**
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function IsDisabledControlPressed(padIndex: number, control: number): number;

/**
 * inputGroup: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts.
 */
declare function IsDisabledControlReleased(padIndex: number, control: number): number;
/**
 * inputGroup: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts.
 */
declare function N_0xfb6c4072e9a32e92(padIndex: number, control: number): number;

/**
 * Example:
 * DLC2::IS_DLC_PRESENT($\mpbusiness2\);
 * ($ = gethashkey)
 * bruteforce these:
 * 0xB119F6D
 * 0x96F02EE6
 */
declare function IsDlcPresent(dlcHash: string | number): number;

/**
 * Use _GET_VEHICLE_MOD_DATA for modData
 * ```
 * ```
 * NativeDB Parameter 0: Hash hash
 */
declare function IsDlcVehicleMod(hash: number): number;
/**
 * Use _GET_VEHICLE_MOD_DATA for modData
 * ```
 * ```
 * NativeDB Parameter 0: Hash hash
 */
declare function N_0x0564b9ff9631b82c(hash: number): number;

declare function IsDoorClosed(doorHash: string | number): number;

/**
 * Example:
 * if (OBJECT::_DOES_DOOR_EXIST(doorHash))
 * {
 * OBJECT::REMOVE_DOOR_FROM_SYSTEM(doorHash);
 * }
 */
declare function IsDoorRegisteredWithSystem(doorHash: string | number): number;
/**
 * Example:
 * if (OBJECT::_DOES_DOOR_EXIST(doorHash))
 * {
 * OBJECT::REMOVE_DOOR_FROM_SYSTEM(doorHash);
 * }
 */
declare function N_0xc153c43ea202c8c1(doorHash: string | number): number;
/**
 * Example:
 * if (OBJECT::_DOES_DOOR_EXIST(doorHash))
 * {
 * OBJECT::REMOVE_DOOR_FROM_SYSTEM(doorHash);
 * }
 */
declare function DoesDoorExist(doorHash: string | number): number;

declare function IsDrivebyTaskUnderneathDrivingTask(ped: number): number;

/**
 * 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): number;

/**
 * Gets whether or not this is the CitizenFX server.
 * @return A boolean value.
 */
declare function IsDuplicityVersion(): number;

declare function IsDurangoVersion(): number;

declare function IsEntityAMissionEntity(entity: number): number;

declare function IsEntityAPed(entity: number): number;

declare function IsEntityAVehicle(entity: number): number;

declare function IsEntityAnObject(entity: number): number;

/**
 * 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): number;

/**
 * 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): number;

declare function IsEntityAttached(entity: number): number;

declare function IsEntityAttachedToAnyObject(entity: number): number;

declare function IsEntityAttachedToAnyPed(entity: number): number;

declare function IsEntityAttachedToAnyVehicle(entity: number): number;

declare function IsEntityAttachedToEntity(_from: number, to: number): number;

declare function IsEntityAttachedToHandlerFrame(vehicle: number, entity: number): number;
declare function SetPedEnabledBikeRingtone(vehicle: number, entity: number): number;
declare function IsVehicleNearEntity(vehicle: number, entity: number): number;

/**
 * NativeDB Added Parameter 2: BOOL p1
 */
declare function IsEntityDead(entity: number): number;

declare function IsEntityFocus(entity: number): number;

declare function IsEntityInAir(entity: number): number;

/**
 * p10 is some entity flag check, also used in `IS_ENTITY_AT_ENTITY`, `IS_ENTITY_IN_AREA`, and `IS_ENTITY_AT_COORD`.
 * 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 p8 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, p8: boolean, includez: boolean, p10: number): number;

declare function IsEntityInArea(entity: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p7: boolean, p8: boolean, p9: number): number;

declare function IsEntityInWater(entity: number): number;

declare function IsEntityInZone(entity: number, zone: string): number;

declare function IsEntityOccluded(entity: number): number;

declare function IsEntityOnFire(entity: number): number;

/**
 * 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): number;

/**
 * ```
 * See also PED::IS_SCRIPTED_SCENARIO_PED_USING_CONDITIONAL_ANIM 0x6EC47A344923E1ED 0x3C30B447
 * 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): number;

/**
 * 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): number;

declare function IsEntityTouchingEntity(entity: number, targetEntity: number): number;

declare function IsEntityTouchingModel(entity: number, modelHash: string | number): number;

/**
 * // add this to your CSS to view code with formatting intact.
 * // pre + hr + p { white-space: pre; } // -
 * bool isEntityUpright(Entity e, float angle) {
 * bool bIsUpright; // bl@1
 * CDynamicEntity* pEntity; // rdi@1
 * bIsUpright = 0;
 * pEntity = getEntityAddressIfPhysical(e);
 * if (pEntity) {
 * bIsUpright = 0;
 * if (pEntity->Matrix.up.z >= cosf(angle * 0.017453292)) // radians(angle)
 * bIsUpright = 1;
 * }
 * return bIsUpright;
 * }
 */
declare function IsEntityUpright(entity: number, angle: number): number;

declare function IsEntityUpsidedown(entity: number): number;

declare function IsEntityVisible(entity: number): number;

declare function IsEntityVisibleToScript(entity: number): number;

declare function IsEntityWaitingForWorldCollision(entity: number): number;

declare function IsExplosionActiveInArea(explosionType: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;
declare function N_0x6070104b699b2ef4(explosionType: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;

/**
 * See [IS_POINT_IN_ANGLED_AREA](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
 * @param explosionType explosion enum, -1 for any explosion type
 * @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): number;

declare function IsExplosionInArea(explosionType: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): number;

declare function IsExplosionInSphere(explosionType: number, x: number, y: number, z: number, radius: number): number;

declare function IsFirstPersonAimCamActive(): number;

declare function IsFlashLightOn(ped: number): number;
declare function SetWeaponSmokegrenadeAssigned(ped: number): number;

declare function IsFloatingHelpTextOnScreen(hudIndex: number): number;
declare function N_0x2432784aca090da4(hudIndex: number): number;

declare function IsFollowPedCamActive(): number;

declare function IsFollowVehicleCamActive(): number;

/**
 * This function is hard-coded to always return 0.
 */
declare function IsFrontendFading(): number;

declare function IsFrontendReadyForControl(): number;
declare function N_0x3bab9a4e4f2ff5c7(): number;

/**
 * Hardcoded to return 1
 */
declare function IsGameInControlOfMusic(): number;

declare function IsGameplayCamLookingBehind(): number;

/**
 * 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.
 */
declare function IsGameplayCamRendering(): number;

declare function IsGameplayCamShaking(): number;

declare function IsGameplayHintActive(): number;

/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function IsGarageEmpty(garageHash: number, p1: boolean, p2: number): number;

declare function IsHandlerFrameAboveContainer(handler: number, container: number): number;
declare function N_0x89d630cf5ea96d23(handler: number, container: number): number;

declare function IsHeliLandingAreaBlocked(vehicle: number): number;
declare function N_0x634148744f385576(vehicle: number): number;

declare function IsHeliPartBroken(vehicle: number, p1: boolean, p2: boolean, p3: boolean): number;

declare function IsHelpMessageBeingDisplayed(): number;

declare function IsHelpMessageFadingOut(): number;

/**
 * Doesn't appear to work, use IS_HELP_MESSAGE_BEING_DISPLAYED instead
 */
declare function IsHelpMessageOnScreen(): number;

/**
 * Checks whether the horn of a vehicle is currently played.
 */
declare function IsHornActive(vehicle: number): number;

declare function IsHoveringOverMissionCreatorBlip(): number;
declare function N_0x4167efe0527d706e(): number;

/**
 * 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): number;

declare function IsHudHidden(): number;

declare function IsHudPreferenceSwitchedOn(): number;

declare function IsInItemset(p0: number, p1: number): number;

/**
 * example:
 * if (GAMEPLAY::_684A41975F077262()) {
 * (a_0) = GAMEPLAY::_ABB2FA71C83A1B72();
 * } else {
 * (a_0) = -1;
 * }
 */
declare function IsInPowerSavingMode(): number;
/**
 * example:
 * if (GAMEPLAY::_684A41975F077262()) {
 * (a_0) = GAMEPLAY::_ABB2FA71C83A1B72();
 * } else {
 * (a_0) = -1;
 * }
 */
declare function N_0x684a41975f077262(): number;

declare function IsInVehicleCamDisabled(): number;
declare function N_0x4f32c0d5a90a9b40(): number;

/**
 * =======================================================
 * 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): number;

/**
 * Seems to return true if the input is currently disabled. "_GET_LAST_INPUT_METHOD" didn't seem very accurate, but I've left the original description below.
 * --
 * index usually 2
 * returns true if the last input method was made with mouse + keyboard, false if it was made with a gamepad
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function IsInputDisabled(inputGroup: number): number;
/**
 * Seems to return true if the input is currently disabled. "_GET_LAST_INPUT_METHOD" didn't seem very accurate, but I've left the original description below.
 * --
 * index usually 2
 * returns true if the last input method was made with mouse + keyboard, false if it was made with a gamepad
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function GetLastInputMethod(inputGroup: number): number;

/**
 * I may be wrong with this one, but from the looks of the scripts, it sets keyboard related stuff as soon as this returns true.
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function IsInputJustDisabled(inputGroup: number): number;
/**
 * I may be wrong with this one, but from the looks of the scripts, it sets keyboard related stuff as soon as this returns true.
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function N_0x13337b38db572509(inputGroup: number): number;

declare function IsInteriorCapped(interiorID: number): number;

declare function IsInteriorDisabled(interior: number): number;

declare function IsInteriorEntitySetActive(interior: number, entitySetName: string): number;
declare function N_0x35f7dd45e8c0a16d(interior: number, entitySetName: string): number;
declare function IsInteriorPropEnabled(interior: number, entitySetName: string): number;

declare function IsInteriorReady(interiorID: number): number;

/**
 * Returns a bool if interior rendering is disabled, if yes, all "normal" rendered interiors are invisible
 */
declare function IsInteriorRenderingDisabled(): number;

declare function IsInteriorScene(): number;

/**
 * List of all IPLs: pastebin.com/iNGLY32D
 */
declare function IsIplActive(iplName: string): number;

declare function IsItemsetValid(p0: number): number;

declare function IsLookInverted(): number;

declare function IsMemoryCardInUse(): number;

declare function IsMessageBeingDisplayed(): number;

declare function IsMinigameInProgress(): number;

declare function IsMinimapInInterior(): number;
declare function N_0x9049fe339d5f6f6f(): number;

declare function IsMinimapRendering(): number;
declare function N_0xaf754f20eb5cd51a(): number;
declare function IsRadarEnabled(): number;

declare function IsMissionCompletePlaying(): number;

declare function IsMissionCompleteReadyForUi(): number;
declare function N_0x6f259f82d873b8b8(): number;

declare function IsMissionCreatorBlip(blip: number): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function IsMissionNewsStoryUnlocked(newsStory: number): number;
/**
 * NativeDB Return Type: BOOL
 */
declare function GetNumberOfPassengerVoiceVariations(newsStory: number): number;

declare function IsMobilePhoneCallOngoing(): number;

declare function IsMobilePhoneRadioActive(): number;

declare function IsModelAPed(model: string | number): number;

/**
 * Returns whether the specified model represents a vehicle.
 */
declare function IsModelAVehicle(model: string | number): number;

/**
 * Check if model is in cdimage(rpf)
 */
declare function IsModelInCdimage(model: string | number): number;

/**
 * Returns whether the specified model exists in the game.
 */
declare function IsModelValid(model: string | number): number;

declare function IsMountedWeaponTaskUnderneathDrivingTask(ped: number): number;

declare function IsMoveBlendRatioRunning(ped: number): number;

declare function IsMoveBlendRatioSprinting(ped: number): number;

declare function IsMoveBlendRatioStill(ped: number): number;

declare function IsMoveBlendRatioWalking(ped: number): number;

declare function IsMpGamerTagActive(gamerTagId: number): number;
declare function N_0x4e929e7a5796fd26(gamerTagId: number): number;

/**
 * _IS_MP_GAMER_TAG_ACTIVE_2
 */
declare function IsMpGamerTagFree(gamerTagId: number): number;
/**
 * _IS_MP_GAMER_TAG_ACTIVE_2
 */
declare function AddTrevorRandomModifier(gamerTagId: number): number;

declare function IsMpGamerTagMovieActive(): number;
declare function N_0x6e0eb3eb47c8d7aa(): number;
declare function HasMpGamerTag(): number;

/**
 * Returns whether or not the text chat (MULTIPLAYER_CHAT Scaleform component) is active.
 */
declare function IsMultiplayerChatActive(): number;
/**
 * Returns whether or not the text chat (MULTIPLAYER_CHAT Scaleform component) is active.
 */
declare function IsTextChatActive(): number;

declare function IsMusicOneshotPlaying(): number;
declare function N_0xa097ab275061fb21(): number;

declare function IsNamedRendertargetLinked(modelHash: string | number): number;

declare function IsNamedRendertargetRegistered(name: string): 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): number;

/**
 * IS_*
 */
declare function IsNavmeshRequiredRegionOwnedByAnyThread(): number;
/**
 * IS_*
 */
declare function N_0x705a844002b39dc0(): number;

declare function IsNetworkIdOwnedByParticipant(netId: number): number;
declare function N_0xa1607996431332df(netId: number): number;
declare function NetworkCanNetworkIdBeSeen(netId: number): number;

declare function IsNetworkLoadingScene(): number;

declare function IsNewLoadSceneActive(): number;

declare function IsNewLoadSceneLoaded(): number;

declare function IsNextWeatherType(weatherType: string): number;

declare function IsObjectAPickup(object: number): number;
declare function N_0x0378c08504160d0d(object: number): number;

/**
 * NativeDB Introduced: v1365
 */
declare function IsObjectAPortablePickup(object: number): number;
/**
 * NativeDB Introduced: v1365
 */
declare function N_0xfc481c641ebbd27d(object: number): number;

/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function IsObjectEntirelyInsideGarage(garageHash: number, entity: number, p2: number, p3: number): number;
/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function N_0x372ef6699146a1e4(garageHash: number, entity: number, p2: number, p3: number): number;

declare function IsObjectNearPoint(objectHash: string | number, x: number, y: number, z: number, range: number): number;

/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function IsObjectPartiallyInsideGarage(garageHash: number, entity: number, p2: number): number;
/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function N_0xf0eed5a6bc7b237a(garageHash: number, entity: number, p2: number): number;

declare function IsObjectVisible(object: number): number;

declare function IsObjectWithinBrainActivationRange(object: number): number;

/**
 * Returns the same as `IS_SOCIAL_CLUB_ACTIVE`.
 */
declare function IsOnlinePoliciesMenuActive(): number;
/**
 * Returns the same as `IS_SOCIAL_CLUB_ACTIVE`.
 */
declare function N_0x6f72cd94f7b5b68c(): number;

declare function IsOrbisVersion(): number;

declare function IsParticleFxDelayedBlink(): number;

declare function IsPauseMenuActive(): number;

declare function IsPauseMenuRestarting(): number;

declare function IsPcVersion(): number;

/**
 * Returns true if the given ped has a valid pointer to CPlayerInfo in its CPed class. That's it.
 */
declare function IsPedAPlayer(ped: number): number;

declare function IsPedActiveInScenario(ped: number): number;

declare function IsPedAimingFromCover(ped: number): number;

/**
 * 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): number;

/**
 * This function is hard-coded to always return 0.
 */
declare function IsPedBeingArrested(ped: number): number;

declare function IsPedBeingJacked(ped: number): number;

declare function IsPedBeingStealthKilled(ped: number): number;

/**
 * p1 is always 0
 */
declare function IsPedBeingStunned(ped: number, p1: number): number;

declare function IsPedBlushColorValid(colorID: number): number;
declare function N_0x604e810189ee3a59(colorID: number): number;

/**
 * Used in hairdo_shop*.ysc and maintransition.ysc
 */
declare function IsPedBlushColorValid_2(colorID: number): number;
/**
 * Used in hairdo_shop*.ysc and maintransition.ysc
 */
declare function N_0xf41b5d290c99a3d6(colorID: number): number;

/**
 * NativeDB Introduced: v1290
 */
declare function IsPedBodyBlemishValid(colorID: number): number;
/**
 * NativeDB Introduced: v1290
 */
declare function N_0x09e7eca981d9b210(colorID: number): number;

declare function IsPedClimbing(ped: number): number;

/**
 * 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): number;

/**
 * l
 */
declare function IsPedCuffed(ped: number): number;

/**
 * This native returns a true or false value.
 * Ped ped = The ped whose weapon you want to check.
 */
declare function IsPedCurrentWeaponSilenced(ped: number): number;

/**
 * Seems to consistently return true if the ped is dead.
 * p1 is always passed 1 in the scripts.
 * I suggest to remove "OR_DYING" part, because it does not detect dying phase.
 * That's what the devs call it, cry about it.
 * lol
 * that's a good meme right there.
 */
declare function IsPedDeadOrDying(ped: number, p1: boolean): number;

declare function IsPedDefensiveAreaActive(ped: number, p1: boolean): number;
declare function N_0xba63d9fe45412247(ped: number, p1: boolean): number;

declare function IsPedDiving(ped: number): number;

declare function IsPedDoingDriveby(ped: number): number;

declare function IsPedDucking(ped: number): number;

/**
 * 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)
 */
// Return is unknown[] due to pointer value being input of the function
declare function IsPedEvasiveDiving(ped: number, evadingEntity?: number): unknown[];

/**
 * angle is ped's view cone
 */
declare function IsPedFacingPed(ped: number, otherPed: number, angle: number): number;

declare function IsPedFalling(ped: number): number;

/**
 * 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): number;

declare function IsPedFleeing(ped: number): number;

declare function IsPedGettingIntoAVehicle(ped: number): number;

declare function IsPedGettingUp(ped: number): number;

declare function IsPedGoingIntoCover(ped: number): number;

declare function IsPedGroupMember(ped: number, groupId: number): number;

declare function IsPedHairColorValid(colorID: number): number;
declare function N_0xe0d36e5d9e99cc21(colorID: number): number;

/**
 * Used in hairdo_shop*.ysc and maintransition.ysc
 */
declare function IsPedHairColorValid_2(colorID: number): number;
/**
 * Used in hairdo_shop*.ysc and maintransition.ysc
 */
declare function N_0xed6d8e27a43b8cde(colorID: number): number;

declare function IsPedHangingOnToVehicle(ped: number): number;

declare function IsPedHeadingTowardsPosition(ped: number, x: number, y: number, z: number, p4: number): number;
declare function N_0xfcf37a457cb96dc0(ped: number, x: number, y: number, z: number, p4: number): number;

declare function IsPedHeadtrackingEntity(ped: number, entity: number): number;

declare function IsPedHeadtrackingPed(ped1: number, ped2: number): number;

declare function IsPedHelmetUnk(ped: number): number;
declare function N_0xb9496ce47546db2c(ped: number): number;

/**
 * Returns true/false if the ped is/isn't humanoid.
 */
declare function IsPedHuman(ped: number): number;

/**
 * Returns whether the specified ped is hurt.
 */
declare function IsPedHurt(ped: number): number;

declare function IsPedInAnyBoat(ped: number): number;

declare function IsPedInAnyHeli(ped: number): number;

declare function IsPedInAnyPlane(ped: number): number;

declare function IsPedInAnyPoliceVehicle(ped: number): number;

declare function IsPedInAnySub(ped: number): number;

declare function IsPedInAnyTaxi(ped: number): number;

declare function IsPedInAnyTrain(ped: number): number;

/**
 * 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): number;

/**
 * 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): number;

/**
 * p1 is nearly always 0 in the scripts.
 */
declare function IsPedInCover(ped: number, exceptUseWeapon: boolean): number;

declare function IsPedInCoverFacingLeft(ped: number): number;

declare function IsPedInCurrentConversation(ped: number): number;

declare function IsPedInFlyingVehicle(ped: number): number;

declare function IsPedInGroup(ped: number): number;

declare function IsPedInHighCover(ped: number): number;
declare function N_0x6a03bf943d767c93(ped: number): number;
declare function IsPedStandingInCover(ped: number): number;

/**
 * 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): number;

declare function IsPedInModel(ped: number, modelHash: string | number): number;

declare function IsPedInParachuteFreeFall(ped: number): number;

/**
 * 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): number;

/**
 * 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): number;

/**
 * Gets a value indicating whether this ped's health is below its injured threshold.
 * The default threshold is 100.
 */
declare function IsPedInjured(ped: number): number;

declare function IsPedJacking(ped: number): number;

declare function IsPedJumping(ped: number): number;

declare function IsPedJumpingOutOfVehicle(ped: number): number;

declare function IsPedLipstickColorValid(colorID: number): number;
declare function N_0x0525a2c2562f3cd4(colorID: number): number;

/**
 * Used in hairdo_shop*.ysc and maintransition.ysc
 */
declare function IsPedLipstickColorValid_2(colorID: number): number;
/**
 * Used in hairdo_shop*.ysc and maintransition.ysc
 */
declare function N_0x3e802f11fbe27674(colorID: number): number;

/**
 * Returns true/false if the ped is/isn't male.
 */
declare function IsPedMale(ped: number): number;

declare function IsPedModel(ped: number, modelHash: string | number): number;

declare function IsPedOnAnyBike(ped: number): number;

declare function IsPedOnFoot(ped: number): number;

/**
 * Same function call as PED::GET_MOUNT, aka just returns 0
 */
declare function IsPedOnMount(ped: number): number;

declare function IsPedOnSpecificVehicle(ped: number, vehicle: number): number;

/**
 * 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): number;

/**
 * IS_PED_*
 * Returns true if the ped is currently opening a door (CTaskOpenDoor).
 */
declare function IsPedOpeningADoor(ped: number): number;
/**
 * IS_PED_*
 * Returns true if the ped is currently opening a door (CTaskOpenDoor).
 */
declare function N_0x26af0e8e30bd2a2c(ped: number): number;

declare function IsPedPerformingDependentComboLimit(ped: number): number;
declare function N_0xebd0edba5be957cf(ped: number): number;

declare function IsPedPerformingMeleeAction(ped: number): number;
declare function N_0xdcca191df9980fd7(ped: number): number;

declare function IsPedPerformingStealthKill(ped: number): number;

declare function IsPedPlantingBomb(ped: number): number;

declare function IsPedProne(ped: number): number;

/**
 * If the ped handle passed through the parenthesis is in a ragdoll state this will return true.
 */
declare function IsPedRagdoll(ped: number): number;

/**
 * Returns whether the specified ped is reloading.
 */
declare function IsPedReloading(ped: number): number;

declare function IsPedRespondingToEvent(ped: number, event: number): number;

declare function IsPedRingtonePlaying(ped: number): number;

declare function IsPedRunning(ped: number): number;

declare function IsPedRunningArrestTask(ped: number): number;

declare function IsPedRunningMeleeTask(ped: number): number;
declare function N_0xd1871251f3b5acd7(ped: number): number;

declare function IsPedRunningMobilePhoneTask(ped: number): number;

declare function IsPedRunningRagdollTask(ped: number): number;

declare function IsPedShaderEffectValid(ped: number): number;
declare function N_0x81aa517fbba05d39(ped: number): number;

/**
 * Returns whether the specified ped is shooting.
 */
declare function IsPedShooting(ped: number): number;

declare function IsPedShootingInArea(ped: number, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, p7: boolean, p8: boolean): number;

/**
 * Detect if ped is in any vehicle
 * [True/False]
 */
declare function IsPedSittingInAnyVehicle(ped: number): number;

/**
 * Detect if ped is sitting in the specified vehicle
 * [True/False]
 */
declare function IsPedSittingInVehicle(ped: number, vehicle: number): number;

declare function IsPedSprinting(ped: number): number;

declare function IsPedStill(ped: number): number;

/**
 * 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): number;

/**
 * What's strafing?
 */
declare function IsPedStrafing(ped: number): number;

declare function IsPedSwimming(ped: number): number;

declare function IsPedSwimmingUnderWater(ped: number): number;

declare function IsPedTracked(ped: number): number;

declare function IsPedTryingToEnterALockedVehicle(ped: number): number;

declare function IsPedUsingActionMode(ped: number): number;

declare function IsPedUsingAnyScenario(ped: number): number;

declare function IsPedUsingScenario(ped: number, scenario: string): number;

/**
 * Definition of vaulting?
 */
declare function IsPedVaulting(ped: number): number;

declare function IsPedWalking(ped: number): number;

declare function IsPedWeaponComponentActive(ped: number, weaponHash: string | number, componentHash: string | number): number;

/**
 * Probably checks whether the ped has finished reloading or not and if the current weapon is not being switched to another.
 */
declare function IsPedWeaponReadyToShoot(ped: number): number;

/**
 * Returns true if the ped passed through the parenthesis is wearing a helmet.
 */
declare function IsPedWearingHelmet(ped: number): number;

declare function IsPedheadshotImgUploadAvailable(): number;
declare function N_0xebb376779a760aa8(): number;

/**
 * gtaforums.com/topic/885580-ped-headshotmugshot-txd/
 */
declare function IsPedheadshotReady(id: number): number;

/**
 * gtaforums.com/topic/885580-ped-headshotmugshot-txd/
 */
declare function IsPedheadshotValid(handle: number): number;

declare function IsPickupWeaponObjectValid(object: number): number;
declare function N_0x11d1e53a726891fe(object: number): number;

/**
 * Vehicle has landing gear?
 */
declare function IsPlaneLandingGearIntact(plane: number): number;
/**
 * Vehicle has landing gear?
 */
declare function N_0x4198ab0022b15f87(plane: number): number;
/**
 * Vehicle has landing gear?
 */
declare function VehicleHasLandingGear(plane: number): number;

declare function IsPlaybackGoingOnForVehicle(vehicle: number): number;

declare function IsPlaybackUsingAiGoingOnForVehicle(vehicle: number): number;

/**
 * Returns true if an unk value is greater than 0.0f
 */
declare function IsPlayerBattleAware(player: number): number;
/**
 * Returns true if an unk value is greater than 0.0f
 */
declare function N_0x38d28da81e4e9bf9(player: number): number;

/**
 * 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): number;

declare function IsPlayerBluetoothEnable(player: number): number;
declare function N_0x65faee425de637b0(player: number): number;

/**
 * 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(): number;
/**
 * 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(): number;

/**
 * Returns TRUE if the player ('s ped) is climbing at the moment.
 */
declare function IsPlayerClimbing(player: number): number;

/**
 * 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): number;

declare function IsPlayerDead(player: number): number;

/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function IsPlayerEntirelyInsideGarage(garageHash: number, player: number, p2: number, p3: number): number;
/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function N_0x024a60deb0ea69f0(garageHash: number, player: number, p2: number, p3: number): number;

/**
 * Gets a value indicating whether the specified player is currently aiming freely.
 */
declare function IsPlayerFreeAiming(player: number): number;

/**
 * Gets a value indicating whether the specified player is currently aiming freely at the specified entity.
 */
declare function IsPlayerFreeAimingAtEntity(player: number, entity: number): number;

declare function IsPlayerFreeForAmbientTask(player: number): number;

declare function IsPlayerInCutscene(player: number): number;

/**
 * this function is hard-coded to always return 0.
 */
declare function IsPlayerLoggingInNp(): number;

/**
 * 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(): number;

/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function IsPlayerPartiallyInsideGarage(garageHash: number, player: number, p2: number): number;
/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function N_0x1761dc5d8471cbaa(garageHash: number, player: number, p2: number): number;

/**
 * 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): number;

declare function IsPlayerPressingHorn(player: number): number;

declare function IsPlayerReadyForCutscene(player: number): number;

/**
 * Returns true if the player is riding a train.
 */
declare function IsPlayerRidingTrain(player: number): number;

declare function IsPlayerScriptControlOn(player: number): number;

/**
 * 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(): number;
/**
 * 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(): number;

declare function IsPlayerTargettingAnything(player: number): number;

declare function IsPlayerTargettingEntity(player: number, entity: number): number;

declare function IsPlayerTeleportActive(): number;

declare function IsPlayerVehRadioEnable(): number;
declare function N_0x5f43d83fd6738741(): number;
declare function IsPlayerVehicleRadioEnabled(): number;

declare function IsPlayerWantedLevelGreater(player: number, wantedLevel: number): number;

declare function IsPlayingPhoneGestureAnim(ped: number): number;

/**
 * NativeDB Introduced: v1604
 */
declare function IsPlaylistUnk(tvChannel: number, p1: number): number;

/**
 * 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): number;

declare function IsPointObscuredByAMissionEntity(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;

/**
 * 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): number;

/**
 * NativeDB Introduced: v1290
 */
declare function IsPopMultiplierAreaUnk(id: number): number;

/**
 * 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): number;

declare function IsPrevWeatherType(weatherType: string): number;

declare function IsPrincipalAceAllowed(principal: string, object: string): number;

/**
 * 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): number;

/**
 * See [IS_POINT_IN_ANGLED_AREA](#\_0x2A70BAE8883E4C81) for the definition of an angled area.
 * ```
 * NativeDB Parameter 7: Hash weaponHash
 * ```
 * @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, p6: number, p7: number, ownedByPlayer: boolean): number;

/**
 * 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): number;

declare function IsProjectileTypeWithinDistance(x: number, y: number, z: number, projHash: string | number, radius: number, ownedByPlayer: boolean): number;
declare function N_0x34318593248c8fb2(x: number, y: number, z: number, projHash: string | number, radius: number, ownedByPlayer: boolean): number;
declare function IsProjectileTypeInRadius(x: number, y: number, z: number, projHash: string | number, radius: number, ownedByPlayer: boolean): number;

declare function IsPs3Version(): number;

declare function IsRadarHidden(): number;

declare function IsRadarPreferenceSwitchedOn(): number;

declare function IsRadioFadedOut(): number;
declare function N_0x0626a247d2405330(): number;

declare function IsRadioRetuning(): number;

/**
 * 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(): number;

/**
 * return bool according to scripts
 */
declare function IsReportugcMenuOpen(): number;
/**
 * return bool according to scripts
 */
declare function N_0x9135584d09a3437e(): number;

declare function IsRockstarMessageReadyForScript(): number;
declare function N_0xbc1cc91205ec8d6e(): number;

declare function IsScInboxValid(p0: number): number;
declare function N_0x93028f1db42bfd08(p0: number): number;

/**
 * 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`).
 * Old description/example:
 * ```
 * Seems to take data that is returned from "_POP_SCALEFORM_MOVIE_FUNCTION" and checks to see if it's not null/empty.
 * "agency_heist3b.ysc", line 71836:
 * if (CONTROLS::IS_CONTROL_JUST_PRESSED(2, 201) || CONTROLS::IS_CONTROL_JUST_PRESSED(2, 237)) {
 * GRAPHICS::BEGIN_SCALEFORM_MOVIE_METHOD(l_46, "SET_INPUT_EVENT_SELECT");
 * l_45 = GRAPHICS::_END_SCALEFORM_MOVIE_METHOD_RETURN();
 * }
 * if (GRAPHICS::IS_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_READY(l_45)) {
 * v_13 = GRAPHICS::GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT(l_45);
 * if (v_13 == 6) {
 * sub_73269(a_0);
 * }
 * }
 * ```
 * @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): number;
/**
 * 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`).
 * Old description/example:
 * ```
 * Seems to take data that is returned from "_POP_SCALEFORM_MOVIE_FUNCTION" and checks to see if it's not null/empty.
 * "agency_heist3b.ysc", line 71836:
 * if (CONTROLS::IS_CONTROL_JUST_PRESSED(2, 201) || CONTROLS::IS_CONTROL_JUST_PRESSED(2, 237)) {
 * GRAPHICS::BEGIN_SCALEFORM_MOVIE_METHOD(l_46, "SET_INPUT_EVENT_SELECT");
 * l_45 = GRAPHICS::_END_SCALEFORM_MOVIE_METHOD_RETURN();
 * }
 * if (GRAPHICS::IS_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_READY(l_45)) {
 * v_13 = GRAPHICS::GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT(l_45);
 * if (v_13 == 6) {
 * sub_73269(a_0);
 * }
 * }
 * ```
 * @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): number;
/**
 * 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`).
 * Old description/example:
 * ```
 * Seems to take data that is returned from "_POP_SCALEFORM_MOVIE_FUNCTION" and checks to see if it's not null/empty.
 * "agency_heist3b.ysc", line 71836:
 * if (CONTROLS::IS_CONTROL_JUST_PRESSED(2, 201) || CONTROLS::IS_CONTROL_JUST_PRESSED(2, 237)) {
 * GRAPHICS::BEGIN_SCALEFORM_MOVIE_METHOD(l_46, "SET_INPUT_EVENT_SELECT");
 * l_45 = GRAPHICS::_END_SCALEFORM_MOVIE_METHOD_RETURN();
 * }
 * if (GRAPHICS::IS_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_READY(l_45)) {
 * v_13 = GRAPHICS::GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT(l_45);
 * if (v_13 == 6) {
 * sub_73269(a_0);
 * }
 * }
 * ```
 * @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): number;

/**
 * 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 (AI::DOES_SCENARIO_GROUP_EXIST("Observatory_Bikers") &&   (!AI::IS_SCENARIO_GROUP_ENABLED("Observatory_Bikers"))) {
 * else if (AI::IS_SCENARIO_GROUP_ENABLED("BLIMP")) {
 */
declare function IsScenarioGroupEnabled(scenarioGroup: string): number;

declare function IsScenarioOccupied(p0: number, p1: number, p2: number, p3: number, p4: boolean): number;

/**
 * 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 GAMEPLAY::IS_STRING_NULL_OR_EMPTY in the scripts.
 * scenarioType could be the same as scenarioName, used in for example AI::TASK_START_SCENARIO_AT_POSITION.
 */
declare function IsScenarioTypeEnabled(scenarioType: string): number;

declare function IsScreenFadedIn(): number;

declare function IsScreenFadedOut(): number;

declare function IsScreenFadingIn(): number;

declare function IsScreenFadingOut(): number;

declare function IsScreenblurFadeRunning(): number;
declare function N_0x7b226c785a52a0a9(): number;

/**
 * In drunk_controller.c4, sub_309
 * if (CAM::_C912AF078AF19212()) {
 * CAM::_1C9D7949FA533490(0);
 * }
 */
declare function IsScriptGlobalShaking(): number;
/**
 * In drunk_controller.c4, sub_309
 * if (CAM::_C912AF078AF19212()) {
 * CAM::_1C9D7949FA533490(0);
 * }
 */
declare function N_0xc912af078af19212(): number;

declare function IsScriptedConversationLoaded(): number;

declare function IsScriptedConversationOngoing(): number;

declare function IsScriptedHudComponentActive(id: number): number;

declare function IsScriptedHudComponentHiddenThisFrame(id: number): number;
declare function N_0x09c0403ed9a751c2(id: number): number;

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function IsScriptedScenarioPedUsingConditionalAnim(ped: number, animDict: string, anim: string): number;

declare function IsScriptedSpeechPlaying(p0: number): number;

/**
 * NativeDB Introduced: v1493
 */
declare function IsScubaGearLightEnabled(ped: number): number;

/**
 * NativeDB Parameter 1: int seatIndex
 */
declare function IsSeatWarpOnly(vehicle: number, seatIndex: boolean): number;
/**
 * NativeDB Parameter 1: int seatIndex
 */
declare function N_0xf7f203e31f96f6a1(vehicle: number, seatIndex: boolean): number;

/**
 * Some events that i found, not sure about them, but seems to have logic based on my tests:
 * '82 - dead body
 * '86
 * '87
 * '88 - shooting, fire extinguisher in use
 * '89
 * '93 - ped using horn
 * '95 - ped receiving melee attack
 * '102 - living ped receiving shot
 * '104 - player thrown grenade, tear gas, smoke grenade, jerry can dropping gasoline
 * '105 - melee attack against veh
 * '106 - player running
 * '108 - vehicle theft
 * '112 - melee attack
 * '113 - veh rollover ped
 * '114 - dead ped receiving shot
 * '116 - aiming at ped
 * '121
 * Here is full dump of shocking event types from the exe camx.me/gtav/tasks/shockingevents.txt
 */
declare function IsShockingEventInSphere(_type: number, x: number, y: number, z: number, radius: number): number;

/**
 * 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): number;

/**
 * This function is hard-coded to always return 0.
 */
declare function IsSniperInverted(): number;

declare function IsSocialClubActive(): number;
declare function N_0xc406be343fc4b9af(): number;

declare function IsSpecialAbilityActive(player: number): number;

declare function IsSpecialAbilityEnabled(player: number): number;

declare function IsSpecialAbilityMeterFull(player: number): number;

declare function IsSpecialAbilityUnlocked(playerModel: string | number): number;

declare function IsSphereVisible(x: number, y: number, z: number, radius: number): number;

declare function IsSphereVisibleToAnotherMachine(p0: number, p1: number, p2: number, p3: number): number;

declare function IsSphereVisibleToPlayer(p0: number, p1: number, p2: number, p3: number, p4: number): number;

/**
 * Returns true when the srl from BeginSrl is loaded.
 * @return *   A boolean once BeginSrl srl is loaded.
 */
declare function IsSrlLoaded(): number;

declare function IsStoreAvailableToUser(): number;
declare function N_0x883d79c4071e18b3(): number;

declare function IsStreamPlaying(): number;

declare function IsStreamingAdditionalText(p0: number): number;

/**
 * **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): number;

declare function IsStringNull(_string: string): number;

declare function IsStringNullOrEmpty(_string: string): number;

declare function IsStuntJumpInProgress(): number;

declare function IsStuntJumpMessageShowing(): number;
declare function N_0x2272b0a1343129f4(): number;

declare function IsSubtitlePreferenceSwitchedOn(): number;

declare function IsSwitchReadyForDescent(): number;
declare function N_0xdfa80cb25d0a19b3(): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function IsSwitchSkippingDescent(): number;
/**
 * NativeDB Return Type: BOOL
 */
declare function DestroyPlayerInPauseMenu(): number;

declare function IsSynchronizedSceneHoldLastFrame(sceneID: number): number;
declare function N_0x7f2f4f13ac5257ef(sceneID: number): number;

declare function IsSynchronizedSceneLooped(sceneID: number): number;

/**
 * Returns true if a synchronized scene is running
 */
declare function IsSynchronizedSceneRunning(sceneId: number): number;

declare function IsSystemUiBeingDisplayed(): number;

declare function IsTaskMoveNetworkActive(ped: number): number;
declare function N_0x921ce12c489c4c41(ped: number): number;

declare function IsTaskMoveNetworkReadyForTransition(ped: number): number;
declare function N_0x30ed88d5e0c56a37(ped: number): number;

declare function IsTaxiLightOn(vehicle: number): number;

/**
 * Return whether tennis mode is active or not.
 */
declare function IsTennisMode(ped: number): number;

declare function IsThisAMinigameScript(): number;

declare function IsThisModelABicycle(model: string | number): number;

/**
 * Returns true if the model is motorcycle or bycicle.
 */
declare function IsThisModelABike(model: string | number): number;

declare function IsThisModelABoat(model: string | number): number;

/**
 * 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): number;

declare function IsThisModelAHeli(model: string | number): number;

/**
 * Checks if model is a boat, then checks for FLAG_IS_JETSKI.
 * @whoever named this _IS_THIS_MODEL_AN_EMERGENCY_BOAT: please do some tests before naming natives, thanks.
 */
declare function IsThisModelAJetski(model: string | number): number;
/**
 * Checks if model is a boat, then checks for FLAG_IS_JETSKI.
 * @whoever named this _IS_THIS_MODEL_AN_EMERGENCY_BOAT: please do some tests before naming natives, thanks.
 */
declare function IsThisModelASubmersible(model: string | number): number;
/**
 * Checks if model is a boat, then checks for FLAG_IS_JETSKI.
 * @whoever named this _IS_THIS_MODEL_AN_EMERGENCY_BOAT: please do some tests before naming natives, thanks.
 */
declare function IsThisModelAnEmergencyBoat(model: string | number): number;

declare function IsThisModelAPlane(model: string | number): number;

declare function IsThisModelAQuadbike(model: string | number): number;

declare function IsThisModelATrain(model: string | number): number;

declare function IsThisModelAnAmphibiousCar(model: string | number): number;

/**
 * NativeDB Parameter 0: Hash model
 */
declare function IsThisModelAnAmphibiousQuadbike(model: number): number;
/**
 * NativeDB Parameter 0: Hash model
 */
declare function N_0xa1a9fc1c76a6730d(model: number): number;

declare function IsThreadActive(threadId: number): number;

/**
 * Returns true if the two times are equal; otherwise returns false.
 */
declare function IsTimeEqualTo(timeA: number, timeB: number): number;
/**
 * Returns true if the two times are equal; otherwise returns false.
 */
declare function AreIntegersEqual(timeA: number, timeB: number): number;

/**
 * Subtracts the second argument from the first, then returns whether the result is negative.
 */
declare function IsTimeLessThan(timeA: number, timeB: number): number;
/**
 * Subtracts the second argument from the first, then returns whether the result is negative.
 */
declare function SubtractBFromAAndCheckIfNegative(timeA: number, timeB: number): number;

/**
 * Subtracts the first argument from the second, then returns whether the result is negative.
 */
declare function IsTimeMoreThan(timeA: number, timeB: number): number;
/**
 * Subtracts the first argument from the second, then returns whether the result is negative.
 */
declare function SubtractAFromBAndCheckIfNegative(timeA: number, timeB: number): number;

declare function IsToggleModOn(vehicle: number, modType: number): number;

/**
 * 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): number;

declare function IsTrackedPointVisible(point: number): number;

declare function IsTurretSeat(vehicle: number, seatIndex: number): number;
declare function N_0xe33ffa906ce74880(vehicle: number, seatIndex: number): number;

/**
 * IS_*
 */
declare function IsTvPlaylistItemPlaying(videoCliphash: string | number): number;
/**
 * IS_*
 */
declare function N_0x0ad973ca1e077b60(videoCliphash: string | number): number;
/**
 * IS_*
 */
declare function LoadTvChannel(videoCliphash: string | number): number;

/**
 * Return if interior is valid.
 */
declare function IsValidInterior(interiorID: number): number;

/**
 * IS_*
 */
declare function IsValidMpGamerTagMovie(gamerTagId: number): number;
/**
 * IS_*
 */
declare function N_0xeb709a36958abe0d(gamerTagId: number): number;
/**
 * IS_*
 */
declare function HasMpGamerTag_2(gamerTagId: number): number;
/**
 * IS_*
 */
declare function HasMpGamerTagCrewFlagsSet(gamerTagId: number): number;

/**
 * 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): number;

declare function IsVehicleAlarmActivated(vehicle: number): number;

declare function IsVehicleAlarmSet(vehicle: number): number;

declare function IsVehicleAttachedToCargobob(cargobob: number, vehicleAttached: number): number;

/**
 * Scripts verify that towTruck is the first parameter, not the second.
 */
declare function IsVehicleAttachedToTowTruck(towTruck: number, vehicle: number): number;

/**
 * Public Function isVehicleAttachedToTrailer(vh As Vehicle) As Boolean
 * Return Native.Function.Call(Of Boolean)(Hash.IS_VEHICLE_ATTACHED_TO_TRAILER, vh)
 * End Function
 */
declare function IsVehicleAttachedToTrailer(vehicle: number): number;

/**
 * IS_VEHICLE_BUMPER_HANGING_OFF
 * Not sure what the actual name is but this checks if the bumper of a vehicle is hanging off. It will return true if it is hanging, false if it falls off and false if it is not hanging off.
 */
declare function IsVehicleBumperBouncing(vehicle: number, frontBumper: boolean): number;
/**
 * IS_VEHICLE_BUMPER_HANGING_OFF
 * Not sure what the actual name is but this checks if the bumper of a vehicle is hanging off. It will return true if it is hanging, false if it falls off and false if it is not hanging off.
 */
declare function N_0x27b926779deb502d(vehicle: number, frontBumper: boolean): number;

declare function IsVehicleBumperBrokenOff(vehicle: number, front: boolean): number;

/**
 * Appears to return true if the vehicle has any damage, including cosmetically.
 */
declare function IsVehicleDamaged(vehicle: number): number;

/**
 * doorID starts at 0, not seeming to skip any numbers. Four door vehicles intuitively range from 0 to 3.
 */
declare function IsVehicleDoorDamaged(veh: number, doorID: number): number;

/**
 * doorIndex:
 * 0 = Front Left Door\
 * 1 = Front Right Door\
 * 2 = Back Left Door\
 * 3 = Back Right Door\
 * 4 = Hood\
 * 5 = Trunk\
 * 6 = Trunk2
 * @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): number;

/**
 * p1 is always 0 in the scripts.
 * p1 = check if vehicle is on fire
 */
declare function IsVehicleDriveable(vehicle: number, isOnFireCheck: boolean): number;

/**
 * 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.
 * ```
 * if (((ENTITY::DOES_ENTITY_EXIST(Global_1281959) && !ENTITY::IS_ENTITY_DEAD(Global_1281959, 0)) && func_1545(Global_1281959)) && !func_205(PLAYER::PLAYER_ID()))
 * {
 * if (VEHICLE::GET_VEHICLE_ENGINE_HEALTH(Global_1281959) > 0f && VEHICLE::GET_IS_VEHICLE_ENGINE_RUNNING(Global_1281959))
 * {
 * bVar0 = true;
 * }
 * else
 * {
 * bVar0 = false;
 * }
 * if (VEHICLE::_0xEC69ADF931AAE0C3(Global_1281959)) // _IS_VEHICLE_ENGINE_ON_FIRE
 * {
 * bVar0 = false;
 * }
 * }
 * ```
 * @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): number;
/**
 * 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.
 * ```
 * if (((ENTITY::DOES_ENTITY_EXIST(Global_1281959) && !ENTITY::IS_ENTITY_DEAD(Global_1281959, 0)) && func_1545(Global_1281959)) && !func_205(PLAYER::PLAYER_ID()))
 * {
 * if (VEHICLE::GET_VEHICLE_ENGINE_HEALTH(Global_1281959) > 0f && VEHICLE::GET_IS_VEHICLE_ENGINE_RUNNING(Global_1281959))
 * {
 * bVar0 = true;
 * }
 * else
 * {
 * bVar0 = false;
 * }
 * if (VEHICLE::_0xEC69ADF931AAE0C3(Global_1281959)) // _IS_VEHICLE_ENGINE_ON_FIRE
 * {
 * bVar0 = false;
 * }
 * }
 * ```
 * @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): number;

declare function IsVehicleEngineStarting(vehicle: number): number;

declare function IsVehicleExtraTurnedOn(vehicle: number, extraId: number): number;

declare function IsVehicleHighDetail(vehicle: number): number;

/**
 * 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): number;

/**
 * garageName example "Michael - Beverly Hills"
 * For a full list, see here: pastebin.com/73VfwsmS
 */
declare function IsVehicleInGarageArea(garageName: string, vehicle: number): number;

declare function IsVehicleInteriorLightOn(vehicle: number): number;

/**
 * Returns whether or not the vehicle has a CVehicleStreamRequestGfx that's trying to load mods.
 * True if it isn't loading mods, false if it is.
 */
declare function IsVehicleModLoadDone(vehicle: number): number;
/**
 * Returns whether or not the vehicle has a CVehicleStreamRequestGfx that's trying to load mods.
 * True if it isn't loading mods, false if it is.
 */
declare function N_0x9a83f5f9963775ef(vehicle: number): number;

declare function IsVehicleModel(vehicle: number, model: string | number): number;

declare function IsVehicleNeedsToBeHotwired(vehicle: number): number;

/**
 * indices:
 * 0 = Left
 * 1 = Right
 * 2 = Front
 * 3 = Back
 */
declare function IsVehicleNeonLightEnabled(vehicle: number, index: number): number;

/**
 * Returns true if the id is non zero.
 */
declare function IsVehicleNodeIdValid(vehicleNodeId: number): number;

/**
 * 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): number;

declare function IsVehiclePreviouslyOwnedByPlayer(vehicle: number): number;

declare function IsVehicleRadioLoud(vehicle: number): number;

declare function IsVehicleRocketBoostActive(vehicle: number): number;

/**
 * Possibly: Returns whether the searchlight (found on police vehicles) is toggled on.
 */
declare function IsVehicleSearchlightOn(vehicle: number): number;

/**
 * Has an additional BOOL parameter since version [???].
 * Check if a vehicle seat is free.
 * -1 being the driver seat.
 * Use GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS(vehicle) - 1 for last seat index.
 * ```
 * ```
 * NativeDB Added Parameter 3: BOOL p2
 */
declare function IsVehicleSeatFree(vehicle: number, seatIndex: number): number;

declare function IsVehicleSirenAudioOn(vehicle: number): number;
declare function N_0xb5cc40fbcb586380(vehicle: number): number;
declare function IsVehicleSirenSoundOn(vehicle: number): number;

declare function IsVehicleSirenOn(vehicle: number): number;

declare function IsVehicleSlipstreamLeader(vehicle: number): number;
declare function N_0x48c633e94a8142a7(vehicle: number): number;

/**
 * Checks for FLAG_NO_RESPRAY
 */
declare function IsVehicleSprayable(vehicle: number): number;
/**
 * Checks for FLAG_NO_RESPRAY
 */
declare function N_0x8d474c8faeff6cde(vehicle: number): number;
/**
 * Checks for FLAG_NO_RESPRAY
 */
declare function IsVehicleShopResprayAllowed(vehicle: number): number;

declare function IsVehicleStolen(vehicle: number): number;

declare function IsVehicleStopped(vehicle: number): number;

/**
 * is this for red lights only?  more testing required.
 */
declare function IsVehicleStoppedAtTrafficLights(vehicle: number): number;

declare function IsVehicleStuckOnRoof(vehicle: number): number;

/**
 * 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): number;

/**
 * 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): number;

/**
 * must be called after TRACK_VEHICLE_VISIBILITY
 * it's not instant so probabilly must pass an 'update' to see correct result.
 */
declare function IsVehicleVisible(vehicle: number): number;

declare function IsVehicleWanted(vehicle: number): number;

/**
 * NativeDB Parameter 0: Hash weaponHash
 */
declare function IsVehicleWeaponDisabled(weaponHash: number, vehicle: number, owner: number): number;
/**
 * NativeDB Parameter 0: Hash weaponHash
 */
declare function N_0x563b65a643ed072e(weaponHash: number, vehicle: number, owner: number): number;

/**
 * This will return false if the window is broken, or rolled down.
 * windowIndex:\
 * 0 = Front Right Window\
 * 1 = Front Left Window\
 * 2 = Back Right Window\
 * 3 = Back Left Window
 * Those numbers go on for vehicles that have more than 4 doors with windows.
 */
declare function IsVehicleWindowIntact(vehicle: number, windowIndex: number): number;

declare function IsWarningMessageActive(): number;
declare function IsMedicalDisabled(): number;

/**
 * IS_WARNING_MESSAGE_*
 */
declare function IsWarningMessageActive_2(): number;
/**
 * IS_WARNING_MESSAGE_*
 */
declare function N_0xaf42195a42c63bba(): number;

declare function IsWaypointActive(): number;

declare function IsWaypointPlaybackGoingOnForPed(p0: number): number;

declare function IsWaypointPlaybackGoingOnForVehicle(vehicle: number): number;

declare function IsWeaponValid(weaponHash: string | number): number;

/**
 * Gets whether the world point the calling script is registered to is within desired range of the player.
 */
declare function IsWorldPointWithinBrainActivationRange(): number;

declare function IsXbox360Version(): number;

/**
 * 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(): number;
/**
 * Returns true if the current frontend menu is FE_MENU_VERSION_LANDING_MENU
 */
declare function N_0x3bbbd13e5041a79e(): number;

declare function Leaderboards2ReadByHandle(): [number, number, number];

/**
 * LEADERBOARDS2_READ_BY_???
 */
declare function Leaderboards2ReadByPlatform(gamerHandleCsv: string, platformName: string): [number, number];
/**
 * LEADERBOARDS2_READ_BY_???
 */
declare function N_0xf1ae5dcdbfca2721(gamerHandleCsv: string, platformName: string): [number, number];

declare function Leaderboards2ReadByRadius(p1: number): [number, number, number];

declare function Leaderboards2ReadByRank(p1: number, p2: number): [number, number];

declare function Leaderboards2ReadByRow(p2: number, p4: number, p6: number): [number, number, number, number, number];

declare function Leaderboards2ReadByScoreFloat(p1: number, p2: number): [number, number];

declare function Leaderboards2ReadByScoreInt(p1: number, p2: number): [number, number];

declare function Leaderboards2ReadFriendsByRow(p2: number, p3: boolean, p4: number, p5: number): [number, number, number];

declare function Leaderboards2ReadRankPrediction(): [number, number, number, number];
declare function N_0xc38dc1e90d22547c(): [number, number, number, number];

// Return is unknown[] due to pointer value being input of the function
declare function Leaderboards2WriteData(p0?: number): unknown[];

declare function Leaderboards2WriteDataForEventType(): [number, number, number];
declare function N_0xc980e62e33df1d5c(): [number, number, number];

// Return is unknown[] due to pointer value being input of the function
declare function LeaderboardsCacheDataRow(p0?: number): unknown[];

declare function LeaderboardsClearCacheData(): void;

declare function LeaderboardsDeaths(statName: string | number, value: number): void;
declare function N_0x428eaf89e24f6c36(statName: string | number, value: number): void;

// Return is unknown[] due to pointer value being input of the function
declare function LeaderboardsGetCacheDataRow(p0: number, p1: number, p2?: number): unknown[];

declare function LeaderboardsGetCacheExists(p0: number): number;

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(): number;
declare function N_0xa31fd15197b192bd(): number;

declare function LeaderboardsReadClear(p0: number, p1: number, p2: number): number;

declare function LeaderboardsReadClearAll(): number;

declare function LeaderboardsReadPending(p0: number, p1: number, p2: number): number;

declare function LeaderboardsReadSuccessful(p0: number, p1: number, p2: number): number;

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;

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;

/**
 * 1
 */
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): number;

/**
 * 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;

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.
 * ```
 * ```
 * NativeDB Return Type: void
 */
declare function LoadRopeData(ropeId: number, rope_preset: string): number;

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): number;

/**
 * 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): number;

declare function LoadingscreenGetLoadFreemode(): number;
declare function N_0xef7d17bc6c85264c(): number;

declare function LoadingscreenGetLoadFreemodeWithEventName(): number;
declare function N_0x8aa464d4e0f6accd(): number;

declare function LoadingscreenIsLoadingFreemode(): number;
declare function N_0xc6dc823253fbb366(): number;
declare function IsUiLoadingMultiplayer(): number;

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;

declare function LocalizationGetSystemLanguage(): number;
declare function N_0x497420e022796b3f(): number;

/**
 * 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;

/**
 * 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(char* category, char* debugText);
 */
declare function LogDebugInfo(p0: string): void;
/**
 * Not present in retail version of the game, actual definiton seems to be
 * _LOG_DEBUG_INFO(char* category, 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): number;

/**
 * is this like setting is as no longer needed?
 */
declare function MarkObjectForDeletion(object: number): void;

/**
 * Vehicle power multiplier.
 * Does not have to be looped each frame. Can be set once.
 * Values lower than 1f don't work.
 * Note: If the value is set with GET_RANDOM_FLOAT_IN_RANGE, the vehicle will have an absurdly high ammount of power, and will become almost undrivable for the player or NPCs. The range doesn't seem to matter.
 * An high value like 10000000000f will visually remove the wheels that apply the power (front wheels for FWD, rear wheels for RWD), but the power multiplier will still apply, and the wheels still work.
 * ------
 * value is a percentage bump which affects directly the parameter known as fInitialDriveForce in handling.meta. For example:
 * VEHICLE::_SET_VEHICLE_ENGINE_POWER_MULTIPLIER(myVehicle, 30.0)
 * will have this effect: DriveForce *= 1.3
 */
declare function ModifyVehicleTopSpeed(vehicle: number, value: number): void;
/**
 * Vehicle power multiplier.
 * Does not have to be looped each frame. Can be set once.
 * Values lower than 1f don't work.
 * Note: If the value is set with GET_RANDOM_FLOAT_IN_RANGE, the vehicle will have an absurdly high ammount of power, and will become almost undrivable for the player or NPCs. The range doesn't seem to matter.
 * An high value like 10000000000f will visually remove the wheels that apply the power (front wheels for FWD, rear wheels for RWD), but the power multiplier will still apply, and the wheels still work.
 * ------
 * value is a percentage bump which affects directly the parameter known as fInitialDriveForce in handling.meta. For example:
 * VEHICLE::_SET_VEHICLE_ENGINE_POWER_MULTIPLIER(myVehicle, 30.0)
 * will have this effect: DriveForce *= 1.3
 */
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, radius: number, height: 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;

/**
 * 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;

/**
 * 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;

/**
 * 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(): number;

/**
 * Stops listening to the specified channel.
 * @param channel A game voice channel ID.
 */
declare function MumbleRemoveVoiceChannelListen(channel: number): 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;

/**
 * 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;

/**
 * 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
 * Used in multiplayer scripts?
 */
declare function N_0x0032a6dba562c518(): void;

declare function N_0x0035bb914316f1e3(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;

declare function N_0x01708e8dd3ff8c65(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): number;

/**
 * SET_VEHICLE_*
 */
declare function N_0x01bb4d577d38bd9e(vehicle: number, p1: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x0205f5365292d2eb(p0: 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;

declare function N_0x02ac28f3a01fa04a(p0: number): void;

/**
 * Found in the scripts:
 * GAMEPLAY::_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_0x0379daf89ba09aa5(p0: number, p1: number): void;

/**
 * NativeDB Parameter 0: int* p0
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0x0395cb47b022e62c(p0?: number): unknown[];

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): number;

declare function N_0x03f1a106bda7dd3e(): void;

declare function N_0x03fc694ae06c5a20(): 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_0x047cbed6f6f8b63c(): void;

declare function N_0x04918a41bc9b8157(p0: number, p1: number, p2: number): number;

/**
 * p0 was always 0xAE2602A3.
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0x052991e59076e4e4(p0: string | number, p1?: number): unknown[];

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_0x05f04155a226fbbf(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x06087579e7aa85a9(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): number;

declare function N_0x061cb768363d6424(ped: number, toggle: boolean): void;

/**
 * FORCE_*
 */
declare function N_0x062d5ead4da2fa6a(): void;

declare function N_0x063ae2b2cc273588(p0: number, p1: boolean): void;

/**
 * CLEAR_*
 */
declare function N_0x06462a961e94b67c(): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x0653b735bfbdfe87(ped: number, toggle: boolean): 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_0x07c313f94746702c(p0: number): number;

declare function N_0x07c61676e5bb52cd(p0: number): number;

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;

declare function N_0x08b0ca7a6ab3ac32(p0: number, p1: number, p2: number): void;

/**
 * Returns false if amount > wallet balance or daily transfer limit has been hit.
 * NativeDB Introduced: v323
 */
declare function N_0x08e8eeadfd0dc4a0(amount: number): number;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x0a3f820a9a9a9ac5(p0: number, p1: number, p2: number, p3: number): void;

/**
 * CLEAR_VEHICLE_*
 */
declare function N_0x0a436b8643716d14(): void;

declare function N_0x0a46af8a78dc5e0a(): void;

declare function N_0x0a9c7f36e5d7b683(p0: number): void;

declare function N_0x0aa27680a0bd43fa(): void;

declare function N_0x0ad9710cee2f590f(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;

declare function N_0x0ad9e8f87ff7c16f(p0: number, p1: boolean): void;

declare function N_0x0ae73d8df3a762b2(p0: boolean): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x0b39cf0d53f1c883(p0: number, p1: number, p2: number): 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;

/**
 * IS_VEHICLE_*
 */
declare function N_0x0be4be946463f917(vehicle: number): number;

declare function N_0x0bf3b3bd47d79c08(modelHash: string | number, p1: number): void;

declare function N_0x0c15b0e443b2349d(): number;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x0c698d8f099174c7(p0: number): void;

declare function N_0x0cb1be0633c024a8(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x0cf54f20de43879c(p0: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x0cf6cc51aa18f0f8(p0: number, p1: number, p2: number): number;

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: v323
 */
declare function N_0x0e3a041ed6ac2b45(player: number): number;

declare function N_0x0e4299c549f0d1f1(toggle: boolean): void;

declare function N_0x0e4f77f7b9d74d84(p0: number): void;

declare function N_0x0ede326d47cd0f3e(ped: number, player: number): number;

declare function N_0x0f3b4d4e43177236(p0: number, p1: boolean): void;

declare function N_0x0f62619393661d6e(p0: number, p1: number, p2: number): void;

/**
 * BG_*
 * NativeDB Introduced: v323
 */
declare function N_0x0f6f1ebbc4e1d5e6(scriptIndex: number, p1: string): number;

declare function N_0x0f73393bac7e6730(): [number, number, number];

declare function N_0x0fe8e1fcd2b86b33(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x1072f115dab0717e(p0: boolean, p1: boolean): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x107a473d7a6647a9(p0: number): void;

/**
 * UI3DSCENE_*
 */
declare function N_0x108be26959a9d9bb(toggle: boolean): void;

declare function N_0x1093408b4b9d1146(vehicle: number, p1: number): 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): [number, number, number];

/**
 * SET_TEXT_??? - Used in golf and golf_mp
 */
declare function N_0x1185a8087587322c(p0: boolean): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x11b0a20c493f7e36(p0: number, p1: number, p2: number): 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;

declare function N_0x13c4b962653a5280(): number;

/**
 * SET_NETWORK_*
 */
declare function N_0x13f1fcb111b820b0(p0: boolean): void;

declare function N_0x140e6a44870a11ce(): void;

declare function N_0x144da052257ae7d8(p0: number): void;

/**
 * IS_PED_*
 */
declare function N_0x14590ddbedb1ec85(ped: number): number;

/**
 * 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;

/**
 * NETWORK_IS_*
 */
declare function N_0x14922ed3e38761f0(): number;

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;

/**
 * CLEAR_A*
 */
declare function N_0x15e33297c3e8dc60(p0: string): void;

declare function N_0x15e69e2802c24b8d(p0: number): void;

declare function N_0x1612c45f9e3e0d44(): void;

declare function N_0x162c23ca83ed0a62(p0: number): number;

declare function N_0x164c5ff663790845(p0: number): void;

declare function N_0x1670f8d05056f257(p0: string): number;

/**
 * NETWORK_IS_*
 * NativeDB Introduced: v323
 */
declare function N_0x16d3d49902f697bb(player: number): number;

declare function N_0x16da8172459434aa(): number;

/**
 * NativeDB Parameter 0: int* p0
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0x170910093218c8b9(p0?: number): unknown[];

/**
 * Related to displaying cash on the HUD
 * Always called before UI::_SET_SINGLEPLAYER_HUD_CASH in decompiled scripts
 */
declare function N_0x170f541e1cadd1de(p0: boolean): void;

declare function N_0x17330ebf2f2124a8(): void;

declare function N_0x17fca7199a530203(): number;

declare function N_0x182f266c2d9e2beb(vehicle: number, p1: number): void;

declare function N_0x1888694923ef4591(): void;

/**
 * NativeDB Parameter 0: Hash garageHash
 */
declare function N_0x190428512b240692(garageHash: number, vehicles: boolean, peds: boolean, objects: boolean, isNetwork: boolean): void;

// Return is unknown[] due to pointer value being input of the function
declare function N_0x19853b5b17d77bca(p0: number, p1?: number): unknown[];

declare function N_0x1989c6e6f67e76a8(): [number, number, number, number];

/**
 * RELEASE_???
 * I say RELEASE_???, as in IDA this native calls the same function as
 * -'RELEASE_MISSION_AUDIO_BANK()'.
 * -'RELEASE_AMBIENT_AUDIO_BANK()'.
 * -'RELEASE_SCRIPT_AUDIO_BANK()'.
 * However 'RELEASE_NAMED_SCRIPT_AUDIO_BANK' does not use the same function. So may be, 'RELEASE_???_AUDIO_BANK()'? Doubt it.
 */
declare function N_0x19af7ed9b9d23058(): void;

/**
 * Related to tennis mode.
 * GET_TENNIS_*
 */
declare function N_0x19bfed045c647c49(ped: number): number;

/**
 * Seems to return the current type of view
 * example: // checks if you're currently in first person
 * if ((CAM::_EE778F8C7E1142E2(CAM::_19CAFA3C87F7C2FF()) == 4) && (!__463_$28ED382849B17AFC())) {
 * UI::_FDEC055AB549E328();
 * UI::_SET_NOTIFICATION_TEXT_ENTRY("REC_FEED_WAR");
 * l_CE[0 -- [[1]] ] = UI::_DRAW_NOTIFICATION(0, 1);
 * }
 */
declare function N_0x19cafa3c87f7c2ff(): number;

/**
 * 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;

declare function N_0x1b0b4aeed5b9b41c(p0: number): void;

/**
 * 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;

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 Introduced: v323
 */
declare function N_0x1d12a56fc95be92e(): number;

declare function N_0x1d4446a62d35b0d0(p0: number, p1: number): number;

/**
 * IS_COMMERCE_*
 */
declare function N_0x1d4dc17c38feaff0(): number;

declare function N_0x1d610eb0fea716d9(p0: number): number;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x1dc9b749e7ae282b(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x1dd2139a9a20dce8(): number;

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() {
 * GAMEPLAY::_1EAE0A6E978894A2(0, 1);
 * GAMEPLAY::_1EAE0A6E978894A2(1, 1);
 * GAMEPLAY::_1EAE0A6E978894A2(2, 1);
 * GAMEPLAY::_1EAE0A6E978894A2(3, 1);
 * GAMEPLAY::_1EAE0A6E978894A2(4, 1);
 * GAMEPLAY::_1EAE0A6E978894A2(5, 1);
 * GAMEPLAY::_1EAE0A6E978894A2(6, 1);
 * GAMEPLAY::_1EAE0A6E978894A2(7, 1);
 * GAMEPLAY::_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_0x1ee7d8df4425f053(p0: number): void;

declare function N_0x1f2300cb7fa7b7f6(): number;

declare function N_0x1f2e4e06dea8992b(vehicle: number, p1: boolean): void;

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;

declare function N_0x1f3f018bc3afa77c(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): number;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x1f7bc3539f9e0224(): void;

declare function N_0x1f8e00fb18239600(p0: number): void;

declare function N_0x1f9fb66f3a3842d2(vehicle: number, p1: boolean): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x1fda0aa679c9919b(p0: number): void;

/**
 * SET_PED_STE*
 */
declare function N_0x2016c603d6b8987c(ped: number, toggle: boolean): 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(): number;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x211c4ef450086857(): void;

/**
 * example
 * if (UI::IS_HELP_MESSAGE_BEING_DISPLAYED()&&(!UI::_214CD562A939246A())) {
 * return 0;
 * }
 */
declare function N_0x214cd562a939246a(): number;

/**
 * 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[];

/**
 * IS_*
 */
declare function N_0x21d04d7bc538c146(entity: number): number;

/**
 * Function.Call(Hash._0x2208438012482A1A, ped, 0, 0);
 * This makes the ped have faster animations
 */
declare function N_0x2208438012482a1a(ped: number, p1: boolean, p2: boolean): void;

// Return is unknown[] due to pointer value being input of the function
declare function N_0x225798743970412b(p0?: number): unknown[];

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x226c284c830d0ca8(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x22a249a53034450a(p0: boolean): void;

/**
 * BG_*
 * NativeDB Introduced: v323
 */
declare function N_0x22e21fbcfc88c149(scriptIndex: number, p1: string): number;

/**
 * Probably GET_VEHICLE_SOMETHING
 * @return Returns a BOOL
 */
declare function N_0x22fecb546c276a30(vehicle: number): number;

declare function N_0x2302c0264ea58d31(): 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;

/**
 * inputGroup: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts.
 * Hardcoded to return false.
 */
declare function N_0x23f09eadc01449d6(padIndex: number): number;

/**
 * ------------------------
 * | Belongs in DLC2 |
 * ------------------------
 * 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".
 */
declare function N_0x241fca5b1aa14f75(): number;

declare function N_0x2467a2d807d37ca3(p0: number): number;

declare function N_0x247acbc4abbc9d1c(p0: boolean): void;

declare function N_0x24a49beaf468dc90(p0: number, p2: number, p3: number, p4: number): [number, number];

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 Introduced: v323
 */
declare function N_0x2570e26be63964e3(): number;

declare function N_0x2587a48bc88dfadf(p0: boolean): void;

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;

declare function N_0x267c78c60e806b9a(p0: number, p1: boolean): 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;

/**
 * spook.
 * This function calls a function that gets another player stat, although implementation wasn't finished so it can only get your own stat.
 * Stat value it calls: 0xFC58E972
 */
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;

declare function N_0x27feb5254759cde3(textureDict: string, p1: boolean): number;

declare function N_0x280c7e3ac7f56e90(p0: number): [number, number, number];

declare function N_0x282b6739644f4347(p0: number): void;

declare function N_0x283b6062a2c01e9b(): void;

declare function N_0x288df530c92dad6f(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: v1493
 */
declare function N_0x29da3ca8d8b2692d(ped: number, toggle: boolean): void;

declare function N_0x2a2173e46daecd12(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v323
 */
declare function N_0x2a251aa48b2b46db(): void;

declare function N_0x2a25adc48f87841f(): number;

declare function N_0x2a5e0621dd815a9a(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x2a7cec72c3443bcc(p0: number, p1: number, p2: number): void;

declare function N_0x2a86a0475b6a1434(p0: number, p1: number): void;

declare function N_0x2a893980e96b659a(p0: boolean): number;

/**
 * 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;

/**
 * if (ENTITY::DOES_ENTITY_EXIST(l_228)) {
 * CAM::_2AED6301F67007D5(l_228);
 */
declare function N_0x2aed6301f67007d5(entity: number): 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): number;

declare function N_0x2b5aa717a181fb4c(p0: number, p1: boolean): void;

declare function N_0x2b5e102e4a42f2bf(): number;

declare function N_0x2b694afcf64e6994(ped: number, p1: boolean): void;

declare function N_0x2bf66d2e7414f686(): number;

/**
 * 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.
 * ```
 * // freemode.c
 * if (HUD::DOES_BLIP_EXIST(Global_2415594[iParam0]))
 * {
 * if (HUD::_0x2C173AE2BDB9385E(Global_2415594[iParam0]) != 0)
 * {
 * return 1;
 * }
 * }
 * ```
 * @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;

/**
 * SET_ENTITY_*
 */
declare function N_0x2c2e3dc128f44309(entity: number, p1: boolean): void;

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;

declare function N_0x2c9f302398e13141(p0: number, p1: number): void;

declare function N_0x2cc848a861d01493(): number;

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. I will most certainly dive into this to try replicate arcade games.
 * It has 12 paramaters not 11.
 * *NativeD B Introduced: v1290*
 * @param textureDict inside script_txds.rpf, browse it with OpenIV
 * @param textureName textureName
 * @param p2 float seems to be always returning 0.0 but not quite sure
 * @param p3 mostly -1 float
 * @param p4 something related to aspect ratio and looks like integer but can be float too ?
 * @param p5 float
 * @param p6 float
 * @param p7 float
 * @param red red color
 * @param green green color
 * @param blue blue color
 * @param alpha alpha
 */
declare function N_0x2d3b147afad49de0(textureDict: string, textureName: string, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, red: number, green: number, blue: number, alpha: number): void;

declare function N_0x2d5dc831176d0114(p0: number): number;

/**
 * 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_0x2df9038c90ad5264(p0: number, p1: number, p2: number, p3: number, p4: number, interiorFlags: number, scale: number, duration: number): void;

// Return is unknown[] due to pointer value being input of the function
declare function N_0x2dfc81c9b9608549(ped: number, p1?: number): unknown[];

declare function N_0x2e0bf682cc778d49(p0: number): number;

declare function N_0x2e22fefa0100275e(): number;

declare function N_0x2e4c123d1c8a710e(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): number;

declare function N_0x2e89990ddff670c3(p0: number, p1: number): number;

/**
 * Appears to return whether the player is using the pause menu store. Can't be sure though.
 */
declare function N_0x2f057596f2bd0061(): number;

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 (GAMEPLAY::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 (GAMEPLAY::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;

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(): number;

/**
 * GET_CURRENT_*
 * NativeDB Introduced: v1493
 */
declare function N_0x30432a0118736e00(): number;

declare function N_0x3044240d2e0fa842(): number;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x31125fd509d9043f(p0: number): void;

declare function N_0x3117d84efa60f77b(p0: 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(p0: 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): number;

declare function N_0x33d72899e24c3365(p0: number, p1: number): number;

/**
 * NETWORK_GET_*
 */
declare function N_0x33de49edf4dde77a(entity: number): number[];

/**
 * NativeDB Introduced: v323
 */
declare function N_0x33df47cc0642061b(): number;

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;

// Return is unknown[] due to pointer value being input of the function
declare function N_0x34770b9ce0e03b91(p0: number, p1?: number): unknown[];

/**
 * GET_CURRENT_*
 * NativeDB Introduced: v1493
 */
declare function N_0x34d66bc058019ce0(radioStationName: string): number;

/**
 * NETWORK_GET_*
 * NativeDB Introduced: v323
 */
declare function N_0x350c23949e43686c(player: number): number;

declare function N_0x352e2b5cf420bf3b(p0: number, p1: number): void;

declare function N_0x357b152ef96c30b6(): number;

declare function N_0x359af31a4b52f5ed(): number;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x35a3cd97b2c0a6d2(p0: 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;

declare function N_0x36c1451a88a09630(): [number, number];

/**
 * 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;

/**
 * NETWORK_*
 * NativeDB Introduced: v323
 */
declare function N_0x3765c3a3e8192e10(player: number): number;

/**
 * IS_PED_*
 */
declare function N_0x3795688a307e1eb6(Ped: number): number;

/**
 * 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;

/**
 * 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;

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 Introduced: v1290
 */
declare function N_0x3a9128352eac9e85(p0: number): number;

declare function N_0x3b2fd68db5f8331c(object: number, toggle: number, R: number, G: number, B: number): void;
declare function SetObjectColour(object: number, toggle: number, R: number, G: number, B: number): void;

declare function N_0x3b458ddb57038f08(p0: number, p1: number, p2: number): 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;

declare function N_0x3c67506996001f5e(): number;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x3c788e7f6438754d(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x3d120012440e6683(): number;

declare function N_0x3d9acb1eb139e702(): number;

declare function N_0x3de3aa516fb126a4(p0: number): void;

declare function N_0x3de51e9c80b116cf(p0: number): number;

/**
 * IS_*
 */
declare function N_0x3e38e28a1d80ddf6(ped: number): number;

/**
 * GET_CURRENT_*
 * NativeDB Introduced: v1493
 */
declare function N_0x3e65cde5215832c1(radioStationName: string): number;

declare function N_0x3e9679c1dfcf422c(p0: number, p1: number): void;

declare function N_0x3ebeac6c3f81f6bd(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;

// Return is unknown[] due to pointer value being input of the function
declare function N_0x3f9990bf5f22759c(p0?: number): unknown[];

declare function N_0x3fa36981311fa4ff(netId: number, state: boolean): void;

declare function N_0x4008edf7d6e48175(p0: boolean): void;

declare function N_0x4056ea1105f5abd7(p0: number, p1: number): 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_0x40aefd1a244741f2(p0: boolean): 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_0x41faa8fb2ece8720(p0: boolean): void;

declare function N_0x4237e822315d8ba9(): number;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x425a920fdb9a0dda(camName: string): void;

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: v1493
 */
declare function N_0x42fce14f50f27291(p0: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x430a7631a84c9be7(p0: number): void;

declare function N_0x4348bfda56023a2f(p0: number, p1: number): number;

declare function N_0x43d1680c6d19a8e9(): void;

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_0x44621483ff966526(p0: number, p1: number): void;

declare function N_0x44919cc079bb60bf(p0: number): void;

declare function N_0x44a0bdc559b35f6e(): number;

declare function N_0x44aca259d67651db(p1: number): number;

/**
 * NativeDB Introduced: v323
 */
declare function N_0x450819d8cf90c416(): number;

/**
 * yoga.ysc
 * if (PED::IS_PED_WEARING_HELMET(iParam0) && PED::_0x451294E859ECC018(iParam0) != -1)
 * {
 * *uParam2 = PED::_0x451294E859ECC018(iParam0);
 * *uParam3 = PED::_0x9D728C1E12BF5518(iParam0);
 * }
 */
declare function N_0x451294e859ecc018(ped: number): number;

declare function N_0x451d05012ccec234(p0: number): number;

declare function N_0x45a83257ed02d9bc(): void;

declare function N_0x45e816772e93a9db(): number;

declare function N_0x45f35c0edc33b03b(entity: number, model: string | number, netScene: number, animDict: string, animName: string, speed: number, speedMulitiplier: number, flag: number): void;

declare function N_0x4668d80430d6c299(ped: number): void;

/**
 * This has been found in use in the decompiled files.
 */
declare function N_0x4669b3ed80f24b4e(player: number): void;

declare function N_0x466da42c89865553(p0: 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): number;

declare function N_0x46d1a61a21f566fc(p0: number): void;

declare function N_0x46f3add1e2d5baf2(p0: number, p1: number): void;

declare function N_0x472397322e92a856(): void;

// Return is unknown[] due to pointer value being input of the function
declare function N_0x4737980e8a283806(p0: number, p1?: number): unknown[];

/**
 * Something regarding ped population.
 */
declare function N_0x4759cc730f947c81(): void;

declare function N_0x4811bbac21c5fcd5(p0: number): void;

declare function N_0x483aca1176ca93f1(): void;

declare function N_0x48621c9fca3ebd28(p0: number): void;

declare function N_0x4862437a486f91b0(p0: string, p3: boolean): [number, number, number];

declare function N_0x487912fd248efddf(p0: number, p1: number): number;

/**
 * A*
 */
declare function N_0x4879e4fe39074cdf(): number;

/**
 * Displays loading screen tips, requires `_0x56C8B608CFD49854` to be called beforehand.
 */
declare function N_0x488043841bbe156f(): void;

/**
 * NativeDB Parameter 0: int p0
 */
declare function N_0x4895bdea16e7c080(p0: boolean): void;
/**
 * NativeDB Parameter 0: int p0
 */
declare function EnableDeathbloodSeethrough(p0: boolean): void;

/**
 * INIT_VISIBLE_LATCH_POPULATION?
 */
declare function N_0x48adc8a773564670(): void;

/**
 * Only found 3 times in decompiled scripts. Not a whole lot to go off of.
 * GAMEPLAY::_48F069265A0E4BEC(a_0, "Movie_Name_For_This_Player");
 * GAMEPLAY::_48F069265A0E4BEC(&a_0._fB, "Ringtone_For_This_Player");
 * GAMEPLAY::_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;

declare function N_0x49482f9fcd825aaa(entity: number): void;

/**
 * SET_PED_ALLOW*
 */
declare function N_0x49e50bdb8ba4dab2(ped: number, toggle: boolean): void;

// Return is unknown[] due to pointer value being input of the function
declare function N_0x4a7d6e727f941747(p0?: number): unknown[];

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x4a9fde3a5a6d0437(p0: boolean): void;

declare function N_0x4ad490ae1536933b(p0: number, p1: number): number;

declare function N_0x4af92acd3141d96c(): void;

declare function N_0x4b5b620c9b59ed34(p0: number, p1: number): void;

declare function N_0x4ba166079d658ed4(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, probably useless. Always returns 0.
 */
declare function N_0x4c2330e61d3deb56(interiorID: number): number;

declare function N_0x4c2a9fdc22377075(): void;

declare function N_0x4c815eb175086f84(p0: number, p1: number): number;

declare function N_0x4c89fe2bdeb3f169(): number;

/**
 * This function is hard-coded to always return 1.
 */
declare function N_0x4cebc1ed31e8925e(cutsceneName: string): number;

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;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x4dcdf92bf64236cd(p0: string, p1: string): void;

declare function N_0x4df7cfff471a7fb1(p0: number): number;

declare function N_0x4e3cd0ef8a489541(): number;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x4e52e752c76e7e7a(p0: number): void;

declare function N_0x4e74e62e0a97e901(vehicle: number, p1: boolean): void;

/**
 * NativeDB Introduced: v323
 */
declare function N_0x4ed9c8d6da297639(): number;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x4fcd976da686580c(p0: number): number;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x504dfe62a1692296(toggle: boolean): void;

declare function N_0x5068f488ddb54dd8(): number;

/**
 * NativeDB Introduced: v323
 */
declare function N_0x50a8a36201dbf83e(): number;

declare function N_0x50f457823ce6eb5f(p0: number, p1: number, p2: number, p3: number): number;

/**
 * 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): number;

declare function N_0x5324a0e3e4ce3570(p0: number, p1: number): [number, number, number];

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x534e36d4db9ecc5d(p0: number, p1: number): number;

declare function N_0x53c10c8bd774f2c9(): number;

declare function N_0x53cae13e9b426993(p0: number): void;

/**
 * CLEAR_*
 * NativeDB Introduced: v1290
 */
declare function N_0x53ddc75bc3ac0a90(vehicle: number): void;

declare function N_0x53f4892d18ec90a4(p0: number): void;

declare function N_0x5407b7288d0478b7(p0: number): number;

/**
 * Extends or retracts the wings of an Oppressor.
 * The extend paremeter is a toggle, so there is no need to loop this native.
 * @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;

declare function N_0x547237aa71ab44de(p0: number): void;

declare function N_0x54e22ea2c1956a8d(p0: number): void;

/**
 * From the scripts:
 * GAMEPLAY::_54F157E0336A3822(sub_aa49(a_0), "ForcedStopDirection", v_E);
 */
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;

declare function N_0x55a1e095db052fa5(p0: number, p1: number): void;

declare function N_0x55a8becaf28a4eb7(): number;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x55f5a5f07134de60(): void;

/**
 * Order of player1 and player2 are not interchangable, it was called for both orders.
 */
declare function N_0x55fcc0c390620314(player1: number, player2: number, toggle: boolean): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x560b423d73015e77(p0: number): number;

declare function N_0x5615e0c5eb2bc6e2(p0: number, p1: number): void;

/**
 * STAT_SET_*
 */
declare function N_0x5688585e6d563cd8(p0: number): void;

declare function N_0x56eb5e94318d3fb6(vehicle: number, p1: boolean): void;

/**
 * consoel hash 0xAEB29F98
 */
declare function N_0x571feb383f629926(cargobob: 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;

// Return is unknown[] due to pointer value being input of the function
declare function N_0x584770794d758c18(p0: number, p1?: number): unknown[];

declare function N_0x5873c14a52d74236(p0: number): number;

declare function N_0x58bb377bec7cd5f4(p0: boolean, p1: boolean): void;

declare function N_0x58cc181719256197(p0: number, p1: number, p2: number): number;

/**
 * IS_*
 */
declare function N_0x59328eb08c5ceb2b(): number;

declare function N_0x593feae1f73392d4(): number;

declare function N_0x59424bd75174c9b1(): void;

declare function N_0x595f028698072dd9(p0: number, p1: number, p2: boolean): number;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0x59c3757b3b7408e8(p0: number, p1: number, p2: number): void;

declare function N_0x59d421683d31835a(p0: number): void;

declare function N_0x5a34cd9c3c5bec44(p0: number): number;

declare function N_0x5a43c76f7fc7ba5f(): void;

declare function N_0x5a556b229a169402(): number;

declare function N_0x5a7f62fda59759bd(): void;

/**
 * Disables some other rendering (internal)
 */
declare function N_0x5ad3932daeb1e5d3(): void;

declare function N_0x5ae17c6b0134b7f1(): number;

declare function N_0x5b0316762afd4a64(): number;

declare function N_0x5b1f2e327b6b6fe1(): number;

declare function N_0x5b48a06dd0e792a5(): 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_0x5bcde0f640c773d2(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x5bd5f255321c4aaf(p0: number): number;

/**
 * GET_PAUSE_MENU_*
 */
declare function N_0x5bff36d6ed83e0ae(): number[];

/**
 * 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): number;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x5c497525f803486b(): void;

declare function N_0x5c4ebffa98bdb41c(p0: number): number;

/**
 * NETWORK_HAS_*
 */
declare function N_0x5d10b3795f3fc886(): number;

declare function N_0x5d2bfaab8d956e0e(): void;

declare function N_0x5db8010ee71fdef2(vehicle: number): number;

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;

/**
 * DOES_*
 */
declare function N_0x5e657ef1099edd65(p0: number): number;

declare function N_0x5e9daf5a20f15908(p0: number): void;

/**
 * example from completionpercentage_controller.ysc.c4
 * if (STATS::_5EAD2BF6484852E4()) {
 * GAMEPLAY::SET_BIT(g_17b95._f20df._ff10, 15);
 * STATS::_11FF1C80276097ED(0xe9ec4dd1, 200, 0);
 * }
 */
declare function N_0x5ead2bf6484852e4(): number;

declare function N_0x5ecd378ee64450ab(p0: number): void;

declare function N_0x5edef0cf8c1dab3c(): number;

/**
 * Sets some health value. Looks like it's used for helis.
 */
declare function N_0x5ee5632f47ae9695(vehicle: number, health: number): void;

declare function N_0x5f0f3f56635809ef(p0: number): void;

/**
 * SET_PLAYERS_*
 */
declare function N_0x5f2013f8bc24ee69(p0: 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;

// Return is unknown[] due to pointer value being input of the function
declare function N_0x5fbd7095fe7ae57f(p0: number, p1?: number): unknown[];

/**
 * Appears once in "re_dealgonewrong"
 */
declare function N_0x5fc472c501ccadb3(player: number): number;

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(): number;

declare function N_0x60eedc12af66e846(p0: number): void;

declare function N_0x613f125ba3bd2eb9(): number;

/**
 * Unknown. Called after creating a checkpoint (type: 51) in the creators.
 */
declare function N_0x615d3925e87a3b26(checkpoint: number): void;

/**
 * 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_P*
 */
declare function N_0x616093ec6b139dd9(player: number, pickupHash: string | number, toggle: boolean): 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;

/**
 * Used only once (am_mp_property_int)
 * ped was PLAYER_PED_ID()
 */
declare function N_0x621c6e4729388e41(ped: number): number;

declare function N_0x62374889a4d59f72(): void;

declare function N_0x62454a641b41f3c5(p0: number): void;

declare function N_0x629526aba383bcaa(): void;

declare function N_0x62ca17b74c435651(vehicle: number): number;

declare function N_0x62e849b7eb28e770(p0: boolean): void;

declare function N_0x62ecfcfdee7885d6(): void;

declare function N_0x632b2940c67f4ea9(scaleformHandle: number): [number, number, number, number];

declare function N_0x638a3a81733086db(): number;

declare function N_0x639431e895b9aa57(ped: number, vehicle: number, p2: boolean, p3: boolean, p4: boolean): number;

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): void;

declare function N_0x649c97d52332341a(p0: number): void;

/**
 * NETWORK_GET_*
 */
declare function N_0x64d779659bc37b19(entity: number): number[];

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;

declare function N_0x658500ae6d723a7e(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;

/**
 * CLEAR_PED_*
 */
declare function N_0x687c0b594907d2e8(ped: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x68b562e124cc0aef(p0: number, p1: number): void;

declare function N_0x690a61a6d13583f6(player: number): number;

declare function N_0x692d58df40657e8c(p0: number, p1: number, p2: number, p4: number, p5: boolean): [number, number];

declare function N_0x693478acbd7f18e7(): void;

/**
 * what does it do?
 */
declare function N_0x694e00132f2823ed(entity: number, toggle: boolean): void;

// Return is unknown[] due to pointer value being input of the function
declare function N_0x699e4a5c8c893a18(p0: number, p1: string, p2?: number): unknown[];

declare function N_0x69ef772b192614c1(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0x6a12d88881435dca(): void;

/**
 * SET_F*
 */
declare function N_0x6a51f78772175a51(toggle: boolean): void;

/**
 * Called in freemode related scripts but not freemode itself.
 */
declare function N_0x6a5d89d7769a40d8(toggle: boolean): void;

declare function N_0x6a60e43998228229(p0: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x6a973569ba094650(p0: number, p1: number): void;

declare function N_0x6a98c2ecf57fa5d4(vehicle: number, entity: number): void;

declare function N_0x6b0e6172c9a4d902(p0: boolean): 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): number;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x6bff5f84102df80a(p0: number): void;

/**
 * inputGroup: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts.
 */
declare function N_0x6cd79468a1e595c6(padIndex: number): number;

declare function N_0x6cdd58146a436083(p0: number): void;

declare function N_0x6ce50e47f5543d0c(): void;

/**
 * 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_0x6ddbf9dffc4ac080(p0: boolean): void;

/**
 * NativeDB Parameter 0: int* playerAccountId
 * NativeDB Parameter 1: int* posixTime
 */
declare function N_0x6dee77aff8c21bd1(): [number, 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): number;

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;

/**
 * - if (GAMEPLAY::_6FDDF453C0C756EC() || GAMEPLAY::IS_PC_VERSION()) {
 */
declare function N_0x6fddf453c0c756ec(): number;

declare function N_0x700569dba175a77c(p0: number): number;

/**
 * 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(): number;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x70a382adec069dd3(p0: number, p1: number, p2: number): void;

declare function N_0x70b8ec8fc108a634(p0: boolean, p1: number): void;

/**
 * NativeDB Introduced: v323
 */
declare function N_0x710bcda8071eded1(): number;

declare function N_0x711794453cfd692b(p0: number, p1: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x7148e0f43d11f0d9(): void;

declare function N_0x71b008056e5692d6(): void;

/**
 * NETWORK_HAS_*
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0x71dc455f5cd1c2b1(networkHandle?: number): unknown[];

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;

/**
 * Probably a bool, returns true if the specified network id is controlled by someone else.
 * If you have control over the entity corresponding to the netId then this will return false (0);
 * @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): number;

/**
 * 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];

declare function N_0x72beccf4b829522e(p0: number, p1: number): void;

declare function N_0x72de52178c291cb5(): number;

declare function N_0x72eb7ba9b69bf6ab(): number;

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;

declare function N_0x74de2e8739086740(): void;

declare function N_0x74fb3e29e6d10fa9(): number;

/**
 * Checks some commerce stuff
 * NativeDB Introduced: v1290
 */
declare function N_0x754615490a029508(): number;

/**
 * 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.
 * NativeDB Introduced: v1180
 * @param vehicle the vehicle to disable world collisions for
 */
declare function N_0x75627043c6aa90ad(vehicle: number): void;

declare function N_0x759650634f07b6b4(p0: number): number;

/**
 * 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;

/**
 * Enables drawing some hud components, such as help labels, this frame, when the player is dead.
 */
declare function N_0x7669f9e39dc17063(): void;

/**
 * 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 N_0x76bba2cee66d47e9(ped: number): number;

declare function N_0x76bf03fadbf154f5(): number;

/**
 * SET_VEHICLE_*
 */
declare function N_0x76d26a22750e849e(vehicle: number): void;

declare function N_0x77758139ec9b66c7(p0: boolean): void;

declare function N_0x77f16b447824da6c(p0: number): void;

declare function N_0x77faddcbe3499df7(p0: number): void;

declare function N_0x7808619f31ff22db(): number;

declare function N_0x78321bea235fd8cd(p0: number, p1: boolean): number;

declare function N_0x78857fc65cadb909(p0: boolean): void;

declare function N_0x78ceee41f49f421f(p0: number, p1: number): void;

/**
 * Related to cutscene entities. Unsure about the use.
 */
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;

/**
 * NET_GAMESERVER_*
 * Checks if the transaction status is equal to 3.
 * NativeDB Introduced: v1365
 */
declare function N_0x79edac677ca62f81(transactionId: number): number;

/**
 * UI3DSCENE_*
 */
declare function N_0x7a42b2e236e71415(): void;

declare function N_0x7ac24eab6d74118d(p0: boolean): number;

declare function N_0x7b18da61f6bae9d5(p0: number): void;

declare function N_0x7b21e0bb01e8224a(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_0x7c06330bfdda182e(p0: number): void;

declare function N_0x7c226d5346d4d10a(p0: number): void;

/**
 * Used for cash gifts
 */
declare function N_0x7c4fccd2e4deb394(): number;

declare function N_0x7d36291161859389(p0: number): void;

declare function N_0x7d395ea61622e116(p0: boolean): void;

declare function N_0x7d41e9d2d17c5b2d(p0: number): number;

/**
 * what does this native do?
 * Here's some pseudocode of the internal setter function:
 * __int64 __fastcall sub_140CD86B4(signed int vehicle, char a2, char a3)
 * {
 * char v3; // di@1
 * char v4; // bl@1
 * __int64 result; // rax@1
 * __int16 v6; // cx@3
 * v3 = a3;
 * v4 = a2;
 * result = GetVehicleAddress(vehicle);
 * if ( result )
 * {
 * if ( v3 || (v6 = *(_WORD *)(result + 0xDA), (v6 & 0xFu) - 6 <= 1) )
 * {
 * *(_BYTE *)(result + 0x89B) &= 0xDFu;
 * *(_BYTE *)(result + 0x89B) |= 32 * (v4 & 1);
 * }
 * }
 * return result;
 * }
 * Now it's time for you to find out :P
 */
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;

declare function N_0x7e17be53e1aaabaf(): [number, 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): number;

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): number;

declare function N_0x7f2c4cdf2e82df4c(p0: number): number;

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(): number;

declare function N_0x7fcc39c46c3c03bd(p0: number): number;

/**
 * NativeDB Introduced: v323
 */
declare function N_0x7ffcbfee44ecfabf(): number;

/**
 * CLEAR_PED_*
 */
declare function N_0x80054d7fcc70eec6(ped: number): void;

/**
 * IS_*
 */
declare function N_0x801879a9b4f4b2fb(): number;

declare function N_0x80e3357fdef45c21(vehicle: number, toggle: boolean): void;

declare function N_0x8147fff6a718e1ad(p0: number): number;

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(p0: number, p1: number): void;

/**
 * Only found 2 times in decompiled scripts. Not a whole lot to go off of.
 * GAMEPLAY::_8269816F6CFD40F8(&a_0._f1F5A._f6[0 -- [[8]] ], "TEMPSTAT_LABEL"); // gets saved in a struct called "g_SaveData_STRING_ScriptSaves"
 * GAMEPLAY::_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;

/**
 * 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
 * @param p0 the toggle boolean
 */
declare function N_0x82cedc33687e1f50(p0: boolean): void;

/**
 * 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;

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(): number;

declare function N_0x838da0936a24ed4d(p0: number, p1: number): void;

declare function N_0x83a169eabcdb10a2(p0: number, p1: number): void;

declare function N_0x83f28ce49fbbffba(p0: number, p1: number, p2: boolean): number;

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;

declare function N_0x84c0116d012e8fc2(p0: number): void;

/**
 * NativeDB Parameter 0: int* ropeId
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0x84de3b5fb3e666f0(ropeId?: number): unknown[];

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;

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(p0: number, p1: number): void;

declare function N_0x88578f6ec36b4a3a(p0: number, p1: number): number;

/**
 * NativeDB Introduced: v1365
 */
declare function N_0x887fa38787de8c72(p0: number): void;

/**
 * NativeDB Added Parameter 2: Any p1
 */
declare function N_0x8881c98a31117998(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): number;

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_0x8bbacbf51da047a8(p0: number): void;

declare function N_0x8bf907833be275de(p0: number, p1: number): void;

declare function N_0x8c8d2739ba44af0f(p0: number): number;

declare function N_0x8c9d11605e59d955(p0: number): void;

declare function N_0x8caab2bd3ea58bd4(p0: number): void;

// Return is unknown[] due to pointer value being input of the function
declare function N_0x8cc469ab4d349b7c(p0: number, p1: string, p2?: number): unknown[];

/**
 * 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;

/**
 * GAMEPLAY::_8D74E26F54B4E5C3("");
 */
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;

/**
 * Example of usage:
 * v_2 = SCRIPT::_30B4FA1C82DD4B9F(); // int _GET_ID_OF_NEXT_SCRIPT_IN_ENUMERATION()
 * CUTSCENE::_8D9DF6ECA8768583(v_2);
 */
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_0x8e2a065abdae6994(): void;

declare function N_0x8ec74ceb042e7cff(p0: number): void;

declare function N_0x8f08017f9d7c47bd(p0: number, p2: number): [number, 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;

declare function N_0x90a6526cf0381030(p0: number, p2: number, p3: number): [number, number];

declare function N_0x90a78ecaa4e78453(): number;

/**
 * HAS_*
 */
declare function N_0x91d6dd290888cbab(): number;

declare function N_0x91ef6ee6419e5b97(p0: boolean): void;

declare function N_0x9237e334f6e43156(p0: number): number;

/**
 * DISABLE_*
 */
declare function N_0x9245e81072704b8a(p0: boolean): void;

declare function N_0x92aefb5f6e294023(object: number, p1: boolean, p2: boolean): void;

// Return is unknown[] due to pointer value being input of the function
declare function N_0x92da6e70ef249bd1(p0: string, p1?: number): unknown[];

declare function N_0x930f504203f561c9(p0: number): void;

/**
 * Probably IS_SWITCH_*
 */
declare function N_0x933bbeeb8c61b5f4(): number;

declare function N_0x941e5306bcd7c2c7(): number;

declare function N_0x94538037ee44f5cf(p0: boolean): void;

declare function N_0x9465e683b12d3f6b(): void;

declare function N_0x9489659372a81585(): number;

declare function N_0x949f397a288b28b3(p0: number): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0x94a68da412c4007d(p0: number, p1: number): void;

/**
 * NETWORK_IS_*
 */
declare function N_0x94a8394d150b013a(): number;

declare function N_0x95a7dabddbb78ae7(iplName1: string, iplName2: string): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x95baf97c82464629(p0: number, p1: number): void;

declare function N_0x95eb5e34f821babe(p0: number, p1: number, p2: number): number;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x9640e30a7f395e4b(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function N_0x9641588dab93b4b5(p0: number): void;

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(p0: number, p1: number): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function N_0x97e7e2c04245115b(p0: 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 N_0x98215325a695e78a(enable: boolean): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0x9849de24fcf23ccc(p0: number, p1: number): 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_GENERATORS_EXPECTED_GAMEPLAY_PT ?
 * Example gotten from chinese2.c4
 * VEHICLE::_9A75585FB2E54FAD(2004.4471435546875, 3076.806640625, 46.60689926147461, 10.0);
 */
declare function N_0x9a75585fb2e54fad(x: number, y: number, z: number, radius: number): void;

declare function N_0x9a77dfd295e29b09(p0: number, p1: boolean): void;

/**
 * RELEASE_???
 * I say RELEASE_???, as in IDA this native calls the same function as
 * -'RELEASE_MISSION_AUDIO_BANK()'.
 * -'RELEASE_AMBIENT_AUDIO_BANK()'.
 * -'RELEASE_SCRIPT_AUDIO_BANK()'.
 * However 'RELEASE_NAMED_SCRIPT_AUDIO_BANK' does not use the same function. So may be, 'RELEASE_???_AUDIO_BANK()'? Doubt it.
 */
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;

declare function N_0x9b6e70c5ceef4eeb(p0: number): 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;

/**
 * NativeDB Parameter 1: int* p1
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0x9c6a6c19b6c0c496(ped: number, p1?: number): unknown[];

declare function N_0x9d30687c57baa0bb(p0: number): void;

/**
 * SET_H*
 */
declare function N_0x9d3af56e94c9ae98(vehicle: number, p1: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0x9d4fdbb035229669(p0: number, p1: number, p2: number): void;

declare function N_0x9d728c1e12bf5518(ped: number): number;

/**
 * Sets some voice chat related value.
 * NETWORK_SET_*
 */
declare function N_0x9d7afcbf21c51712(toggle: boolean): void;

/**
 * NativeDB Introduced: v323
 */
declare function N_0x9de5d2f723575ed0(): number;

/**
 * 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(): [number, number, number];

declare function N_0x9e4cfff989258472(): void;

/**
 * Only found 4 times in Rockstar scripts.
 * Clearly has something to do with Cutscenes.
 */
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;

declare function N_0x9f3f689b814f2599(vehicle: number, p1: boolean): void;

declare function N_0x9fedf86898f100e9(): number;

declare function N_0xa01bc64dd4bfbbac(vehicle: number, p1: number): number;

declare function N_0xa071e0ed98f91286(p0: number, p1: number): void;

declare function N_0xa08fe5e49bdc39dd(p0: number, p1: number, p2: boolean): void;

/**
 * GET_S*
 */
declare function N_0xa09f896ce912481f(p0: boolean): number;

declare function N_0xa0cefcea390aab9b(p0: number): void;

declare function N_0xa0d3e4f7aafb7e78(p0: number, p1: number): number;

// Return is unknown[] due to pointer value being input of the function
declare function N_0xa0f93d5465b3094d(p0?: number): unknown[];

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;

declare function N_0xa213b11dff526300(): number;

declare function N_0xa238192f33110615(): [number, number, number, number];

declare function N_0xa247f9ef01d8082e(p0: number): void;

declare function N_0xa2767257a320fc82(p0: number, p1: boolean): void;

declare function N_0xa2a707979fe754dc(p0: number, p1: number): void;

/**
 * CLEAR_*
 */
declare function N_0xa2c1f5e92afe49ed(): void;

/**
 * NativeDB Parameter 1: Hash weaponHash
 */
declare function N_0xa2c9ac24b4061285(ped: number, weaponHash: 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 (GAMEPLAY::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_0xa3a9299c4f2adb98(p0: number): void;

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;
 * }
 * }
 */
declare function N_0xa3f3564a5b3646c0(ped: number): number;

declare function N_0xa41bcd7213805aac(p0: boolean): void;

/**
 * NativeDB Introduced: v323
 */
declare function N_0xa468e0be12b12c70(): number;

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): [number, number[], number[]];

/**
 * GET_SAVE_*
 * GET_SAVE_UNLESS_CUSTOM_DOT ?
 */
declare function N_0xa4a0065e39c9f25c(): [number, number[], number, any /* actually bool */, any /* actually bool */];

/**
 * NativeDB Introduced: v1604
 */
declare function N_0xa4a9a4c40e615885(p0: number): void;

declare function N_0xa51b086b0b2c0f7a(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0xa52d5247a4227e14(p0: number): void;

declare function N_0xa5342d390cda41d6(ped: number, p1: boolean): void;

declare function N_0xa586fbeb32a53dbb(): number;

/**
 * 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;

/**
 * SET_AUDIO_S*
 */
declare function N_0xa5f377b175a699c5(p0: number): void;

declare function N_0xa635c11b8c44afc2(): number;

declare function N_0xa660faf550eb37e5(p0: number, p1: boolean): void;

declare function N_0xa6f54bb2ffca35ea(p0: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function N_0xa6fceccf4721d679(p0: number): void;

declare function N_0xa736cf7fb7c5bff4(): [number, number, number, number];

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: v1493
 */
declare function N_0xa75eac69f59e96e7(p0: number): void;

declare function N_0xa761d4ac6115623d(): number;

declare function N_0xa76359fc80b2438e(p0: number): void;

/**
 * NativeDB Introduced: v323
 */
declare function N_0xa770c8eec6fb2ac5(): number;

declare function N_0xa7862bc5ed1dfd7e(p0: number, p1: number): [number, 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_0xa7c511fa1c5bda38(p0: number, p1: 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_0xa90e7227a9303fa9(p0: number, p1: number): void;

declare function N_0xa943fd1722e11efd(): number;

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;

// Return is unknown[] due to pointer value being input of the function
declare function N_0xaa19f5572c38b564(p0?: number): unknown[];

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(p0: number, p1: number): 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: 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;

declare function N_0xac2890471901861c(p0: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0xad27d957598e49e9(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

declare function N_0xad5fdf34b81bfe79(): 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: v1604
 */
declare function N_0xadf084fb8f075d06(p0: number): number;

declare function N_0xae3fee8709b39dcb(vehicle: number): number;

declare function N_0xae51bc858f32ba66(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function N_0xaeab987727c5a8a4(p0: number): number;

/**
 * Does nothing (it's a nullsub).
 * NativeDB Introduced: v323
 */
declare function N_0xaedf1bc1c133d6e3(): number;

declare function N_0xaeef48cdf5b6ce7c(p0: number, p1: number): 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;

declare function N_0xaff47709f1d5dcce(): number;

/**
 * NETWORK_HAS_*
 */
declare function N_0xb07d3185e11657a5(entity: number): number;

declare function N_0xb088e9a47ae6edd5(vehicle: number, p1: boolean): void;

declare function N_0xb09d25e77c33eb3f(p0: number, p1: number, p2: number): number;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0xb1381b97f70c7b30(): void;

declare function N_0xb13e88e655e5a3bc(): void;

declare function N_0xb1577667c3708f9b(): 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(): number;

/**
 * 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 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_0xb2aff10216defa2f(x: number, y: number, z: number, p3: number, p4: number, p5: number, p6: number, interiorFlags: number, scale: number, duration: 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;

declare function N_0xb328dcc3a3aa401b(p0: number): number;

declare function N_0xb37e4e6a2388ca7b(): number;

/**
 * Setter for 0xE59343E9E96529E7
 * SET_M*
 */
declare function N_0xb3c641f3630bf6da(p0: number): void;

/**
 * This function is hard-coded to always return 1.
 */
declare function N_0xb3da2606774a8e2d(): number;

/**
 * PLAYER::0xBF6993C7(rPtr((&l_122) + 71)); // Found in decompilation
 * ***
 * In "am_hold_up.ysc" used once:
 * l_8d._f47 = GAMEPLAY::GET_RANDOM_FLOAT_IN_RANGE(18.0, 28.0);
 * PLAYER::_B45EFF719D8427A6((l_8d._f47));
 */
declare function N_0xb45eff719d8427a6(p0: number): void;

declare function N_0xb475f27c6a994d65(): void;

declare function N_0xb49eca122467d05f(p0: number, p1: number, p2: number, p3: 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: 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(p0: number, p1: number): void;

/**
 * ROPE_*
 */
declare function N_0xb743f735c03d7810(ropeId: number, p1: number): void;

declare function N_0xb746d20b17f2a229(): [number, number, number];

declare function N_0xb782f8238512bad5(p0: number, p1: number): void;

/**
 * Clears all areas created by 0xD4A7A435B3710D05
 * CLEAR_*
 * NativeDB Introduced: v1290
 */
declare function N_0xb7c6d80fb371659a(): void;

declare function N_0xb81cf134aeb56ffb(): void;

/**
 * Old Gen: 0x47D6004E
 * Disables something. Used only once in R* scripts (freemode.ysc).
 */
declare function N_0xb885852c39cc265d(): void;

/**
 * if (!$B8B52E498014F5B0(PLAYER::PLAYER_PED_ID())) {
 */
declare function N_0xb8b52e498014f5b0(ped: number): number;

declare function N_0xb9562064627ff9db(p0: number, p1: number): void;

/**
 * RESET_*
 */
declare function N_0xb99c4e4d9499df29(p0: number): void;

declare function N_0xb9cf1f793a9f1bf1(): number;

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): number;

declare function N_0xba9749cc94c1fd85(): number;

declare function N_0xba9775570db788cf(): number;

declare function N_0xbaa2f0490e146be8(p0: number): void;

declare function N_0xbb2333bb87ddd87f(p0: number, p1: number): void;

declare function N_0xbb90e12cac1dab25(p0: number): void;

/**
 * var num3 = PLAYER::GET_PLAYER_PED(l_2171); // proof l_2171 is a player
 * var num17 = PLAYER::0x9DF75B2A(l_2171, 100, 0); // l_2171
 * .ysc:
 * if (PLAYER::GET_PLAYER_WANTED_LEVEL(l_6EF) < v_4) { // l_6EF is a player
 * PLAYER::SET_PLAYER_WANTED_LEVEL(l_6EF, v_4, 0); // l_6EF
 * PLAYER::SET_PLAYER_WANTED_LEVEL_NOW(l_6EF, 0); // l_6EF
 * } else {
 * PLAYER::_4669B3ED80F24B4E(l_6EF); // l_6EF
 * UI::_BA8D65C1C65702E5(1);
 * a_0 = 1;
 * }
 * if (l_4B24[l_6F2 -- [[156]] ]._f8C != PLAYER::_BC0753C9CA14B506(l_6EF, 100, 0)) { // l_6EF
 * l_4B24[l_6F2 -- [[156]] ]._f8C = PLAYER::_BC0753C9CA14B506(l_6EF, 100, 0); // l_6EF
 * }
 * Both was taken from fm_mission_controller
 * GET_PLAYER_*
 */
declare function N_0xbc0753c9ca14b506(player: number, p1: number, p2: boolean): number;

/**
 * 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_0xbc9823ab80a3dcac(): number;

declare function N_0xbcedb009461da156(): number;

declare function N_0xbd0efb25cca8f97a(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0xbd545d44cce70597(): number;

/**
 * NETWORK_SESSION_IS_*
 */
declare function N_0xbdb6f89c729cf388(): number;

/**
 * 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;

// Return is unknown[] due to pointer value being input of the function
declare function N_0xbed9f5693f34ed17(statName: string | number, p1: number, outValue?: number): unknown[];

declare function N_0xbef34b1d9624d5dd(p0: boolean): void;

/**
 * respawn player
 */
declare function N_0xbf22e0f32968e967(player: number, p1: boolean): void;

declare function N_0xbf371cd2b64212fd(p0: number): void;

/**
 * NativeDB Parameter 2: Hash hash
 */
declare function N_0xbf4dc1784be94dfa(ped: number, p1: boolean, hash: 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;

/**
 * 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;

/**
 * NativeDB Parameter 0: int* p0
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0xc13c38e47ea5df31(p0?: number): unknown[];

declare function N_0xc141b8917e0017ec(): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0xc14bd9f5337219b2(p0: number): void;

/**
 * SET_VEH*
 */
declare function N_0xc1805d05e6d4fe10(vehicle: number): void;

/**
 * same call as VEHICLE::_0x0F3B4D4E43177236
 */
declare function N_0xc1f981a6f74f0c23(p0: number, p1: boolean): void;

/**
 * NativeDB Introduced: v323
 */
declare function N_0xc2c97ea97711d1ae(): number;

/**
 * Getter for 0xCD74233600C4EA6B
 * GET_*
 */
declare function N_0xc2d2ad9eaae265b8(): number;

declare function N_0xc2ee020f5fb4db53(ped: number): void;

declare function N_0xc32ea7a2f6ca7557(): number;

/**
 * - This is called after SET_ALL_RANDOM_PEDS_FLEE_THIS_FRAME
 * 0xc3376f42b1faccc6, 0xd5d0d2853191399c, // set_areas_generator_orientation
 */
declare function N_0xc3376f42b1faccc6(player: number): void;
/**
 * - This is called after SET_ALL_RANDOM_PEDS_FLEE_THIS_FRAME
 * 0xc3376f42b1faccc6, 0xd5d0d2853191399c, // set_areas_generator_orientation
 */
declare function SetAreasGeneratorOrientation(player: number): void;

/**
 * SET_ENTITY_*
 */
declare function N_0xc34bc448da29f5e9(entity: number, toggle: boolean): void;

declare function N_0xc35a6d07c93802b2(): void;

declare function N_0xc361aa040d6637a8(vehicle: number, p1: boolean): void;

declare function N_0xc42dd763159f3461(): number;

declare function N_0xc434133d9ba52777(p0: number, p1: number): number;

declare function N_0xc4b3347bd68bd609(p0: number): void;

/**
 * NETWORK_D*
 * Probably NETWORK_DISABLE_*
 */
declare function N_0xc505036a35afd01b(toggle: boolean): void;

/**
 * SET_VEHICLE_LI*
 */
declare function N_0xc50ce861b55eab8b(vehicle: number, p1: boolean): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0xc5156361f26e2212(p0: number): void;

declare function N_0xc56fbf2f228e1dac(modelHash: string | number, p1: number, p2: number): number;

/**
 * NETWORK_IS_TRANSITION_???
 */
declare function N_0xc571d0e77d8bbc29(): number;

declare function N_0xc594b315edf2d4af(ped: number): void;

/**
 * NativeDB Introduced: v323
 */
declare function N_0xc5a35c73b68f3c49(): number;

declare function N_0xc5be134ec7ba96a0(p0: number, p1: number, p2: number, p3: number, p4: number): void;

declare function N_0xc5c8f970d4edff71(p0: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function N_0xc60060eb0d8ac7b1(p0: number, p1: number, p2: number): void;

declare function N_0xc6033d32241f6fb5(object: number, toggle: boolean): void;

/**
 * Toggles a value (bool) for cutscenes.
 */
declare function N_0xc61b86c9f61eb404(toggle: boolean): void;

/**
 * GET_NE*
 * NativeDB Introduced: v1493
 */
declare function N_0xc64a06d939f826f5(): [number, number, number, number];

/**
 * NativeDB Introduced: v1493
 */
declare function N_0xc69bb1d832a710ef(p0: number): number;

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;

declare function N_0xc78e239ac5b2ddb9(p0: boolean, p1: number, p2: 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): number;

declare function N_0xc8391c309684595a(): void;

declare function N_0xc847b43f369ac0b5(): void;

/**
 * NativeDB Introduced: v323
 */
declare function N_0xc85a7127e7ad02aa(): number;

declare function N_0xc87e740d9f3872cc(): number;

/**
 * IS_MOBILE_PHONE_*
 */
declare function N_0xc8b1b2425604cdd0(): number;

declare function N_0xc8b5c4a79cc18b94(cam: number): void;

declare function N_0xc8e1071177a23be5(): [number, number, number, number];

declare function N_0xc8ede9bdbccba6d4(p1: number, p2: number, p3: number): number;

declare function N_0xc9b43a33d09cada7(p0: number): void;

declare function N_0xca465d9cc0d231ba(p0: number): void;

declare function N_0xca4ac3eaae46ec7b(p0: number, p1: number): number;

declare function N_0xca4ae345a153d573(p0: boolean): void;

declare function N_0xca575c391fea25cc(p0: number): void;

declare function N_0xca6b2f7ce32ab653(p0: number, p2: number): [number, number];

declare function N_0xca9d2aa3e326d720(): 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;

/**
 * rerere
 */
declare function N_0xcac66558b944da67(vehicle: number, toggle: boolean): void;

/**
 * NETWORK_SESSION_*
 * p0 must be <= 4
 */
declare function N_0xcae55f48d3d7875c(p0: number): void;

declare function N_0xcb0360efefb2580d(padIndex: number): void;

/**
 * GET_*
 */
declare function N_0xcb645e85e97ea48b(): number;

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;

declare function N_0xcd71a4ecab22709e(entity: number): void;

/**
 * Setter for 0xC2D2AD9EAAE265B8
 * SET_*
 */
declare function N_0xcd74233600c4ea6b(toggle: boolean): void;

declare function N_0xcda1c62be2777802(p0: number, p1: number, p2: number): void;

/**
 * Probably SET_VEHICLE_SOMETHING
 */
declare function N_0xcda42c4bb9bde779(vehicle: number, p1: boolean): void;

declare function N_0xcdca26e80faecb8f(): 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;

/**
 * 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_0xd0ee05fe193646ea(): [number, number, number, number];

declare function N_0xd10282b6e3751ba0(): number;

/**
 * PLAYSTATS_S*
 */
declare function N_0xd1032e482629049e(p0: number): void;

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): number;

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: v1290
 */
declare function N_0xd20d79671a598594(p0: number, p1: number, p2: 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 N_0xd2dccd8e16e20997(p0: number): void;

declare function N_0xd302e99edf0449cf(p0: number): number;

/**
 * NETWORK_SESSION_IS_*
 */
declare function N_0xd313de83394af134(): number;

declare function N_0xd3301660a57c9272(p0: number): void;

declare function N_0xd33daa36272177c4(ped: number): void;

declare function N_0xd39d13c9febf0511(p0: boolean): void;

declare function N_0xd3e51c0ab8c26eee(p0: number, p1: number): number;

/**
 * NativeDB Introduced: v323
 */
declare function N_0xd414be129bb81b32(player: number): number;

declare function N_0xd4196117af7bb974(p0: number, p1: number): number;

/**
 * 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;

/**
 * Only used like this:
 * if (VEHICLE::_D4C4642CB7F50B5D(ENTITY::GET_VEHICLE_INDEX_FROM_ENTITY_INDEX(v_3))) {                                                        sub_157e9c(g_40001._f1868, 0);
 * }
 */
declare function N_0xd4c4642cb7f50b5d(vehicle: number): number;

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;

declare function N_0xd66c9e72b3cc4982(p1: number): [number, number];

declare function N_0xd6ade981781fca09(p0: number): void;

declare function N_0xd7360051c885628b(): number;

declare function N_0xd7b6c73cad419bcf(p0: boolean): void;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0xd7b80e7c3befc396(p0: number, p1: number): void;

declare function N_0xd7cccba28c4ecaf0(p0: number, p1: number, p2: number, p3: number, p4: number): void;

/**
 * 4 matches across 2 scripts.
 * appcamera:
 * called after UI::HIDE_HUD_AND_RADAR_THIS_FRAME() and before GRAPHICS::0x108F36CC();
 * cellphone_controller:
 * called after GRAPHICS::0xE9F2B68F(0, 0) and before GRAPHICS::0x108F36CC();
 */
declare function N_0xd801cc02177fa3f1(): void;

declare function N_0xd8122c407663b995(): number;

declare function N_0xd821056b9acf8052(p0: 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): number;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0xdb1ea9411c8911ec(p0: number): void;

declare function N_0xdb41d07a45a6d4b7(p0: number): number;

declare function N_0xdb90c6cca48940f1(p0: boolean): void;

/**
 * CLEAR_*
 * NativeDB Introduced: v1290
 */
declare function N_0xdbbc7a2432524127(vehicle: number): 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;

declare function N_0xdbc966a01c02bca7(p0: number, p1: number, p2: number): void;

/**
 * FORCE_*
 */
declare function N_0xdc459cfa0cce245b(toggle: boolean): void;

/**
 * SET_ENTITY_*
 * x360 Hash: 0xA0466A69
 * 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;

declare function N_0xdc9da9e8789f5246(): void;

/**
 * NativeDB Added Parameter 1: Any p0
 * 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): number;

/**
 * Tune Backwards... ?
 */
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;

// Return is unknown[] due to pointer value being input of the function
declare function N_0xdeaaf77eb3687e97(p0: number, p1?: number): unknown[];

declare function N_0xdeb2b99a1af1a2a6(p0: number): number;

declare function N_0xdf4b952f7d381b95(): number;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0xdfe68c4b787e1bfb(p0: 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): number;

declare function N_0xe16142b94664defd(vehicle: number, p1: boolean): void;

/**
 * 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 (CONTROLS::_GET_LAST_INPUT_METHOD(2)) {
 * if (a_5) {
 * if (CONTROLS::IS_LOOK_INVERTED()) {
 * a_3 *= -1;
 * }
 * if (CONTROLS::_E1615EC03B3BB4FD()) {
 * a_3 *= -1;
 * }
 * }
 * }
 */
declare function N_0xe1615ec03b3bb4fd(): number;

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;

/**
 * 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;

/**
 * UI::GET_CURRENT_WEBSITE_PAGE_ID(int websiteID)
 * returns the current website page sometimes returns false
 */
declare function N_0xe3b05614dce1d014(p0: number): number;

/**
 * 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_0xe547e9114277098f(): number;

declare function N_0xe5810ac70602f2f5(vehicle: number, p1: number): void;

/**
 * Getter for 0xB3C641F3630BF6DA
 * GET_M*
 */
declare function N_0xe59343e9e96529e7(): number;

declare function N_0xe620fd3512a04f18(p0: number): void;

/**
 * TOGGLE_*
 */
declare function N_0xe63d7c6eececb66b(toggle: boolean): void;

declare function N_0xe6717e652b8c8d8a(p0: number, p1: number): void;

declare function N_0xe67c6dfd386ea5e7(p0: boolean): void;

/**
 * This native is used in some casino scripts to fit the scaleform in the rendertarget.
 */
declare function N_0xe6a9f00d4240b519(scaleform: number, p1: boolean): void;

/**
 * GET_VEHICLE_*
 */
declare function N_0xe6b0e8cfc3633bf0(vehicle: number): number;

/**
 * NativeDB Introduced: v323
 */
declare function N_0xe75a4a2e5e316d86(): number;

/**
 * This function is hard-coded to always return 0.
 */
declare function N_0xe791df1f73ed2c8b(p0: number): number;

declare function N_0xe7e4c198b0185900(p0: number, p1: number, p2: boolean): void;

declare function N_0xe851e480b814d4ba(vehicle: number, p1: boolean): void;

/**
 * SET_PED_CAN_*
 */
declare function N_0xe861d0b05c7662b8(ped: number, p1: boolean, p2: number): void;

/**
 * GET_H*
 * NativeDB Introduced: v1604
 */
declare function N_0xe8718faf591fd224(vehicle: number): number;

declare function N_0xe8853fbce7d8d0d6(): number;

declare function N_0xe8b0b270b6e7c76e(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0xe906ec930f5fe7c8(p0: number, p1: number): void;

/**
 * Related to tennis mode.
 * GET_TENNIS_*
 */
declare function N_0xe95b0c7d5ba3b96b(ped: number): number;

declare function N_0xe9ea16d6e54cdca4(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): number;

/**
 * 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;

declare function N_0xec6935ebe0847b90(p0: number, p1: number, p2: number, p3: number): number;

/**
 * This function is hard-coded to always return 0.
 */
declare function N_0xec72c258667be5ea(p0: number): number;

/**
 * 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;

/**
 * STAT_LOAD_*
 */
declare function N_0xecb41ac6ab754401(): number;

/**
 * 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;

/**
 * interprets the result of CAM::_0x19CAFA3C87F7C2FF()
 * example: // checks if you're currently in first person
 * if ((CAM::_EE778F8C7E1142E2(CAM::_19CAFA3C87F7C2FF()) == 4) && (!__463_$28ED382849B17AFC())) {
 * UI::_FDEC055AB549E328();
 * UI::_SET_NOTIFICATION_TEXT_ENTRY("REC_FEED_WAR");
 * l_CE[0 -- [[1]] ] = UI::_DRAW_NOTIFICATION(0, 1);
 * }
 */
declare function N_0xee778f8c7e1142e2(p0: number): number;

/**
 * Some kind of flags.
 */
declare function N_0xeebfc7a7efdc35b4(vehicle: number): number;

declare function N_0xeeed8fafec331a70(p0: number, p1: number, p2: number, p3: 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;

// Return is unknown[] due to pointer value being input of the function
declare function N_0xef4ced81cebedc6d(p0: number, p1?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function SetUseridsUihidden(p0: number, p1?: number): unknown[];

/**
 * 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;

declare function N_0xf06ebb91a81e09e3(p0: boolean): void;

/**
 * NETWORK_RE*
 */
declare function N_0xf083835b70ba9bfe(): void;

/**
 * Adds some kind of shadow to the vehicle.
 */
declare function N_0xf0e4ba16d1db546c(vehicle: number, p1: number, p2: number): void;

/**
 * Only 1 occurrence. p1 was 2.
 */
declare function N_0xf10b44fd479d69f3(player: number, p1: number): number;

declare function N_0xf11f01d98113536a(p0: number): number;

declare function N_0xf12e33034d887f66(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): number;

declare function N_0xf12e6cd06c73d69e(): number;

declare function N_0xf13fe2a80c05c561(): number;

/**
 * Sets profile setting 933
 */
declare function N_0xf1a1803d3476f215(value: number): void;

declare function N_0xf1b84178f8674195(p0: number): void;

declare function N_0xf1c03a5352243a30(p0: number): void;

declare function N_0xf1e22dc13f5eebad(p0: number): void;

/**
 * 2 calls found in the b617d scripts:
 * AUDIO::_F1F8157B8C3F171C(l_A42, "Franklin_Bike_Rev", "BIG_SCORE_3A_SOUNDS");
 * AUDIO::_F1F8157B8C3F171C(l_166, "Trevor_Revs_Off", "PALETO_SCORE_SETUP_SOUNDS");
 */
declare function N_0xf1f8157b8c3f171c(vehicle: number, p1: string, p2: string): void;

declare function N_0xf22ca0fd74b80e7a(p0: number): number;

declare function N_0xf2385935bffd4d92(ped: number): number;

/**
 * Disables SET_PAD_SHAKE when set to -1 for a given inputGroup
 */
declare function N_0xf239400e16c23e08(inputGroup: number, p1: number): void;

declare function N_0xf25e02cb9c5818f8(): void;

declare function N_0xf284ac67940c6812(): number;

declare function N_0xf287f506767cc8a9(): number;

/**
 * toggle was always 0 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(): number;

declare function N_0xf3162836c28f9da5(p0: number, p1: number, p2: number, p3: number): number;

/**
 * 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;

/**
 * characters
 * 0: Michael
 * 1: Franklin
 * 2: Trevor
 * 3: MPMale
 * 4: MPFemale
 */
declare function N_0xf3fbe2d50a6a8c28(character: number, p1: boolean): number;

/**
 * STAT_S*
 */
declare function N_0xf434a10ba01c37d0(toggle: boolean): void;

declare function N_0xf445de8da80a1792(): number;

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;

// Return is unknown[] due to pointer value being input of the function
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): unknown[];

declare function N_0xf5bb8dac426a52c0(): [number, number, number, 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 N_0xf60165e1d2c5370b(ped: number): [number, number, number];

/**
 * NativeDB Introduced: v1493
 */
declare function N_0xf6b170f9a02e9e87(p0: number): void;

// Return is unknown[] due to pointer value being input of the function
declare function N_0xf6baaaf762e1bf40(p0: string, p1?: number): unknown[];

declare function N_0xf6f4383b7c92f11a(p0: number): void;

declare function N_0xf78b803082d4386f(p0: number): void;

declare function N_0xf78f94d60248c737(vehicle: number, p1: boolean): number;

declare function N_0xf814fec6a19fd6e0(): void;

declare function N_0xf8155a7f03ddfc8e(p0: number): void;

/**
 * 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;

/**
 * Remove the weird shadow applied by [0xF0E4BA16D1DB546C](#\_0xF0E4BA16D1DB546C).
 */
declare function N_0xf87d9f2301f7d206(vehicle: number): void;

declare function N_0xf8c54a461c3e11dc(): [number, number, number, number];

declare function N_0xf92099527db8e2a7(p0: number, p1: number): void;

declare function N_0xf98dde0a8ed09323(p0: boolean): 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_0xf9b83b77929d8863(): number;

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;

/**
 * REMOVE_*
 * NativeDB Introduced: v1493
 */
declare function N_0xfa83ca6776038f64(x: number, y: number, z: number): void;

/**
 * Another unknown label type...
 * GAMEPLAY::_FAA457EF263E8763(a_0, "Thumb_label");
 * GAMEPLAY::_FAA457EF263E8763(&a_0._f10, "Photo_label");
 * GAMEPLAY::_FAA457EF263E8763(a_0, "GXTlabel");
 * GAMEPLAY::_FAA457EF263E8763(&a_0._f21, "StringComp");
 * GAMEPLAY::_FAA457EF263E8763(&a_0._f43, "SecondStringComp");
 * GAMEPLAY::_FAA457EF263E8763(&a_0._f53, "ThirdStringComp");
 * GAMEPLAY::_FAA457EF263E8763(&a_0._f32, "SenderStringComp");
 * GAMEPLAY::_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"
 * GAMEPLAY::_FAA457EF263E8763(&a_0._f4B, "PAID_PLAYER");
 * GAMEPLAY::_FAA457EF263E8763(&a_0._f5B, "RADIO_STATION");
 */
declare function N_0xfaa457ef263e8763(name: string): number;

/**
 * NativeDB Introduced: v1180
 */
declare function N_0xfac18e7356bd3210(): void;

declare function N_0xfac75988a7d078d3(player: number): void;

/**
 * NativeDB Parameter 0: Hash p0
 * NativeDB Parameter 2: Hash p2
 */
declare function N_0xfae628f1e9adb239(p0: number, p1: number, p2: number): void;

declare function N_0xfaf2a78061fd9ef4(p0: number, p1: number, p2: number, p3: number): void;

declare function N_0xfb00ca71da386228(): void;

declare function N_0xfb199266061f820a(): number;

/**
 * p0 is always 0. p1 is pointing to a global.
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0xfb1f9381e80fa13f(p0: number, p1?: number): unknown[];

declare function N_0xfb680d403909dc70(p0: number, p1: number): void;

/**
 * Toggles some stunt jump stuff.
 */
declare function N_0xfb80ab299d2ee1bd(toggle: boolean): void;

declare function N_0xfc4ee00a7b3bfb76(p0: number, p1: number, p2: number): void;

declare function N_0xfcc228e07217fcac(p0: 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;

declare function N_0xfe4c1d0d3b9cc17e(p0: number, p1: boolean): number;

declare function N_0xfec9a3b1820f3331(p0: number): number;

declare function N_0xfee4a5459472a9f8(): void;

/**
 * Tune Forward... ?
 */
declare function N_0xff266d1d0eb1195d(): void;

declare function N_0xff4803bc019852d9(p0: number, p1: number): void;

declare function N_0xff8f3a92b75ed67a(): number;

declare function N_0xffee8fa29ab9a18e(player: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function N_0xfffba1b1f7c0b6f4(p0: number): void;

/**
 * p0 is pointer to a script array
 */
declare function NetGameserverBasketAddItem(quantity: number): [number, number];
/**
 * p0 is pointer to a script array
 */
declare function N_0xf30980718c8ed876(quantity: number): [number, number];
/**
 * p0 is pointer to a script array
 */
declare function NetworkShopBasketAddItem(quantity: number): [number, number];

/**
 * p0 => unk3::_network_shop_basket_apply_server_data(Global_2590199[iParam0  -- [[76]] ], &uVar6); => script array
 */
// Return is unknown[] due to pointer value being input of the function
declare function NetGameserverBasketApplyServerData(p0: number, p1?: number): unknown[];
/**
 * p0 => unk3::_network_shop_basket_apply_server_data(Global_2590199[iParam0  -- [[76]] ], &uVar6); => script array
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0xe1a0450ed46a7812(p0: number, p1?: number): unknown[];
/**
 * p0 => unk3::_network_shop_basket_apply_server_data(Global_2590199[iParam0  -- [[76]] ], &uVar6); => script array
 */
// Return is unknown[] due to pointer value being input of the function
declare function NetworkShopBasketApplyServerData(p0: number, p1?: number): unknown[];

/**
 * NativeDB Introduced: v372
 */
declare function NetGameserverBasketDelete(): number;

declare function NetGameserverBasketEnd(): number;
declare function N_0xa65568121df2ea26(): number;
declare function NetworkShopBasketEnd(): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function NetGameserverBasketIsFull(): number;
/**
 * NativeDB Return Type: BOOL
 */
declare function N_0x27f76cc6c55ad30e(): number;
/**
 * NativeDB Return Type: BOOL
 */
declare function NetworkShopBasketIsFull(): number;

/**
 * NativeDB Parameter 0: int* transactionId
 * NativeDB Parameter 1: Hash categoryHash
 * NativeDB Parameter 2: Hash actionHash
 */
declare function NetGameserverBasketStart(categoryHash: number, actionHash: number, flags: number): [number, number];
/**
 * NativeDB Parameter 0: int* transactionId
 * NativeDB Parameter 1: Hash categoryHash
 * NativeDB Parameter 2: Hash actionHash
 */
declare function NetworkShopBasketStart(categoryHash: number, actionHash: number, flags: number): [number, number];

/**
 * No longer works if you hook it as a stealth money method
 * Modes------------------
 * 1: Wallet
 * 2: Bank
 * 4: Bank
 * 8: Wallet
 * Only difference I noticed.
 * ```
 * ```
 * NativeDB Parameter 3: Hash actionTypeHash
 */
declare function NetGameserverBeginService(categoryHash: string | number, itemHash: string | number, actionTypeHash: number, value: number, flags: number): [number, number];
/**
 * No longer works if you hook it as a stealth money method
 * Modes------------------
 * 1: Wallet
 * 2: Bank
 * 4: Bank
 * 8: Wallet
 * Only difference I noticed.
 * ```
 * ```
 * NativeDB Parameter 3: Hash actionTypeHash
 */
declare function N_0x3c5fd37b5499582e(categoryHash: string | number, itemHash: string | number, actionTypeHash: number, value: number, flags: number): [number, number];
/**
 * No longer works if you hook it as a stealth money method
 * Modes------------------
 * 1: Wallet
 * 2: Bank
 * 4: Bank
 * 8: Wallet
 * Only difference I noticed.
 * ```
 * ```
 * NativeDB Parameter 3: Hash actionTypeHash
 */
declare function NetworkShopBeginService(categoryHash: string | number, itemHash: string | number, actionTypeHash: number, value: number, flags: number): [number, number];

declare function NetGameserverCatalogIsReady(): number;
declare function N_0x3c4487461e9b0dcb(): number;

/**
 * Belongs in UNK3, non-hashed version of 0x247F0F73A182EA0B
 */
declare function NetGameserverCatalogItemExists(name: string): number;
/**
 * Belongs in UNK3, non-hashed version of 0x247F0F73A182EA0B
 */
declare function N_0xbd4d7eaf8a30f637(name: string): number;
/**
 * Belongs in UNK3, non-hashed version of 0x247F0F73A182EA0B
 */
declare function NetworkShopIsItemUnlocked(name: string): number;
/**
 * Belongs in UNK3, non-hashed version of 0x247F0F73A182EA0B
 */
declare function NetworkShopDoesItemExist(name: string): number;

/**
 * ex.:
 * v_15 = sub_10cc8(VEHICLE::GET_VEHICLE_WHEEL_TYPE(a_2));
 * if (!MOBILE::_247F0F73A182EA0B(v_15)) {
 * return 1;
 * }
 * Belongs in UNK3, hashed version of 0xBD4D7EAF8A30F637
 */
declare function NetGameserverCatalogItemExistsHash(hash: string | number): number;
/**
 * ex.:
 * v_15 = sub_10cc8(VEHICLE::GET_VEHICLE_WHEEL_TYPE(a_2));
 * if (!MOBILE::_247F0F73A182EA0B(v_15)) {
 * return 1;
 * }
 * Belongs in UNK3, hashed version of 0xBD4D7EAF8A30F637
 */
declare function N_0x247f0f73a182ea0b(hash: string | number): number;
/**
 * ex.:
 * v_15 = sub_10cc8(VEHICLE::GET_VEHICLE_WHEEL_TYPE(a_2));
 * if (!MOBILE::_247F0F73A182EA0B(v_15)) {
 * return 1;
 * }
 * Belongs in UNK3, hashed version of 0xBD4D7EAF8A30F637
 */
declare function NetworkShopIsItemUnlockedHash(hash: string | number): number;
/**
 * ex.:
 * v_15 = sub_10cc8(VEHICLE::GET_VEHICLE_WHEEL_TYPE(a_2));
 * if (!MOBILE::_247F0F73A182EA0B(v_15)) {
 * return 1;
 * }
 * Belongs in UNK3, hashed version of 0xBD4D7EAF8A30F637
 */
declare function NetworkShopDoesItemExistHash(hash: string | number): number;

declare function NetGameserverCheckoutStart(transactionId: number): number;
declare function N_0x39be7cea8d9cc8e6(transactionId: number): number;
declare function NetworkShopCheckoutStart(transactionId: number): number;

/**
 * NativeDB Parameter 2: Hash reason
 */
declare function NetGameserverDeleteCharacterSlot(slot: number, transfer: boolean, reason: number): number;
/**
 * NativeDB Parameter 2: Hash reason
 */
declare function N_0x51f1a8e48c3d2f6d(slot: number, transfer: boolean, reason: number): number;

declare function NetGameserverDeleteCharacterSlotGetStatus(): number;
declare function N_0x0a6d923dffc9bd89(): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function NetGameserverDeleteSetTelemetryNonceSeed(): number;
/**
 * NativeDB Return Type: BOOL
 */
declare function N_0x112cef1615a1139f(): number;
/**
 * NativeDB Return Type: BOOL
 */
declare function NetworkShopDeleteSetTelemetryNonceSeed(): number;

/**
 * Will cancel the transaction
 */
declare function NetGameserverEndService(transactionId: number): number;
/**
 * Will cancel the transaction
 */
declare function N_0xe2a99a9b524befff(transactionId: number): number;
/**
 * Will cancel the transaction
 */
declare function NetworkShopEndService(transactionId: number): number;
/**
 * Will cancel the transaction
 */
declare function NetworkShopTerminateService(transactionId: number): number;

/**
 * Note: only one of the arguments can be set to true at a time
 */
declare function NetGameserverGetBalance(inventory: boolean, playerbalance: boolean): number;
/**
 * Note: only one of the arguments can be set to true at a time
 */
declare function N_0x35a1b3e1d1315cfa(inventory: boolean, playerbalance: boolean): number;

/**
 * NativeDB Parameter 0: int* state
 */
// Return is unknown[] due to pointer value being input of the function
declare function NetGameserverGetCatalogState(state?: number): unknown[];
/**
 * NativeDB Parameter 0: int* state
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0xcf38dafbb49ede5e(state?: number): unknown[];

/**
 * 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;

/**
 * NativeDB Parameter 0: int* p0
 */
declare function NetGameserverGetTransactionManagerData(): [number, number, any /* actually bool */];
/**
 * NativeDB Parameter 0: int* p0
 */
declare function N_0x897433d292b44130(): [number, number, any /* actually bool */];

declare function NetGameserverIsCatalogValid(): number;
declare function N_0x2b949a1e6aec8f6a(): number;

declare function NetGameserverIsSessionRefreshPending(): number;
declare function N_0x810e8431c0614bf9(): number;
declare function NetworkShopGetTransactionsDisabled(): number;

declare function NetGameserverIsSessionValid(charSlot: number): number;
declare function N_0xb24f0944da203d9e(charSlot: number): number;
declare function NetworkShopGetTransactionsEnabledForCharacter(charSlot: number): number;

declare function NetGameserverSessionApplyReceivedData(charSlot: number): number;
declare function N_0x2f41d51ba3bcd1f1(charSlot: number): number;
declare function NetworkShopSessionApplyReceivedData(charSlot: number): number;

declare function NetGameserverSetTelemetryNonceSeed(p0: number): number;
declare function N_0x9507d4271988e1ae(p0: number): number;
declare function NetworkShopSetTelemetryNonceSeed(p0: number): number;

declare function NetGameserverStartSession(charSlot: number): number;
declare function N_0xa135ac892a58fc07(charSlot: number): number;
declare function NetworkShopStartSession(charSlot: number): number;

/**
 * used in atm_trigger script.
 * usage:
 * int iVar0;STATS::STAT_GET_INT(GAMEPLAY::GET_HASH_KEY("mpply_last_mp_char"), &iVar0, -1);
 * UNK3::_NETWORK_TRANSFER_WALLET_TO_BANK(iVar0, amount);
 * used to deposit money into bank from wallet, shows up in transaction log.
 */
declare function NetGameserverTransferBankToWallet(charSlot: number, amount: number): number;
/**
 * used in atm_trigger script.
 * usage:
 * int iVar0;STATS::STAT_GET_INT(GAMEPLAY::GET_HASH_KEY("mpply_last_mp_char"), &iVar0, -1);
 * UNK3::_NETWORK_TRANSFER_WALLET_TO_BANK(iVar0, amount);
 * used to deposit money into bank from wallet, shows up in transaction log.
 */
declare function N_0xd47a2c1ba117471d(charSlot: number, amount: number): number;
/**
 * used in atm_trigger script.
 * usage:
 * int iVar0;STATS::STAT_GET_INT(GAMEPLAY::GET_HASH_KEY("mpply_last_mp_char"), &iVar0, -1);
 * UNK3::_NETWORK_TRANSFER_WALLET_TO_BANK(iVar0, amount);
 * used to deposit money into bank from wallet, shows up in transaction log.
 */
declare function NetworkTransferBankToWallet(charSlot: number, amount: number): number;

/**
 * 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(): number;
/**
 * Used to be NETWORK_SHOP_CASH_TRANSFER_SET_TELEMETRY_NONCE_SEED
 */
declare function N_0x498c1e05ce5f7877(): number;
/**
 * Used to be NETWORK_SHOP_CASH_TRANSFER_SET_TELEMETRY_NONCE_SEED
 */
declare function NetworkShopCashTransferSetTelemetryNonceSeed(): number;

/**
 * used in atm_trigger script.
 * usage:
 * int iVar0; STATS::STAT_GET_INT(GAMEPLAY::GET_HASH_KEY("mpply_last_mp_char"), &iVar0, -1);
 * UNK3::_NETWORK_TRANSFER_BANK_TO_WALLET(iVar0, amount);
 * used to withdraw money from bank into wallet, shows up in transaction log.
 */
declare function NetGameserverTransferWalletToBank(charSlot: number, amount: number): number;
/**
 * used in atm_trigger script.
 * usage:
 * int iVar0; STATS::STAT_GET_INT(GAMEPLAY::GET_HASH_KEY("mpply_last_mp_char"), &iVar0, -1);
 * UNK3::_NETWORK_TRANSFER_BANK_TO_WALLET(iVar0, amount);
 * used to withdraw money from bank into wallet, shows up in transaction log.
 */
declare function N_0xc2f7fe5309181c7d(charSlot: number, amount: number): number;
/**
 * used in atm_trigger script.
 * usage:
 * int iVar0; STATS::STAT_GET_INT(GAMEPLAY::GET_HASH_KEY("mpply_last_mp_char"), &iVar0, -1);
 * UNK3::_NETWORK_TRANSFER_BANK_TO_WALLET(iVar0, amount);
 * used to withdraw money from bank into wallet, shows up in transaction log.
 */
declare function NetworkTransferWalletToBank(charSlot: number, amount: number): number;

/**
 * NativeDB Introduced: v1290
 */
declare function NetGameserverUseServerTransactions(): number;

/**
 * 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(): number;
/**
 * NETWORK_RE*
 * Triggers a CEventNetworkInviteConfirmed event
 */
declare function N_0x62a0296c1bb1ceb3(): number;

declare function NetworkAcceptPresenceInvite(p0: number): number;

/**
 * Some of the tunable contexts used in the PC scripts:
 * - "BASE_GLOBALS"
 * - "MP_GLOBAL"
 * and some of the tunable names used in the PC scripts:
 * - "XP_MULTIPLIER"
 * - "CASH_MULTIPLIER"
 * - "ARMOUR_REWARD_GIFT"
 * - "TOGGLE_CREATORS_OFF"
 * - "MULTIPLAYER_DISABLED"
 */
declare function NetworkAccessTunableBool(tunableContext: string, tunableName: string): number;
/**
 * Some of the tunable contexts used in the PC scripts:
 * - "BASE_GLOBALS"
 * - "MP_GLOBAL"
 * and some of the tunable names used in the PC scripts:
 * - "XP_MULTIPLIER"
 * - "CASH_MULTIPLIER"
 * - "ARMOUR_REWARD_GIFT"
 * - "TOGGLE_CREATORS_OFF"
 * - "MULTIPLAYER_DISABLED"
 */
declare function N_0xaa6a47a573abb75a(tunableContext: string, tunableName: string): number;

declare function NetworkAccessTunableBoolHash(tunableContext: string | number, tunableName: string | number): number;
declare function N_0xea16b69d93d71a45(tunableContext: string | number, tunableName: string | number): number;
declare function NetworkAccessTunableBoolHash(tunableContext: string | number, tunableName: string | number): number;

/**
 * Some of the tunable contexts used in the PC scripts:
 * - "BASE_GLOBALS"
 * - "MP_GLOBAL"
 * - "MP_FM_RACES"
 * - "MP_FM_RACES_CAR"
 * - "MP_FM_RACES_SEA"
 * - "MP_FM_RACES_CAR"
 * - "MP_FM_RACES_AIR"
 * - "MP_FM_BASEJUMP"
 * - "MP_FM_RACES_CYCLE"
 * - "MP_FM_RACES_BIKE"
 * - "MP_FM_MISSIONS"
 * - "MP_FM_CONTACT"
 * - "MP_FM_RANDOM"
 * - "MP_FM_VERSUS"
 * - "MP_FM_LTS"
 * - "MP_FM_CAPTURE"
 * - "MP_FM_DM"
 * - "MP_FM_SURVIVAL"
 * - "MP_FM_GANG_ATTACK"
 * - "MP_FM_BASEJUMP"
 * - "MP_CNC_TEAM_COP"
 * - "MP_CNC_TEAM_VAGOS"
 * - "MP_CNC_TEAM_LOST"
 * and some of the tunable names used in the PC scripts:
 * - "XP_MULTIPLIER"
 * - "CASH_MULTIPLIER"
 * - "ARMOUR_REWARD_GIFT"
 * - "TOGGLE_CREATORS_OFF"
 */
// Return is unknown[] due to pointer value being input of the function
declare function NetworkAccessTunableFloat(tunableContext: string, tunableName: string, value?: number): unknown[];
/**
 * Some of the tunable contexts used in the PC scripts:
 * - "BASE_GLOBALS"
 * - "MP_GLOBAL"
 * - "MP_FM_RACES"
 * - "MP_FM_RACES_CAR"
 * - "MP_FM_RACES_SEA"
 * - "MP_FM_RACES_CAR"
 * - "MP_FM_RACES_AIR"
 * - "MP_FM_BASEJUMP"
 * - "MP_FM_RACES_CYCLE"
 * - "MP_FM_RACES_BIKE"
 * - "MP_FM_MISSIONS"
 * - "MP_FM_CONTACT"
 * - "MP_FM_RANDOM"
 * - "MP_FM_VERSUS"
 * - "MP_FM_LTS"
 * - "MP_FM_CAPTURE"
 * - "MP_FM_DM"
 * - "MP_FM_SURVIVAL"
 * - "MP_FM_GANG_ATTACK"
 * - "MP_FM_BASEJUMP"
 * - "MP_CNC_TEAM_COP"
 * - "MP_CNC_TEAM_VAGOS"
 * - "MP_CNC_TEAM_LOST"
 * and some of the tunable names used in the PC scripts:
 * - "XP_MULTIPLIER"
 * - "CASH_MULTIPLIER"
 * - "ARMOUR_REWARD_GIFT"
 * - "TOGGLE_CREATORS_OFF"
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0xe5608ca7bc163a5f(tunableContext: string, tunableName: string, value?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkAccessTunableFloatHash(tunableContext: string | number, tunableName: string | number, value?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0x972bc203bbc4c4d5(tunableContext: string | number, tunableName: string | number, value?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function NetworkAccessTunableFloatHash(tunableContext: string | number, tunableName: string | number, value?: number): unknown[];

/**
 * Some of the tunable contexts used in the PC scripts:
 * - "MP_FM_RACES"
 * - "MP_FM_RACES_CAR"
 * - "MP_FM_RACES_SEA"
 * - "MP_FM_RACES_CAR"
 * - "MP_FM_RACES_AIR"
 * - "MP_FM_BASEJUMP"
 * - "MP_FM_RACES_CYCLE"
 * - "MP_FM_RACES_BIKE"
 * - "MP_FM_MISSIONS"
 * - "MP_FM_CONTACT"
 * - "MP_FM_RANDOM"
 * - "MP_FM_VERSUS"
 * - "MP_FM_LTS"
 * - "MP_FM_CAPTURE"
 * - "MP_FM_DM"
 * - "MP_FM_SURVIVAL"
 * - "MP_FM_GANG_ATTACK"
 * - "MP_FM_BASEJUMP"
 * - "BASE_GLOBALS"
 * - "MP_GLOBAL"
 * and some of the tunable names used in the PC scripts:
 * - "XP_MULTIPLIER"
 * - "CASH_MULTIPLIER"
 * - "ARMOUR_REWARD_GIFT"
 * - "TOGGLE_CREATORS_OFF"
 */
// Return is unknown[] due to pointer value being input of the function
declare function NetworkAccessTunableInt(tunableContext: string, tunableName: string, value?: number): unknown[];
/**
 * Some of the tunable contexts used in the PC scripts:
 * - "MP_FM_RACES"
 * - "MP_FM_RACES_CAR"
 * - "MP_FM_RACES_SEA"
 * - "MP_FM_RACES_CAR"
 * - "MP_FM_RACES_AIR"
 * - "MP_FM_BASEJUMP"
 * - "MP_FM_RACES_CYCLE"
 * - "MP_FM_RACES_BIKE"
 * - "MP_FM_MISSIONS"
 * - "MP_FM_CONTACT"
 * - "MP_FM_RANDOM"
 * - "MP_FM_VERSUS"
 * - "MP_FM_LTS"
 * - "MP_FM_CAPTURE"
 * - "MP_FM_DM"
 * - "MP_FM_SURVIVAL"
 * - "MP_FM_GANG_ATTACK"
 * - "MP_FM_BASEJUMP"
 * - "BASE_GLOBALS"
 * - "MP_GLOBAL"
 * and some of the tunable names used in the PC scripts:
 * - "XP_MULTIPLIER"
 * - "CASH_MULTIPLIER"
 * - "ARMOUR_REWARD_GIFT"
 * - "TOGGLE_CREATORS_OFF"
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0x8be1146dfd5d4468(tunableContext: string, tunableName: string, value?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkAccessTunableIntHash(tunableContext: string | number, tunableName: string | number, value?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0x40fce03e50e8dbe8(tunableContext: string | number, tunableName: string | number, value?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function NetworkAccessTunableIntHash(tunableContext: string | number, tunableName: string | number, value?: number): unknown[];

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): [number, 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 NetworkAllocateTunablesRegistrationDataMap(): number;
declare function N_0xfafc23aee23868db(): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkAmIBlockedByGamer(networkHandle?: number): unknown[];

declare function NetworkAmIBlockedByPlayer(player: number): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkAmIMutedByGamer(networkHandle?: number): unknown[];

declare function NetworkAmIMutedByPlayer(player: number): number;

/**
 * Sadly I thought this copied their tattoos, but it just seems to copy their 'blend data'. E.G. skin tone/color, fat/skinny face, etc.
 */
declare function NetworkApplyCachedPlayerHeadBlendData(ped: number, player: number): number;
/**
 * Sadly I thought this copied their tattoos, but it just seems to copy their 'blend data'. E.G. skin tone/color, fat/skinny face, etc.
 */
declare function N_0x99b72c7abde5c910(ped: number, player: number): number;
/**
 * Sadly I thought this copied their tattoos, but it just seems to copy their 'blend data'. E.G. skin tone/color, fat/skinny face, etc.
 */
declare function NetworkCopyPedBlendData(ped: number, player: number): number;

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;

/**
 * example from scripts:
 * unk_0xE0C28DB5(0,Global_2398291.imm_726,1);
 * that global is for ps3/xbox not pc
 * no idea what this does does
 */
declare function NetworkApplyTransitionParameterString(p0: number, _string: string, p2: boolean): void;
/**
 * example from scripts:
 * unk_0xE0C28DB5(0,Global_2398291.imm_726,1);
 * that global is for ps3/xbox not pc
 * no idea what this does does
 */
declare function N_0xebefc2e77084f599(p0: number, _string: string, p2: boolean): void;

/**
 * NativeDB Return Type: void
 */
declare function NetworkApplyVoiceProximityOverride(x: number, y: number, z: number): number;
/**
 * NativeDB Return Type: void
 */
declare function IsNetworkVehicleBeenDamagedByAnyObject(x: number, y: number, z: number): number;

declare function NetworkAreHandlesTheSame(): [number, number, number];

declare function NetworkAreTransitionDetailsValid(p0: number): number;
declare function N_0x2615aa2a695930c1(p0: number): number;

declare function NetworkAttachSynchronisedSceneToEntity(netScene: number, entity: number, bone: number): void;

/**
 * This has arguments.. in PC scripts.
 * ```
 * ```
 * NativeDB Added Parameter 1: int p0
 * NativeDB Added Parameter 2: int p1
 * NativeDB Added Parameter 3: int p2
 */
declare function NetworkBail(): void;

/**
 * NativeDB Parameter 0: int p0
 * NativeDB Parameter 1: int p1
 * NativeDB Parameter 2: int p2
 */
declare function NetworkBailTransition(): 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;

/**
 * NativeDB Parameter 2: Hash p2
 */
declare function NetworkBuyContraband(p0: number, p1: number, p2: number, p3: boolean, p4: boolean): void;
/**
 * NativeDB Parameter 2: Hash p2
 */
declare function N_0x30fd873ece50e9f6(p0: number, p1: number, p2: 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;

/**
 * NativeDB Parameter 0: int propertyCost
 */
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.
 */
// Return is unknown[] due to pointer value being input of the function
declare function NetworkCanAccessMultiplayer(loadingState?: number): unknown[];
/**
 * 11 - Need to download tunables.
 * 12 - Need to download background script.
 * Returns 1 if the multiplayer is loaded, otherwhise 0.
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0xaf50da1a3f8b1ba4(loadingState?: number): unknown[];

declare function NetworkCanBail(): number;

declare function NetworkCanBet(amount: number): number;
declare function N_0x3a54e33660ded67f(amount: number): number;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkCanBuyLotteryTicket(cost: number): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkCanCommunicateWithGamer(networkHandle?: number): unknown[];

/**
 * Same as NETWORK_CAN_COMMUNICATE_WITH_GAMER
 * NETWORK_CAN_*
 */
// Return is unknown[] due to pointer value being input of the function
declare function NetworkCanCommunicateWithGamer_2(networkHandle?: number): unknown[];
/**
 * Same as NETWORK_CAN_COMMUNICATE_WITH_GAMER
 * NETWORK_CAN_*
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0x8f5d1ad832aeb06c(networkHandle?: number): unknown[];

declare function NetworkCanEnterMultiplayer(): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkCanGamerPlayMultiplayerWithMe(networkHandle?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0x135f9b7b7add2185(networkHandle?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkCanPlayMultiplayerWithGamer(networkHandle?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0x07dd29d5e22763f1(networkHandle?: number): unknown[];

declare function NetworkCanReceivePlayerCash(p0: number, p1: number, p2: number, p3: number): number;

declare function NetworkCanSessionEnd(): number;

declare function NetworkCanSetWaypoint(): number;

/**
 * NETWORK_CAN_R??? or NETWORK_CAN_S???
 */
declare function NetworkCanShareJobCash(): number;
/**
 * NETWORK_CAN_R??? or NETWORK_CAN_S???
 */
declare function N_0x1c2473301b1c66ba(): number;

/**
 * NativeDB Added Parameter 6: Any p5
 */
declare function NetworkCanSpendMoney(p0: number, p1: boolean, p2: boolean, p3: boolean, p4: number): number;
/**
 * NativeDB Added Parameter 6: Any p5
 */
declare function N_0xab3caa6b422164da(p0: number, p1: boolean, p2: boolean, p3: boolean, p4: number): number;

/**
 * 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): [number, 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): [number, number];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkCanViewGamerUserContent(networkHandle?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0xb57a49545ba53ce7(networkHandle?: number): unknown[];

declare function NetworkCancelRespawnSearch(): void;
declare function N_0xfb8f2a6f3df08cbe(): void;

declare function NetworkChangeTransitionSlots(p0: number, p1: number): void;
declare function N_0xeeeda5e6d7080987(p0: number, p1: number): void;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkCheckDataManagerSucceededForHandle(p0: number, p1?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0x44b37cdcae765aae(p0: number, p1?: number): unknown[];

/**
 * Only documented...
 */
declare function NetworkClanAnimation(animDict: string, animName: string): number;
/**
 * Only documented...
 */
declare function N_0x729e3401f0430686(animDict: string, animName: string): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkClanDownloadMembership(networkHandle?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkClanDownloadMembershipPending(p0?: number): unknown[];

/**
 * NativeDB Parameter 1: char* txdName
 */
declare function NetworkClanGetEmblemTxdName(): [number, number, number];
/**
 * NativeDB Parameter 1: char* txdName
 */
declare function N_0x5835d9cd92e83184(): [number, number, number];
/**
 * NativeDB Parameter 1: char* txdName
 */
declare function NetworkGetPlayerCrewEmblemTxdName(): [number, number, number];

/**
 * NETWORK_CLAN_*
 */
declare function NetworkClanGetLocalMembershipsCount(): number;
/**
 * NETWORK_CLAN_*
 */
declare function N_0x1f471b79acc90bef(): number;
/**
 * NETWORK_CLAN_*
 */
declare function GetNumMembershipDesc(): number;
/**
 * NETWORK_CLAN_*
 */
declare function NetworkClanGetNumMembershipDesc(): number;

/**
 * BOOL DEBUG_MEMBRESHIP(int Param)
 * {
 * int membership;
 * networkHandleMgr handle;
 * NETWORK_HANDLE_FROM_PLAYER(iSelectedPlayer, &handle.netHandle, 13);
 * if (!_NETWORK_IS_CLAN_MEMBERSHIP_FINISHED_DOWNLOADING())
 * {
 * if (NETWORK_CLAN_REMOTE_MEMBERSHIPS_ARE_IN_CACHE(&Param))
 * {
 * if (NETWORK_CLAN_GET_MEMBERSHIP_COUNT(&Param) > 0)
 * {
 * if (NETWORK_CLAN_GET_MEMBERSHIP_VALID(&Param, 0))
 * {
 * if (NETWORK_CLAN_GET_MEMBERSHIP(&Param, &membership, -1))
 * {
 * _0xF633805A(&membership, 35, &handle.netHandle);
 * }
 * }
 * }
 * }
 * }
 * else
 * {
 * NETWORK_CLAN_DOWNLOAD_MEMBERSHIP(&handle.netHandle);
 * }
 * }
 */
declare function NetworkClanGetMembership(p2: number): [number, number, number];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkClanGetMembershipCount(p0?: number): unknown[];

/**
 * networkMembershipMgr memShip;
 * int maxMemship = _GET_NUM_MEMBERSHIP_DESC();
 * for (int i = 0; i < maxMemship; i++)
 * {
 * NETWORK_CLAN_GET_MEMBERSHIP_DESC(&memShip.memHandle, i);
 * }
 */
declare function NetworkClanGetMembershipDesc(p1: number): [number, number];

declare function NetworkClanGetMembershipValid(p1: number): [number, number];

/**
 * bufferSize is 35 in the scripts.
 * ```
 * ```
 * NativeDB Parameter 2: char* formattedTag
 */
declare function NetworkClanGetUiFormattedTag(bufferSize: number): [number, number];
/**
 * bufferSize is 35 in the scripts.
 * ```
 * ```
 * NativeDB Parameter 2: char* formattedTag
 */
declare function N_0xf45352426ff3a4f0(bufferSize: number): [number, number];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkClanIsEmblemReady(p0: number, p1?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0xa134777ff7f33331(p0: number, p1?: number): unknown[];

/**
 * bufferSize is 35 in the scripts.
 */
declare function NetworkClanIsRockstarClan(bufferSize: number): [number, number];
/**
 * bufferSize is 35 in the scripts.
 */
declare function N_0x7543bb439f63792b(bufferSize: number): [number, number];

declare function NetworkClanJoin(clanDesc: number): number;

/**
 * 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): [number, number, number];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkClanPlayerIsActive(networkHandle?: number): unknown[];

declare function NetworkClanReleaseEmblem(p0: number): void;
declare function N_0x113e6e3e50e286b0(p0: number): void;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkClanRemoteMembershipsAreInCache(p0?: number): unknown[];

declare function NetworkClanRequestEmblem(p0: number): number;
declare function N_0x13518ff1c6b28938(p0: number): number;

declare function NetworkClanServiceIsValid(): number;
declare function NetworkPlayerIsInClan(): number;

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 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;

/**
 * netScene to scene
 */
declare function NetworkConvertSynchronisedSceneToSynchronizedScene(netScene: number): number;
/**
 * netScene to scene
 */
declare function N_0x02c40bf885c567b6(netScene: number): number;
/**
 * netScene to scene
 */
declare function NetworkUnlinkNetworkedSynchronisedScene(netScene: number): number;

declare function NetworkCreateSynchronisedScene(x: number, y: number, z: number, xRot: number, yRot: number, zRot: number, rotationOrder: number, useOcclusionPortal: boolean, looped: boolean, p9: number, animTime: number, p11: 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;

/**
 * I did this and I didn't see anything happening
 * int pindex;
 * for (int i = 0; i < 32; i++)
 * {
 * if (NETWORK_IS_PARTICIPANT_ACTIVE(INT_TO_PARTICIPANTINDEX(i)))
 * {
 * pindex = NETWORK_GET_PLAYER_INDEX(INT_TO_PARTICIPANTINDEX(i));
 * NETWORK_DISABLE_INVINCIBLE_FLASHING(pindex, 1);
 * }
 * }
 */
declare function NetworkDisableInvincibleFlashing(player: number, toggle: boolean): void;
/**
 * I did this and I didn't see anything happening
 * int pindex;
 * for (int i = 0; i < 32; i++)
 * {
 * if (NETWORK_IS_PARTICIPANT_ACTIVE(INT_TO_PARTICIPANTINDEX(i)))
 * {
 * pindex = NETWORK_GET_PLAYER_INDEX(INT_TO_PARTICIPANTINDEX(i));
 * NETWORK_DISABLE_INVINCIBLE_FLASHING(pindex, 1);
 * }
 * }
 */
declare function N_0x9dd368bf06983221(player: number, toggle: boolean): void;

declare function NetworkDisableProximityMigration(netID: number): void;
declare function N_0x407091cf6037118e(netID: number): void;

/**
 * NativeDB Added Parameter 5: Any p4
 * NativeDB Added Parameter 6: Any p5
 */
declare function NetworkDoTransitionQuickmatch(p0: number, p1: number, p2: number, p3: number): number;
/**
 * NativeDB Added Parameter 5: Any p4
 * NativeDB Added Parameter 6: Any p5
 */
declare function N_0x71fb0ebcd4915d56(p0: number, p1: number, p2: number, p3: number): number;

/**
 * NativeDB Added Parameter 5: Any p4
 * NativeDB Added Parameter 6: Any p5
 */
declare function NetworkDoTransitionQuickmatchAsync(p0: number, p1: number, p2: number, p3: number): number;
/**
 * NativeDB Added Parameter 5: Any p4
 * NativeDB Added Parameter 6: Any p5
 */
declare function N_0xa091a5e44f0072e5(p0: number, p1: number, p2: number, p3: number): number;

/**
 * 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): [number, 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): [number, number];

declare function NetworkDoTransitionToGame(p0: boolean, maxPlayers: number): number;

declare function NetworkDoTransitionToNewFreemode(players: number, p3: boolean, p4: boolean, p5: boolean): [number, number, number];

declare function NetworkDoTransitionToNewGame(p0: boolean, maxPlayers: number, p2: boolean): number;

declare function NetworkDoesEntityExistWithNetworkId(netId: number): number;

declare function NetworkDoesNetworkIdExist(netID: number): number;

/**
 * Some of the tunable contexts used in the PC scripts:
 * - "MP_FM_RACES"
 * - "MP_FM_RACES_CAR"
 * - "MP_FM_RACES_SEA"
 * - "MP_FM_RACES_CAR"
 * - "MP_FM_RACES_AIR"
 * - "MP_FM_BASEJUMP"
 * - "MP_FM_RACES_CYCLE"
 * - "MP_FM_RACES_BIKE"
 * - "MP_FM_MISSIONS"
 * - "MP_FM_CONTACT"
 * - "MP_FM_RANDOM"
 * - "MP_FM_VERSUS"
 * - "MP_FM_LTS"
 * - "MP_FM_CAPTURE"
 * - "MP_FM_DM"
 * - "MP_FM_SURVIVAL"
 * - "MP_FM_GANG_ATTACK"
 * - "MP_FM_BASEJUMP"
 * - "BASE_GLOBALS"
 * - "MP_GLOBAL"
 * and some of the tunable names used in the PC scripts:
 * - "XP_MULTIPLIER"
 * - "CASH_MULTIPLIER"
 * - "ARMOUR_REWARD_GIFT"
 * - "TOGGLE_CREATORS_OFF"
 */
declare function NetworkDoesTunableExist(tunableContext: string, tunableName: string): number;

declare function NetworkDoesTunableExistHash(tunableContext: string | number, tunableName: string | number): number;
declare function N_0xe4e53e1419d81127(tunableContext: string | number, tunableName: string | number): number;
declare function NetworkDoesTunableExistHash(tunableContext: string | number, tunableName: string | number): number;

/**
 * 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): void;
/**
 * Example for p1: "AM_DISTRACT_COPS"
 */
declare function N_0xfb6db092fbae29e6(p0: number, p1: string, p2: number): void;
/**
 * Example for p1: "AM_DISTRACT_COPS"
 */
declare function NetworkEarnFromAmbientJob(p0: number, p1: string, p2: number): void;

/**
 * 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***
 * MONEY_EARN_JOBS
 */
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***
 * MONEY_EARN_JOBS
 */
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: v1604
 */
declare function NetworkEarnFromBbEventBonus(amount: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkEarnFromBbEventCargo(amount: number): void;

/**
 * =============================================================
 * lackos; 2017.03.12
 */
declare function NetworkEarnFromBendJob(amount: number, heistHash: string): void;
/**
 * =============================================================
 * lackos; 2017.03.12
 */
declare function N_0x61326ee6df15b0ca(amount: number, heistHash: string): void;
/**
 * =============================================================
 * lackos; 2017.03.12
 */
declare function NetworkEarnFromMissionH(amount: number, heistHash: string): void;

declare function NetworkEarnFromBetting(amount: number, p1: string): void;

declare function NetworkEarnFromBounty(amount: number, p3: number): [number, number];

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: v1290
 */
declare function NetworkEarnFromCashingOut(amount: number): void;

declare function NetworkEarnFromChallengeWin(p0: number, p2: boolean): number;
declare function N_0x2b171e6b2f64d8df(p0: number, p2: boolean): number;

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;

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;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromDoomsdayFinaleBonus(amount: number, vehicleHash: string | number): void;

/**
 * MONEY_EARN_PICKED_UP
 */
declare function NetworkEarnFromGangPickup(amount: number): void;
/**
 * MONEY_EARN_PICKED_UP
 */
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;

/**
 * NativeDB Parameter 1: Hash modelHash
 */
declare function NetworkEarnFromImportExport(amount: number, modelHash: number): void;

declare function NetworkEarnFromJob(amount: number, p1: string): void;

declare function NetworkEarnFromJobBonus(p0: number): [number, number];
declare function N_0x6816fb4416760775(p0: number): [number, number];
declare function NetworkEarnFromJobBonus(p0: number): [number, number];

/**
 * Enough007: Adds an entry in the Network Transaction Log.
 * Max value for amount 2000
 */
declare function NetworkEarnFromNotBadsport(amount: number): void;
/**
 * Enough007: Adds an entry in the Network Transaction Log.
 * Max value for amount 2000
 */
declare function N_0x4337511fa8221d36(amount: number): void;

/**
 * Now has 9 parameters.
 */
declare function NetworkEarnFromPersonalVehicle(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): void;
/**
 * Now has 9 parameters.
 */
declare function N_0x3f4d00167e41e0ad(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): void;

/**
 * NativeDB Return Type: void
 */
declare function NetworkEarnFromPickup(amount: number): number;

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: v1290
 */
declare function NetworkEarnFromRdrBonus(amount: number, p1: number): void;

/**
 * This merely adds an entry in the Network Transaction Log;
 * it does not grant cash to the player (on PC).
 * Max value for amount is 9999999.
 */
declare function NetworkEarnFromRockstar(amount: number): void;

/**
 * NativeDB Introduced: v1290
 */
declare function NetworkEarnFromSellBase(amount: number, baseNameHash: string | number): void;

/**
 * NativeDB Parameter 1: Hash bunkerHash
 */
declare function NetworkEarnFromSellBunker(amount: number, bunkerHash: number): void;
/**
 * NativeDB Parameter 1: Hash bunkerHash
 */
declare function N_0x9251b6abf2d0a5b4(amount: number, bunkerHash: 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;

/**
 * Now has 8 params.
 */
declare function NetworkEarnFromVehicle(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: 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 NetworkEndTutorialSession(): void;

declare function NetworkEntityAreaDoesExist(areaHandle: number): number;
declare function N_0xe64a3ca08dfa37a9(areaHandle: number): number;

declare function NetworkEntityAreaIsOccupied(areaHandle: number): number;
declare function N_0x4a2d4e8bf4265b0f(areaHandle: number): number;

/**
 * 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.
 * ```
 * ```
 * NativeDB Return Type: void
 */
declare function NetworkExplodeVehicle(vehicle: number, isAudible: boolean, isInvisible: boolean, p3: boolean): number;

/**
 * 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 NetworkFindMatchedGamers(p0: number, p1: number, p2: number, p3: number): number;
declare function N_0xf7b2cfde5c9f700d(p0: number, p1: number, p2: number, p3: number): number;

/**
 * this is lightly associated with the 2 above meaning it accesses a variable that them 2 access also
 */
declare function NetworkFinishBroadcastingData(): void;
/**
 * this is lightly associated with the 2 above meaning it accesses a variable that them 2 access also
 */
declare function N_0x64f62afb081e260d(): void;

declare function NetworkForceLocalUseOfSyncedSceneCamera(netScene: number, animDict: string, animName: string): void;
declare function N_0xcf8bd3b0bd6d42d7(netScene: number, animDict: string, animName: string): void;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkGamerHasHeadset(networkHandle?: number): unknown[];

declare function NetworkGamertagFromHandlePending(): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkGamertagFromHandleStart(networkHandle?: number): unknown[];

declare function NetworkGamertagFromHandleSucceeded(): number;

declare function NetworkGetActivityPlayerNum(p0: boolean): number;

declare function NetworkGetAgeGroup(): number;
declare function N_0x9614b71f8adb982b(): number;

declare function NetworkGetBackgroundLoadingRecipients(p0: number, p1: number): [number, number, number];
declare function N_0x97a770beef227e2b(p0: number, p1: number): [number, 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;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkGetCurrentlySelectedGamerHandleFromInviteMenu(p0?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkGetDestroyerOfEntity(p0: number, p1: number, weaponHash?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0x4caca84440fa26f6(p0: number, p1: number, weaponHash?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function NetworkGetDesroyerOfEntity(p0: number, p1: number, weaponHash?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkGetDestroyerOfNetworkId(netId: number, weaponHash?: number): unknown[];

declare function NetworkGetEntityFromNetworkId(netId: number): number;

declare function NetworkGetEntityIsLocal(entity: number): number;

declare function NetworkGetEntityIsNetworked(entity: number): number;
declare function N_0xc7827959479dcc78(entity: number): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkGetEntityKillerOfPlayer(player: number, weaponHash?: number): unknown[];

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): [number, number];

declare function NetworkGetFriendCount(): number;

declare function NetworkGetFriendName(friendIndex: number): string;

declare function NetworkGetFriendNameFromIndex(friendIndex: number): string;
declare function NetworkGetFriendName(friendIndex: number): string;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkGetGamerStatus(p0?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0x85a0ef54a500882c(p0?: number): unknown[];

declare function NetworkGetGamerStatusResult(p1: number): [number, number];
declare function N_0x02a8bec6fd9af660(p1: number): [number, number];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkGetGamertagFromHandle(networkHandle?: number): unknown[];

/**
 * NETWORK_GET_*
 */
declare function NetworkGetGlobalMultiplayerClock(): [number, number, number];
/**
 * NETWORK_GET_*
 */
declare function N_0x6d03bfbd643b2a02(): [number, number, number];
/**
 * NETWORK_GET_*
 */
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;

/**
 * NativeDB Introduced: v323
 */
declare function NetworkGetIsHighEarner(): number;

/**
 * Retrieves the local player's NetworkHandle* and stores it in the given buffer.
 * * Currently unknown struct
 */
declare function NetworkGetLocalHandle(bufferSize: number): number;

/**
 * On PC this is hardcoded to 250.
 */
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;

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[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkGetPlayerFromGamerHandle(networkHandle?: number): unknown[];

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): number;
declare function N_0x82377b65e943f72d(player: number): number;

declare function NetworkGetPlayerTutorialSessionInstance(player: number): number;
declare function N_0x3b39236746714134(player: number): number;

declare function NetworkGetPresenceInviteContentId(p0: number): number;
declare function N_0x24409fc4c55cb22d(p0: number): number;

declare function NetworkGetPresenceInviteFromAdmin(p0: number): number;
declare function N_0x3dbf2df0aeb7d289(p0: number): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkGetPresenceInviteHandle(p0: number, p1?: number): unknown[];

declare function NetworkGetPresenceInviteId(p0: number): number;
declare function N_0xdff09646e12ec386(p0: number): number;

declare function NetworkGetPresenceInviteInviter(p0: number): number;
declare function N_0x4962cc4aa2f345b7(p0: number): number;

declare function NetworkGetPresenceInviteIsTournament(p0: number): number;
declare function N_0x8806cebfabd3ce05(p0: number): number;

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;

declare function NetworkGetPresenceInviteSessionId(p0: number): number;
declare function N_0x26e1cd96b0903d60(p0: number): number;

declare function NetworkGetPrimaryClanDataCancel(): void;
declare function N_0x042e4b70b93e6054(): void;

declare function NetworkGetPrimaryClanDataClear(): number;
declare function N_0x9aa46badad0e27ed(): number;

declare function NetworkGetPrimaryClanDataNew(): [number, number, number];

declare function NetworkGetPrimaryClanDataPending(): number;
declare function N_0xb5074db804e28ce7(): number;

declare function NetworkGetPrimaryClanDataStart(p1: number): [number, 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 GAMEPLAY::GET_RANDOM_INT_IN_RANGE
 */
declare function NetworkGetRandomIntRanged(rangeStart: number, rangeEnd: number): number;
/**
 * Same as GAMEPLAY::GET_RANDOM_INT_IN_RANGE
 */
declare function N_0xe30cf56f1efa5f43(rangeStart: number, rangeEnd: number): number;
/**
 * Same as GAMEPLAY::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(): number;
declare function N_0x593570c289a77688(): number;

/**
 * bool?
 * am_crate_drop.c
 * <...>
 * if (network::_network_are_ros_available())
 * {
 * if (network::_0x91B87C55093DE351())
 * <..>
 */
declare function NetworkGetRosPrivilege_25(): number;
/**
 * bool?
 * am_crate_drop.c
 * <...>
 * if (network::_network_are_ros_available())
 * {
 * if (network::_0x91B87C55093DE351())
 * <..>
 */
declare function N_0x91b87c55093de351(): number;

declare function NetworkGetRosPrivilege_9(): number;
declare function N_0x66b59cffd78467af(): number;

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(): number;

/**
 * Returns the value of the tunable 0x9A82F2B. Usually 8000 iirc.
 */
declare function NetworkGetTimeoutTime(): number;
/**
 * Returns the value of the tunable 0x9A82F2B. Usually 8000 iirc.
 */
declare function N_0x5ed0356a0ce3a34f(): number;

declare function NetworkGetTotalNumPlayers(): number;
declare function N_0xcf61d4b4702ee9eb(): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkGetTransitionHost(networkHandle?: number): unknown[];

/**
 * Returns count.
 */
declare function NetworkGetTransitionMembers(dataCount: number): [number, number];

declare function NetworkGetTunableCloudCrc(): number;
declare function N_0x10bd227a753b0d84(): number;
declare function NetworkGetTunablesVersion(): number;

declare function NetworkGetVcBalance(): number;
declare function N_0x5cbad97e059e1b94(): number;

/**
 * From what I can see in ida, I believe it retrieves the players online bank balance.
 */
declare function NetworkGetVcBankBalance(): number;
/**
 * From what I can see in ida, I believe it retrieves the players online bank balance.
 */
declare function N_0x76ef28da05ea395a(): number;

/**
 * Returns true if bank balance >= amount.
 * NativeDB Introduced: v323
 */
declare function NetworkGetVcBankBalanceIsNotLessThan(amount: number): number;

/**
 * probably 0x3461981 on console
 */
declare function NetworkGetVcBankWalletBalanceIsNotLessThan(amount: number, characterSlot: number): number;
/**
 * probably 0x3461981 on console
 */
declare function N_0xdc18531d7019a535(amount: number, characterSlot: number): number;

/**
 * From what I understand, it retrieves STAT_WALLET_BALANCE for the specified character (-1 means use MPPLY_LAST_MP_CHAR)
 */
declare function NetworkGetVcWalletBalance(characterSlot: number): number;
/**
 * From what I understand, it retrieves STAT_WALLET_BALANCE for the specified character (-1 means use MPPLY_LAST_MP_CHAR)
 */
declare function N_0xa40f9c2623f6a8b5(characterSlot: number): number;

/**
 * Returns true if wallet balance >= amount.
 * NativeDB Introduced: v323
 */
declare function NetworkGetVcWalletBalanceIsNotLessThan(amount: number, characterSlot: number): number;

declare function NetworkGivePlayerJobshareCash(amount: number, networkHandle: number): void;

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;

/**
 * Returns some kind of banned state
 */
declare function NetworkHasAgeRestrictedProfile(): number;
/**
 * Returns some kind of banned state
 */
declare function N_0x1353f87e89946207(): number;

declare function NetworkHasCachedPlayerHeadBlendData(player: number): number;
declare function N_0x237d5336a9a54108(player: number): number;

declare function NetworkHasControlOfDoor(doorHash: string | number): number;

declare function NetworkHasControlOfEntity(entity: number): number;

declare function NetworkHasControlOfNetworkId(netId: number): number;

declare function NetworkHasControlOfPickup(pickup: number): number;

declare function NetworkHasFollowInvite(): number;
declare function N_0x76d9b976c4c09fde(): number;

/**
 * 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(): number;
/**
 * 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(): number;

declare function NetworkHasHeadset(): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkHasInvitedGamer(p0?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkHasInvitedGamerToTransition(p0?: number): unknown[];

declare function NetworkHasPendingInvite(): number;

declare function NetworkHasPlayerStartedTransition(player: number): number;

/**
 * index is always 18 in scripts
 */
declare function NetworkHasRosPrivilege(index: number): number;
/**
 * index is always 18 in scripts
 */
declare function N_0xa699957e60d80214(index: number): number;

declare function NetworkHasRosPrivilegeEndDate(p0: number): [number, number, number[]];
declare function N_0xc22912b1d85f26b1(p0: number): [number, number, number[]];
declare function NetworkGetBanData(p0: number): [number, number, number[]];

declare function NetworkHasSocialClubAccount(): number;
declare function N_0x67a5589628e0cff6(): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkHasViewGamerUserContentResult(networkHandle?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0xcca4318e1ab03f1f(networkHandle?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkHashFromGamerHandle(networkHandle?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0x58575ac3cf2ca8ec(networkHandle?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function NetworkHashFromGamerHandle(networkHandle?: number): unknown[];

declare function NetworkHashFromPlayerHandle(player: number): number;
declare function N_0xbc1d768f2f5d6c05(player: number): number;
declare function NetworkHashFromPlayerHandle(player: number): number;

/**
 * Returns whether the Rockstar game services are available or not
 */
declare function NetworkHaveJustUploadLater(): number;
/**
 * Returns whether the Rockstar game services are available or not
 */
declare function N_0x85443ff4c328f53b(): number;
/**
 * Returns whether the Rockstar game services are available or not
 */
declare function NetworkAreRosAvailable(): number;

declare function NetworkHaveOnlinePrivilege_2(): number;
declare function N_0x5ea784d197556507(): number;

declare function NetworkHaveOnlinePrivileges(): number;

declare function NetworkHaveRosBannedPriv(): number;
declare function IsRockstarBanned(): number;
declare function NetworkHasPlayerBeenBanned(): number;

declare function NetworkHaveRosCreateTicketPriv(): number;
declare function IsSocialclubBanned(): number;
declare function NetworkHaveSocialClubPrivilege(): number;

declare function NetworkHaveRosLeaderboardWritePriv(): number;
declare function N_0x422d396f80a96547(): number;
declare function NetworkGetRosPrivilege_4(): number;

declare function NetworkHaveRosMultiplayerPriv(): number;
declare function IsPlayerBanned(): number;
declare function CanPlayOnline(): number;
declare function NetworkGetRosPrivilege_3(): number;

declare function NetworkHaveRosSocialClubPriv(): number;
declare function N_0x606e4d3e3cccf3eb(): number;
declare function NetworkGetRosPrivilege_10(): number;

declare function NetworkHaveUserContentPrivileges(p0: number): number;
declare function N_0x72d918c99bcacc54(p0: number): number;

/**
 * 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): number;

declare function NetworkInitializeCash(wallet: number, bank: number): void;
declare function N_0x3da5ecd1a56cba6d(wallet: number, bank: number): void;

/**
 * //nothing doin
 * int Global_1837683 = GlobalVariable::Get(1837683);
 * int Global_1837683_f_404 = GlobalVariable::Get(1837683 + 404);
 * NETWORK_INVITE_GAMERS(&Global_1837683, Global_1837683_f_404, 0, 0);
 */
declare function NetworkInviteGamers(p1: number): [number, number, number, number];

declare function NetworkInviteGamersToTransition(p1: number): [number, number];

declare function NetworkIsActivitySession(): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function NetworkIsActivitySpectator(): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkIsActivitySpectatorFromHandle(networkHandle?: number): unknown[];

declare function NetworkIsAddingFriend(): number;

declare function NetworkIsCableConnected(): number;
declare function N_0xeffb25453d8600f9(): number;

/**
 * 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.
 */
// Return is unknown[] due to pointer value being input of the function
declare function NetworkIsChattingInPlatformParty(networkHandle?: number): unknown[];

declare function NetworkIsClanMembershipFinishedDownloading(): number;
declare function N_0xb3f64a6a91432477(): number;

declare function NetworkIsClockTimeOverridden(): number;
declare function N_0xd7c95d322ff57522(): number;

declare function NetworkIsCloudAvailable(): number;

declare function NetworkIsCloudBackgroundScriptRequestPending(): number;
declare function N_0x8132c0eb8b2b3293(): number;
declare function HasBgScriptBeenDownloaded(): number;
declare function NetworkIsCloudBackgroundScriptsRequestPending(): number;

declare function NetworkIsDoorNetworked(doorHash: string | number): number;
declare function N_0xc01e93fac20c3346(doorHash: string | number): number;
declare function NetworkHasControlOfPavementStats(doorHash: string | number): number;

/**
 * This only works with vehicles.
 */
declare function NetworkIsEntityConcealed(entity: number): number;

declare function NetworkIsEntityFading(entity: number): number;
declare function N_0x422f32cc7e56abad(entity: number): number;

declare function NetworkIsFindingGamers(): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkIsFriend(networkHandle?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkIsFriendHandleOnline(networkHandle?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0x87eb7a3ffcb314db(networkHandle?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function NetworkIsFriendOnline_2(networkHandle?: number): unknown[];

declare function NetworkIsFriendInMultiplayer(friendName: string): number;

/**
 * In scripts R* calls 'NETWORK_GET_FRIEND_NAME' in this param.
 */
declare function NetworkIsFriendInSameTitle(friendName: string): number;

declare function NetworkIsFriendIndexOnline(friendIndex: number): number;
declare function N_0xbad8f2a42b844821(friendIndex: number): number;

declare function NetworkIsFriendOnline(name: string): number;

declare function NetworkIsGameInProgress(): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkIsGamerBlockedByMe(networkHandle?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkIsGamerInMySession(networkHandle?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkIsGamerMutedByMe(networkHandle?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkIsGamerTalking(networkHandle?: number): unknown[];

declare function NetworkIsHandleValid(bufferSize: number): [number, number];

/**
 * If you are host, returns true else returns false.
 * anyone know how to use this to find correct host? is possible?
 * go to a mission and it will set a host then search the host name using a program then find the pointer to the host name
 */
declare function NetworkIsHost(): number;

declare function NetworkIsHostOfThisScript(): number;

declare function NetworkIsInMpCutscene(): number;

/**
 * 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(): number;

/**
 * Hardcoded to return false.
 */
declare function NetworkIsInPlatformParty(): number;
/**
 * Hardcoded to return false.
 */
declare function N_0x2fc5650b0271cb57(): number;

declare function NetworkIsInPlatformPartyChat(): number;
declare function N_0xfd8b834a8ba05048(): number;

declare function NetworkIsInSession(): number;

declare function NetworkIsInSpectatorMode(): number;

declare function NetworkIsInTransition(): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function NetworkIsInTutorialSession(): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkIsInactiveProfile(p0?: number): unknown[];

declare function NetworkIsLocalPlayerInvincible(): number;

declare function NetworkIsLocalTalking(): number;
declare function N_0xc0d2af00bcc234ca(): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function NetworkIsMultiplayerDisabled(): number;
/**
 * NativeDB Return Type: BOOL
 */
declare function N_0x9747292807126eda(): number;

declare function NetworkIsOfflineInvitePending(): number;
declare function N_0x74698374c45701d2(): number;

declare function NetworkIsParticipantActive(p0: number): number;

/**
 * Note according to IDA TU27 X360(Console),
 * This native & 'NETWORK_IS_PARTY_MEMBER' both jump to the same location.
 * Side note: This location just stops where it's at once jumped to.
 * Screenshot for side note,
 * h t t p ://i.imgur.com/m2ci1mF.png
 * h t t p://i.imgur.com/Z0Wx2B6.png
 */
// Return is unknown[] due to pointer value being input of the function
declare function NetworkIsPartyMember(networkHandle?: number): unknown[];

/**
 * This function is hard-coded to always return 0.
 */
declare function NetworkIsPendingFriend(p0: number): number;

declare function NetworkIsPlayerAParticipant(player: number): number;

declare function NetworkIsPlayerAParticipantOnScript(p0: number, script: string, p2: number): number;
declare function N_0x1ad5b71586b94820(p0: number, script: string, p2: number): number;

declare function NetworkIsPlayerActive(player: number): number;

declare function NetworkIsPlayerBlockedByMe(player: number): number;

declare function NetworkIsPlayerConcealed(player: number): number;

declare function NetworkIsPlayerConnected(player: number): number;

/**
 * NETWORK_ARE_*
 */
declare function NetworkIsPlayerEqualToIndex(player: number, index: number): number;
/**
 * NETWORK_ARE_*
 */
declare function N_0x9de986fc9a87c474(player: number, index: number): number;

declare function NetworkIsPlayerFading(player: number): number;
declare function N_0x631dc5dff4b110e3(player: number): number;

declare function NetworkIsPlayerInMpCutscene(player: number): number;

declare function NetworkIsPlayerMutedByMe(player: number): number;

/**
 * returns true if someone is screaming or talking in a microphone
 */
declare function NetworkIsPlayerTalking(player: number): number;

declare function NetworkIsPsnAvailable(): number;
declare function N_0x8d11e61a4abf49cc(): number;

declare function NetworkIsScriptActive(scriptName: string, player: number, p2: boolean, p3: number): number;

declare function NetworkIsSessionActive(): number;

declare function NetworkIsSessionBusy(): number;

/**
 * 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(): number;

/**
 * Returns whether the player is signed into Social Club.
 */
declare function NetworkIsSignedIn(): number;

/**
 * Returns whether the game is not in offline mode.
 * seemed not to work for some ppl
 */
declare function NetworkIsSignedOnline(): number;

/**
 * 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(): number;

declare function NetworkIsThisScriptMarked(p0: number, p1: boolean, p2: number): number;
declare function N_0xd1110739eeadb592(p0: number, p1: boolean, p2: number): number;
declare function NetworkSetThisScriptMarked(p0: number, p1: boolean, p2: number): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function NetworkIsTransitionBusy(): number;

declare function NetworkIsTransitionClosedCrew(): number;
declare function N_0x0dbd5d7e3c5bec3b(): number;

declare function NetworkIsTransitionClosedFriends(): number;
declare function N_0x6512765e3be78c50(): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function NetworkIsTransitionHost(): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkIsTransitionHostFromHandle(networkHandle?: number): unknown[];

/**
 * NativeDB Return Type: BOOL
 */
declare function NetworkIsTransitionMatchmaking(): number;
/**
 * NativeDB Return Type: BOOL
 */
declare function N_0x292564c735375edf(): number;

declare function NetworkIsTransitionOpenToMatchmaking(): number;
declare function N_0x37a4494483b9f5c9(): number;

declare function NetworkIsTransitionPrivate(): number;
declare function N_0x5a6aa44ff8e931e6(): number;

declare function NetworkIsTransitionSolo(): number;
declare function N_0x5dc577201723960a(): number;

declare function NetworkIsTransitionStarted(): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function NetworkIsTransitionToGame(): number;

/**
 * x360 Hash: 0xF637166E
 */
declare function NetworkIsTransitionVisibilityLocked(): number;
/**
 * x360 Hash: 0xF637166E
 */
declare function N_0xd0a484cb2f829fbe(): number;

declare function NetworkIsTunableCloudRequestPending(): number;
declare function N_0x0467c11ed88b7d28(): number;
declare function HasTunablesBeenDownloaded(): number;

declare function NetworkIsTutorialSessionChangePending(): number;
declare function N_0x35f0b98a8387274d(): number;

declare function NetworkJoinGroupActivity(): number;
declare function N_0xa06509a691d12be4(): number;

declare function NetworkJoinPreviouslyFailedSession(): number;
declare function N_0x59df79317f85a7e0(): number;

declare function NetworkJoinPreviouslyFailedTransition(): number;
declare function N_0xffe1e5b792d92b34(): number;

/**
 * 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): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function NetworkLaunchTransition(): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function NetworkLeaveTransition(): number;

declare function NetworkManualDeleteCharacter(characterSlot: number): void;
declare function N_0x821418c727fcacd7(characterSlot: number): void;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkMarkTransitionGamerAsFullyJoined(p0?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkMemberIdFromGamerHandle(networkHandle?: number): unknown[];

declare function NetworkMoneyCanBet(amount: number, p1: boolean, p2: boolean): number;
declare function N_0x81404f3dc124fe5b(amount: number, p1: boolean, p2: boolean): number;

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;

/**
 * Works in Singleplayer too.
 * Actually has a 4th param (BOOL) that sets byte\_14273C46C (in b944) to whatever was passed to p3.
 * 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;

/**
 * "NETWORK_OVERRIDE_SEND_RESTRICTIONS" is right, but dev-c put a _ by default.
 * This is used alongside the native,
 * 'NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS'. Read it's description for more info.
 */
declare function NetworkOverrideSendRestrictions(player: number, toggle: boolean): void;
/**
 * "NETWORK_OVERRIDE_SEND_RESTRICTIONS" is right, but dev-c put a _ by default.
 * This is used alongside the native,
 * 'NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS'. Read it's description for more info.
 */
declare function N_0x97dd4c5944cc2e6a(player: number, toggle: boolean): void;
/**
 * "NETWORK_OVERRIDE_SEND_RESTRICTIONS" is right, but dev-c put a _ by default.
 * This is used alongside the native,
 * 'NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS'. Read it's 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;

/**
 * NativeDB Parameter 1: char* matchId
 */
declare function NetworkPayMatchEntryFee(amount: number, p2: boolean, p3: boolean): number;
/**
 * NativeDB Parameter 1: char* matchId
 */
declare function N_0x9346e14f2af74d46(amount: number, p2: boolean, p3: boolean): number;

declare function NetworkPayUtilityBill(amount: number, p1: boolean, p2: boolean): void;
declare function N_0xafe08b35ec0c9eae(amount: number, p1: boolean, p2: boolean): 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.
 * Does exactly the same as GET_PLAYER_NAME.
 */
declare function NetworkPlayerGetName(player: number): string;

/**
 * Sets [userID] to the user id of the given player. Returns "**Invalid**" if CPlayerInfo of the given player cannot be retrieved or the player doesn't exist.
 * ```
 * ```
 * NativeDB Parameter 1: int* userID
 */
declare function NetworkPlayerGetUserid(player: number, userID: string): string;
/**
 * Sets [userID] to the user id of the given player. Returns "**Invalid**" if CPlayerInfo of the given player cannot be retrieved or the player doesn't exist.
 * ```
 * ```
 * NativeDB Parameter 1: int* userID
 */
declare function NetworkPlayerGetUserId(player: number, userID: string): string;

declare function NetworkPlayerHasHeadset(player: number): number;

/**
 * Does exactly the same thing as PLAYER_ID()
 */
declare function NetworkPlayerIdToInt(): number;

declare function NetworkPlayerIndexIsCheater(player: number): number;
declare function N_0x565e430db3b05bec(player: number): number;
declare function NetworkPlayerSomething(player: number): number;

/**
 * Returns whether the player has been reported too often or not.
 * Example : griefing.
 */
declare function NetworkPlayerIsBadsport(): number;

declare function NetworkPlayerIsCheater(): number;

/**
 * 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): number;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkQueryRespawnResults(p0?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0x3c891a251567dfce(p0?: number): unknown[];

declare function NetworkReceivePlayerJobshareCash(value: number, networkHandle: number): 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 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;

/**
 * sizeofVars is in bytes
 */
declare function NetworkRegisterHostBroadcastVariables(numVars: number): number;

declare function NetworkRegisterPlayerBroadcastVariables(numVars: number): number;

/**
 * NativeDB Parameter 0: Hash contextHash
 * NativeDB Parameter 1: Hash nameHash
 */
declare function NetworkRegisterTunableBoolHash(contextHash: number, nameHash: number): [number, any /* actually bool */];
/**
 * NativeDB Parameter 0: Hash contextHash
 * NativeDB Parameter 1: Hash nameHash
 */
declare function N_0x697f508861875b42(contextHash: number, nameHash: number): [number, any /* actually bool */];

/**
 * NativeDB Parameter 0: Hash contextHash
 * NativeDB Parameter 1: Hash nameHash
 */
// Return is unknown[] due to pointer value being input of the function
declare function NetworkRegisterTunableFloatHash(contextHash: number, nameHash: number, value?: number): unknown[];
/**
 * NativeDB Parameter 0: Hash contextHash
 * NativeDB Parameter 1: Hash nameHash
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0x1950dae9848a4739(contextHash: number, nameHash: number, value?: number): unknown[];

/**
 * NativeDB Parameter 0: Hash contextHash
 * NativeDB Parameter 1: Hash nameHash
 */
// Return is unknown[] due to pointer value being input of the function
declare function NetworkRegisterTunableIntHash(contextHash: number, nameHash: number, value?: number): unknown[];
/**
 * NativeDB Parameter 0: Hash contextHash
 * NativeDB Parameter 1: Hash nameHash
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0x3a8b55fda4c8ddef(contextHash: number, nameHash: number, value?: number): unknown[];

declare function NetworkRemoveAllTransitionInvite(): void;
declare function N_0x726e0375c7a26368(): void;

declare function NetworkRemoveEntityArea(p0: number): number;

declare function NetworkRemovePresenceInvite(p0: number): number;
declare function N_0xf0210268db0974b1(p0: number): number;

declare function NetworkRemoveTransitionInvite(p0: number): void;

declare function NetworkReportMyself(): void;
declare function N_0x5626d9d6810730d5(): void;

/**
 * Start the downloading of BG_NG.RPF from R* Cloud which contains hotfix.
 * As you can see here you will see the 155465EE first then the correct hash for this native. Then the current 29532731 one which could be the native below or the native below's hash could be the has below the 29532731
 * puu.sh/nhdQI/e0ca5567b4.png
 * The code:
 * seg001:00000000003EFF4C uunk_0x29532731:                        # CODE XREF: sub_158C8AC+14p
 * seg001:00000000003EFF4C                 lis       r3, dword_1CFB100@ha
 * seg001:00000000003EFF50                 lwz       r3, dword_1CFB100@l(r3)
 * seg001:00000000003EFF54                 ld        r3, 0x1020(r3)
 * seg001:00000000003EFF58                 extsw     r3, r3
 * seg001:00000000003EFF5C                 blr
 * seg001:00000000003EFF5C # End of function uunk_0x29532731
 */
declare function NetworkRequestCloudBackgroundScripts(): number;
/**
 * Start the downloading of BG_NG.RPF from R* Cloud which contains hotfix.
 * As you can see here you will see the 155465EE first then the correct hash for this native. Then the current 29532731 one which could be the native below or the native below's hash could be the has below the 29532731
 * puu.sh/nhdQI/e0ca5567b4.png
 * The code:
 * seg001:00000000003EFF4C uunk_0x29532731:                        # CODE XREF: sub_158C8AC+14p
 * seg001:00000000003EFF4C                 lis       r3, dword_1CFB100@ha
 * seg001:00000000003EFF50                 lwz       r3, dword_1CFB100@l(r3)
 * seg001:00000000003EFF54                 ld        r3, 0x1020(r3)
 * seg001:00000000003EFF58                 extsw     r3, r3
 * seg001:00000000003EFF5C                 blr
 * seg001:00000000003EFF5C # End of function uunk_0x29532731
 */
declare function N_0x924426bffd82e915(): number;
/**
 * Start the downloading of BG_NG.RPF from R* Cloud which contains hotfix.
 * As you can see here you will see the 155465EE first then the correct hash for this native. Then the current 29532731 one which could be the native below or the native below's hash could be the has below the 29532731
 * puu.sh/nhdQI/e0ca5567b4.png
 * The code:
 * seg001:00000000003EFF4C uunk_0x29532731:                        # CODE XREF: sub_158C8AC+14p
 * seg001:00000000003EFF4C                 lis       r3, dword_1CFB100@ha
 * seg001:00000000003EFF50                 lwz       r3, dword_1CFB100@l(r3)
 * seg001:00000000003EFF54                 ld        r3, 0x1020(r3)
 * seg001:00000000003EFF58                 extsw     r3, r3
 * seg001:00000000003EFF5C                 blr
 * seg001:00000000003EFF5C # End of function uunk_0x29532731
 */
declare function NetworkRequestCloudBackgroundScripts(): number;

/**
 * This native start the download of tunables from R* cloud
 */
declare function NetworkRequestCloudTunables(): void;
/**
 * This native start the download of tunables from R* cloud
 */
declare function N_0x42fb3b532d526e6c(): void;

declare function NetworkRequestControlOfDoor(doorID: number): number;

declare function NetworkRequestControlOfEntity(entity: number): number;

declare function NetworkRequestControlOfNetworkId(netId: number): number;

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 NetworkSendPresenceInvite(p2: number, p3: number): [number, number, number];
declare function N_0xc3c7a6afdb244624(p2: number, p3: number): [number, 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): [number, 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): [number, number, number];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkSendTextMessage(message: string, networkHandle?: number): unknown[];

/**
 * 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): [number, number];

declare function NetworkSessionActivityQuickmatch(p0: number, p1: number, p2: number, p3: number): number;
declare function N_0xbe3e347a87aceb82(p0: number, p1: number, p2: number, p3: number): number;

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): number;
declare function N_0x94bc51e9449d917f(p0: number, p1: number, p2: number, maxPlayers: number, p4: boolean): number;

/**
 * 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): number;

/**
 * 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): number;
declare function N_0x2cfc76e0d087c994(p0: number, p1: number, maxPlayers: number, p3: boolean): number;

declare function NetworkSessionGetInviter(networkHandle: number): void;

declare function NetworkSessionGetKickVote(player: number): number;
declare function NetworkSessionArePlayersVotingToKick(player: number): number;
declare function NetworkSessionIsPlayerVotedToKick(player: number): number;

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): number;

declare function NetworkSessionHostClosed(p0: number, maxPlayers: number): number;
declare function N_0xed34c0c02c098bb7(p0: number, maxPlayers: number): 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 NetworkSessionHostFriendsOnly(p0: number, maxPlayers: number): number;

/**
 * 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(): number;
declare function N_0x74732c6ca90da2b4(): number;

declare function NetworkSessionIsClosedFriends(): number;
declare function N_0xfbcfa2ea2e206890(): number;

declare function NetworkSessionIsInVoiceSession(): number;
declare function N_0x855bc38818f6f684(): number;

declare function NetworkSessionIsPrivate(): number;
declare function N_0xcef70aa5b3f89ba1(): number;

declare function NetworkSessionIsSolo(): number;
declare function N_0xf3929c2379b60cce(): number;

declare function NetworkSessionIsVisible(): number;
declare function N_0xba416d68c631496a(): number;

declare function NetworkSessionIsVoiceSessionBusy(): number;
declare function N_0xef0912ddf7c4cb4b(): number;

declare function NetworkSessionJoinInvite(): void;
declare function NetworkIsPlayerAnimationDrawingSynchronized(): void;

/**
 * Only works when you are host.
 */
declare function NetworkSessionKickPlayer(player: number): void;

declare function NetworkSessionLeaveSinglePlayer(): void;

declare function NetworkSessionMarkVisible(toggle: boolean): void;
declare function N_0x271cc6ab59ebf9a5(toggle: boolean): void;

/**
 * p0 = 0 or 4
 */
declare function NetworkSessionSetMatchmakingGroup(matchmakingGroup: number): void;
/**
 * p0 = 0 or 4
 */
declare function N_0x49ec8030f5015f8b(matchmakingGroup: number): void;
/**
 * p0 = 0 or 4
 */
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(): number;
declare function N_0x23dfb504655d0ce4(): number;

declare function NetworkSetActivitySpectator(toggle: boolean): void;

declare function NetworkSetActivitySpectatorMax(maxSpectators: number): void;

/**
 * NETWORK_SET_*
 */
declare function NetworkSetChoiceMigrateOptions(toggle: boolean, player: number): void;
/**
 * NETWORK_SET_*
 */
declare function N_0x5c707a667df8b9fa(toggle: boolean, player: number): void;

// Return is unknown[] due to pointer value being input of the function
declare function NetworkSetCurrentDataManagerHandle(p0?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0x796a87b3b68d1f3d(p0?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function NetworkCheckDataManagerForHandle(p0?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function NetworkSetCurrentlySelectedGamerHandleFromInviteMenu(p0?: number): unknown[];

declare function NetworkSetEntityCanBlend(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 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;

/**
 * //friendly fire toggle
 */
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(p0: number): void;
declare function N_0x66f010a4b031a331(p0: 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;

/**
 * This is called shortly after setting Network ID Migration off it seems. Does anyone know the point of this?
 * Example scenario,
 * If I were to request and gain control of an online players vehicle then their vehicle's Network ID and turn migration off. I wouldn't need to ever request control again as they wouldn't gain control back.
 * - scenario over -
 * So what would be the point hereafter of setting it 'dynamic'?
 */
declare function NetworkSetNetworkIdDynamic(netID: number, toggle: boolean): void;
/**
 * This is called shortly after setting Network ID Migration off it seems. Does anyone know the point of this?
 * Example scenario,
 * If I were to request and gain control of an online players vehicle then their vehicle's Network ID and turn migration off. I wouldn't need to ever request control again as they wouldn't gain control back.
 * - scenario over -
 * So what would be the point hereafter of setting it 'dynamic'?
 */
declare function N_0x2b1813aba29016c5(netID: number, toggle: boolean): void;

declare function NetworkSetNoSpectatorChat(toggle: boolean): void;
declare function N_0xf46a1e03e8755980(toggle: 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**
 * ```
 * NETWORK_SET_RICH_PRESENCE but for PlayStation? (On PC it's a nullsub)
 * ```
 */
declare function NetworkSetRichPresence_2(p0: number, gxtLabel: string): void;
/**
 * **This native does absolutely nothing, just a nullsub**
 * ```
 * NETWORK_SET_RICH_PRESENCE but for PlayStation? (On PC it's a nullsub)
 * ```
 */
declare function N_0x3e200c2bcf4164eb(p0: number, gxtLabel: 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;

/**
 * p1 is always 0
 */
declare function NetworkSetThisScriptIsNetworkScript(lobbySize: number, p1: boolean, playerId: number): void;

declare function NetworkSetTransitionActivityId(p0: number): void;
declare function N_0x30de938b516f0ad2(p0: number): void;

declare function NetworkSetTransitionCreatorHandle(p0: number): void;

/**
 * x360 Hash: 0x4AF0ADF5
 */
declare function NetworkSetTransitionVisibilityLock(p0: boolean, p1: boolean): void;
/**
 * x360 Hash: 0x4AF0ADF5
 */
declare function N_0x0c978fda19692c2c(p0: boolean, p1: 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(): number;
/**
 * Returns true if the NAT type is Strict (3) and a certain number of connections have failed.
 */
declare function N_0x82a2b386716608f1(): number;

/**
 * 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: 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;

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 Parameter 2: char* matchId
 */
declare function NetworkSpentBetting(amount: number, p1: number, p3: boolean, p4: boolean): number;

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(): number;
/**
 * NativeDB Added Parameter 1: int amount
 * NativeDB Added Parameter 2: BOOL p1
 * NativeDB Added Parameter 3: BOOL p2
 */
declare function N_0xffbe02cd385356bd(): number;

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;

/**
 * NativeDB Introduced: v1604
 */
declare function NetworkSpentBuyArena(amount: number, p1: boolean, p2: boolean, p3: string): 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;

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;

declare function NetworkSpentCarwash(p0: number, p1: number, p2: number, p3: boolean, p4: boolean): void;

declare function NetworkSpentCashDrop(amount: number, p1: boolean, p2: boolean): 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;

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: 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;

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: v323
 */
declare function NetworkSpentJobSkip(amount: number, matchId: string, p2: boolean, p3: boolean): 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 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 = NETWORKCASH::_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 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: v1604
 * NativeDB Removed Parameter 3: BOOL p3
 */
declare function NetworkSpentSpinTheWheelPayment(amount: number, p1: number, p2: boolean, p3: boolean): 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: 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: v1180
 */
declare function NetworkSpentUpgradeHangar(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 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): number;
/**
 * ```
 * 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): number;

/**
 * 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): number;
/**
 * 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): number;

/**
 * NETWORK_START_R/S*
 */
declare function NetworkStartSoloTutorialSession(): void;
/**
 * NETWORK_START_R/S*
 */
declare function N_0x17e0198b3882c2cb(): void;

declare function NetworkStartSynchronisedScene(netScene: number): void;

declare function NetworkStopLoadScene(): void;

declare function NetworkStopSynchronisedScene(netScene: number): void;

declare function NetworkSuppressInvite(toggle: boolean): void;

/**
 * NativeDB Parameter 0: Hash hash
 */
declare function NetworkTransitionTrack(hash: number, p1: number, p2: number, state: number, p4: number): void;
/**
 * NativeDB Parameter 0: Hash hash
 */
declare function N_0xc3bfed92026a2aad(hash: number, p1: number, p2: number, state: number, p4: number): void;

/**
 * Returns a default value if the tunable don't exist.
 */
declare function NetworkTryAccessTunableBoolHash(tunableContext: string | number, tunableName: string | number, defaultValue: boolean): number;
/**
 * Returns a default value if the tunable don't exist.
 */
declare function N_0xc7420099936ce286(tunableContext: string | number, tunableName: string | number, defaultValue: boolean): number;
/**
 * Returns a default value if the tunable don't exist.
 */
declare function NetworkAccessTunableBoolHashFailVal(tunableContext: string | number, tunableName: string | number, defaultValue: boolean): number;

declare function NetworkUnregisterNetworkedEntity(entity: number): void;
declare function N_0x7368e683bb9038d6(entity: number): void;

/**
 * NativeDB Return Type: BOOL
 */
declare function NetworkUpdateLoadScene(): void;

declare function NetworkUpdatePlayerScars(): void;
declare function N_0xb7c7f6ad6424304b(): void;

declare function NetworkXAffectsGamers(p0: number): number;
declare function N_0xe532d6811b3a4d2a(p0: number): number;

declare function NewLoadSceneStart(posX: number, posY: number, posZ: number, offsetX: number, offsetY: number, offsetZ: number, radius: number, p7: number): number;

/**
 * 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): number;
/**
 * 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): number;

declare function NewLoadSceneStop(): 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: _9BAE5AD2508DF078(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: _9BAE5AD2508DF078(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;

/**
 * probs one frame
 */
declare function OpenOnlinePoliciesMenu(): void;
/**
 * probs one frame
 */
declare function ShowSocialClubLegalScreen(): void;

/**
 * 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 hud element for reporting jobs
 */
declare function OpenReportugcMenu(): void;
/**
 * Shows a hud element for reporting jobs
 */
declare function N_0x523a590c1a3cc0d3(): void;
/**
 * Shows a hud element for reporting jobs
 */
declare function DisplayJobReport(): void;

/**
 * NativeDB Return Type: void
 */
// Return is unknown[] due to pointer value being input of the function
declare function OpenSequenceTask(taskSequenceId?: number): unknown[];

/**
 * Uses the `SOCIAL_CLUB2` scaleform. https://i.imgur.com/KleabIw.png
 * Old name: `_SHOW_SOCIAL_CLUB_BANNED_SCREEN`
 */
declare function OpenSocialClubMenu(): void;
/**
 * Uses the `SOCIAL_CLUB2` scaleform. https://i.imgur.com/KleabIw.png
 * Old name: `_SHOW_SOCIAL_CLUB_BANNED_SCREEN`
 */
declare function N_0x75d3691713c3b05a(): void;

/**
 * NativeDB Parameter 2: Hash vehicleHash
 */
declare function OrderedBossVehicle(p0: number, p1: number, vehicleHash: number): void;
/**
 * NativeDB Parameter 2: Hash vehicleHash
 */
declare function N_0xcea553e35c2246e1(p0: number, p1: number, vehicleHash: 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;

/**
 * NativeDB Parameter 0: Hash hash
 */
declare function OverrideMicrophoneSettings(hash: number, toggle: boolean): void;
/**
 * NativeDB Parameter 0: Hash hash
 */
declare function N_0x75773e11ba459e90(hash: number, toggle: boolean): void;

declare function OverrideMultiplayerChatColour(p0: number, hudColor: number): void;
declare function N_0xf47e567b3630dd12(p0: number, hudColor: number): void;

/**
 * NativeDB Parameter 0: Hash gxtEntryHash
 */
declare function OverrideMultiplayerChatPrefix(gxtEntryHash: number): void;
/**
 * NativeDB Parameter 0: Hash gxtEntryHash
 */
declare function N_0x6a1738b4323fe2d9(gxtEntryHash: number): void;

/**
 * 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;

/**
 * NativeDB Parameter 0: Hash hash
 */
declare function OverridePlayerGroundMaterial(hash: number, toggle: boolean): void;
/**
 * NativeDB Parameter 0: Hash hash
 */
declare function N_0xd2cc78cd3d0b50f9(hash: 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): number;

/**
 * This native enables the audio flag "TrevorRageIsOverridden" and sets the voice effect to `p0`.
 */
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` |
 * Old description:
 * ```
 * vehicle - the vehicle whose horn should be overwritten
 * mute - p1 seems to be an option for muting the horn
 * p2 - maybe a horn id, since the function AUDIO::GET_VEHICLE_DEFAULT_HORN(veh) exists?
 * ```
 * @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;

declare function PauseMenuIsContextActive(contextHash: string | number): number;
declare function N_0x84698ab38d0c6636(contextHash: string | number): number;

declare function PausePlaybackRecordedVehicle(vehicle: number): void;

declare function PauseScriptedConversation(p0: boolean): void;

declare function PedHasUseScenarioTask(ped: number): number;

/**
 * gets the network id of a ped
 */
declare function PedToNet(ped: number): number;

/**
 * Load interior
 */
declare function PinInteriorInMemory(interior: number): void;
/**
 * Load interior
 */
declare function N_0x2ca429c029ccf247(interior: number): void;
/**
 * Load interior
 */
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): number;

declare function PlaceObjectOnGroundProperly_2(object: number): number;
declare function N_0xd76eeef746057fd6(object: number): number;

/**
 * Plays ambient speech. See also _0x444180DB.
 * ped: The ped to play the ambient speech.
 * speechName: Name of the speech to play, eg. "GENERIC_HI".
 * 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
 * Full list of speeches and voices names: gist.github.com/alexguirre/0af600eb3d4c91ad4f900120a63b8992
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function PlayAmbientSpeech1(ped: number, speechName: string, speechParam: string): void;

/**
 * Plays ambient speech. See also _0x5C57B85D.
 * See _PLAY_AMBIENT_SPEECH1 for parameter specifications.
 * Full list of speeches and voices names: gist.github.com/alexguirre/0af600eb3d4c91ad4f900120a63b8992
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function PlayAmbientSpeech2(ped: number, speechName: string, speechParam: string): void;

declare function PlayAmbientSpeechAtCoords(p0: string, p1: string, p2: number, p3: number, p4: number, p5: string): void;
declare function N_0xed640017ed337e45(p0: string, p1: string, p2: number, p3: number, p4: number, p5: string): void;

/**
 * This is the same as _PLAY_AMBIENT_SPEECH1 and _PLAY_AMBIENT_SPEECH2 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.
 * Full list of speeches and voices names: gist.github.com/alexguirre/0af600eb3d4c91ad4f900120a63b8992
 */
declare function PlayAmbientSpeechWithVoice(p0: number, speechName: string, voiceName: string, speechParam: string, p4: boolean): void;

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function PlayAnimOnRunningScenario(ped: number, animDict: string, animName: string): void;

declare function PlayAnimalVocalization(pedHandle: number, p1: number, p2: string): void;
declare function N_0xee066c7006c49c0a(pedHandle: number, p1: number, p2: 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): number;

/**
 * Only call found in the b617d scripts:
 * AUDIO::_CADA5A0D0702381E("BACK", "HUD_FREEMODE_SOUNDSET");
 */
declare function PlayDeferredSoundFrontend(soundName: string, soundsetName: string): void;
/**
 * Only call found in the b617d scripts:
 * AUDIO::_CADA5A0D0702381E("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): number;

declare function PlayEntityScriptedAnim(p0: number, p4: number, p5: number): [number, number, number];

/**
 * Look at facials@gen_male@base and facials@gen_female@base for some common facial animations.
 * !!!NOTE!!!
 * Unlike most animation natives, the animation comes BEFORE the animation dictionary here. So you could call e.g.
 * PLAY_FACIAL_ANIM(ped, "dead_1", "facials@gen_male@base")
 */
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;

/**
 * Needs another parameter [int p2]. The signature is PED::PLAY_PAIN(Ped ped, int painID, int p1, int p2);
 * Last 2 parameters always seem to be 0.
 * EX: Function.Call(Hash.PLAY_PAIN, TestPed, 6, 0, 0);
 * Known Pain IDs
 * ________________________
 * 1 - Doesn't seem to do anything. Does NOT crash the game like previously said. (Latest patch)
 * 6 - Scream (Short)
 * 7 - Scared Scream (Kinda Long)
 * 8 - On Fire
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function PlayPain(ped: number, painID: number, p1: number): 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;

/**
 * Please change to void. (Does not return anything!)
 * 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, p6: 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, p4: boolean, p5: number): void;

/**
 * list: pastebin.com/DCeRiaLJ
 * All found occurrences in b617d, sorted alphabetically and identical lines removed: pastebin.com/0neZdsZ5
 */
declare function PlaySoundFrontend(soundId: number, audioName: string, audioRef: string, p3: boolean): void;

/**
 * Used with AUDIO::LOAD_STREAM
 * Example from finale_heist2b.c4:
 * AI::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): number;

/**
 * ```
 * 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(p0: number, p1: number, animName: string, animDictionary: string): number;

/**
 * ```
 * 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): number;

/**
 * [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): [number, 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;

/**
 * This native only comes up once. And in that one instance, p1 is "1".
 */
declare function PlayVehicleDoorCloseSound(vehicle: number, doorIndex: number): void;

/**
 * p1 appears to only be "0" or "3". I personally use "0" as p1.
 */
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;

/**
 * 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;

/**
 * NativeDB Parameter 1: Hash type
 * NativeDB Parameter 2: Hash category
 */
declare function PlaystatsAwardXp(amount: number, _type: number, category: 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;

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;

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;

/**
 * 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 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 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;

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;

/**
 * NativeDB Parameter 0: Hash hash
 */
declare function PlaystatsHeistSaveCheat(hash: number, p1: number): void;
/**
 * NativeDB Parameter 0: Hash hash
 */
declare function N_0xf4ff020a08bc8863(hash: number, p1: number): void;

declare function PlaystatsHoldUp(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0xcb00196b31c39eb1(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 PlaystatsImpExp(p0: number, p1: number, p2: number, p3: number): void;
declare function N_0x2b69f5074c894811(p0: number, p1: number, p2: number, p3: number): void;

/**
 * NativeDB Removed Parameter 3: Any p3
 * NativeDB Removed Parameter 4: Any p4
 * NativeDB Removed Parameter 5: Any p5
 * NativeDB Removed Parameter 6: 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: 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;

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 N_0xaddd1c754e2e2914(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;

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;

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;

declare function PlaystatsStartOfflineMode(): void;
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;

/**
 * NativeDB Parameter 0: Hash weaponHash
 * NativeDB Parameter 1: Hash componentHashTo
 * NativeDB Parameter 2: Hash componentHashFrom
 */
declare function PlaystatsWeaponModeChange(weaponHash: number, componentHashTo: number, componentHashFrom: number): void;
/**
 * NativeDB Parameter 0: Hash weaponHash
 * NativeDB Parameter 1: Hash componentHashTo
 * NativeDB Parameter 2: Hash componentHashFrom
 */
declare function N_0xe95c8a1875a02ca4(weaponHash: number, componentHashTo: number, componentHashFrom: 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;

/**
 * p5 always seems to be 1 i.e TRUE
 */
declare function PointCamAtEntity(cam: number, entity: number, p2: number, p3: number, p4: 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;

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;

/**
 * Often called after _REMOVE_LOADING_PROMPT. Unsure what exactly it does, but It references busy_spinner, I can only guess its freeing the busy_spinner scaleform from memory
 */
declare function PreloadBusyspinner(): void;
/**
 * Often called after _REMOVE_LOADING_PROMPT. Unsure what exactly it does, but It references busy_spinner, I can only guess its freeing the busy_spinner scaleform from memory
 */
declare function N_0xc65ab383cd91df98(): void;

/**
 * Found in the scripts:
 * GAMEPLAY::_11B56FBBF7224868("CONTRAILS");
 */
declare function PreloadCloudHat(name: string): void;
/**
 * Found in the scripts:
 * GAMEPLAY::_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): number;

/**
 * All music event names found in the b617d scripts: pastebin.com/GnYt0R3P
 */
declare function PrepareMusicEvent(eventName: string): number;

declare function PrepareSynchronizedAudioEvent(p0: string, p1: number): number;

// Return is unknown[] due to pointer value being input of the function
declare function PrepareSynchronizedAudioEventForScene(p0: number, p1?: number): unknown[];

/**
 * 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 ProcessCashGift(p2: string): [string, number, number];
declare function N_0x20194d48eaec9a41(p2: string): [string, number, number];

/**
 * Called to update entity attachments.
 * When using ATTACH_ENTITY_TO_ENTITY and using bone '0' then you set the first entity invisible. The attachments will mess up, use bone '-1' to fix that issue
 */
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(): number;

declare function PulseBlip(blip: number): void;

declare function PushTimecycleModifier(): void;

/**
 * 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;

/**
 * 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): number;
declare function PedSkipNextReloading(ped: number): number;

declare function RefreshInterior(interiorID: number): void;

declare function RefreshPlayerListStats(p0: number): number;
declare function UsingNetworkWeapontype(p0: number): number;
declare function N_0xe26ccff8094d8c74(p0: number): number;

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;

declare function RegisterEntityForCutscene(cutscenePed: 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 to use for the default binding, e.g. `keyboard`.
 * @param defaultParameter The IO parameter ID 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): number;

/**
 * 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;

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?
 * GAMEPLAY::_6F7794F28C6B2535(&a_0._f1, "tlPlateText");
 * GAMEPLAY::_6F7794F28C6B2535(&a_0._f1C, "tlPlateText_pending");
 * GAMEPLAY::_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?
 * GAMEPLAY::_6F7794F28C6B2535(&a_0._f1, "tlPlateText");
 * GAMEPLAY::_6F7794F28C6B2535(&a_0._f1C, "tlPlateText_pending");
 * GAMEPLAY::_6F7794F28C6B2535(&a_0._f10B, "tlCarAppPlateText");
 * "tl" prefix sounds like "Text Label"
 */
declare function N_0x6f7794f28c6b2535(name: string): number;

/**
 * NativeDB Parameter 0: char* scriptName
 */
declare function RegisterWorldPointScriptBrain(activationRange: number, p2: number): number;

declare function ReleaseAllCommerceItemImages(): void;
declare function N_0x72d0706cd6ccdb58(): void;

declare function ReleaseAmbientAudioBank(): void;

/**
 * NativeDB Introduced: v1290
 */
declare function ReleaseBinkMovie(binkMovie: number): void;

declare function ReleaseMissionAudioBank(): void;

declare function ReleaseMovieMeshSet(movieMeshSet: number): void;

declare function ReleaseNamedRendertarget(name: string): number;

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;

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(): number;
/**
 * NativeDB Added Parameter 1: Player player
 * NativeDB Added Parameter 2: int a
 * NativeDB Added Parameter 3: int b
 */
declare function N_0x472841a026d26d8b(): number;

declare function RemoveActionModeAsset(asset: string): void;

declare function RemoveAirDefenseZone(zoneId: number): number;
declare function N_0x0abf535877897560(zoneId: number): number;

declare function RemoveAllAirDefenseZones(): void;
declare function N_0x1e45b34adebee48e(): void;

declare function RemoveAllCoverBlockingAreas(): void;

/**
 * setting the last params to false it does that same so I would suggest its not a toggle
 */
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. See SET_PED_MOVEMENT_CLIPSET.
 * Animation set and clip set are synonymous.
 */
declare function RemoveAnimSet(animSet: string): void;

/**
 * In the C++ SDK, this seems not to work-- the blip isn't removed immediately. I use it for saving cars.
 * E.g.:
 * Ped pped = PLAYER::PLAYER_PED_ID();
 * Vehicle v = PED::GET_VEHICLE_PED_IS_USING(pped);
 * Blip b = UI::ADD_BLIP_FOR_ENTITY(v);
 * works fine.
 * But later attempting to delete it with:
 * Blip b = UI::GET_BLIP_FROM_ENTITY(v);
 * if (UI::DOES_BLIP_EXIST(b)) UI::REMOVE_BLIP(&b);
 * doesn't work. And yes, doesn't work without the DOES_BLIP_EXIST check either. Also, if you attach multiple blips to the same thing (say, a vehicle), and that thing disappears, the blips randomly attach to other things (in my case, a vehicle).
 * Thus for me, UI::REMOVE_BLIP(&b) only works if there's one blip, (in my case) the vehicle is marked as no longer needed, you drive away from it and it eventually despawns, AND there is only one blip attached to it. I never intentionally attach multiple blips but if the user saves the car, this adds a blip. Then if they delete it, it is supposed to remove the blip, but it doesn't. Then they can immediately save it again, causing another blip to re-appear.
 * -------------
 * Passing the address of the variable instead of the value works for me.
 * e.g.
 * int blip = UI::ADD_BLIP_FOR_ENTITY(ped);
 * UI::REMOVE_BLIP(&blip);
 * Remove blip will currently crash your game, just artificially remove the blip by setting the sprite to a id that is 'invisible'.
 * --
 * It crashes my game.
 */
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;

/**
 * Unloads the cutscene and doesn't do extra stuff that REMOVE_CUTSCENE does.
 */
declare function RemoveCutFile(cutsceneName: string): void;
/**
 * 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;

/**
 * NativeDB Parameter 0: Hash modelHash
 */
declare function RemoveModelFromCreatorBudget(modelHash: number): void;
/**
 * NativeDB Parameter 0: Hash modelHash
 */
declare function N_0xf086ad9354fac3a3(modelHash: number): void;

declare function RemoveModelHide(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

declare function RemoveModelSwap(x: number, y: number, z: number, radius: number, originalModel: string | number, newModel: string | number, p6: boolean): void;

declare function RemoveMpGamerTag(gamerTagId: number): void;
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;

/**
 * assetName = For example "core"
 */
declare function RemoveNamedPtfxAsset(fxName: string): void;
/**
 * assetName = For example "core"
 */
declare function RemoveNamedPtfxAsset(fxName: string): void;

declare function RemoveNavmeshBlockingObject(p0: number): void;

declare function RemoveNavmeshRequiredRegions(): void;

declare function RemoveObjectHighDetailModel(p0: number): void;
declare function N_0x4a39db43e47cf3aa(p0: 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;

/**
 * NativeDB Return Type: void
 */
declare function RemovePlayerHelmet(player: number, p2: boolean): number;

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;

/**
 * Another function related to "HUD scaleforms"
 */
declare function RemoveScaleformScriptHudMovie(hudComponent: number): void;
/**
 * Another function related to "HUD scaleforms"
 */
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): number;

declare function RemoveShockingEventSpawnBlockingAreas(): void;

/**
 * Used to remove a speedzone.
 * This is the speed zone native.
 * Example usage C#:
 * uint speedZone = Function.Call<uint>((Hash) 0x2CE544C68FB812A0, Game.PlayerPed.Position.X, Game.PlayerPed.Position.Y, Game.PlayerPed.Position.Z, 100.0f, 0.0f, false);
 * bool speedZoneClosed = Function.Call<bool>((Hash) 0x1033371FC8E842A7, speedZone);
 * (Thanks to alexguirre for his help!)
 */
declare function RemoveSpeedZone(speedzone: number): number;
/**
 * Used to remove a speedzone.
 * This is the speed zone native.
 * Example usage C#:
 * uint speedZone = Function.Call<uint>((Hash) 0x2CE544C68FB812A0, Game.PlayerPed.Position.X, Game.PlayerPed.Position.Y, Game.PlayerPed.Position.Z, 100.0f, 0.0f, false);
 * bool speedZoneClosed = Function.Call<bool>((Hash) 0x1033371FC8E842A7, speedZone);
 * (Thanks to alexguirre for his help!)
 */
declare function N_0x1033371fc8e842a7(speedzone: number): number;

/**
 * Appears to remove stealth kill action from memory.
 * ------------------------------------
 * I agree with the above statement.
 * p1 is unknown, my best guess would be if false it marks the stealth kill for immediate deletion, or if true marks it for deletion later.
 */
declare function RemoveStealthKill(hash: string | number, p1: boolean): void;
/**
 * Appears to remove stealth kill action from memory.
 * ------------------------------------
 * I agree with the above statement.
 * p1 is unknown, my best guess would be if false it marks the stealth kill for immediate deletion, or if true marks it for deletion later.
 */
declare function N_0xa6a12939f16d85be(hash: string | number, p1: boolean): void;

declare function RemoveStealthModeAsset(asset: 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;

declare function RemoveVehicleRecording(p0: number, p1: string): void;

declare function RemoveVehicleStuckCheck(vehicle: number): void;

declare function RemoveVehicleUpsidedownCheck(vehicle: number): void;

/**
 * windowIndex:
 * 0 = Front Right Window
 * 1 = Front Left Window
 * 2 = Back Right Window
 * 3 = Back Left Window
 */
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;

/**
 * For a full list, see here: pastebin.com/Tp0XpBMN
 */
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(p0: number, p1: 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;

/**
 * This native makes the gameplay camera zoom into first person/third person with a special effect.
 * For example, if you were first person in a mission and after the cutscene ends, the camera would then zoom into the first person camera view.
 * if (CAM::GET_FOLLOW_PED_CAM_VIEW_MODE() != 4)
 * CAM::_C819F3CBB62BF692(1, 0, 3, 0)
 * This makes the camera zoom in to first person.
 * --------------------------------------------
 * 1st Param Options: 0 or 1 (Changes quit often, toggle?)
 * 2nd Param Options: 0, 0f, 1f, 3.8f, 10f, 20f (Mostly 0)
 * 3rd Param Options: 3, 2, 1 (Mostly 3);
 * Note for the 2nd param 10f (offroad_race.c) and 3rd param 20f (range_modern.c) are the only times those 2 high floats are called.
 * Note for the 3rd param 2 is only ever set in (franklin0.c), but it also sets it as 3. (0, 0, 3) ||(0, 0f, 2) || (0, 0, 3)
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function RenderFirstPersonCam(render: boolean, p1: number, p2: number): void;
/**
 * This native makes the gameplay camera zoom into first person/third person with a special effect.
 * For example, if you were first person in a mission and after the cutscene ends, the camera would then zoom into the first person camera view.
 * if (CAM::GET_FOLLOW_PED_CAM_VIEW_MODE() != 4)
 * CAM::_C819F3CBB62BF692(1, 0, 3, 0)
 * This makes the camera zoom in to first person.
 * --------------------------------------------
 * 1st Param Options: 0 or 1 (Changes quit often, toggle?)
 * 2nd Param Options: 0, 0f, 1f, 3.8f, 10f, 20f (Mostly 0)
 * 3rd Param Options: 3, 2, 1 (Mostly 3);
 * Note for the 2nd param 10f (offroad_race.c) and 3rd param 20f (range_modern.c) are the only times those 2 high floats are called.
 * Note for the 3rd param 2 is only ever set in (franklin0.c), but it also sets it as 3. (0, 0, 3) ||(0, 0f, 2) || (0, 0, 3)
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function N_0xc819f3cbb62bf692(render: boolean, p1: number, p2: 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: int p2
 */
declare function RequestAmbientAudioBank(p0: string, p1: boolean): number;

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.
 */
declare function RequestAnimSet(animSet: string): void;

declare function RequestClipSet(clipSet: string): void;

/**
 * NativeDB Return Type: void
 */
declare function RequestCollisionAtCoord(x: number, y: number, z: number): number;

declare function RequestCollisionForModel(model: string | number): void;

declare function RequestCommerceItemImage(index: number): number;
declare function N_0xa2f952104fc6dd4b(index: number): number;

/**
 * Loads the cutscene and doesn't do extra stuff that REQUEST_CUTSCENE does.
 */
declare function RequestCutFile(cutsceneName: string): void;
/**
 * Loads the cutscene and doesn't do extra stuff that REQUEST_CUTSCENE does.
 */
declare function N_0x06a3524161c502ba(cutsceneName: string): void;

/**
 * p1: usually 8
 * Cutscene list: pastebin.com/Bbj7ANpQ
 */
declare function RequestCutscene(cutsceneName: string, flags: number): void;

/**
 * Example:
 * CUTSCENE::_0xC23DE0E91C30B58C("JOSH_1_INT_CONCAT", 13, 8);
 * Cutscene list: pastebin.com/Bbj7ANpQ
 */
declare function RequestCutsceneWithPlaybackList(cutsceneName: string, playbackFlags: number, flags: number): void;
/**
 * Example:
 * CUTSCENE::_0xC23DE0E91C30B58C("JOSH_1_INT_CONCAT", 13, 8);
 * Cutscene list: pastebin.com/Bbj7ANpQ
 */
declare function N_0xc23de0e91c30b58c(cutsceneName: string, playbackFlags: number, flags: number): void;
/**
 * Example:
 * CUTSCENE::_0xC23DE0E91C30B58C("JOSH_1_INT_CONCAT", 13, 8);
 * Cutscene list: pastebin.com/Bbj7ANpQ
 */
declare function RequestCutsceneEx(cutsceneName: string, playbackFlags: number, flags: number): void;

/**
 * IPL list: pastebin.com/iNGLY32D
 * IPL list + Coords: https://pastebin.com/FyV5mMma
 */
declare function RequestIpl(iplName: string): void;

/**
 * streaming::request_menu_ped_model(joaat("player_zero"));
 * iVar0 = ped::create_ped(25, joaat("player_zero"), cam::_get_gameplay_cam_coords(), 0f, 0, false);
 * entity::freeze_entity_position(iVar0, true);
 * ped::_0x4668d80430d6c299(iVar0);
 * ui::give_ped_to_pause_menu(iVar0, 1);
 */
declare function RequestMenuPedModel(model: string | number): void;
/**
 * streaming::request_menu_ped_model(joaat("player_zero"));
 * iVar0 = ped::create_ped(25, joaat("player_zero"), cam::_get_gameplay_cam_coords(), 0f, 0, false);
 * entity::freeze_entity_position(iVar0, true);
 * ped::_0x4668d80430d6c299(iVar0);
 * ui::give_ped_to_pause_menu(iVar0, 1);
 */
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): number;

/**
 * Request a model to be loaded into memory
 */
declare function RequestModel(model: string | number): void;

/**
 * Something to do with interiors that have been loaded.
 * STREAMING::_8A7A40100EDFEC58(l_13BC, "V_FIB01_cur_elev");
 * STREAMING::_8A7A40100EDFEC58(l_13BC, "limbo");
 * STREAMING::_8A7A40100EDFEC58(l_13BB, "V_Office_gnd_lifts");
 * STREAMING::_8A7A40100EDFEC58(l_13BB, "limbo");
 * STREAMING::_8A7A40100EDFEC58(l_13BC, "v_fib01_jan_elev");
 * STREAMING::_8A7A40100EDFEC58(l_13BC, "limbo");
 */
declare function RequestModelsInRoom(interiorID: number, roomName: string): void;
/**
 * Something to do with interiors that have been loaded.
 * STREAMING::_8A7A40100EDFEC58(l_13BC, "V_FIB01_cur_elev");
 * STREAMING::_8A7A40100EDFEC58(l_13BC, "limbo");
 * STREAMING::_8A7A40100EDFEC58(l_13BB, "V_Office_gnd_lifts");
 * STREAMING::_8A7A40100EDFEC58(l_13BB, "limbo");
 * STREAMING::_8A7A40100EDFEC58(l_13BC, "v_fib01_jan_elev");
 * STREAMING::_8A7A40100EDFEC58(l_13BC, "limbo");
 */
declare function N_0x8a7a40100edfec58(interiorID: number, roomName: string): void;
/**
 * Something to do with interiors that have been loaded.
 * STREAMING::_8A7A40100EDFEC58(l_13BC, "V_FIB01_cur_elev");
 * STREAMING::_8A7A40100EDFEC58(l_13BC, "limbo");
 * STREAMING::_8A7A40100EDFEC58(l_13BB, "V_Office_gnd_lifts");
 * STREAMING::_8A7A40100EDFEC58(l_13BB, "limbo");
 * STREAMING::_8A7A40100EDFEC58(l_13BC, "v_fib01_jan_elev");
 * STREAMING::_8A7A40100EDFEC58(l_13BC, "limbo");
 */
declare function RequestInteriorRoomByName(interiorID: number, roomName: string): void;

/**
 * assetName = For example "core"
 * 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(assetName: string): void;

/**
 * Used internally for long range tasks
 */
declare function RequestPathsPreferAccurateBoundingstruct(x1: number, y1: number, x2: number, y2: number): number;
/**
 * Used internally for long range tasks
 */
declare function N_0x07fb139b592fa687(x1: number, y1: number, x2: number, y2: number): number;

declare function RequestPedVehicleVisibilityTracking(ped: number, p1: boolean): void;
declare function GetPedFloodInvincibility(ped: number, p1: boolean): void;

/**
 * i found this function just like VEHICLE::TRACK_VEHICLE_VISIBILITY
 * example:
 * PED::_0x7D7A2E43E74E2EB8(ped);// TRACK_PED_VISIBILITY
 * if (PED::IS_TRACKED_PED_VISIBLE(ped))
 * {
 * }
 */
declare function RequestPedVisibilityTracking(ped: number): void;
/**
 * i found this function just like VEHICLE::TRACK_VEHICLE_VISIBILITY
 * example:
 * PED::_0x7D7A2E43E74E2EB8(ped);// TRACK_PED_VISIBILITY
 * if (PED::IS_TRACKED_PED_VISIBLE(ped))
 * {
 * }
 */
declare function N_0x7d7a2e43e74e2eb8(ped: number): void;

declare function RequestPedheadshotImgUpload(id: number): number;
declare function N_0xf0daef2f545bee25(id: number): number;

/**
 * maps script name (thread + 0xD0) by lookup via scriptfx.dat - does nothing when script name is empty
 * ```
 * ```
 * NativeDB Return Type: void
 */
declare function RequestPtfxAsset(): number;

/**
 * GTA V Scaleforms Decompiled
 * pastebin.com/mmNdjX2k
 * Gets a new native after almost every update.
 * Update 1.0.393.2
 * 0x67D02A194A2FC2BD
 * Update 1.0.463.1
 * 0xC97D787CE7726A2F
 * Update 1.0.505.2
 * 0x36ECDA4DD9A3F08D
 * Update 1.0.573.1
 * 0xE3C796DC28BC3254
 * Update 1.0.678.1
 * 0x2F14983962462691
 */
declare function RequestScaleformMovie(scaleformName: string): number;

/**
 * Also used by 0x67D02A194A2FC2BD
 */
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;

/**
 * http://gtaforums.com/topic/717612-v-scriptnative-documentation-and-research/?p=1068285912
 */
declare function RequestScaleformScriptHudMovie(hudComponent: number): void;
/**
 * http://gtaforums.com/topic/717612-v-scriptnative-documentation-and-research/?p=1068285912
 */
declare function N_0x9304881d6f6537ea(hudComponent: number): void;
/**
 * http://gtaforums.com/topic/717612-v-scriptnative-documentation-and-research/?p=1068285912
 */
declare function RequestHudScaleform(hudComponent: number): void;

/**
 * For a full list, see here: pastebin.com/yLNWicUi
 */
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): number;

/**
 * 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;

/**
 * last param seems to be unused in disassembly
 */
declare function RequestStreamedTextureDict(textureDict: string, p1: boolean): void;

declare function RequestTaskMoveNetworkStateTransition(ped: number, name: string): number;
declare function N_0xd01015c7316ae176(ped: number, name: string): number;

/**
 * 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;

/**
 * In script files, seen as REQUEST_VEHICLE_RECORDING(1, "FBIs1UBER");
 */
declare function RequestVehicleRecording(i: number, name: string): void;

/**
 * For a full list, see here: pastebin.com/Tp0XpBMN
 * 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;

/**
 * Internal logging string: SCRIPT_RESERVING_LOCAL_VEHICLES
 */
declare function ReserveNetworkLocalVehicles(amount: number): void;
/**
 * Internal logging string: SCRIPT_RESERVING_LOCAL_VEHICLES
 */
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: 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;

/**
 * NativeDB Return Type: void
 */
declare function ResetEntityAlpha(entity: number): number;

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;

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 the effect of _SET_PARTICLE_FX_ASSET_OLD_TO_NEW
 */
declare function ResetParticleFxOverride(name: string): void;
/**
 * Resets the effect of _SET_PARTICLE_FX_ASSET_OLD_TO_NEW
 */
declare function N_0x89c8553dd3274aae(name: string): void;
/**
 * Resets the effect of _SET_PARTICLE_FX_ASSET_OLD_TO_NEW
 */
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;

/**
 * If p1 is 0.0, I believe you are back to normal.
 * If p1 is 1.0, it looks like you can only rotate the ped, not walk.
 * Using the following code to reset back to normal
 * PED::RESET_PED_MOVEMENT_CLIPSET(PLAYER::PLAYER_PED_ID(), 0.0);
 */
declare function ResetPedMovementClipset(ped: number, p1: number): void;

declare function ResetPedRagdollTimer(ped: number): void;

declare function ResetPedStrafeClipset(ped: number): void;

/**
 * NativeDB Return Type: void
 */
declare function ResetPedVisibleDamage(ped: number): number;

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;

/**
 * Shows `Disconnecting from GTA Online` HUD and then quits the game. Better name `_QUIT_GAME`?
 */
declare function RestartGame(): void;
/**
 * Shows `Disconnecting from GTA Online` HUD and then quits the game. Better name `_QUIT_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.
 * 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;

/**
 * windowIndex:
 * 0 = Front Right Window
 * 1 = Front Left Window
 * 2 = Back Right Window
 * 3 = Back Left Window
 * ```
 * ```
 * NativeDB Return Type: void
 */
declare function RollDownWindow(vehicle: number, windowIndex: number): number;

/**
 * Roll down all the windows of the vehicle passed through the first parameter.
 */
declare function RollDownWindows(vehicle: number): void;

/**
 * 0 = Front Left Window\
 * 1 = Front Right Window\
 * 2 = Back Left Window\
 * 3 = Back Right Window
 * NativeDB Return Type: void
 */
declare function RollUpWindow(vehicle: number, windowIndex: number): number;

declare function RopeAreTexturesLoaded(): number;

declare function RopeConvertToSimple(ropeId: number): void;

declare function RopeDrawShadowEnabled(toggle: boolean): number;

/**
 * Forces a rope to a certain length.
 * ```
 * ```
 * NativeDB Return Type: void
 */
declare function RopeForceLength(ropeId: number, length: number): number;

/**
 * Get a rope's length.  Can be modified with ROPE_FORCE_LENGTH
 */
declare function RopeGetDistanceBetweenEnds(ropeId: number): number;
/**
 * Get a rope's length.  Can be modified with ROPE_FORCE_LENGTH
 */
declare function GetRopeLength(ropeId: number): number;

/**
 * Loads rope textures for all ropes in the current scene.
 * ```
 * ```
 * NativeDB Return Type: void
 */
declare function RopeLoadTextures(): number;

/**
 * Reset a rope to a certain length.
 */
declare function RopeResetLength(ropeId: number, length: number): void;

/**
 * ROPE_*
 */
declare function RopeSetUpdateOrder(ropeId: number, p1: number): void;
/**
 * ROPE_*
 */
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.
 * ```
 * ```
 * NativeDB Return Type: void
 */
declare function RopeUnloadTextures(): number;

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): number;
declare function N_0x3dec726c25a11bac(unused: number): number;

declare function SaveRecordingClip(): number;
declare function N_0x644546ec5287471b(): number;

declare function ScEmailMessageClearRecipList(): void;
declare function N_0x55df6db45179236e(): void;

declare function ScEmailMessagePushGamerToRecipList(networkHandle: number): void;

/**
 * Same as HAS_ACHIEVEMENT_BEEN_PASSED
 */
declare function ScGetHasAchievementBeenPassed(achievement: number): number;
/**
 * Same as HAS_ACHIEVEMENT_BEEN_PASSED
 */
declare function N_0x418dc16fae452c1c(achievement: number): number;

/**
 * From scripts:
 * socialclub::_0x8416FE4E4629D7D7("bIgnoreCheaterOverride");
 * socialclub::_0x8416FE4E4629D7D7("bIgnoreBadSportOverride");
 */
declare function ScGetIsProfileAttributeSet(name: string): number;
/**
 * From scripts:
 * socialclub::_0x8416FE4E4629D7D7("bIgnoreCheaterOverride");
 * socialclub::_0x8416FE4E4629D7D7("bIgnoreBadSportOverride");
 */
declare function N_0x8416fe4e4629d7d7(name: string): number;

/**
 * Returns the nickname of the logged-in Rockstar Social Club account.
 * ```
 * ```
 * NativeDB Return Type: char*
 */
declare function ScGetNickname(): number;

declare function ScInboxGetEmails(offset: number, limit: number): void;
declare function N_0x040addcbafa1018a(offset: number, limit: number): void;

declare function ScInboxGetTotalNumMessages(): number;
declare function N_0x03a93ff1a2ca0864(): number;
declare function GetTotalScInboxIds(): number;

declare function ScInboxMessageDoApply(p0: number): number;
declare function N_0x9a2c8064b6c1e41a(p0: number): number;
declare function ScInboxMessagePush(p0: number): number;

// Return is unknown[] due to pointer value being input of the function
declare function ScInboxMessageGetBountyData(index: number, outData?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0x87e0052f08bd64e6(index: number, outData?: number): unknown[];

declare function ScInboxMessageGetDataBool(p0: number, p1: string): number;
declare function N_0xffe5c16f402d851d(p0: number, p1: string): number;

// Return is unknown[] due to pointer value being input of the function
declare function ScInboxMessageGetDataInt(p0: number, context: string, out?: number): unknown[];

declare function ScInboxMessageGetDataString(p0: number, context: string, out: string): number;

declare function ScInboxMessageGetString(p0: number): string;
declare function N_0xf3e31d16cbdcb304(p0: number): string;

// Return is unknown[] due to pointer value being input of the function
declare function ScInboxMessageGetUgcdata(p0: number, p1?: number): unknown[];

declare function ScInboxMessageInit(p0: number): number;
declare function N_0xbb8ea16ecbc976c4(p0: number): number;

declare function ScInboxMessagePop(p0: number): number;
declare function N_0x2c015348cf19ca1d(p0: number): number;

/**
 * In scripts it's used with a var, that is used elsewhere in a check regarding if the given networkHandle is valid.
 */
declare function ScInboxMessagePushGamerToEventRecipList(networkHandle: number): void;
/**
 * In scripts it's used with a var, that is used elsewhere in a check regarding if the given networkHandle is valid.
 */
declare function N_0xda024bdbd600f44a(networkHandle: number): void;

/**
 * I put the argument as 'playerName' as when it's called in freemode.c TU27 X360 scripts. It's given a var that has GET_PLAYER_NAME stored in it via StringCopy.
 */
declare function ScInboxMessageSendBountyPresenceEvent(data: string): number;
/**
 * I put the argument as 'playerName' as when it's called in freemode.c TU27 X360 scripts. It's given a var that has GET_PLAYER_NAME stored in it via StringCopy.
 */
declare function N_0x6afd2cd753feef83(data: string): number;

declare function ScInboxMessageSendUgcStatUpdateEvent(data: string): void;
declare function N_0xa68d3d229f4f3b06(data: string): void;

/**
 * NativeDB Introduced: v323
 * NativeDB Added Parameter 0: Hash attrHash
 * NativeDB Added Parameter 1: float value
 */
declare function ScPresenceAttrSetFloat(): number;
/**
 * NativeDB Introduced: v323
 * NativeDB Added Parameter 0: Hash attrHash
 * NativeDB Added Parameter 1: float value
 */
declare function N_0xc4c4575f62534a24(): number;

declare function ScPresenceAttrSetInt(attrHash: string | number, value: number): number;
declare function N_0x1f1e9682483697c7(attrHash: string | number, value: number): number;

declare function ScPresenceAttrSetString(attrHash: string | number, value: string): number;
declare function N_0x287f1f75d2803595(attrHash: string | number, value: string): number;

/**
 * Starts a task to check an entered string for profanity on the ROS/Social Club services.
 * See also: 1753344C770358AE, 82E4A58BABC15AE7.
 */
// Return is unknown[] due to pointer value being input of the function
declare function ScProfanityCheckString(_string: string, token?: number): unknown[];
/**
 * Starts a task to check an entered string for profanity on the ROS/Social Club services.
 * See also: 1753344C770358AE, 82E4A58BABC15AE7.
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0x75632c5ecd7ed843(_string: string, token?: number): unknown[];
/**
 * Starts a task to check an entered string for profanity on the ROS/Social Club services.
 * See also: 1753344C770358AE, 82E4A58BABC15AE7.
 */
// Return is unknown[] due to pointer value being input of the function
declare function ScStartCheckStringTask(_string: string, token?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function ScProfanityCheckUgcString(_string: string, token?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0xeb2bf817463dfa28(_string: string, token?: number): unknown[];

/**
 * Returns the status of a _SC_START_CHECK_STRING_TASK task.
 * Possible return values:
 * 0: not a profane string
 * 1: a profane string
 * 3: server error occurred
 * ```
 * ```
 * NativeDB Return Type: BOOL
 */
declare function ScProfanityGetCheckIsPending(token: number): number;
/**
 * Returns the status of a _SC_START_CHECK_STRING_TASK task.
 * Possible return values:
 * 0: not a profane string
 * 1: a profane string
 * 3: server error occurred
 * ```
 * ```
 * NativeDB Return Type: BOOL
 */
declare function N_0x82e4a58babc15ae7(token: number): number;
/**
 * Returns the status of a _SC_START_CHECK_STRING_TASK task.
 * Possible return values:
 * 0: not a profane string
 * 1: a profane string
 * 3: server error occurred
 * ```
 * ```
 * NativeDB Return Type: BOOL
 */
declare function ScGetCheckStringStatus(token: number): number;

/**
 * Returns whether or not a task started with _SC_START_CHECK_STRING_TASK has completed.
 */
declare function ScProfanityGetCheckIsValid(token: number): number;
/**
 * Returns whether or not a task started with _SC_START_CHECK_STRING_TASK has completed.
 */
declare function N_0x1753344c770358ae(token: number): number;
/**
 * Returns whether or not a task started with _SC_START_CHECK_STRING_TASK has completed.
 */
declare function ScHasCheckStringTaskCompleted(token: number): number;

declare function ScProfanityGetStringPassed(token: number): number;
declare function N_0x85535acf97fc0969(token: number): number;

/**
 * Unknown.
 * Seems to return either 0, 1, or -1.
 */
declare function ScProfanityGetStringStatus(token: number): number;
/**
 * Unknown.
 * Seems to return either 0, 1, or -1.
 */
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;

declare function ScaleformMovieMethodAddParamLatestBriefString(value: number): void;
declare function N_0xec52c631a1831c03(value: number): void;
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): [number, number, number];
declare function N_0x8ef5573a1f801a5c(player: number): [number, 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;

declare function ScriptThreadIteratorGetNextThreadId(): number;
declare function N_0x30b4fa1c82dd4b9f(): number;
declare function GetIdOfNextThreadInEnumeration(): number;

declare function ScriptThreadIteratorReset(): void;
declare function N_0xdadfada5a20143a8(): void;
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;

/**
 * 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): number;

declare function SendNuiMessage(jsonString: string): number;

/**
 * If 'value' is 50 and 'maxValue' is 100, the bar is halfway filled.
 * Same with 5/10, 2/4, etc.
 */
declare function SetAbilityBarValue(value: number, maxValue: number): void;

/**
 * NativeDB Introduced: v1493
 */
declare function SetAbilityBarVisibilityInMultiplayer(visible: boolean): void;

/**
 * Hardcoded to always return false in the retail version.
 */
declare function SetAchievementProgression(achievement: number, progress: number): number;
/**
 * Hardcoded to always return false in the retail version.
 */
declare function N_0xc2afffdabbdc2c5c(achievement: number, progress: number): number;

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;

declare function SetAiMeleeWeaponDamageModifier(modifier: number): void;

declare function SetAiWeaponDamageModifier(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;

declare function SetAmbientPedRangeMultiplierThisFrame(multiplier: number): void;
declare function N_0x0b919e1fb47cc4e0(multiplier: number): void;

/**
 * Sets the ambient vehicle spawn range.
 * For example, if you set the range to 0.1, the ambient cars will spawn close to your player.
 * This native needs to be called every frame.
 * @param range Most likely a value between 0.0 and 1.0.
 */
declare function SetAmbientVehicleRangeMultiplierThisFrame(range: number): void;
/**
 * Sets the ambient vehicle spawn range.
 * For example, if you set the range to 0.1, the ambient cars will spawn close to your player.
 * This native needs to be called every frame.
 * @param range Most likely a value between 0.0 and 1.0.
 */
declare function N_0x90b6da738a9a25da(range: number): void;
/**
 * Sets the ambient vehicle spawn range.
 * For example, if you set the range to 0.1, the ambient cars will spawn close to your player.
 * This native needs to be called every frame.
 * @param range Most likely a value between 0.0 and 1.0.
 */
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;

/**
 * NativeDB Parameter 1: Hash hash
 */
declare function SetAmbientVoiceNameHash(ped: number, hash: number): void;
/**
 * NativeDB Parameter 1: Hash hash
 */
declare function N_0x9a53ded9921de990(ped: number, hash: number): void;

declare function SetAmbientZoneListState(p0: string, p1: boolean, p2: boolean): void;

/**
 * All occurrences found in b617d, sorted alphabetically and identical lines removed: pastebin.com/WkXDGgQL
 * New Ambient Zone List (Combind with old): pastebin.com/h8BsKgUD -DasChaos
 */
declare function SetAmbientZoneListStatePersistent(ambientZone: string, p1: boolean, p2: boolean): void;

/**
 * NativeDB Parameter 0: char* zoneName
 */
declare function SetAmbientZoneState(p1: boolean, p2: boolean): number;

/**
 * All occurrences found in b617d, sorted alphabetically and identical lines removed: pastebin.com/jYvw7N1S
 * New Ambient Zone List (Combind with old): pastebin.com/h8BsKgUD -DasChaos
 */
declare function SetAmbientZoneStatePersistent(ambientZone: string, p1: boolean, p2: boolean): void;

declare function SetAmmoInClip(ped: number, weaponHash: string | number, ammo: number): number;

declare function SetAnimLooped(p0: number, p1: boolean, 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;

/**
 * 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;

/**
 * Needs to be called every frame.
 * Modes:
 * 1: Applies some effect to collisions (for instance when crashing into stuff with a car or punching something), sounds kind of like underwater. Also mutes vehicle radio.
 * 2: Adds an echo to every sound effect, used by game scripts when you are drunk. Also mutes vehicle radio.
 * @param mode Audio mode to apply this frame
 */
declare function SetAudioSpecialEffectMode(mode: number): void;
/**
 * Needs to be called every frame.
 * Modes:
 * 1: Applies some effect to collisions (for instance when crashing into stuff with a car or punching something), sounds kind of like underwater. Also mutes vehicle radio.
 * 2: Adds an echo to every sound effect, used by game scripts when you are drunk. Also mutes vehicle radio.
 * @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;

declare function SetAudioVehiclePriority(vehicle: number, p1: number): void;

declare function SetAutoGiveParachuteWhenEnterPlane(player: number, toggle: boolean): 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 SetAutoGiveScubaGearWhenExitVehicle(player: number, toggle: boolean): 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 N_0xd2b315b6689d537d(player: number, toggle: boolean): void;

declare function SetBackfaceculling(toggle: boolean): void;
declare function N_0x23ba6b0c2ad7b0d3(toggle: boolean): void;

/**
 * NativeDB Parameter 0: char* contentId
 * NativeDB Parameter 1: char* contentTypeName
 */
declare function SetBalanceAddMachine(): [number, number, number];

/**
 * NativeDB Parameter 2: char* contentTypeName
 */
declare function SetBalanceAddMachines(dataCount: number): [number, number, 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 [`GetBigmapActive`](#\_0xF6AE18A7).
 * @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 [`GetBigmapActive`](#\_0xF6AE18A7).
 * @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: 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:
 * GAMEPLAY::SET_BIT(&bitAddress, 1);
 * To check if this bit has been enabled:
 * GAMEPLAY::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 = UI::ADD_BLIP_FOR_ENTITY(entity);
 * UI::SET_BLIP_COLOUR(blip , 3);
 * UI::SET_BLIP_ALPHA(blip , 64);
 */
declare function SetBlipAlpha(blip: number, alpha: number): void;

/**
 * false for enemy
 * true for friendly
 */
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;

/**
 * (Hex code are approximate)
 * 0: White (#fefefe)
 * 1: Red (#e03232)
 * 2: Green (#71cb71)
 * 3: Blue (#5db6e5)
 * 4: White (#fefefe)
 * 5: Taxi Yellow (#eec64e)
 * 6: Light Red (#c25050)
 * 7: Violet (#9c6eaf)
 * 8: Pink (#fe7ac3)
 * 9: Light Orange (#f59d79)
 * 10: Light Brown (#b18f83)
 * 11: Light Green (#8dcea7)
 * 12: Light Blue (Teal) (#70a8ae)
 * 13: Very Light Purple (#d3d1e7)
 * 14: Dark Purple (#8f7e98)
 * 15: Cyan (#6ac4bf)
 * 16: Light Yellow (#d5c398)
 * 17: Orange (#ea8e50)
 * 18: Light Blue (#97cae9)
 * 19: Dark Pink (#b26287)
 * 20: Dark Yellow (#8f8d79)
 * 21: Dark Orange (#a6755e)
 * 22: Light Gray (#afa8a8)
 * 23: Light Pink (#e78d9a)
 * 24: Lemon Green (#bbd65b)
 * 25: Forest Green (#0c7b56)
 * 26: Electric Blue (#7ac3fe)
 * 27: Bright Purple (#ab3ce6)
 * 28: Dark Taxi Yellow (#cda80c)
 * 29: Dark Blue (#4561ab)
 * 30: Dark Cyan (#29a5b8)
 * 31: Light Brown (#b89b7b)
 * 32: Very Light Blue (#c8e0fe)
 * 33: Light Yellow (#f0f096)
 * 34: Light Pink (#ed8ca1)
 * 35: Light Red (#f98a8a)
 * 36: Light Yellow (#fbeea5)
 * 37: White (#fefefe)
 * 38: Blue (#2c6db8)
 * 39: Light Gray (#9a9a9a)
 * 40: Dark Gray (#4c4c4c)
 * Certainly a lot more remaining.
 */
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, p1: boolean): void;
/**
 * Must be toggled before being queued for animation
 */
declare function N_0xc4278f70131baa6d(blip: number, p1: boolean): void;

declare function SetBlipFade(blip: number, opacity: number, duration: number): void;

declare function SetBlipFlashInterval(blip: number, p1: number): void;

/**
 * Adds up after viewing multiple R* scripts. I believe that the duration is in miliseconds.
 */
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 UI: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;

/**
 * NativeDB Added Parameter 1: int r
 * NativeDB Added Parameter 2: int g
 * NativeDB Added Parameter 3: int b
 */
declare function SetBlipSecondaryColour(blip: number, r: number, g: number, b: number): void;

declare function SetBlipShowCone(blip: number, toggle: boolean): void;

/**
 * Makes a blip go small when off the minimap.
 */
declare function SetBlipShrink(blip: number, toggle: boolean): void;
/**
 * Makes a blip go small when off the minimap.
 */
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 whole number/integer rotations.
 */
declare function SetBlipSquaredRotation(p0: number, heading: number): void;
/**
 * Does not require whole whole number/integer rotations.
 */
declare function N_0xa8b6afdac320ac87(p0: number, heading: number): void;

/**
 * works with AI::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;

/**
 * Works with boats, submarines, submarine cars, amphibious bikes, and planes that implement CSeaPlaneExtension
 */
declare function SetBoatAnchor(vehicle: number, toggle: boolean): void;

/**
 * Vehicle must be a boat.
 */
declare function SetBoatAnchorBuoyancyCoefficient(vehicle: number, value: number): void;
/**
 * Vehicle must be a boat.
 */
declare function N_0xe842a9398079bd82(vehicle: number, value: 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 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 SetBoatSinking(vehicle: number): void;
declare function N_0xbd32e46aa95c1dd2(vehicle: number): void;

/**
 * NativeDB Parameter 1: BOOL toggle
 */
declare function SetBoatSinksWhenWrecked(vehicle: number, toggle: number): void;
/**
 * NativeDB Parameter 1: BOOL toggle
 */
declare function N_0x8f719973e1445ba2(vehicle: number, toggle: number): void;
/**
 * NativeDB Parameter 1: BOOL toggle
 */
declare function SetBoatExplodesOnWreckedAction(vehicle: number, toggle: number): 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, p1: number): void;
/**
 * Native name labeled within its code
 */
declare function N_0x47b595d60664cffa(camera: number, p1: 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, p8: number, p9: number, p10: number, p11: 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;

declare function SetCamSplineSmoothingStyle(cam: number, smoothingStyle: number): void;
declare function N_0xd1b0f412f109ea5d(cam: number, smoothingStyle: number): void;

declare function SetCamUseShallowDofMode(cam: number, toggle: boolean): void;

/**
 * Disables wheel cambering & hydraulics
 */
declare function SetCamberedWheelsDisabled(vehicle: number, toggle: boolean): void;
/**
 * Disables wheel cambering & hydraulics
 */
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, p1: boolean): void;
declare function N_0xe12abe5e3a389a6c(entity: number, p1: boolean): void;

declare function SetCanClimbOnEntity(entity: number, p1: boolean): void;
declare function N_0xa80ae305e0a3044f(entity: number, p1: 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;

/**
 * For the player ped this will also gray out the weapon in the weapon wheel.
 */
declare function SetCanPedSelectWeapon(ped: number, weaponHash: string | number, toggle: boolean): void;
/**
 * For the player ped this will also gray out the weapon in the weapon wheel.
 */
declare function N_0xb4771b9aaf4e68e4(ped: number, weaponHash: string | number, toggle: boolean): void;

/**
 * Hardcoded to not work in multiplayer.
 */
declare function SetCanResprayVehicle(vehicle: number, state: boolean): void;

/**
 * Opens the trunk of the vehicle. Initially used in Max Payne 3, that's why we know the name.
 */
declare function SetCarBootOpen(vehicle: number): void;
/**
 * Opens the trunk of the vehicle. Initially used in Max Payne 3, that's why we know the name.
 */
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;

/**
 * For now, I changed the last one from bool to int.
 * According to scripts specifically 'fm_mission_controller' this last parameter is 'false/0' when its called after the create rope native above is called for the magnet and 'true/1' after the create rope native above is called for the hook.
 */
declare function SetCargobobHookPosition(cargobob: number, xOffset: number, yOffset: number, state: number): void;
/**
 * For now, I changed the last one from bool to int.
 * According to scripts specifically 'fm_mission_controller' this last parameter is 'false/0' when its called after the create rope native above is called for the magnet and 'true/1' after the create rope native above is called for the hook.
 */
declare function N_0x877c1eaeac531023(cargobob: number, xOffset: number, yOffset: number, state: number): 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;

/**
 * NativeDB Parameter 1: float p1
 */
declare function SetCargobobPickupRopeDampingMultiplier(cargobob: number, p1: number): void;
/**
 * NativeDB Parameter 1: float p1
 */
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;

/**
 * Sets the checkpoint icon color.
 */
declare function SetCheckpointIconRgba(checkpoint: number, red: number, green: number, blue: number, alpha: number): void;

/**
 * Sets the checkpoint color.
 */
declare function SetCheckpointRgba(checkpoint: number, red: number, green: number, blue: number, alpha: number): void;

/**
 * p0 - Scale? Looks to be a normalized value (0.0 - 1.0)
 * offroad_races.c4, line ~67407:
 * a_3._f7 = GRAPHICS::CREATE_CHECKPOINT(v_D, v_A, a_4, a_7, v_E, v_F, v_10, sub_62b2(v_A, 220, 255), 0);
 * UI::GET_HUD_COLOUR(134, &v_E, &v_F, &v_10, &v_11);
 * GRAPHICS::_SET_CHECKPOINT_ICON_RGBA(a_3._f7, v_E, v_F, v_10, sub_62b2(v_A, 70, 210));
 * GRAPHICS::_4B5B4DA5D79F1943(a_3._f7, 0.95);
 * GRAPHICS::SET_CHECKPOINT_CYLINDER_HEIGHT(a_3._f7, 4.0, 4.0, 100.0);
 */
declare function SetCheckpointScale(checkpoint: number, p0: number): void;
/**
 * p0 - Scale? Looks to be a normalized value (0.0 - 1.0)
 * offroad_races.c4, line ~67407:
 * a_3._f7 = GRAPHICS::CREATE_CHECKPOINT(v_D, v_A, a_4, a_7, v_E, v_F, v_10, sub_62b2(v_A, 220, 255), 0);
 * UI::GET_HUD_COLOUR(134, &v_E, &v_F, &v_10, &v_11);
 * GRAPHICS::_SET_CHECKPOINT_ICON_RGBA(a_3._f7, v_E, v_F, v_10, sub_62b2(v_A, 70, 210));
 * GRAPHICS::_4B5B4DA5D79F1943(a_3._f7, 0.95);
 * GRAPHICS::SET_CHECKPOINT_CYLINDER_HEIGHT(a_3._f7, 4.0, 4.0, 100.0);
 */
declare function N_0x4b5b4da5d79f1943(checkpoint: number, p0: number): void;

declare function SetCinematicButtonActive(p0: boolean): void;

declare function SetCinematicCamShakeAmplitude(p0: number): void;

/**
 * p0 = 0/1 or true/false
 * It doesn't seems to work
 */
declare function SetCinematicModeActive(p0: boolean): 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;

/**
 * sets font color for the next notification
 */
declare function SetColourOfNextTextComponent(hudColorIndex: number): void;
/**
 * sets font color for the next notification
 */
declare function N_0x39bbf623fc803eac(hudColorIndex: number): void;
/**
 * sets font color for the next notification
 */
declare function SetNotificationColorNext(hudColorIndex: number): void;

/**
 * combatType can be between 0-14. See GET_COMBAT_FLOAT below for a list of possible parameters.
 */
declare function SetCombatFloat(ped: number, combatType: number, p2: number): void;

/**
 * inputGroup: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts.
 */
declare function SetControlGroupColor(padIndex: number, red: number, green: number, blue: number): void;
/**
 * inputGroup: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts.
 */
declare function N_0x8290252fff36acb5(padIndex: number, red: number, green: number, blue: number): void;

/**
 * This is for simulating player input.
 * amount is a float value from 0
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function SetControlNormal(padIndex: number, control: number, amount: number): number;
/**
 * This is for simulating player input.
 * amount is a float value from 0
 * 0, 1 and 2 used in the scripts. 0 is by far the most common of them.
 */
declare function N_0xe8a25867fba3b05e(padIndex: number, control: number, amount: number): number;

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): number;

declare function SetCurrentPedWeapon(ped: number, weaponHash: string | number, equipNow: boolean): void;

declare function SetCurrentPlayerTcmodifier(modifierName: string): void;
declare function N_0xbbf327ded94e4deb(modifierName: string): void;

/**
 * Renamed to SET_CURSOR_LOCATION (I previously named it _SET_CURSOR_POSTION) which is the correct name as far as I can tell.
 */
declare function SetCursorLocation(x: number, y: number): number;
/**
 * Renamed to SET_CURSOR_LOCATION (I previously named it _SET_CURSOR_POSTION) which is the correct name as far as I can tell.
 */
declare function N_0xfc695459d4d0e219(x: number, y: number): number;

/**
 * Examples:
 * AUDIO::_4E404A9361F75BB2("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_MICHAEL", 1);
 * AUDIO::_4E404A9361F75BB2("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_MICHAEL", 1);
 * AUDIO::_4E404A9361F75BB2("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_TREVOR", 1);
 * AUDIO::_4E404A9361F75BB2("RADIO_01_CLASS_ROCK", "END_CREDITS_SAVE_MICHAEL_TREVOR", 1);
 * AUDIO::_4E404A9361F75BB2("RADIO_01_CLASS_ROCK", "OFF_ROAD_RADIO_ROCK_LIST", 1);
 * AUDIO::_4E404A9361F75BB2("RADIO_06_COUNTRY", "MAGDEMO2_RADIO_DINGHY", 1);
 * AUDIO::_4E404A9361F75BB2("RADIO_16_SILVERLAKE", "SEA_RACE_RADIO_PLAYLIST", 1);
 * AUDIO::_4E404A9361F75BB2("RADIO_01_CLASS_ROCK", "OFF_ROAD_RADIO_ROCK_LIST", 1);
 */
declare function SetCustomRadioTrackList(radioStation: string, trackListName: string, p2: boolean): void;
/**
 * Examples:
 * AUDIO::_4E404A9361F75BB2("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_MICHAEL", 1);
 * AUDIO::_4E404A9361F75BB2("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_MICHAEL", 1);
 * AUDIO::_4E404A9361F75BB2("RADIO_01_CLASS_ROCK", "END_CREDITS_KILL_TREVOR", 1);
 * AUDIO::_4E404A9361F75BB2("RADIO_01_CLASS_ROCK", "END_CREDITS_SAVE_MICHAEL_TREVOR", 1);
 * AUDIO::_4E404A9361F75BB2("RADIO_01_CLASS_ROCK", "OFF_ROAD_RADIO_ROCK_LIST", 1);
 * AUDIO::_4E404A9361F75BB2("RADIO_06_COUNTRY", "MAGDEMO2_RADIO_DINGHY", 1);
 * AUDIO::_4E404A9361F75BB2("RADIO_16_SILVERLAKE", "SEA_RACE_RADIO_PLAYLIST", 1);
 * AUDIO::_4E404A9361F75BB2("RADIO_01_CLASS_ROCK", "OFF_ROAD_RADIO_ROCK_LIST", 1);
 */
declare function N_0x4e404a9361f75bb2(radioStation: string, trackListName: string, p2: boolean): void;

/**
 * Specifies a custom respawn position to be used in conjunction with _SET_NEXT_RESPAWN_TO_CUSTOM
 */
declare function SetCustomRespawnPosition(x: number, y: number, z: number, heading: number): void;
/**
 * Specifies a custom respawn position to be used in conjunction with _SET_NEXT_RESPAWN_TO_CUSTOM
 */
declare function N_0x706b5edcaa7fa663(x: number, y: number, z: number, heading: number): 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 SetCutsceneEntityStreamingFlags(cutsceneEntName: string, p1: number, p2: number): void;
declare function N_0x4c61c75bee8184c2(cutsceneEntName: string, p1: number, p2: number): void;

declare function SetCutsceneFadeValues(p0: boolean, p1: boolean, p2: boolean, p3: boolean): void;

/**
 * p3 could be heading. Needs more research.
 */
declare function SetCutsceneOrigin(x: number, y: number, z: number, p3: number, p4: number): void;

declare function SetCutscenePedComponentVariation(cutsceneEntName: string, p1: number, p2: number, p3: number, modelHash: string | number): void;

declare function SetCutscenePedComponentVariationFromPed(cutsceneEntName: string, ped: number, modelHash: string | number): void;
declare function N_0x2a56c06ebef2b0d9(cutsceneEntName: string, ped: number, modelHash: string | number): void;

/**
 * Thanks R*! ;)
 * if ((l_161 == 0) || (l_161 == 2)) {
 * sub_2ea27("Trying to set Jimmy prop variation");
 * CUTSCENE::_0546524ADE2E9723("Jimmy_Boston", 1, 0, 0, 0);
 * }
 */
declare function SetCutscenePedPropVariation(cutsceneEntName: string, p1: number, p2: number, p3: number, modelHash: string | number): void;
/**
 * Thanks R*! ;)
 * if ((l_161 == 0) || (l_161 == 2)) {
 * sub_2ea27("Trying to set Jimmy prop variation");
 * CUTSCENE::_0546524ADE2E9723("Jimmy_Boston", 1, 0, 0, 0);
 * }
 */
declare function N_0x0546524ade2e9723(cutsceneEntName: string, p1: number, p2: number, p3: 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;

/**
 * Only used with the "akula" in the decompiled native scripts.
 * ```
 * NativeDB Introduced: v1290
 * ```
 */
declare function SetDeployHeliStubWings(vehicle: number, p1: boolean, p2: boolean): void;
/**
 * Only used with the "akula" in the decompiled native scripts.
 * ```
 * NativeDB Introduced: v1290
 * ```
 */
declare function N_0xb251e0b33e58b424(vehicle: number, p1: boolean, p2: boolean): void;

/**
 * SET_*
 */
declare function SetDirectorModeClearTriggeredFlag(): void;
/**
 * SET_*
 */
declare function N_0x2632482fd6b9ab87(): void;

declare function SetDisableAmbientMeleeMove(player: number, toggle: boolean): void;

/**
 * NativeDB Return Type: void
 */
declare function SetDisableBreaking(object: number, toggle: boolean): number;

declare function SetDisableDecalRenderingThisFrame(): void;
declare function N_0x4b5cfc83122df602(): void;

/**
 * sometimes used used with NET_TO_OBJ
 */
declare function SetDisableFragDamage(object: number, toggle: boolean): void;

declare function SetDisablePretendOccupants(vehicle: number, p1: boolean): void;
declare function N_0x25367de49d64cf16(vehicle: number, p1: boolean): void;

/**
 * SET_*_MULTIPLIER_THIS_FRAME
 */
declare function SetDisableRandomTrainsThisFrame(toggle: boolean): void;
/**
 * SET_*_MULTIPLIER_THIS_FRAME
 */
declare function N_0xd4b8e3d1917bc86b(toggle: boolean): void;
/**
 * SET_*_MULTIPLIER_THIS_FRAME
 */
declare function SetSomethingMultiplierThisFrame(toggle: 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 SetDisableTurretMovement(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;

declare function SetDisableVehicleEngineFires(vehicle: number, p1: boolean): void;
declare function N_0x91a0bd635321f145(vehicle: number, p1: 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;

/**
 * Disables collision for all windows.
 * This is a toggle, so it does not need to be looped each frame.
 * This is used for vehicles like the nightshark,
 * where there is a vehicle mod option (mod index 5) that adds armor
 * plating in front of the windows.
 * @param vehicle The vehicle to toggle this for.
 * @param p1 True disables the collision, false enables the collision
 */
declare function SetDisableVehicleWindowCollisions(vehicle: number, p1: boolean): void;
/**
 * Disables collision for all windows.
 * This is a toggle, so it does not need to be looped each frame.
 * This is used for vehicles like the nightshark,
 * where there is a vehicle mod option (mod index 5) that adds armor
 * plating in front of the windows.
 * @param vehicle The vehicle to toggle this for.
 * @param p1 True disables the collision, false enables the collision
 */
declare function N_0x1087bc8ec540daeb(vehicle: number, p1: 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;

/**
 * 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 (which is normally x=0,y=0 in the upper left corner of the screen) to a world coordinate.
 * From now on, the screen coordinate which displays the given world coordinate on the screen is seen as x=0,y=0.
 * Example in C#:
 * Vector3 boneCoord = somePed.GetBoneCoord(Bone.SKEL_Head);
 * Function.Call(Hash.SET_DRAW_ORIGIN, boneCoord.X, boneCoord.Y, boneCoord.Z, 0);
 * Function.Call(Hash.DRAW_SPRITE, "helicopterhud", "hud_corner", -0.01, -0.015, 0.013, 0.013, 0.0, 255, 0, 0, 200);
 * Function.Call(Hash.DRAW_SPRITE, "helicopterhud", "hud_corner", 0.01, -0.015, 0.013, 0.013, 90.0, 255, 0, 0, 200);
 * Function.Call(Hash.DRAW_SPRITE, "helicopterhud", "hud_corner", -0.01, 0.015, 0.013, 0.013, 270.0, 255, 0, 0, 200);
 * Function.Call(Hash.DRAW_SPRITE, "helicopterhud", "hud_corner", 0.01, 0.015, 0.013, 0.013, 180.0, 255, 0, 0, 200);
 * Function.Call(Hash.CLEAR_DRAW_ORIGIN);
 * Result: www11.pic-upload.de/19.06.15/bkqohvil2uao.jpg
 * If the pedestrian starts walking around now, the sprites are always around her head, no matter where the head is displayed on the screen.
 * This function also effects the drawing of texts and other UI-elements.
 * The effect can be reset by calling GRAPHICS::CLEAR_DRAW_ORIGIN().
 */
declare function SetDrawOrigin(x: number, y: number, z: number, p3: number): 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.
 */
declare function SetDriverRacingModifier(driver: number, modifier: number): void;
/**
 * Scripts use 0.2, 0.5 and 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, p1: 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, p1: boolean, p2: number): void;

/**
 * NativeDB Introduced: v1604
 */
declare function SetEnableArenaPropPhysicsOnPed(entity: number, p1: boolean, p2: number, ped: number): void;
/**
 * NativeDB Introduced: v1604
 */
declare function N_0xb20834a7dd3d8896(entity: number, p1: 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;

declare function SetEnableVehicleSlipstreaming(p0: boolean): void;
declare function N_0xe6c0c80b8c867537(p0: boolean): void;

/**
 * This native sets the entity's alpha level.
 * The skin parameter is actually a BOOL, but can't be changed due to backwards compatibility issues for C# scripts.
 * @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: number): void;

declare function SetEntityAlwaysPrerender(entity: number, toggle: boolean): void;

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function SetEntityAnimCurrentTime(entity: number, animDictionary: string, animName: string, time: number): void;

/**
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
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;

declare function SetEntityCollision(entity: number, toggle: boolean, keepPhysics: boolean): void;

/**
 * internally it calls the same function as 'SET_ENTITY_COLLISION'. but uses a hard coded parameter that only activates when toggle is set to true
 */
declare function SetEntityCompletelyDisableCollision(entity: number, toggle: boolean, keepPhysics: boolean): void;
/**
 * internally it calls the same function as 'SET_ENTITY_COLLISION'. but uses a hard coded parameter that only activates when toggle is set to true
 */
declare function N_0x9ebc85ed0fffe51c(entity: number, toggle: boolean, keepPhysics: boolean): void;
/**
 * internally it calls the same function as 'SET_ENTITY_COLLISION'. but uses a hard coded parameter that only activates when toggle is set to true
 */
declare function SetEntityCollision_2(entity: number, toggle: boolean, keepPhysics: boolean): void;

/**
 * ```
 * p7 is always 1 in the scripts. Set to 1, an area around the destination coords for the moved entity is cleared from other entities.
 * Often ends with 1, 0, 0, 1); in the scripts. It works.
 * Axis - Invert Axis Flags
 * ```
 * Sets an entity's coordinates in world space.
 * @param entity The entity to change coordinates for.
 * @param xPos The x coordinate.
 * @param yPos The y coordinate.
 * @param zPos The z coordinate.
 * @param xAxis Whether to invert x axis.
 * @param yAxis Whether to invert y axis.
 * @param zAxis Whether to invert z axis.
 * @param clearArea Whether to clear other entities in area around entity.
 */
declare function SetEntityCoords(entity: number, xPos: number, yPos: number, zPos: number, xAxis: boolean, yAxis: boolean, zAxis: boolean, clearArea: boolean): void;

/**
 * Axis - Invert Axis Flags
 */
declare function SetEntityCoordsNoOffset(entity: number, xPos: number, yPos: number, zPos: number, xAxis: boolean, yAxis: boolean, zAxis: boolean): void;

/**
 * does the same as SET_ENTITY_COORDS.
 */
declare function SetEntityCoords_2(entity: number, xPos: number, yPos: number, zPos: number, xAxis: boolean, yAxis: boolean, zAxis: boolean, clearArea: boolean): 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
 * because something.
 */
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;

/**
 * Makes the provided entity visible for yourself for the current frame.
 */
declare function SetEntityLocallyInvisible(entity: number): void;

/**
 * I tried using this and I see nothing happening, what is this suppose to do?
 */
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;

/**
 * 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;

/**
 * rotationOrder refers to the order yaw pitch roll is applied, see [GET_ENTITY_ROTATION](#_0xAFBD61CC738D9EB9)
 * p5 is usually set as true
 */
declare function SetEntityRotation(entity: number, pitch: number, roll: number, yaw: number, rotationOrder: number, p5: boolean): void;

/**
 * what does this native do?
 * bool IsEntitySomething(Entity entity)
 * {
 * auto addr = getScriptHandleBaseAddress(entity);
 * printf("addr: 0x%X \n", addr);
 * if (addr)
 * {
 * DWORD flag = *(DWORD *)(addr + 0x48D);
 * printf("flag: 0x%X \n", flag);
 * return ((flag & (1 << 3)) != 0) || ((flag & (1 << 30)) != 0);
 * }
 * return false;
 * }
 * wot ?
 */
declare function SetEntitySomething(entity: number, toggle: boolean): void;
/**
 * what does this native do?
 * bool IsEntitySomething(Entity entity)
 * {
 * auto addr = getScriptHandleBaseAddress(entity);
 * printf("addr: 0x%X \n", addr);
 * if (addr)
 * {
 * DWORD flag = *(DWORD *)(addr + 0x48D);
 * printf("flag: 0x%X \n", flag);
 * return ((flag & (1 << 3)) != 0) || ((flag & (1 << 30)) != 0);
 * }
 * return false;
 * }
 * wot ?
 */
declare function N_0x3910051ccecdb00c(entity: number, toggle: boolean): void;
/**
 * what does this native do?
 * bool IsEntitySomething(Entity entity)
 * {
 * auto addr = getScriptHandleBaseAddress(entity);
 * printf("addr: 0x%X \n", addr);
 * if (addr)
 * {
 * DWORD flag = *(DWORD *)(addr + 0x48D);
 * printf("flag: 0x%X \n", flag);
 * return ((flag & (1 << 3)) != 0) || ((flag & (1 << 30)) != 0);
 * }
 * return false;
 * }
 * wot ?
 */
declare function SetEntityRegister(entity: number, toggle: 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
 * 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 ment.
 */
declare function SetEntityVelocity(entity: number, x: number, y: number, z: number): void;

/**
 * unk was always 0.
 */
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;

/**
 * NativeDB Return Type: void
 */
declare function SetExplosiveMeleeThisFrame(player: number): number;

/**
 * Sets a secondary timecycle modifier.
 */
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 ignored.
 * Max is 6. Also the mini-map gets the red & blue flashing effect.
 */
declare function SetFakeWantedLevel(fakeWantedLevel: number): void;

declare function SetFarDrawVehicles(toggle: boolean): void;

/**
 * When this is set to ON, shadows only draw as you get nearer.
 * When OFF, they draw from a further distance. (((BUT))) f*ck up nearer shadows quality.
 */
declare function SetFarShadowsSuppressed(toggle: boolean): void;

/**
 * NativeDB Return Type: void
 */
declare function SetFireAmmoThisFrame(player: number): number;

declare function SetFirstPersonAimCamZoomFactor(p0: number): void;
declare function N_0x70894bd0915c5bca(p0: number): void;

/**
 * Sets the near clipping plane of the first person camera.
 */
declare function SetFirstPersonCamNearClip(distance: number): void;
/**
 * Sets the near clipping plane of the first person camera.
 */
declare function N_0x0af7b437918103b3(distance: number): void;

/**
 * Similar to _CLAMP_GAMEPLAY_CAM_PITCH except this is specifically for the FP camera, and it only lets you clamp the pitch within the normal range.
 */
declare function SetFirstPersonCamPitchRange(minAngle: number, maxAngle: number): void;
/**
 * Similar to _CLAMP_GAMEPLAY_CAM_PITCH except this is specifically for the FP camera, and it only lets you clamp the pitch within the normal range.
 */
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;

declare function SetFlashLightFadeDistance(distance: number): number;

declare function SetFloatingHelpTextScreenPosition(hudIndex: number, p1: number, p2: number): void;
declare function N_0x7679cc1bcebe3d4c(hudIndex: number, p1: number, p2: number): void;

declare function SetFloatingHelpTextStyle(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;
declare function N_0x788e7fd431bd67f1(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): void;

declare function SetFloatingHelpTextToEntity(hudIndex: number, entity: number, p2: number, p3: number): void;
declare function N_0xb094bc1db4018240(hudIndex: number, entity: number, p2: number, p3: 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): number;

/**
 * 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 b617d scripts:
 * CAM::SET_FOLLOW_PED_CAM_CUTSCENE_CHAT("FOLLOW_PED_ATTACHED_TO_ROPE_CAMERA", 0);
 * CAM::SET_FOLLOW_PED_CAM_CUTSCENE_CHAT("FOLLOW_PED_ON_EXILE1_LADDER_CAMERA", 1500);
 * CAM::SET_FOLLOW_PED_CAM_CUTSCENE_CHAT("FOLLOW_PED_SKY_DIVING_CAMERA", 0);
 * CAM::SET_FOLLOW_PED_CAM_CUTSCENE_CHAT("FOLLOW_PED_SKY_DIVING_CAMERA", 3000);
 * CAM::SET_FOLLOW_PED_CAM_CUTSCENE_CHAT("FOLLOW_PED_SKY_DIVING_FAMILY5_CAMERA", 0);
 * CAM::SET_FOLLOW_PED_CAM_CUTSCENE_CHAT("FOLLOW_PED_SKY_DIVING_CAMERA", 0);
 */
declare function SetFollowPedCamThisUpdate(camName: string, p1: number): number;
/**
 * From the b617d scripts:
 * CAM::SET_FOLLOW_PED_CAM_CUTSCENE_CHAT("FOLLOW_PED_ATTACHED_TO_ROPE_CAMERA", 0);
 * CAM::SET_FOLLOW_PED_CAM_CUTSCENE_CHAT("FOLLOW_PED_ON_EXILE1_LADDER_CAMERA", 1500);
 * CAM::SET_FOLLOW_PED_CAM_CUTSCENE_CHAT("FOLLOW_PED_SKY_DIVING_CAMERA", 0);
 * CAM::SET_FOLLOW_PED_CAM_CUTSCENE_CHAT("FOLLOW_PED_SKY_DIVING_CAMERA", 3000);
 * CAM::SET_FOLLOW_PED_CAM_CUTSCENE_CHAT("FOLLOW_PED_SKY_DIVING_FAMILY5_CAMERA", 0);
 * CAM::SET_FOLLOW_PED_CAM_CUTSCENE_CHAT("FOLLOW_PED_SKY_DIVING_CAMERA", 0);
 */
declare function SetFollowPedCamCutsceneChat(camName: string, p1: number): number;

/**
 * Sets the type of Player camera:
 * 0 - Third Person Close
 * 1 - Third Person Mid
 * 2 - Third Person Far
 * 4 - First Person
 */
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;

/**
 * Sets the type of Player camera in vehicles:
 * 0 - Third Person Close
 * 1 - Third Person Mid
 * 2 - Third Person Far
 * 4 - First Person
 */
declare function SetFollowVehicleCamViewMode(viewMode: number): void;

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;

/**
 * NativeDB Parameter 0: float x
 * NativeDB Parameter 1: float y
 * NativeDB Parameter 2: float z
 * NativeDB Parameter 3: float p3
 */
declare function SetForceObjectThisFrame(x: number, y: number, z: number, p3: number): void;

/**
 * Forces footstep tracks on all surfaces.
 */
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.
 */
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;

/**
 * Sets some values in a vehicle gadget (tow arm, digger arm, etc.). Don't know which one though.
 * I've tested on the towtruck 1 & 2, Dock Lift (Crate Arm), Dozer, and such have no effect. However when used on a Forklift it sets the height of the forks. 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;
/**
 * Sets some values in a vehicle gadget (tow arm, digger arm, etc.). Don't know which one though.
 * I've tested on the towtruck 1 & 2, Dock Lift (Crate Arm), Dozer, and such have no effect. However when used on a Forklift it sets the height of the forks. 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 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;

/**
 * NativeDB Parameter 0: Hash vehicleModel
 */
declare function SetGameplayCamVehicleCameraName(vehicleModel: number): void;
/**
 * NativeDB Parameter 0: Hash vehicleModel
 */
declare function N_0x11fa5d3479c7dd47(vehicleModel: number): void;

/**
 * Example C#:
 * Function.Call(Hash.SET_GAMEPLAY_COORD_HINT, position.X, position.Y, position.Z, hintDuration, 1500, 1000, 0);
 * The camera look-at is canceled if the user is already panning the camera around.
 */
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 SetGameplayHintAngle(roll: number): void;
declare function N_0xd1f8363dfad03848(roll: number): void;

declare function SetGameplayHintAnimCloseup(p0: boolean): void;
declare function GetIsMultiplayerBrief(p0: boolean): void;
declare function N_0xe3433eadaaf7ee40(p0: 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 SetGameplayHintAnimOffsetz(zoffset: number): void;
declare function N_0xf8bdbf3d573049a1(zoffset: 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, p5: number, p6: number, p7: 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;

/**
 * NativeDB Return Type: void
 */
declare function SetGarbageTrucks(toggle: boolean): number;

/**
 * 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;

/**
 * NativeDB Parameter 0: float x1
 * NativeDB Parameter 1: float y1
 * NativeDB Parameter 2: float z1
 * NativeDB Parameter 3: float x2
 * NativeDB Parameter 4: float y2
 * NativeDB Parameter 5: float z3
 */
declare function SetGpsDisabledZone(x1: number, y1: number, z1: number, x2: number, y2: number, z3: 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.
 * ---------------
 * Might be left-over from GTA IV. I kind of miss the *ding-dong* turn left in 2 meters lady lol.
 */
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: Default
 * 1: Circle Around Leader
 * 2: Alternative Circle Around Leader
 * 3: Line, with Leader at center
 */
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;

/**
 * Set profile setting 866
 */
declare function SetHasContentUnlocksFlags(value: number): void;
/**
 * Set profile setting 866
 */
declare function N_0xdac073c7901f9e15(value: number): void;

/**
 * Harcoded limit for radius is 30.0f
 */
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;

/**
 * If false the tail to the helicopter stays attached to the helicopter on explosion.
 * ```
 * ```
 * NativeDB Parameter 1: BOOL p1
 * NativeDB Return Type: void
 */
declare function SetHeliTailExplodeThrowDashboard(vehicle: number, p1: boolean): number;
/**
 * If false the tail to the helicopter stays attached to the helicopter on explosion.
 * ```
 * ```
 * NativeDB Parameter 1: BOOL p1
 * NativeDB Return Type: void
 */
declare function WasCounterActivated(vehicle: number, p1: boolean): number;
/**
 * If false the tail to the helicopter stays attached to the helicopter on explosion.
 * ```
 * ```
 * NativeDB Parameter 1: BOOL p1
 * NativeDB Return Type: void
 */
declare function N_0x3ec8bf18aa453fe9(vehicle: number, p1: boolean): number;

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;

/**
 * SET_HELP_MESSAGE_*
 */
declare function SetHelpMessageTextStyle(style: number, hudColor: number, alpha: number, p3: number, p4: number): void;
/**
 * SET_HELP_MESSAGE_*
 */
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;

/**
 * Makes the ped ragdoll like when falling from a great height.
 * Playing with p2 and p3 changes the animation's style and behavior.
 * In most cases the ped moves backwards then fall on the ground or collapse with a very small change to its position.
 * *   If p2 or p3 is 1 the ped will move backwards
 * *   If p2 = 0, p3 = 0 the ped will violently move backwards before falling.
 * *   If p2 = 1, p3 = 1 the ped will violently move to a random direction.
 * *   If p2 = 2, p3 = 2 the ped just ragdolls.
 * Good combinations tested:
 * p2: 100, p3: 1000
 * p2: 100, p3: 1
 * Even numbers appear to work best.
 */
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;

/**
 * Toggles between raised & lower hydraulics
 */
declare function SetHydraulicRaised(vehicle: number, toggle: boolean): void;
/**
 * Toggles between raised & lower hydraulics
 */
declare function N_0x28b18377eb6e25f6(vehicle: number, toggle: boolean): void;

declare function SetHydraulicState(vehicle: number, wheelID: number, height: number): void;
declare function N_0x84ea99c62cb3ef0c(vehicle: number, wheelID: number, height: number): void;

declare function SetHydraulicWheelState(vehicle: number, state: number): void;
declare function N_0x8ea86df356801c7d(vehicle: number, state: number): void;

declare function SetHydraulicWheelStateTransition(vehicle: number, wheelID: number, p2: number, p3: number, p4: number): void;
declare function N_0xc24075310a8b9cd1(vehicle: number, wheelID: number, p2: number, p3: number, p4: 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;

/**
 * No other indices work...
 * IK Index ---------
 * 1 = head
 * 3 = left arm
 * 4 = right arm
 * ------------------
 * EntityLookAt can be null (0 handle)
 */
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 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;

/**
 * inputGroup: 0 (PLAYER_CONTROL), 1 (unk) and 2 (unk) used in the scripts.
 */
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 9BAE5AD2508DF078.
 * Documented by NTAuthority (http://fivem.net/).
 */
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 9BAE5AD2508DF078.
 * Documented by NTAuthority (http://fivem.net/).
 */
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.
 * ```
 * NativeDB Parameter 0: int toggle
 * ```
 * @param toggle toggles the instance priority mode
 */
declare function SetInstancePriorityMode(toggle: boolean): 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.
 * ```
 * NativeDB Parameter 0: int toggle
 * ```
 * @param toggle toggles the instance priority mode
 */
declare function EnableMpDlcMaps(toggle: boolean): 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.
 * ```
 * NativeDB Parameter 0: int toggle
 * ```
 * @param toggle toggles the instance priority mode
 */
declare function UseFreemodeMapBehavior(toggle: boolean): 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.
 * ```
 * NativeDB Parameter 0: int toggle
 * ```
 * @param toggle toggles the instance priority mode
 */
declare function LowerMapPropDensity(toggle: boolean): 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 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;

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(p0: 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(p0: boolean): void;

declare function SetLightsCutoffDistanceTweak(distance: number): void;
declare function N_0xbc3cca5844452b06(distance: number): void;

/**
 * SET_LOCAL_PLAYER_*
 */
declare function SetLocalPlayerCanUsePickupsWithThisModel(modelHash: string | number, toggle: boolean): void;
/**
 * 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;

/**
 * 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;

/**
 * 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;
/**
 * 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;

/**
 * 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(p0: number): void;
declare function N_0x06a320535f5f0248(p0: number): void;

declare function SetMaxHealthHudDisplay(p0: number): void;
declare function N_0x975d66a0bc17064c(p0: 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: int 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: int 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;

/**
 * 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;

/**
 * Takes a text label, gets the string (must not be longer than 600 chars, should not exceed 64 chars) and sets the name to that string.
 * p0 must be true.
 */
declare function SetMissionName(p0: boolean, name: string): void;

/**
 * Similar to SET_MISSION_NAME but this one can take any string (must not be greater than 600 chars, should not exceed 64 chars), not just text labels.
 * p0 must be true.
 */
declare function SetMissionName_2(p0: boolean, name: string): void;
/**
 * Similar to SET_MISSION_NAME but this one can take any string (must not be greater than 600 chars, should not exceed 64 chars), not just text labels.
 * p0 must be true.
 */
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;

/**
 * Enables Radio on phone.
 */
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 the frame its called.
 */
declare function SetMouseCursorActiveThisFrame(): void;
/**
 * Shows the cursor on screen for the frame its called.
 */
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;

/**
 * p1: "MP_FEMALE_ACTION" found multiple times in the b617d scripts.
 */
declare function SetMovementModeOverride(ped: number, name: string): void;
/**
 * p1: "MP_FEMALE_ACTION" found multiple times in the b617d scripts.
 */
declare function N_0x781de8fa214e87d2(ped: number, name: string): void;

/**
 * NativeDB Introduced: v1365
 */
declare function SetMpGamerHealthBarDisplay(gamerTagId: number, p1: boolean): void;
/**
 * NativeDB Introduced: v1365
 */
declare function N_0xd29ec58c2f6b5014(gamerTagId: number, p1: boolean): void;

/**
 * NativeDB Introduced: v1365
 */
declare function SetMpGamerHealthBarMax(gamerTagId: number, value: number, maximumValue: number): void;
/**
 * NativeDB Introduced: v1365
 */
declare function N_0x1563fe35e9928e67(gamerTagId: number, value: number, maximumValue: number): void;

declare function SetMpGamerTag(headDisplayId: number, p1: boolean): void;
declare function N_0xee76ff7e6a0166b0(headDisplayId: number, p1: boolean): void;
declare function SetMpGamerTag_(headDisplayId: number, p1: boolean): 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;

/**
 * Set's the string displayed when flag 3 (AudioSpeaker) active.
 */
declare function SetMpGamerTagBigText(gamerTagId: number, _string: string): void;
/**
 * Set's the string displayed when flag 3 (AudioSpeaker) active.
 */
declare function N_0x7b7723747ccb55b6(gamerTagId: number, _string: string): void;
/**
 * Set's the string displayed when flag 3 (AudioSpeaker) active.
 */
declare function SetMpGamerTagChatting(gamerTagId: number, _string: string): void;

/**
 * Ranges from 0 to 255. 0 is grey health bar, ~50 yellow, 200 purple.
 */
declare function SetMpGamerTagColour(gamerTagId: number, flag: number, color: number): void;
/**
 * Ranges from 0 to 255. 0 is grey health bar, ~50 yellow, 200 purple.
 */
declare function N_0x613ed644950626ae(gamerTagId: number, flag: number, color: number): void;

/**
 * Ranges from 0 to 255. 0 is grey health bar, ~50 yellow, 200 purple.
 * Should be enabled as flag (2). Has 0 opacity by default.
 * - This was _SET_MP_GAMER_TAG_HEALTH_BAR_COLOR,
 */
declare function SetMpGamerTagHealthBarColour(headDisplayId: number, color: number): void;
/**
 * Ranges from 0 to 255. 0 is grey health bar, ~50 yellow, 200 purple.
 * Should be enabled as flag (2). Has 0 opacity by default.
 * - This was _SET_MP_GAMER_TAG_HEALTH_BAR_COLOR,
 */
declare function N_0x3158c77a7e888ab4(headDisplayId: number, color: number): void;
/**
 * Ranges from 0 to 255. 0 is grey health bar, ~50 yellow, 200 purple.
 * Should be enabled as flag (2). Has 0 opacity by default.
 * - This was _SET_MP_GAMER_TAG_HEALTH_BAR_COLOR,
 */
declare function SetMpGamerTagHealthBarColor(headDisplayId: number, color: number): void;

/**
 * Displays a bunch of icons above the players name, and level, and their name twice
 */
declare function SetMpGamerTagIcons(gamerTagId: number, p1: boolean): void;
/**
 * Displays a bunch of icons above the players name, and level, and their name twice
 */
declare function N_0xa67f9c46d612b6f1(gamerTagId: number, p1: boolean): 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;

declare function SetMpGamerTagName(gamerTagId: number, _string: string): void;
declare function N_0xdea2b8283baa3944(gamerTagId: number, _string: string): void;

declare function SetMpGamerTagUnk(gamerTagId: number, p1: number): void;
declare function N_0x9c16459b2324b2cf(gamerTagId: number, p1: number): void;

/**
 * enum MpGamerTagComponent
 * {
 * GAMER_NAME = 0,
 * CREW_TAG,
 * healthArmour,
 * BIG_TEXT,
 * AUDIO_ICON,
 * MP_USING_MENU,
 * MP_PASSIVE_MODE,
 * WANTED_STARS,
 * MP_DRIVER,
 * MP_CO_DRIVER,
 * MP_TAGGED,
 * GAMER_NAME_NEARBY,
 * ARROW,
 * MP_PACKAGES,
 * INV_IF_PED_FOLLOWING,
 * RANK_TEXT,
 * MP_TYPING
 * };
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function SetMpGamerTagVisibility(gamerTagId: number, component: number, toggle: boolean): void;
/**
 * enum MpGamerTagComponent
 * {
 * GAMER_NAME = 0,
 * CREW_TAG,
 * healthArmour,
 * BIG_TEXT,
 * AUDIO_ICON,
 * MP_USING_MENU,
 * MP_PASSIVE_MODE,
 * WANTED_STARS,
 * MP_DRIVER,
 * MP_CO_DRIVER,
 * MP_TAGGED,
 * GAMER_NAME_NEARBY,
 * ARROW,
 * MP_PACKAGES,
 * INV_IF_PED_FOLLOWING,
 * RANK_TEXT,
 * MP_TYPING
 * };
 * ```
 * ```
 * NativeDB Added Parameter 4: Any p3
 */
declare function N_0x63bb75abedc1f6a0(gamerTagId: number, component: 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;

declare function SetMultiplayerBankCash(): void;

/**
 * **This native does absolutely nothing, just a nullsub**
 */
declare function SetMultiplayerHudCash(p0: number, p1: number): void;

declare function SetMultiplayerWalletCash(): void;
declare function N_0xc2d15bef167e27bc(): void;

declare function SetNetworkCutsceneEntities(toggle: boolean): void;
declare function N_0xaaa553e7dd28a457(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;

/**
 * not tested....
 */
declare function SetNetworkIdSyncToPlayer(netId: number, player: number, toggle: boolean): void;
/**
 * not tested....
 */
declare function N_0xa8a024587329f36a(netId: number, player: number, toggle: boolean): void;

declare function SetNetworkIdVisibleInCutscene(netId: number, p1: boolean, p2: boolean): void;

/**
 * Original put name,
 * _SET_NETWORK_VEHICLE_NON_CONTACT
 * However changed to 'object' as the instances where this is called in scripts both freemode and golf it's only used on objects after the objects are called OBJ_TO_NET p_parachute_s (freemode) prop_golf_ball (golf). Tho the script search was done via TU27 Xbox360 ones.
 * Got my hopes up whoever put this as vehicle. I was hoping it was what R* used in non-contact races.
 */
declare function SetNetworkVehicleAsGhost(vehicle: number, toggle: boolean): void;
/**
 * Original put name,
 * _SET_NETWORK_VEHICLE_NON_CONTACT
 * However changed to 'object' as the instances where this is called in scripts both freemode and golf it's only used on objects after the objects are called OBJ_TO_NET p_parachute_s (freemode) prop_golf_ball (golf). Tho the script search was done via TU27 Xbox360 ones.
 * Got my hopes up whoever put this as vehicle. I was hoping it was what R* used in non-contact races.
 */
declare function N_0x6274c4712850841e(vehicle: number, toggle: boolean): void;
/**
 * Original put name,
 * _SET_NETWORK_VEHICLE_NON_CONTACT
 * However changed to 'object' as the instances where this is called in scripts both freemode and golf it's only used on objects after the objects are called OBJ_TO_NET p_parachute_s (freemode) prop_golf_ball (golf). Tho the script search was done via TU27 Xbox360 ones.
 * Got my hopes up whoever put this as vehicle. I was hoping it was what R* used in non-contact races.
 */
declare function SetNetworkObjectNonContact(vehicle: number, toggle: boolean): 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;

/**
 * Something to do with timecycles.
 */
declare function SetNextPlayerTcmodifier(modifierName: string): void;
/**
 * Something to do with timecycles.
 */
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;

/**
 * NativeDB Return Type: void
 */
declare function SetNumberOfParkedVehicles(value: number): number;

/**
 * This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.
 */
declare function SetObjectAsNoLongerNeeded(object: number): 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;
/**
 * 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;

/**
 * Seems to set the colour of the prop. Haven't really tested it on other props.
 * 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;

/**
 * Adjust the physics parameters of a prop, or otherwise known as "object". This is useful for simulated gravity.
 * Other parameters seem to be unknown.
 * p2: seems to be weight and gravity related. Higher value makes the obj fall faster. Very sensitive?
 * p3: seems similar to p2
 * p4: makes obj fall slower the higher the value
 * p5: similar to p4
 */
declare function SetObjectPhysicsParams(object: number, weight: number, p2: number, p3: number, p4: number, p5: number, gravity: number, p7: number, p8: number, p9: number, p10: number, buoyancy: number): void;

declare function SetObjectSomething(object: number, p1: boolean): void;
declare function N_0x77f33f2ccf64b3aa(object: number, p1: boolean): void;

declare function SetObjectStuntPropDuration(object: number, duration: number): void;
declare function N_0xdf6ca0330f2e737b(object: number, duration: number): void;

declare function SetObjectStuntPropSpeedup(object: number, p1: number): void;
declare function N_0x96ee0eba0163df80(object: number, p1: number): void;

/**
 * NativeDB Return Type: void
 */
declare function SetObjectTargettable(object: number, targettable: boolean): number;

/**
 * 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;
/**
 * 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;

/**
 * Appears to have an optional bool parameter that is unused in the scripts.
 * If you pass true, something will be set to zero.
 */
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(p0: number): void;
declare function N_0x27e32866e9a5c416(p0: 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;

/**
 * Should be named SET_PARTICLE_FX_LOOPED_PROPERTY. "Evolution" doesn't make much sense...
 * --------
 * p4 seems to be always 0.
 * Usage:
 * if (!GRAPHICS::DOES_PARTICLE_FX_LOOPED_EXIST(l_25C7)) {
 * l_25C7 = GRAPHICS::_DDE23F30CC5A0F03("scr_veh_plane_gen_damage", l_8B9, l_25C4, 0.0, 0.0, 0.0, ENTITY::_GET_ENTITY_BONE_INDEX(l_8B9, "exhaust"), 1.0, 0, 0, 0);
 * GRAPHICS::SET_PARTICLE_FX_LOOPED_EVOLUTION(l_25C7, "damage_smoke", 0.5, 0);
 * GRAPHICS::SET_PARTICLE_FX_LOOPED_EVOLUTION(l_25C7, "damage_fire", 0.2, 0);
 * }
 */
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, not networked
 */
declare function SetParticleFxNonLoopedColour(r: number, g: number, b: 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
 * ```
 * ```
 * NativeDB Return Type: void
 */
declare function SetPedAccuracy(ped: number, accuracy: number): number;

/**
 * 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;

/**
 * Set a ped's AI blip type:
 * 1 - Yellow blip with no name
 * 2
 */
declare function SetPedAiBlipGangId(ped: number, gangId: number): void;
/**
 * Set a ped's AI blip type:
 * 1 - Yellow blip with no name
 * 2
 */
declare function N_0xe52b8e7f85d39a08(ped: number, gangId: number): void;
/**
 * Set a ped's AI blip type:
 * 1 - Yellow blip with no name
 * 2
 */
declare function SetAiBlipType(ped: number, gangId: number): void;

/**
 * If used with a Ped that has an AI blip as the first argument:
 * - if p1 is true, a view cone is displayed with the AI blip
 */
declare function SetPedAiBlipHasCone(ped: number, toggle: boolean): void;
/**
 * If used with a Ped that has an AI blip as the first argument:
 * - if p1 is true, a view cone is displayed with the AI blip
 */
declare function HideSpecialAbilityLockonOperation(ped: number, toggle: boolean): void;

/**
 * Previously named _0x97C65887D4B37FA9.
 * Sets the maximum view distance for the AI BIP
 */
declare function SetPedAiBlipNoticeRange(ped: number, range: number): void;
/**
 * Previously named _0x97C65887D4B37FA9.
 * Sets the maximum view distance for the AI BIP
 */
declare function N_0x97c65887d4b37fa9(ped: number, range: number): void;
/**
 * Previously named _0x97C65887D4B37FA9.
 * Sets the maximum view distance for the AI BIP
 */
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;

/**
 * NativeDB Parameter 1: Hash ammoType
 */
declare function SetPedAmmoByType(ped: number, ammoType: 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;

/**
 * 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;

declare function SetPedBlendFromParents(ped: number, father: number, mother: number, fathersSide: number, mothersSide: number): void;

declare function SetPedBlocksPathingWhenDead(ped: number, p1: boolean): void;
declare function N_0x576594e8d64375e2(ped: number, p1: 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;

/**
 * 0 = can (bike)
 * 1 = can't (bike)
 * 2 = unk
 * 3 = unk
 */
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;

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_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;

/**
 * Research help : pastebin.com/fPL1cSwB
 * New items added with underscore as first char
 * -----------------------------------------------------------------------
 * enum PedConfigFlags
 * {
 * PED_FLAG_CAN_FLY_THRU_WINDSCREEN = 32,
 * PED_FLAG_DIES_BY_RAGDOLL = 33,
 * _PED_FLAG_PUT_ON_MOTORCYCLE_HELMET = 35,
 * PED_FLAG_NO_COLLISION = 52,
 * _PED_FLAG_IS_SHOOTING = 58,
 * _PED_FLAG_IS_ON_GROUND = 60,
 * PED_FLAG_NO_COLLIDE = 62,
 * PED_FLAG_DEAD = 71,
 * PED_FLAG_IS_SNIPER_SCOPE_ACTIVE = 72,
 * PED_FLAG_SUPER_DEAD = 73,
 * _PED_FLAG_IS_IN_AIR = 76,
 * PED_FLAG_IS_AIMING = 78,
 * PED_FLAG_DRUNK = 100,
 * _PED_FLAG_IS_NOT_RAGDOLL_AND_NOT_PLAYING_ANIM = 104,
 * PED_FLAG_NO_PLAYER_MELEE = 122,
 * PED_FLAG_NM_MESSAGE_466 = 125,
 * PED_FLAG_INJURED_LIMP = 166,
 * PED_FLAG_INJURED_LIMP_2 = 170,
 * _PED_FLAG_DISABLE_SHUFFLING_TO_DRIVER_SEAT = 184,
 * PED_FLAG_INJURED_DOWN = 187,
 * PED_FLAG_SHRINK = 223,
 * PED_FLAG_MELEE_COMBAT = 224,
 * _PED_FLAG_IS_ON_STAIRS = 253,
 * _PED_FLAG_HAS_ONE_LEG_ON_GROUND = 276,
 * PED_FLAG_NO_WRITHE = 281,
 * PED_FLAG_FREEZE = 292,
 * PED_FLAG_IS_STILL = 301,
 * PED_FLAG_NO_PED_MELEE = 314,
 * _PED_SWITCHING_WEAPON = 331,
 * PED_FLAG_ALPHA = 410,
 * _PED_FLAG_DISABLE_STARTING_VEH_ENGINE = 429,
 * };
 * (*) When flagId is set to 33 and the bool value to true, peds will die by starting ragdoll, so you should set this flag to false when you resurrect a ped.
 * When flagId is set to 62 and the boolvalue to false this happens: Ped is taken out of vehicle and can't get back in when jacking their empty vehicle. If in a plane it falls from the sky and crashes. Sometimes peds vehicle continue to drive the route without its driver who's running after.
 * (*)
 * JUMPING CHANGES  60,61,104 TO FALSE
 * BEING ON WATER CHANGES 60,61 TO FALSE AND 65,66,168 TO TRUE
 * FALLING CHANGES 60,61,104,276 TO FALSE AND TO 76 TRUE
 * DYING CHANGES 60,61,104,276* TO FALSE AND (NONE) TO TRUE
 * DYING MAKES 60,61,104 TO FALSE
 * BEING IN A CAR CHANGES 60,79,104 TO FALSE AND 62 TO TRUE
 * (*)Maximum value for flagId is 0x1AA (426) in b944.
 * ID 0xF0 (240) appears to be a special flag which is handled different compared to the others IDs.
 */
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");
 */
declare function SetPedCoverClipsetOverride(ped: number, p1: string): void;
/**
 * Found in the b617d scripts:
 * PED::_9DBA107B4937F809(v_7, "trevor_heist_cover_2h");
 */
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;

/**
 * • Usage
 * → Use this native inside a looped function.
 * → Values:
 * → 0.0 = no peds on streets
 * → 1.0 = normal peds on streets
 */
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;

/**
 * NativeDB Return Type: void
 */
declare function SetPedDiesWhenInjured(ped: number, toggle: boolean): number;

declare function SetPedDriveByClipsetOverride(ped: number, clipset: string): void;

/**
 * [16/06/2017 by ins1de] :
 * Drops the weapon object from selected peds and turns it into a pickup.
 * Offset defines the next position of the weapon, ammo count is the stored ammo in the pickup (if ammoCount == 0, pickup won't be created)
 * Default offset values (freemode.c):
 * if (is_ped_walking(player_ped_id()))
 * {
 * vVar1 = {0.6f, 4.7f, -0.1f};
 * }
 * else if (is_ped_sprinting(player_ped_id()))
 * {
 * vVar1 = {0.6f, 5.7f, -0.1f};
 * }
 * else if (is_ped_running(player_ped_id()))
 * {
 * vVar1 = {0.6f, 4.7f, -0.1f};
 * }
 * else
 * {
 * vVar1 = {0.4f, 4.7f, -0.1f};
 * }
 */
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;

/**
 * NativeDB Return Type: void
 */
declare function SetPedEnableWeaponBlocking(ped: number, toggle: boolean): number;

/**
 * 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. Scale ranges from -1.0 to 1.0.
 * Index can be 0
 * Enum Face_Feature
 * Nose_Width
 * Nose_Peak_Hight
 * Nose_Peak_Lenght
 * Nose_Bone_High
 * Nose_Peak_Lowering
 * Nose_Bone_Twist
 * EyeBrown_High
 * EyeBrown_Forward
 * Cheeks_Bone_High
 * Cheeks_Bone_Width
 * Cheeks_Width
 * Eyes_Openning
 * Lips_Thickness
 * Jaw_Bone_Width 'Bone size to sides
 * Jaw_Bone_Back_Lenght 'Bone size to back
 * Chimp_Bone_Lowering 'Go Down
 * Chimp_Bone_Lenght 'Go forward
 * Chimp_Bone_Width
 * Chimp_Hole
 * Neck_Thikness
 * End Enum
 */
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;

/**
 * Bool probably has something to do with vehicles, maybe if the ped can use vehicle to flee?
 * Values used as attributes are those in sequence of powers of two, 1, 2, 4, 8, 16, 32, 64.... 65536.
 * jedijosh920: Setting attribute "2" to true will make the ped steal a vehicle.
 */
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;

/**
 * Previously named _0xD30C50DF888D58B5, 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.
 * Note: Everything said at the bottom is only valid for persistant peds, as AI blips seem to behave differently for non-persistant peds.
 * • To create an AI blip, you must use UI::0xD30C50DF888D58B5() (_SET_PED_ENEMY_AI_BLIP). It has two arguments: "ped" which is the ped you want to AI blip to be linked to, and "showViewCones" which needs to be true for AI blips to appear.
 * • To check if a ped has an AI blip, you can use UI::DOES_PED_HAVE_AI_BLIP(Ped ped), which returns a simple bool.
 * • By default, AI blips never disappear. If you want them to disappear when you're at a certain distance from a ped, you can use UI::0x97C65887D4B37FA9(Ped ped, float distance) (_SET_AI_BLIP_MAX_DISTANCE)
 * • By default, the blip only appears when you're in combat with the specified ped. If you want it to be always displayed, you can use UI::x0C4BBF625CA98C4E() (_IS_AI_BLIP_ALWAYS_SHOWN). It also has two arguments: "ped", and a flag. If the flag is set to true, the blip will always be displayed. If it's set to false, the AI blip will have its default behaviour.
 * • By default, a view cone is displayed with the blip (basically a blue surface that represents the field of view of the ped, like in vanilla stealth missions). If you don't want it, you can disable it with UI::HIDE_SPECIAL_ABILITY_LOCKON_OPERATION(Ped ped, bool flag). If the flag is set to true, the view cone is displayed. If the flag is set to false, it is not.
 * • Finally, there's actually 3 types of AI blips:
 * 0 - the default, red, "enemy" blip
 * 1 - a weird, semi-transparent, nameless, yellow blip
 * 2 - the blue "friend" blip
 * You can change an AI blip's type with UI::0xE52B8E7F85D39A08(Ped ped, int type) (_SET_AI_BLIP_TYPE).
 */
declare function SetPedHasAiBlip(ped: number, hasCone: boolean): void;
/**
 * Previously named _0xD30C50DF888D58B5, 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.
 * Note: Everything said at the bottom is only valid for persistant peds, as AI blips seem to behave differently for non-persistant peds.
 * • To create an AI blip, you must use UI::0xD30C50DF888D58B5() (_SET_PED_ENEMY_AI_BLIP). It has two arguments: "ped" which is the ped you want to AI blip to be linked to, and "showViewCones" which needs to be true for AI blips to appear.
 * • To check if a ped has an AI blip, you can use UI::DOES_PED_HAVE_AI_BLIP(Ped ped), which returns a simple bool.
 * • By default, AI blips never disappear. If you want them to disappear when you're at a certain distance from a ped, you can use UI::0x97C65887D4B37FA9(Ped ped, float distance) (_SET_AI_BLIP_MAX_DISTANCE)
 * • By default, the blip only appears when you're in combat with the specified ped. If you want it to be always displayed, you can use UI::x0C4BBF625CA98C4E() (_IS_AI_BLIP_ALWAYS_SHOWN). It also has two arguments: "ped", and a flag. If the flag is set to true, the blip will always be displayed. If it's set to false, the AI blip will have its default behaviour.
 * • By default, a view cone is displayed with the blip (basically a blue surface that represents the field of view of the ped, like in vanilla stealth missions). If you don't want it, you can disable it with UI::HIDE_SPECIAL_ABILITY_LOCKON_OPERATION(Ped ped, bool flag). If the flag is set to true, the view cone is displayed. If the flag is set to false, it is not.
 * • Finally, there's actually 3 types of AI blips:
 * 0 - the default, red, "enemy" blip
 * 1 - a weird, semi-transparent, nameless, yellow blip
 * 2 - the blue "friend" blip
 * You can change an AI blip's type with UI::0xE52B8E7F85D39A08(Ped ped, int type) (_SET_AI_BLIP_TYPE).
 */
declare function N_0xd30c50df888d58b5(ped: number, hasCone: boolean): void;
/**
 * Previously named _0xD30C50DF888D58B5, 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.
 * Note: Everything said at the bottom is only valid for persistant peds, as AI blips seem to behave differently for non-persistant peds.
 * • To create an AI blip, you must use UI::0xD30C50DF888D58B5() (_SET_PED_ENEMY_AI_BLIP). It has two arguments: "ped" which is the ped you want to AI blip to be linked to, and "showViewCones" which needs to be true for AI blips to appear.
 * • To check if a ped has an AI blip, you can use UI::DOES_PED_HAVE_AI_BLIP(Ped ped), which returns a simple bool.
 * • By default, AI blips never disappear. If you want them to disappear when you're at a certain distance from a ped, you can use UI::0x97C65887D4B37FA9(Ped ped, float distance) (_SET_AI_BLIP_MAX_DISTANCE)
 * • By default, the blip only appears when you're in combat with the specified ped. If you want it to be always displayed, you can use UI::x0C4BBF625CA98C4E() (_IS_AI_BLIP_ALWAYS_SHOWN). It also has two arguments: "ped", and a flag. If the flag is set to true, the blip will always be displayed. If it's set to false, the AI blip will have its default behaviour.
 * • By default, a view cone is displayed with the blip (basically a blue surface that represents the field of view of the ped, like in vanilla stealth missions). If you don't want it, you can disable it with UI::HIDE_SPECIAL_ABILITY_LOCKON_OPERATION(Ped ped, bool flag). If the flag is set to true, the view cone is displayed. If the flag is set to false, it is not.
 * • Finally, there's actually 3 types of AI blips:
 * 0 - the default, red, "enemy" blip
 * 1 - a weird, semi-transparent, nameless, yellow blip
 * 2 - the blue "friend" blip
 * You can change an AI blip's type with UI::0xE52B8E7F85D39A08(Ped ped, int type) (_SET_AI_BLIP_TYPE).
 */
declare function SetPedEnemyAiBlip(ped: number, hasCone: boolean): void;
/**
 * Previously named _0xD30C50DF888D58B5, 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.
 * Note: Everything said at the bottom is only valid for persistant peds, as AI blips seem to behave differently for non-persistant peds.
 * • To create an AI blip, you must use UI::0xD30C50DF888D58B5() (_SET_PED_ENEMY_AI_BLIP). It has two arguments: "ped" which is the ped you want to AI blip to be linked to, and "showViewCones" which needs to be true for AI blips to appear.
 * • To check if a ped has an AI blip, you can use UI::DOES_PED_HAVE_AI_BLIP(Ped ped), which returns a simple bool.
 * • By default, AI blips never disappear. If you want them to disappear when you're at a certain distance from a ped, you can use UI::0x97C65887D4B37FA9(Ped ped, float distance) (_SET_AI_BLIP_MAX_DISTANCE)
 * • By default, the blip only appears when you're in combat with the specified ped. If you want it to be always displayed, you can use UI::x0C4BBF625CA98C4E() (_IS_AI_BLIP_ALWAYS_SHOWN). It also has two arguments: "ped", and a flag. If the flag is set to true, the blip will always be displayed. If it's set to false, the AI blip will have its default behaviour.
 * • By default, a view cone is displayed with the blip (basically a blue surface that represents the field of view of the ped, like in vanilla stealth missions). If you don't want it, you can disable it with UI::HIDE_SPECIAL_ABILITY_LOCKON_OPERATION(Ped ped, bool flag). If the flag is set to true, the view cone is displayed. If the flag is set to false, it is not.
 * • Finally, there's actually 3 types of AI blips:
 * 0 - the default, red, "enemy" blip
 * 1 - a weird, semi-transparent, nameless, yellow blip
 * 2 - the blue "friend" blip
 * You can change an AI blip's type with UI::0xE52B8E7F85D39A08(Ped ped, int type) (_SET_AI_BLIP_TYPE).
 */
declare function SetPedAiBlip(ped: number, hasCone: boolean): void;

/**
 * Called in decompiled scripts as alternative to _SET_PED_ENEMY_AI_BLIP in an else, when the additional parameter p3 is not -1
 */
declare function SetPedHasAiBlipWithColor(ped: number, hasCone: boolean, color: number): void;
/**
 * Called in decompiled scripts as alternative to _SET_PED_ENEMY_AI_BLIP in an else, when the additional parameter p3 is not -1
 */
declare function N_0xb13dcb4c6faad238(ped: number, hasCone: boolean, color: number): void;

/**
 * The "shape" parameters control the shape of the ped's face. The "skin" parameters control the skin tone. ShapeMix and skinMix control how much the first and second IDs contribute,(typically mother and father.) ThirdMix overrides the others in favor of the third IDs. IsParent is set for "children" of the player character's grandparents during old-gen character creation. It has unknown effect otherwise.
 * The IDs start at zero and go Male Non-DLC, Female Non-DLC, Male DLC, and Female DLC.
 * !!!Can someone add working example for this???
 * try this:
 * headBlendData headData;
 * _GET_PED_HEAD_BLEND_DATA(PLAYER_PED_ID(), &headData);
 * SET_PED_HEAD_BLEND_DATA(PLAYER_PED_ID(), headData.shapeFirst, headData.shapeSecond, headData.shapeThird, headData.skinFirst, headData.skinSecond
 * , headData.skinThird, headData.shapeMix, headData.skinMix, headData.skinThird, 0);
 * For more info please refer to this topic.
 * gtaforums.com/topic/858970-all-gtao-face-ids-pedset-ped-head-blend-data-explained
 */
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
 */
declare function SetPedHeadOverlay(ped: number, overlayID: number, index: number, opacity: number): void;

/**
 * Used for freemode (online) characters.
 * ColorType is 1 for eyebrows, beards, and chest hair; 2 for blush and lipstick; and 0 otherwise, though not called in those cases.
 * Called after SET_PED_HEAD_OVERLAY().
 */
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(p0: number, p1: number): void;
declare function N_0xc1f6ebf9a3d55538(p0: number, p1: 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;

/**
 * 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;
/**
 * 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;

/**
 * PED::SET_PED_IN_VEHICLE_CONTEXT(l_128, GAMEPLAY::GET_HASH_KEY("MINI_PROSTITUTE_LOW_PASSENGER"));
 * PED::SET_PED_IN_VEHICLE_CONTEXT(l_128, GAMEPLAY::GET_HASH_KEY("MINI_PROSTITUTE_LOW_RESTRICTED_PASSENGER"));
 * PED::SET_PED_IN_VEHICLE_CONTEXT(l_3212, GAMEPLAY::GET_HASH_KEY("MISS_FAMILY1_JIMMY_SIT"));
 * PED::SET_PED_IN_VEHICLE_CONTEXT(l_3212, GAMEPLAY::GET_HASH_KEY("MISS_FAMILY1_JIMMY_SIT_REAR"));
 * PED::SET_PED_IN_VEHICLE_CONTEXT(l_95, GAMEPLAY::GET_HASH_KEY("MISS_FAMILY2_JIMMY_BICYCLE"));
 * PED::SET_PED_IN_VEHICLE_CONTEXT(num3, GAMEPLAY::GET_HASH_KEY("MISSFBI2_MICHAEL_DRIVEBY"));
 * PED::SET_PED_IN_VEHICLE_CONTEXT(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("MISS_ARMENIAN3_FRANKLIN_TENSE"));
 * PED::SET_PED_IN_VEHICLE_CONTEXT(PLAYER::PLAYER_PED_ID(), GAMEPLAY::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;

/**
 * Ped: The ped to warp.
 * vehicle: The vehicle to warp the ped into.
 * Seat_Index: [-1 is driver seat, -2 first free passenger seat]
 * Moreinfo of Seat Index
 * DriverSeat = -1
 * Passenger = 0
 * Left Rear = 1
 * RightRear = 2
 */
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;

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;

/**
 * NativeDB Parameter 0: Hash modelHash
 */
declare function SetPedModelIsSuppressed(model: 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;

/**
 * p2 is usually 1.0f
 * EDIT 12/24/16:
 * p2 does absolutely nothing no matter what the value is.
 * EDIT 08/16/17:
 * p2 is the time for a smooth changing to the new clipset.
 * List of movement clipsets:
 * Thanks to elsewhat for list.
 * "ANIM_GROUP_MOVE_BALLISTIC"
 * "ANIM_GROUP_MOVE_LEMAR_ALLEY"
 * "clipset@move@trash_fast_turn"
 * "FEMALE_FAST_RUNNER"
 * "missfbi4prepp1_garbageman"
 * "move_characters@franklin@fire"
 * "move_characters@Jimmy@slow@"
 * "move_characters@michael@fire"
 * "move_f@flee@a"
 * "move_f@scared"
 * "move_f@sexy@a"
 * "move_heist_lester"
 * "move_injured_generic"
 * "move_lester_CaneUp"
 * "move_m@bag"
 * "MOVE_M@BAIL_BOND_NOT_TAZERED"
 * "MOVE_M@BAIL_BOND_TAZERED"
 * "move_m@brave"
 * "move_m@casual@d"
 * "move_m@drunk@moderatedrunk"
 * "MOVE_M@DRUNK@MODERATEDRUNK"
 * "MOVE_M@DRUNK@MODERATEDRUNK_HEAD_UP"
 * "MOVE_M@DRUNK@SLIGHTLYDRUNK"
 * "MOVE_M@DRUNK@VERYDRUNK"
 * "move_m@fire"
 * "move_m@gangster@var_e"
 * "move_m@gangster@var_f"
 * "move_m@gangster@var_i"
 * "move_m@JOG@"
 * "MOVE_M@PRISON_GAURD"
 * "MOVE_P_M_ONE"
 * "MOVE_P_M_ONE_BRIEFCASE"
 * "move_p_m_zero_janitor"
 * "move_p_m_zero_slow"
 * "move_ped_bucket"
 * "move_ped_crouched"
 * "move_ped_mop"
 * "MOVE_M@FEMME@"
 * "MOVE_F@FEMME@"
 * "MOVE_M@GANGSTER@NG"
 * "MOVE_F@GANGSTER@NG"
 * "MOVE_M@POSH@"
 * "MOVE_F@POSH@"
 * "MOVE_M@TOUGH_GUY@"
 * "MOVE_F@TOUGH_GUY@"
 * ~ NotCrunchyTaco
 */
declare function SetPedMovementClipset(ped: number, clipSet: string, p2: 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;

/**
 * NativeDB Return Type: void
 */
declare function SetPedPathCanUseClimbovers(ped: number, Toggle: boolean): number;

/**
 * NativeDB Return Type: void
 */
declare function SetPedPathCanUseLadders(ped: number, Toggle: boolean): number;

declare function SetPedPathClimbCostModifier(ped: number, p1: number): void;
declare function N_0x88e32db8c1a4aa4b(ped: number, p1: 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;

/**
 * p2 could be time. Only example in the decompiled scripts uses it as -1.
 */
declare function SetPedPinnedDown(ped: number, pinned: boolean, p2: 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): number;
/**
 * 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): number;
/**
 * 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): 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 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](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;

/**
 * NativeDB Return Type: void
 */
declare function SetPedRagdollForceFall(ped: number): number;

/**
 * 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 false 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
 * ```
 * ```
 * NativeDB Parameter 1: int p1
 */
declare function SetPedRandomComponentVariation(ped: number, p1: boolean): 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;

/**
 * **Known values**
 * `PRF_PreventGoingIntoStillInVehicleState` = 236 *(fanatic2.c)*
 */
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;

/**
 * Only used once in the scripts
 * weapon::_0xB4C8D77C80C0421E(Local_888[3  -- [[33]] ], -1082130432);
 * The code following this relates to manually triggering an RPG rocket (creating the object, the particle fx and sound)
 */
declare function SetPedShootOrdnanceWeapon(ped: number, p1: number): number;
/**
 * Only used once in the scripts
 * weapon::_0xB4C8D77C80C0421E(Local_888[3  -- [[33]] ], -1082130432);
 * The code following this relates to manually triggering an RPG rocket (creating the object, the particle fx and sound)
 */
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 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): number;

/**
 * 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): number;

/**
 * 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;

declare function SetPedVehicleForcedSeatUsage(ped: number, vehicle: number, seatIndex: number, flags: number): void;
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::_7CDC8C3B89F661B3(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("PAIGE_PVG"));
 * AUDIO::_7CDC8C3B89F661B3(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("TALINA_PVG"));
 * AUDIO::_7CDC8C3B89F661B3(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("FEMALE_LOST_BLACK_PVG"));
 * AUDIO::_7CDC8C3B89F661B3(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("FEMALE_LOST_WHITE_PVG"));
 */
declare function SetPedVoiceGroup(ped: number, voiceGroupHash: string | number): void;
/**
 * From the scripts:
 * AUDIO::_7CDC8C3B89F661B3(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("PAIGE_PVG"));
 * AUDIO::_7CDC8C3B89F661B3(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("TALINA_PVG"));
 * AUDIO::_7CDC8C3B89F661B3(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("FEMALE_LOST_BLACK_PVG"));
 * AUDIO::_7CDC8C3B89F661B3(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("FEMALE_LOST_WHITE_PVG"));
 */
declare function N_0x7cdc8c3b89f661b3(ped: number, voiceGroupHash: string | number): void;

declare function SetPedWaypointRouteOffset(p0: number, p1: number, p2: number, p3: number): number;

/**
 * NativeDB Parameter 1: Hash weaponHash
 * NativeDB Parameter 2: Hash camoComponentHash
 */
declare function SetPedWeaponLiveryColor(ped: number, weaponHash: number, camoComponentHash: number, colorIndex: number): void;
/**
 * NativeDB Parameter 1: Hash weaponHash
 * NativeDB Parameter 2: Hash camoComponentHash
 */
declare function N_0x9fe5633880ecd8ed(ped: number, weaponHash: number, camoComponentHash: number, colorIndex: number): void;

declare function SetPedWeaponMovementClipset(ped: number, clipSet: string): void;

/**
 * tintIndex can be the following:
 * 1
 * 2
 * 3
 * 4
 * 5
 * 6
 * 7
 */
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 SetPickupGenerationRangeMultiplier(multiplier: number): void;
declare function N_0x318516e02de3ece2(multiplier: number): void;

/**
 * Name verified in RDR3 gamecode
 */
declare function SetPickupHiddenWhenUncollectable(p0: number, p1: number): void;
/**
 * Name verified in RDR3 gamecode
 */
declare function N_0x3ed2b83ab2e82799(p0: number, p1: number): void;

/**
 * duration specifies the time until the next respawn, in ms. (known values: 600000).
 * Usage Example:
 * Pickup pickup = OBJECT::CREATE_PICKUP_ROTATE(...);
 * OBJECT::SET_PICKUP_REGENERATION_TIME(pickup, 600000); // 10mins
 */
declare function SetPickupRegenerationTime(pickup: number, duration: number): void;

/**
 * Name verified in RDR3 gamecode
 */
declare function SetPickupUncollectable(p0: number, p1: number): void;
/**
 * Name verified in RDR3 gamecode
 */
declare function N_0x1c1b69fae509ba97(p0: number, p1: 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 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;

/**
 * NativeDB Introduced: v1290
 */
declare function SetPlaneVtolAnimationDisabled(vehicle: number, direction: number): void;

declare function SetPlaybackSpeed(vehicle: number, speed: number): void;

declare function SetPlaybackToUseAi(vehicle: number, flag: number): void;

declare function SetPlaybackToUseAiTryToRevertBackLater(p0: number, p1: number, p2: 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;

/**
 * NativeDB Parameter 0: Player player
 * NativeDB Parameter 1: BOOL state
 */
declare function SetPlayerBluetoothState(player: boolean, state: number): void;
/**
 * NativeDB Parameter 0: Player player
 * NativeDB Parameter 1: BOOL state
 */
declare function N_0x5dc40a8869c22141(player: boolean, state: number): void;

/**
 * Sets whether this player can be hassled by gangs.
 */
declare function SetPlayerCanBeHassledByGangs(player: number, toggle: boolean): void;

/**
 * Set whether this player should be able to do drive-bys.
 * "A drive-by is when a ped is aiming/shooting from vehicle. This includes middle finger taunts. By setting this value to false I confirm the player is unable to do all that. Tested on tick."
 */
declare function SetPlayerCanDoDriveBy(player: number, toggle: boolean): void;

declare function SetPlayerCanLeaveParachuteSmokeTrail(player: number, enabled: boolean): void;

/**
 * Sets whether this player can take cover.
 * ```
 * ```
 * NativeDB Return Type: void
 */
declare function SetPlayerCanUseCover(player: number, toggle: boolean): number;

/**
 * Displays cash change notifications on HUD.
 */
declare function SetPlayerCashChange(cash: number, bank: number): void;
/**
 * Displays cash change notifications on HUD.
 */
declare function SetSingleplayerHudCash(cash: number, bank: number): 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;

/**
 * Every occurrence of p1 I found was true.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 SetPlayerClothPinFrames(player: number, toggle: boolean): void;

/**
 * Flags used in the scripts: 0,4,16,24,32,56,60,64,128,134,256,260,384,512,640,768,896,900,952,1024,1280,2048,2560
 * Note to people who needs this with camera mods, etc.:
 * Flags(0, 4, 16, 24, 32, 56, 60, 64, 128, 134, 512, 640, 1024, 2048, 2560)
 * - Disables camera rotation as well.
 * Flags(256, 260, 384, 768, 896, 900, 952, 1280)
 * cameraRotation = flags & (1 << 8)
 */
declare function SetPlayerControl(player: number, bHasControl: boolean, flags: number): void;

/**
 * Minimum distance from the ground to enable in-air ragdoll
 */
declare function SetPlayerFallDistance(player: number, distance: number): void;
/**
 * Minimum distance from the ground to enable in-air ragdoll
 */
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, hides special ability bar / character name in the pause menu
 * If toggle is false, shows special ability bar / character name in the pause menu
 */
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
 */
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
 */
declare function SetDirectorMode(toggle: boolean): void;

/**
 * gets byte at offset 0x862 in the specified players data (ped data + 0xbd0) and stores the bool p1 in it.
 * lwz       r3, 0xBD0(r3) ;r3 is player data
 * lbz       r4, 0x862(r3) ;r4 is now the byte
 * insrwi    r4, r31, 1,28 ;stores p1 as a bit in place 28 idk
 * stb       r4, 0x862(r3) ; puts the newly modified one back in
 */
declare function SetPlayerLeavePedBehind(player: number, toggle: boolean): void;
/**
 * gets byte at offset 0x862 in the specified players data (ped data + 0xbd0) and stores the bool p1 in it.
 * lwz       r3, 0xBD0(r3) ;r3 is player data
 * lbz       r4, 0x862(r3) ;r4 is now the byte
 * insrwi    r4, r31, 1,28 ;stores p1 as a bit in place 28 idk
 * stb       r4, 0x862(r3) ; puts the newly modified one back in
 */
declare function N_0xff300c7649724a0b(player: number, toggle: boolean): void;

/**
 * Example from fm_mission_controler.ysc.c4:
 * PLAYER::SET_PLAYER_LOCKON(PLAYER::PLAYER_ID(), 1);
 * All other decompiled scripts using this seem to be using the player id as the first parameter, so I feel the need to confirm it as so.
 * No need to confirm it says PLAYER_ID() so it uses PLAYER_ID() lol.
 */
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 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;

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 (by using the GetPlayerPed native).
 * ```
 * Make sure to request the model first and wait until it has loaded.
 * ```
 */
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
 * 1
 * 2
 * 3
 * 4
 */
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;

/**
 * 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 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;

/**
 * 77
 */
declare function SetPlayerSprint(player: number, toggle: boolean): void;

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(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number): void;
declare function N_0xc208b673ce446b61(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: 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 = Traditional GTA
 * 1 = Assisted Aiming
 * 2 = Free Aim
 * Even tho gtaforums nor Alexander B supports this, if you're online in freemode already it's nice to have this since retail or otherwise you have to go to SP to change it.
 */
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;

/**
 * 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
 * ```
 * ```
 * NativeDB Parameter 1: Vector3* position
 * NativeDB Parameter 2: BOOL y
 * NativeDB Parameter 3: BOOL z
 */
declare function SetPlayerWantedCentrePosition(player: number, position: number, y: number, z: number): void;

/**
 * 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;

/**
 * This modifies the damage value of your weapon. Whether it is a multiplier or base damage is unknown.
 * Based on tests, it is unlikely to be a multiplier.
 */
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;

/**
 * NativeDB Return Type: void
 */
declare function SetPlayersLastVehicle(vehicle: number): number;

/**
 * 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;

declare function SetPopControlSphereThisFrame(x: number, y: number, z: number, p3: number, p4: number): void;
declare function N_0xd8c3be3ee94caf2d(x: number, y: number, z: number, p3: number, p4: 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 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;

/**
 * actual native starts with SET_RADAR_ZOOM_...
 */
declare function SetRadarZoomPrecise(zoom: number): void;
/**
 * actual native starts with SET_RADAR_ZOOM_...
 */
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(p0: number): void;
declare function N_0x2c96cdb04fca358e(p0: number): void;

/**
 * Disables the radio station from the radio wheel.\
 * Note: You cannot disable LSUR, WCTR and Blaine County Radio.
 * List of known station names;
 * ```
 * RADIO_01_CLASS_ROCK
 * RADIO_02_POP
 * RADIO_03_HIPHOP_NEW
 * RADIO_04_PUNK
 * RADIO_05_TALK_01
 * RADIO_06_COUNTRY
 * RADIO_07_DANCE_01
 * RADIO_08_MEXICAN
 * RADIO_09_HIPHOP_OLD
 * RADIO_12_REGGAE
 * RADIO_13_JAZZ
 * RADIO_14_DANCE_02
 * RADIO_15_MOTOWN
 * RADIO_20_THELAB
 * RADIO_16_SILVERLAKE
 * RADIO_17_FUNK
 * RADIO_18_90S_ROCK
 * RADIO_21_DLC_XM17
 * RADIO_22_DLC_BATTLE_MIX1_RADIO
 * RADIO_19_USER
 * HIDDEN_RADIO_AMBIENT_TV
 * HIDDEN_RADIO_AMBIENT_TV_BRIGHT
 * HIDDEN_RADIO_01_CLASS_ROCK
 * HIDDEN_RADIO_ADVERTS
 * HIDDEN_RADIO_02_POP
 * HIDDEN_RADIO_03_HIPHOP_NEW
 * HIDDEN_RADIO_04_PUNK
 * HIDDEN_RADIO_06_COUNTRY
 * HIDDEN_RADIO_07_DANCE_01
 * HIDDEN_RADIO_09_HIPHOP_OLD
 * HIDDEN_RADIO_12_REGGAE
 * HIDDEN_RADIO_15_MOTOWN
 * HIDDEN_RADIO_16_SILVERLAKE
 * RADIO_22_DLC_BATTLE_MIX1_CLUB
 * HIDDEN_RADIO_STRIP_CLUB
 * DLC_BATTLE_MIX1_CLUB_PRIV
 * HIDDEN_RADIO_BIKER_CLASSIC_ROCK
 * DLC_BATTLE_MIX2_CLUB_PRIV
 * HIDDEN_RADIO_BIKER_MODERN_ROCK
 * RADIO_23_DLC_BATTLE_MIX2_CLUB
 * RADIO_25_DLC_BATTLE_MIX4_CLUB
 * DLC_BATTLE_MIX3_CLUB_PRIV
 * RADIO_26_DLC_BATTLE_CLUB_WARMUP
 * HIDDEN_RADIO_BIKER_PUNK
 * RADIO_24_DLC_BATTLE_MIX3_CLUB
 * DLC_BATTLE_MIX4_CLUB_PRIV
 * HIDDEN_RADIO_BIKER_HIP_HOP
 * ```
 * @param stationName The name of the radio station
 * @param Toggle Toggle the station on/off
 */
declare function SetRadioStationDisabled(stationName: string, Toggle: boolean): void;
/**
 * Disables the radio station from the radio wheel.\
 * Note: You cannot disable LSUR, WCTR and Blaine County Radio.
 * List of known station names;
 * ```
 * RADIO_01_CLASS_ROCK
 * RADIO_02_POP
 * RADIO_03_HIPHOP_NEW
 * RADIO_04_PUNK
 * RADIO_05_TALK_01
 * RADIO_06_COUNTRY
 * RADIO_07_DANCE_01
 * RADIO_08_MEXICAN
 * RADIO_09_HIPHOP_OLD
 * RADIO_12_REGGAE
 * RADIO_13_JAZZ
 * RADIO_14_DANCE_02
 * RADIO_15_MOTOWN
 * RADIO_20_THELAB
 * RADIO_16_SILVERLAKE
 * RADIO_17_FUNK
 * RADIO_18_90S_ROCK
 * RADIO_21_DLC_XM17
 * RADIO_22_DLC_BATTLE_MIX1_RADIO
 * RADIO_19_USER
 * HIDDEN_RADIO_AMBIENT_TV
 * HIDDEN_RADIO_AMBIENT_TV_BRIGHT
 * HIDDEN_RADIO_01_CLASS_ROCK
 * HIDDEN_RADIO_ADVERTS
 * HIDDEN_RADIO_02_POP
 * HIDDEN_RADIO_03_HIPHOP_NEW
 * HIDDEN_RADIO_04_PUNK
 * HIDDEN_RADIO_06_COUNTRY
 * HIDDEN_RADIO_07_DANCE_01
 * HIDDEN_RADIO_09_HIPHOP_OLD
 * HIDDEN_RADIO_12_REGGAE
 * HIDDEN_RADIO_15_MOTOWN
 * HIDDEN_RADIO_16_SILVERLAKE
 * RADIO_22_DLC_BATTLE_MIX1_CLUB
 * HIDDEN_RADIO_STRIP_CLUB
 * DLC_BATTLE_MIX1_CLUB_PRIV
 * HIDDEN_RADIO_BIKER_CLASSIC_ROCK
 * DLC_BATTLE_MIX2_CLUB_PRIV
 * HIDDEN_RADIO_BIKER_MODERN_ROCK
 * RADIO_23_DLC_BATTLE_MIX2_CLUB
 * RADIO_25_DLC_BATTLE_MIX4_CLUB
 * DLC_BATTLE_MIX3_CLUB_PRIV
 * RADIO_26_DLC_BATTLE_CLUB_WARMUP
 * HIDDEN_RADIO_BIKER_PUNK
 * RADIO_24_DLC_BATTLE_MIX3_CLUB
 * DLC_BATTLE_MIX4_CLUB_PRIV
 * HIDDEN_RADIO_BIKER_HIP_HOP
 * ```
 * @param stationName The name of the radio station
 * @param Toggle Toggle the station on/off
 */
declare function N_0x94f2e83ead7e6b82(stationName: string, Toggle: boolean): void;

/**
 * 6 calls in the b617d scripts, removed identical lines:
 * AUDIO::_774BD811F656A122("RADIO_01_CLASS_ROCK", 1);
 * AUDIO::_774BD811F656A122(AUDIO::GET_RADIO_STATION_NAME(10), 0);
 * AUDIO::_774BD811F656A122(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::_774BD811F656A122("RADIO_01_CLASS_ROCK", 1);
 * AUDIO::_774BD811F656A122(AUDIO::GET_RADIO_STATION_NAME(10), 0);
 * AUDIO::_774BD811F656A122(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;

declare function SetRadiusBlipEdge(p0: number, p1: boolean): void;
declare function N_0x25615540d894b814(p0: number, p1: 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;

/**
 * NativeDB Return Type: void
 */
declare function SetRandomBoats(toggle: boolean): number;

/**
 * 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.
 * ```
 * ```
 * NativeDB Parameter 0: BOOL toggle
 */
declare function SetRandomEventFlag(toggle: number): void;

declare function SetRandomSeed(seed: number): void;

declare function SetRandomTrains(toggle: boolean): void;

declare function SetRandomVehicleDensityMultiplierThisFrame(multiplier: number): void;

declare function SetRandomWeatherType(): 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;

/**
 * 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;

/**
 * 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;

/**
 * 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;

/**
 * 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): number;

/**
 * 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;

/**
 * The bool is not a toggle!!!
 */
declare function SetSaveMenuActive(ignoreVehicle: boolean): void;

/**
 * Set profile setting 501
 */
declare function SetSaveMigrationTransactionId(transactionId: number): void;
/**
 * Set profile setting 501
 */
declare function N_0xf6792800ac95350d(transactionId: number): 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;

/**
 * p0 and p1 are always the same
 */
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"
 * -alphazolam
 * scenarioType could be the same as scenarioName, used in for example AI::TASK_START_SCENARIO_AT_POSITION.
 */
declare function SetScenarioTypeEnabled(scenarioType: string, toggle: boolean): void;

/**
 * For a full list, see here: pastebin.com/yLNWicUi
 */
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:
 * ```cpp
 * 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:
 * ```cpp
 * 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:
 * ```cpp
 * 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:
 * ```cpp
 * 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;

/**
 * NativeDB Parameter 0: Hash doorHash
 */
declare function SetScriptUpdateDoorAudio(doorHash: number, toggle: boolean): void;
/**
 * NativeDB Parameter 0: Hash doorHash
 */
declare function N_0x06c0023bed16dd6b(doorHash: 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 Parameter 1: BOOL toggle
 */
declare function SetSirenWithNoDriver(vehicle: number, toggle: number): void;

declare function SetSnakeoilForEntry(name: string, path: string, data: string): void;

/**
 * UI::0x7AD67C95("Gallery");
 * UI::0x7AD67C95("Missions");
 * UI::0x7AD67C95("General");
 * UI::0x7AD67C95("Playlists");
 */
declare function SetSocialClubTour(name: string): void;
/**
 * UI::0x7AD67C95("Gallery");
 * UI::0x7AD67C95("Missions");
 * UI::0x7AD67C95("General");
 * UI::0x7AD67C95("Playlists");
 */
declare function N_0x9e778248d6685fe0(name: string): void;

declare function SetSpecialAbility(player: number, p1: number): void;
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;

/**
 * When I called this with what the script was doing, which was -190f for yaw pitch and roll, all my car did was jitter a little. I also tried 0 and 190f. I altered the p1 variable between TRUE and FALSE and didn't see a difference.
 * This might have something to do with the physbox of the vehicle, but I'm not sure.
 */
declare function SetSubmarineCrushDepths(submarine: number, toggle: boolean, crushWarningDepth1: number, crushWarningDepth2: number, crushDepth: number): void;
/**
 * When I called this with what the script was doing, which was -190f for yaw pitch and roll, all my car did was jitter a little. I also tried 0 and 190f. I altered the p1 variable between TRUE and FALSE and didn't see a difference.
 * This might have something to do with the physbox of the vehicle, but I'm not sure.
 */
declare function JitterVehicle(submarine: number, toggle: boolean, crushWarningDepth1: number, crushWarningDepth2: number, crushDepth: number): void;

/**
 * NativeDB Return Type: void
 */
declare function SetSuperJumpThisFrame(player: number): number;

/**
 * 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;

/**
 * Examples:
 * AI::_B0A6CFD2C69C1088(PLAYER::PLAYER_PED_ID(), "isFirstPerson", 0);
 * AI::_B0A6CFD2C69C1088(PLAYER::PLAYER_PED_ID(), "isFirstPerson", 1);
 * AI::_B0A6CFD2C69C1088(PLAYER::PLAYER_PED_ID(), "isBlocked", sub_179027());
 * @param ped The ped that's performing the task.
 * @param signalName The property name.
 * @param value The property value to set.
 */
declare function SetTaskMoveNetworkSignalBool(ped: number, signalName: string, value: boolean): void;
/**
 * Examples:
 * AI::_B0A6CFD2C69C1088(PLAYER::PLAYER_PED_ID(), "isFirstPerson", 0);
 * AI::_B0A6CFD2C69C1088(PLAYER::PLAYER_PED_ID(), "isFirstPerson", 1);
 * AI::_B0A6CFD2C69C1088(PLAYER::PLAYER_PED_ID(), "isBlocked", sub_179027());
 * @param ped The ped that's performing the task.
 * @param signalName The property name.
 * @param value The property value to set.
 */
declare function N_0xb0a6cfd2c69c1088(ped: number, signalName: string, value: boolean): void;
/**
 * Examples:
 * AI::_B0A6CFD2C69C1088(PLAYER::PLAYER_PED_ID(), "isFirstPerson", 0);
 * AI::_B0A6CFD2C69C1088(PLAYER::PLAYER_PED_ID(), "isFirstPerson", 1);
 * AI::_B0A6CFD2C69C1088(PLAYER::PLAYER_PED_ID(), "isBlocked", sub_179027());
 * @param ped The ped that's performing the task.
 * @param signalName The property name.
 * @param value The property value to set.
 */
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: AI::_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: AI::_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: AI::_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;

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): number;

/**
 * Sets an unknown boolean value in the text chat.
 */
declare function SetTextChatUnk(p0: boolean): void;

declare function SetTextColour(red: number, green: number, blue: number, alpha: number): void;

declare function SetTextDropShadow(): void;

/**
 * Sets the drop shadow for the current text style.
 * @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;

/**
 * from script am_mp_yacht.c int?
 * ui::set_text_leading(2);
 * ```
 * ```
 * NativeDB Parameter 0: int p0
 */
declare function SetTextLeading(p0: boolean): 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
 */
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;

/**
 * Sets the near clipping plane of the third person aim camera.
 */
declare function SetThirdPersonAimCamNearClip(distance: number): void;
/**
 * Sets the near clipping plane of the third person aim camera.
 */
declare function N_0x42156508606de65e(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.)
 * For a full list, see here: pastebin.com/kVPwMemE
 */
declare function SetTimecycleModifier(modifierName: string): void;

declare function SetTimecycleModifierStrength(strength: number): 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;

/**
 * Also related to the attachment strength of the trailer (e.g., only detaching on negative health).
 */
declare function SetTrailerLegsRaised(vehicle: number): void;
/**
 * Also related to the attachment strength of the trailer (e.g., only detaching on negative health).
 */
declare function N_0x95cf53b3d687f9fa(vehicle: number): void;

/**
 * NativeDB Return Type: void
 */
declare function SetTrainCruiseSpeed(train: number, speed: number): number;

/**
 * NativeDB Return Type: void
 */
declare function SetTrainSpeed(train: number, speed: number): number;

/**
 * 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;

/**
 * For a full list, see here: pastebin.com/kVPwMemE
 */
declare function SetTransitionTimecycleModifier(modifierName: string, transition: number): void;

/**
 * Might be more appropriate in AUDIO?
 * Rockstar made it like this.
 * 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: 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;

/**
 * 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;

declare function SetUserRadioControlEnabled(toggle: boolean): void;

/**
 * Called 5 times in the scripts. All occurrences found in b617d, sorted alphabetically and identical lines removed:
 * AUDIO::GET_PLAYER_HEADSET_SOUND_ALTERNATE("INOUT", 0.0);
 * AUDIO::GET_PLAYER_HEADSET_SOUND_ALTERNATE("INOUT", 1.0);
 */
declare function SetVariableOnCutsceneAudio(variableName: string, value: number): void;
/**
 * Called 5 times in the scripts. All occurrences found in b617d, sorted alphabetically and identical lines removed:
 * AUDIO::GET_PLAYER_HEADSET_SOUND_ALTERNATE("INOUT", 0.0);
 * AUDIO::GET_PLAYER_HEADSET_SOUND_ALTERNATE("INOUT", 1.0);
 */
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::_733ADF241531E5C2("inTunnel", 1.0);
 * AUDIO::_733ADF241531E5C2("inTunnel", 0.0);
 * I do not know as of yet what this does, but this was found in the scripts.
 */
declare function SetVariableOnUnderWaterStream(variableName: string, value: number): void;
/**
 * AUDIO::_733ADF241531E5C2("inTunnel", 1.0);
 * AUDIO::_733ADF241531E5C2("inTunnel", 0.0);
 * I do not know as of yet what this does, but this was found in the scripts.
 */
declare function N_0x733adf241531e5c2(variableName: string, value: 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 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;

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;

/**
 * Please change to 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;

/**
 * Allows some vehicles (related to "strModelFlags" within handling?) to continue to operate while its engine health (see 0xC45D23BAF168AAB8) is less than zero
 */
declare function SetVehicleCanEngineOperateOnFire(vehicle: number, toggle: boolean): void;
/**
 * Allows some vehicles (related to "strModelFlags" within handling?) to continue to operate while its engine health (see 0xC45D23BAF168AAB8) is less than zero
 */
declare function N_0x206bc5dc9d1ac70a(vehicle: number, toggle: boolean): void;

declare function SetVehicleCanLeakOil(vehicle: number, p1: boolean): void;
declare function N_0x51bb2d88d31a914b(vehicle: number, p1: boolean): void;

declare function SetVehicleCanLeakPetrol(vehicle: number, p1: boolean): void;
declare function N_0x192547247864dfdd(vehicle: number, p1: boolean): void;

/**
 * if (!ENTITY::DOES_ENTITY_BELONG_TO_THIS_SCRIPT(g_10A5A._f8B[a_0 -- [[1]] ], 1)) {
 * sub_20af7("No longer needed: Vehicle owned by other script");
 * if ((((a_0 == 24) && (!sub_3a04(g_10A5A._f8B[a_0 -- [[1]] ]))) && (!sub_39c9(g_10A5A._f8B[a_0 -- [[1]] ]))) && (ENTITY::GET_ENTITY_MODEL(g_10A5A._f8B[a_0 -- [[1]] ]) != ${monster})) {
 * VEHICLE::_428BACCDF5E26EAD(g_10A5A._f8B[a_0 -- [[1]] ], 1);
 * }
 * g_10A5A._f8B[a_0 -- [[1]] ] = 0;
 * g_10A5A[a_0 -- [[1]] ] = 1;
 * sub_20ada(a_0);
 * return ;
 * }
 */
declare function SetVehicleCanSaveInGarage(vehicle: number, toggle: boolean): void;
/**
 * if (!ENTITY::DOES_ENTITY_BELONG_TO_THIS_SCRIPT(g_10A5A._f8B[a_0 -- [[1]] ], 1)) {
 * sub_20af7("No longer needed: Vehicle owned by other script");
 * if ((((a_0 == 24) && (!sub_3a04(g_10A5A._f8B[a_0 -- [[1]] ]))) && (!sub_39c9(g_10A5A._f8B[a_0 -- [[1]] ]))) && (ENTITY::GET_ENTITY_MODEL(g_10A5A._f8B[a_0 -- [[1]] ]) != ${monster})) {
 * VEHICLE::_428BACCDF5E26EAD(g_10A5A._f8B[a_0 -- [[1]] ], 1);
 * }
 * g_10A5A._f8B[a_0 -- [[1]] ] = 0;
 * g_10A5A[a_0 -- [[1]] ] = 1;
 * sub_20ada(a_0);
 * return ;
 * }
 */
declare function N_0x428baccdf5e26ead(vehicle: number, toggle: boolean): void;

/**
 * from Decrypted Scripts I found
 * VEHICLE::SET_VEHICLE_CEILING_HEIGHT(l_BD9[2 -- [[2]] ], 420.0);
 */
declare function SetVehicleCeilingHeight(vehicle: number, height: number): void;
/**
 * 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;

/**
 * If zero, clears the flag that makes the PED check if the door is open prior to ignition.
 * SET_VEHICLE_CLOSE_ORDER_IGNORING_POSE?
 */
declare function SetVehicleCloseDoorDeferedAction(vehicle: number, p1: boolean): void;
/**
 * If zero, clears the flag that makes the PED check if the door is open prior to ignition.
 * SET_VEHICLE_CLOSE_ORDER_IGNORING_POSE?
 */
declare function N_0x21115bcd6e44656a(vehicle: number, p1: boolean): 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 index for the vehicle.
 * For a list of valid paint indexes, view: pastebin.com/pwHci0xK
 * -------------------------------------------------------------------------
 * Use this to get the number of color indices: pastebin.com/RQEeqTSM
 * Note: minimum color index is 0, maximum color index is (numColorIndices - 1)
 */
declare function SetVehicleColours(vehicle: number, colorPrimary: number, colorSecondary: number): void;

declare function SetVehicleControlsInverted(vehicle: number, state: boolean): void;
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;

/**
 * This native applies damage to a specific point on a vehicle.
 * @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 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;

/**
 * You can't use values greater than 15.0
 * You can see why here: pastebin.com/Wbn34fGD
 * Also, R* does (float)(rand() % 15) to get a random dirt level when generating a vehicle.
 */
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;

/**
 * doorIndex:
 * 0 = Front Right Door
 * 1 = Front Left Door
 * 2 = Back Right Door
 * 3 = Back Left Door
 * 4 = Hood
 * 5 = Trunk
 * Changed last paramater from CreateDoorObject To NoDoorOnTheFloor because when on false, the door object is created,and not created when on true...the former parameter name was counter intuitive...(by Calderon)
 */
declare function SetVehicleDoorBroken(vehicle: number, doorIndex: number, deleteDoor: boolean): void;

/**
 * Keeps Vehicle Doors/Hood/Trunk from breaking off
 */
declare function SetVehicleDoorCanBreak(vehicle: number, doorIndex: number, isBreakable: boolean): void;
/**
 * Keeps Vehicle Doors/Hood/Trunk from breaking off
 */
declare function SetVehicleDoorBreakable(vehicle: number, doorIndex: number, isBreakable: boolean): void;

/**
 * doorIndex:
 * 0 = Front Left Door (driver door)
 * 1 = Front Right Door
 * 2 = Back Left Door
 * 3 = Back Right Door
 * 4 = Hood
 * 5 = Trunk
 * 6 = Trunk2
 * @param speed 5 is fast, 1 is slow 3 is medium
 */
declare function SetVehicleDoorControl(vehicle: number, doorIndex: number, speed: number, angle: number): void;

/**
 * destroyType is 1 for opens on damage, 2 for breaks on damage.
 */
declare function SetVehicleDoorDestroyType(vehicle: number, doorIndex: number, destroyType: number): void;
/**
 * destroyType is 1 for opens on damage, 2 for breaks on damage.
 */
declare function SetPedTargettableVehicleDestroy(vehicle: number, doorIndex: number, destroyType: number): void;

/**
 * When lock is false other entities can overwrite it.
 */
declare function SetVehicleDoorLatched(vehicle: number, doorIndex: number, forceClose: boolean, lock: boolean, p4: boolean): void;

/**
 * doorIndex:
 * 0 = Front Left Door
 * 1 = Front Right Door
 * 2 = Back Left Door
 * 3 = Back Right Door
 * 4 = Hood
 * 5 = Trunk
 * 6 = Back
 * 7 = Back2
 */
declare function SetVehicleDoorOpen(vehicle: number, doorIndex: number, loose: boolean, openInstantly: boolean): void;

/**
 * doorIndex:
 * 0 = Front Left Door
 * 1 = Front Right Door
 * 2 = Back Left Door
 * 3 = Back Right Door
 * 4 = Hood
 * 5 = Trunk
 * 6 = Trunk2
 */
declare function SetVehicleDoorShut(vehicle: number, doorIndex: number, closeInstantly: boolean): void;

/**
 * 1
 * 2 - CARLOCK_LOCKED (locked)
 * 3
 * 4 - CARLOCK_LOCKED_PLAYER_INSIDE (can get in, can't leave)
 * (maybe, these are leftovers from GTA:VC)
 * 5
 * 6
 * 7
 * (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.
 */
declare function SetVehicleDoorsLocked(vehicle: number, doorLockStatus: number): void;

/**
 * After some analysis, I've decided that these are what the parameters are.
 * We can see this being used in R* scripts such as "am_mp_property_int.ysc.c4":
 * l_11A1 = PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 1);
 * ...
 * VEHICLE::SET_VEHICLE_DOORS_LOCKED_FOR_ALL_PLAYERS(l_11A1, 1);
 */
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 explodes. Only works when the vehicle model is a car. A single pickup is between 1 and 18 dollars in size. All car models seems to give the same amount of money.
 * youtu.be/3arlUxzHl5Y
 * i.imgur.com/WrNpYFs.jpg
 * From the scripts:
 * VEHICLE::_068F64F2470F9656(l_36, 0);
 * Found a "correct" name for this :P
 * _dead_vehicle_pickups_dies_when_set_exploded_destroy_it_drops_on_money
 */
declare function SetVehicleDropsMoneyWhenBlownUp(vehicle: number, toggle: boolean): void;
/**
 * Money pickups are created around cars when they explodes. Only works when the vehicle model is a car. A single pickup is between 1 and 18 dollars in size. All car models seems to give the same amount of money.
 * youtu.be/3arlUxzHl5Y
 * i.imgur.com/WrNpYFs.jpg
 * From the scripts:
 * VEHICLE::_068F64F2470F9656(l_36, 0);
 * Found a "correct" name for this :P
 * _dead_vehicle_pickups_dies_when_set_exploded_destroy_it_drops_on_money
 */
declare function N_0x068f64f2470f9656(vehicle: number, toggle: boolean): void;
/**
 * Money pickups are created around cars when they explodes. Only works when the vehicle model is a car. A single pickup is between 1 and 18 dollars in size. All car models seems to give the same amount of money.
 * youtu.be/3arlUxzHl5Y
 * i.imgur.com/WrNpYFs.jpg
 * From the scripts:
 * VEHICLE::_068F64F2470F9656(l_36, 0);
 * Found a "correct" name for this :P
 * _dead_vehicle_pickups_dies_when_set_exploded_destroy_it_drops_on_money
 */
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.
 * The actual value isn't stored as a float but as an unsigned char (BYTE).
 * @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.
 * The actual value isn't stored as a float but as an unsigned char (BYTE).
 * @param vehicle Target vehicle
 * @param fade The paint fade effect strength
 */
declare function SetVehiclePaintFade(vehicle: number, fade: number): void;

/**
 * Seems according to TU27 X360 Scripts, this has 3 arguments as well.
 * SET_VEHICLE_EXCLUSIVE_DRIVER(vehicle, 0, 0); in freemode.c
 * In case 5 of a switch case, is the only time it shows Arg2 being PLAYER_PED_ID(), otherwise it's 0. Arg3 always seems to be 0.
 * ```
 * ```
 * NativeDB Parameter 1: BOOL toggle
 */
declare function SetVehicleExclusiveDriver(vehicle: number, toggle: number): void;
/**
 * Seems according to TU27 X360 Scripts, this has 3 arguments as well.
 * SET_VEHICLE_EXCLUSIVE_DRIVER(vehicle, 0, 0); in freemode.c
 * In case 5 of a switch case, is the only time it shows Arg2 being PLAYER_PED_ID(), otherwise it's 0. Arg3 always seems to be 0.
 * ```
 * ```
 * NativeDB Parameter 1: BOOL toggle
 */
declare function N_0x41062318f23ed854(vehicle: number, toggle: number): void;

declare function SetVehicleExclusiveDriver_2(vehicle: number, ped: number, index: number): void;
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;

declare function SetVehicleExtendedRemovalRange(vehicle: number, range: number): void;
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;

/**
 * If the vehicle's engine's broken then you cannot fix it with this native.
 */
declare function SetVehicleFixed(vehicle: number): void;

declare function SetVehicleFlightNozzlePosition(vehicle: number, direction: number): void;
declare function N_0x30d779de7c4f6dd3(vehicle: number, direction: number): void;
declare function SetDesiredVerticalFlightPhase(vehicle: number, direction: number): void;
declare function SetPlaneVtolDesiredDirection(vehicle: number, direction: number): void;

declare function SetVehicleFlightNozzlePositionImmediate(vehicle: number, direction: number): void;
declare function N_0x9aa47fff660cb932(vehicle: number, direction: number): void;
declare function SetVerticalFlightPhase(vehicle: number, direction: number): void;
declare function SetPlaneVtolDirection(vehicle: number, direction: number): void;

declare function SetVehicleForceAfterburner(vehicle: number, p1: boolean): void;
declare function N_0xb055a34527cb8fd7(vehicle: number, p1: 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;

/**
 * NativeDB Parameter 1: Hash hash
 */
declare function SetVehicleHandlingHashForAi(vehicle: number, hash: number): void;
/**
 * NativeDB Parameter 1: Hash hash
 */
declare function N_0x10655fab9915623d(vehicle: number, hash: 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 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: 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 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;

/**
 * NativeDB Return Type: void
 */
declare function SetVehicleIsStolen(vehicle: number, isStolen: boolean): number;

/**
 * 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;

/**
 * Must be called each frame
 */
declare function SetVehicleLightsCanBeVisiblyDamaged(vehicle: number, p1: boolean): void;
/**
 * Must be called each frame
 */
declare function N_0x1aa8a837d2169d94(vehicle: number, p1: boolean): 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;

/**
 * This native sets a maximum speed for a vehicle.
 * 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;
/**
 * This native sets a maximum speed for a vehicle.
 * 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;

/**
 * In b944, there are 50 (0 - 49) mod types.
 * Sets the vehicle mod.
 * The vehicle must have a mod kit first.
 * Any out of range ModIndex is stock.
 * #Mod Type
 * Spoilers
 * Front Bumper
 * Rear Bumper
 * Side Skirt
 * Exhaust
 * Frame
 * Grille
 * Hood
 * Fender
 * Right Fender
 * Roof
 * Engine
 * Brakes
 * Transmission
 * Horns - 14 (modIndex from 0 to 51)
 * Suspension
 * Armor
 * Front Wheels
 * Back Wheels - 24 //only for motocycles
 * Plate holders
 * Trim Design
 * Ornaments
 * Dial Design
 * Steering Wheel
 * Shifter Leavers
 * Plaques
 * Hydraulics
 * Livery
 * ENUMS: pastebin.com/QzEAn02v
 */
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, p3: 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.
 * ---------
 * Setting the modKit to 0 also seems to load some livery related vehicle information. For example, using GET_LIVERY_NAME() will return NULL if you haven't set the modKit to 0 in advance. As soon as you set it to 0, GET_LIVERY_NAME() will work properly.
 */
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;

/**
 * Sets a vehicle's license plate text.  8 chars maximum.
 * Example:
 * Ped playerPed = PLAYER::PLAYER_PED_ID();
 * Vehicle veh = PED::GET_VEHICLE_PED_IS_USING(playerPed);
 * char *plateText = "KING";
 * VEHICLE::SET_VEHICLE_NUMBER_PLATE_TEXT(veh, plateText);
 */
declare function SetVehicleNumberPlateText(vehicle: number, plateText: string): void;

/**
 * Plates:
 * Blue/White
 * Yellow/black
 * Yellow/Blue
 * Blue/White2
 * Blue/White3
 * Yankton
 */
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): number;

/**
 * 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
 */
declare function SetVehicleParachuteTextureVariatiion(vehicle: number, textureVariation: number): void;
/**
 * colorIndex = 0
 */
declare function VehicleSetCustomParachuteTexture(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, toggle: boolean): void;
/**
 * Often used in conjunction with: [SET_VEHICLE_REDUCE_GRIP](#\_0x222FF6A823D122E2).
 * ```
 * NativeDB Introduced: v1604
 * ```
 */
declare function N_0x6dee944e1ee90cfb(vehicle: number, toggle: boolean): 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.
 * And only if there is a driver in heli.
 */
declare function SetVehicleSearchlight(heli: number, toggle: boolean, canBeUsedByAI: boolean): 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;

/**
 * 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;

/**
 * VEHICLE::SET_VEHICLE_TIMED_EXPLOSION(v_3, PLAYER::GET_PLAYER_PED(v_5), 1);
 */
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;

/**
 * "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;

/**
 * Player won't be able to drive the car or enter it, unless you task him to get into any other seat than the driver one.
 */
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;

/**
 * Related to Hao races.
 */
declare function SetVehicleUseAlternateHandling(vehicle: number, p1: boolean): void;
/**
 * Related to Hao races.
 */
declare function N_0x1d97d1e3a70a649f(vehicle: number, p1: 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, p1: boolean): void;
declare function N_0xc45c27ef50f36adc(vehicle: number, p1: 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): number;

/**
 * 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;

/**
 * 0: Sport
 * 1: Muscle
 * 2: Lowrider
 * 3: SUV
 * 4: Offroad
 * 5: Tuner
 * 6: Bike Wheels
 * 7: High End
 */
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): number;

/**
 * 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;

/**
 * NativeDB Return Type: void
 */
declare function SetVehicleWheelsCanBreak(vehicle: number, enabled: boolean): number;

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;

/**
 * color is the paint index for the vehicle.
 * Paint index goes from 0 to 12.
 * Be aware that it only works on xenon lights.
 * 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;
/**
 * color is the paint index for the vehicle.
 * Paint index goes from 0 to 12.
 * Be aware that it only works on xenon lights.
 * 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;
/**
 * color is the paint index for the vehicle.
 * Paint index goes from 0 to 12.
 * Be aware that it only works on xenon lights.
 * 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;

/**
 * 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;

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>
 * ```
 * NativeDB Parameter 5: char* background
 * NativeDB Parameter 6: char* p6
 * ```
 * @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 p8 Purpose unknown.
 */
declare function SetWarningMessage(entryLine1: string, instructionalKey: number, entryLine2: string, p3: boolean, p4: number, showBg: boolean, p8: number): [number, number];

/**
 * 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): number;
/**
 * 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): 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 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++:
 * UI::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. Must be run 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. Must be run every frame.
 * @param weaponHash Hash of the weapon
 * @param damageMultiplier Damage Multiplier
 */
declare function N_0x4757f00bc6323cfe(weaponHash: string | number, damageMultiplier: number): void;

/**
 * NativeDB Parameter 1: Hash camoComponentHash
 */
declare function SetWeaponObjectLiveryColor(weaponObject: number, camoComponentHash: number, colorIndex: number): void;
/**
 * NativeDB Parameter 1: Hash camoComponentHash
 */
declare function N_0x5da825a85d0ea6e6(weaponObject: number, camoComponentHash: number, colorIndex: number): void;

declare function SetWeaponObjectTintIndex(weapon: number, tintIndex: number): void;

/**
 * The following weatherTypes are used in the scripts:
 * "CLEAR"
 * "EXTRASUNNY"
 * "CLOUDS"
 * "OVERCAST"
 * "RAIN"
 * "CLEARING"
 * "THUNDER"
 * "SMOG"
 * "FOGGY"
 * "XMAS"
 * "SNOWLIGHT"
 * "BLIZZARD"
 */
declare function SetWeatherTypeNow(weatherType: string): void;

/**
 * The following weatherTypes are used in the scripts:
 * "CLEAR"
 * "EXTRASUNNY"
 * "CLOUDS"
 * "OVERCAST"
 * "RAIN"
 * "CLEARING"
 * "THUNDER"
 * "SMOG"
 * "FOGGY"
 * "XMAS"
 * "SNOWLIGHT"
 * "BLIZZARD"
 */
declare function SetWeatherTypeNowPersist(weatherType: string): void;

declare function SetWeatherTypeOvertimePersist(weatherType: string, time: number): void;
declare function SetWeatherTypeOverTime(weatherType: string, time: number): void;

/**
 * The following weatherTypes are used in the scripts:
 * "CLEAR"
 * "EXTRASUNNY"
 * "CLOUDS"
 * "OVERCAST"
 * "RAIN"
 * "CLEARING"
 * "THUNDER"
 * "SMOG"
 * "FOGGY"
 * "XMAS"
 * "SNOWLIGHT"
 * "BLIZZARD"
 */
declare function SetWeatherTypePersist(weatherType: string): void;

/**
 * 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);
 * Note that unlike most of the other weather natives, this native takes the hash of the weather name, not the plain string. These are the weather names and their hashes:
 * CLEAR	0x36A83D84
 * EXTRASUNNY	0x97AA0A79
 * CLOUDS	0x30FDAF5C
 * OVERCAST	0xBB898D2D
 * RAIN	0x54A69840
 * CLEARING	0x6DB1A50D
 * THUNDER	0xB677829F
 * SMOG	0x10DCF4B5
 * FOGGY	0xAE737644
 * XMAS	0xAAC9C895
 * SNOWLIGHT	0x23FB812B
 * BLIZZARD	0x27EA2814
 */
declare function SetWeatherTypeTransition(weatherType1: string | number, weatherType2: string | number, percentWeather2: number): void;

/**
 * NativeDB Return Type: void
 */
declare function SetWidescreenBorders(p0: boolean, p1: number): number;

declare function SetWidescreenFormat(p0: number): void;

/**
 * Sets the the raw wind speed value.
 */
declare function SetWind(speed: number): void;

/**
 * This is NOT a heading. It's a FLOAT value from 0.0-7.0. Look at this image:
 * i.imgur.com/FwVpGS6.png
 * ----------------------------
 * This appears to be a heading, in radians (0-2*pi) -PNWParksFan
 */
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;

/**
 * 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;

/**
 * Something to do with shake:
 * CAM::_F4C8CF9E353AFECA("HAND_SHAKE", 0.2);
 */
declare function ShakeScriptGlobal(p0: string, p1: number): void;
/**
 * Something to do with shake:
 * CAM::_F4C8CF9E353AFECA("HAND_SHAKE", 0.2);
 */
declare function N_0xf4c8cf9e353afeca(p0: string, p1: number): void;

declare function ShapeTestResultEntity(entityHit: number): void;
declare function N_0x2b3334bca57cd799(entityHit: number): void;

declare function ShiftLeft(value: number, bitShift: number): number;

declare function ShiftRight(value: number, bitShift: number): number;

declare function ShootSingleBulletBetweenCoords(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): 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;

/**
 * Since latest patches has 18 parameters.
 * entity - entity to ignore
 * ```
 * ```
 * NativeDB Added Parameter 19: Any p18
 * NativeDB Added Parameter 20: Any p19
 */
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;
/**
 * Since latest patches has 18 parameters.
 * entity - entity to ignore
 * ```
 * ```
 * NativeDB Added Parameter 19: Any p18
 * NativeDB Added Parameter 20: Any p19
 */
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;
/**
 * Since latest patches has 18 parameters.
 * entity - entity to ignore
 * ```
 * ```
 * NativeDB Added Parameter 19: Any p18
 * NativeDB Added Parameter 20: Any p19
 */
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, false if imperial is used.
 * This is what r\* uses for the different label types (either ones with miles in them or with km, as well as some other measurement related labels).
 * @return Returns true if the game is using the metric measurement system, false if imperial is used.
 */
declare function ShouldUseMetricMeasurements(): number;
/**
 * Returns true if the game is using the metric measurement system, false if imperial is used.
 * This is what r\* uses for the different label types (either ones with miles in them or with km, as well as some other measurement related labels).
 * @return Returns true if the game is using the metric measurement system, false if imperial is used.
 */
declare function N_0xd3d15555431ab793(): number;
/**
 * Returns true if the game is using the metric measurement system, false if imperial is used.
 * This is what r\* uses for the different label types (either ones with miles in them or with km, as well as some other measurement related labels).
 * @return Returns true if the game is using the metric measurement system, false if imperial is used.
 */
declare function IsGameUsingMetricMeasurementSystem(): number;

/**
 * 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 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`. 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)).
 * \~~Oddly enough, this native is called `_SET_BLIP_FRIENDLY`, but the color of the circle is only changable for the 'crew' half-circle (using `SET_BLIP_SECONDARY_COLOUR`), the 'friendly' side can NOT be changed and will always stay cyan/blue. This makes it seem more likely that this should be called `_SET_BLIP_CREW_CIRCLE` or something similar?~~
 * Real name is `SHOW_OUTLINE_INDICATOR_ON_BLIP`, discovered by Blattersturm.
 * @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`. 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)).
 * \~~Oddly enough, this native is called `_SET_BLIP_FRIENDLY`, but the color of the circle is only changable for the 'crew' half-circle (using `SET_BLIP_SECONDARY_COLOUR`), the 'friendly' side can NOT be changed and will always stay cyan/blue. This makes it seem more likely that this should be called `_SET_BLIP_CREW_CIRCLE` or something similar?~~
 * Real name is `SHOW_OUTLINE_INDICATOR_ON_BLIP`, discovered by Blattersturm.
 * @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`. 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)).
 * \~~Oddly enough, this native is called `_SET_BLIP_FRIENDLY`, but the color of the circle is only changable for the 'crew' half-circle (using `SET_BLIP_SECONDARY_COLOUR`), the 'friendly' side can NOT be changed and will always stay cyan/blue. This makes it seem more likely that this should be called `_SET_BLIP_CREW_CIRCLE` or something similar?~~
 * Real name is `SHOW_OUTLINE_INDICATOR_ON_BLIP`, discovered by Blattersturm.
 * @param blip The blip to toggle the outline on.
 * @param toggle Enables or disables the outline.
 */
declare function SetBlipFriendly(blip: 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 ShowPedInPauseMenu(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;

/**
 * Something with Social Club or online.
 */
declare function ShowSigninUi(): void;
/**
 * Something with Social Club or online.
 */
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(): number;
/**
 * 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(): number;

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 from INPUT.
 * gaitType is in increments of 100s. 2000, 500, 300, 200, etc.
 * p4 is always 1 and p5 is always 0.
 * C# Example :
 * Function.Call(Hash.SIMULATE_PLAYER_INPUT_GAIT, Game.Player, 1.0f, 100, 1.0f, 1, 0); //Player will go forward for 100ms
 */
declare function SimulatePlayerInputGait(player: number, amount: number, gaitType: number, speed: number, p4: boolean, p5: boolean): void;

declare function Sin(value: number): number;

declare function SkipRadioForward(): void;

declare function SkipTimeInPlaybackRecordedVehicle(p0: number, p1: number): void;

declare function SkipToEndAndStopPlaybackRecordedVehicle(vehicle: number): void;

declare function SkipToNextScriptedConversationLine(): void;

/**
 * This native always come right before SetEntityQuaternion where its final 4 parameters are SlerpNearQuaternion 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 SetEntityQuaternion where its final 4 parameters are SlerpNearQuaternion 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): number;

/**
 * int index = 0 to 13
 * 0 = front right window
 * 1 = front left window
 * 2 = rear right window
 * 3 = rear left window
 * 4 = unsure
 * 5 = unsure
 * 6 = windowscreen
 * 7 = unsure
 * 8 = rear windowscreen
 * 9 = unsure
 * 10 = unsure
 * 11 = unsure
 * 12 = unsure
 * 13 = unsure
 */
declare function SmashVehicleWindow(vehicle: number, index: number): number;

/**
 * SET_*
 */
declare function SoundVehicleHornThisFrame(vehicle: number): void;
/**
 * SET_*
 */
declare function N_0x9c11908013ea4715(vehicle: number): void;

declare function SpecialAbilityActivate(player: number): void;
declare function N_0x821fdc827d6f4090(player: number): void;

/**
 * p1 appears as 5, 10, 15, 25, or 30. p2 is always true.
 */
declare function SpecialAbilityChargeAbsolute(player: number, p1: number, p2: boolean): void;

/**
 * p1 appears to always be 1 (only comes up twice)
 */
declare function SpecialAbilityChargeContinuous(player: number, p2: number): void;

/**
 * 2 matches. p1 was always true.
 */
declare function SpecialAbilityChargeLarge(player: number, p1: boolean, p2: boolean): void;

/**
 * Only 1 match. Both p1 & p2 were true.
 */
declare function SpecialAbilityChargeMedium(player: number, p1: boolean, p2: boolean): void;

/**
 * normalizedValue is from 0.0 - 1.0
 * p2 is always 1
 */
declare function SpecialAbilityChargeNormalized(player: number, normalizedValue: number, p2: boolean): void;
/**
 * normalizedValue is from 0.0 - 1.0
 * p2 is always 1
 */
declare function ResetSpecialAbilityControlsCinematic(player: number, normalizedValue: number, p2: boolean): void;

/**
 * Seems to be called before SPECIAL_ABILITY_DEACTIVATE. Needs more research.
 * SPECIAL_ABILITY_CHARGE_ON_MISSION_FAILED ?
 * ```
 * ```
 * NativeDB Added Parameter 2: Any p1
 */
declare function SpecialAbilityChargeOnMissionFailed(player: number): void;
/**
 * Seems to be called before SPECIAL_ABILITY_DEACTIVATE. Needs more research.
 * SPECIAL_ABILITY_CHARGE_ON_MISSION_FAILED ?
 * ```
 * ```
 * NativeDB Added Parameter 2: Any p1
 */
declare function N_0xc9a763d8fe87436a(player: number): void;

/**
 * Every occurrence of p1 & p2 were both true.
 */
declare function SpecialAbilityChargeSmall(player: number, p1: boolean, p2: boolean): void;

declare function SpecialAbilityDeactivate(player: number): void;

declare function SpecialAbilityDeactivateFast(player: number): void;

declare function SpecialAbilityDeplete(p0: number): void;
declare function N_0x17f7471eaca78290(p0: number): void;

/**
 * p1 was always true.
 */
declare function SpecialAbilityDepleteMeter(player: number, p1: boolean): void;

/**
 * Also known as _RECHARGE_SPECIAL_ABILITY
 */
declare function SpecialAbilityFillMeter(player: number, p1: boolean): void;

declare function SpecialAbilityLock(playerModel: string | number): void;

declare function SpecialAbilityReset(player: number): void;

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): number;

/**
 * I can 100% confirm this is some kind of START_* native.
 * Next character in the name is either C, D or E.
 * Used only once in the scripts (benchmark.ysc).
 */
declare function StartBenchmarkRecording(): void;
/**
 * I can 100% confirm this is some kind of START_* native.
 * Next character in the name is either C, D or E.
 * Used only once in the scripts (benchmark.ysc).
 */
declare function N_0x92790862e36c2ada(): void;

/**
 * some kind of flag. Usually 0.
 */
declare function StartCutscene(flags: number): void;

/**
 * p3: some kind of flag. Usually 0.
 */
declare function StartCutsceneAtCoords(x: number, y: number, z: number, flags: number): void;

declare function StartEntityFire(entity: number): 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;

/**
 * network fx
 * ```
 * ```
 * 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): number;
/**
 * network fx
 * ```
 * ```
 * 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): number;

/**
 * network fx
 */
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): number;
/**
 * network fx
 */
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): number;

/**
 * network fx
 */
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): number;
/**
 * network fx
 */
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): number;

/**
 * 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;

/**
 * list: pastebin.com/N9unUFWY
 */
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): number;

/**
 * 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): number;

declare function StartPetrolTrailDecals(p0: number): void;
declare function N_0x99ac7f0d8b9c893d(p0: number): void;

declare function StartPlaybackRecordedVehicle(vehicle: number, p1: number, playback: string, p3: boolean): void;

declare function StartPlaybackRecordedVehicleUsingAi(p0: number, p1: number, p3: number, p4: number): number;

declare function StartPlaybackRecordedVehicleWithFlags(vehicle: number, p1: number, playback: string, p3: number, p4: number, p5: 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;

declare function StartPlayerTeleport(player: number, x: number, y: number, z: number, heading: number, p5: 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;

/**
 * Second parameter might be length.
 */
declare function StartSaveArrayWithSize(size: number, arrayName: string): number;
/**
 * Second parameter might be length.
 */
declare function StartSaveArray(size: number, arrayName: string): number;

declare function StartSaveData(p1: number, p2: boolean): number;

/**
 * Second parameter might be length.
 */
declare function StartSaveStructWithSize(size: number, structName: string): number;
/**
 * Second parameter might be length.
 */
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;

declare function StartShapeTestBound(entity: number, flags1: number, flags2: number): number;
declare function N_0x37181417ce7c8900(entity: number, flags1: number, flags2: number): number;

declare function StartShapeTestBoundingBox(entity: number, flags1: number, flags2: number): number;
declare function N_0x052837721a854ec7(entity: number, flags1: number, flags2: number): number;

declare function StartShapeTestBox(x: number, y: number, z: number, x1: number, y2: number, z2: number, rotX: number, rotY: number, rotZ: number, p9: number, p10: number, entity: number, p12: number): number;
declare function N_0xfe466162c4401d18(x: number, y: number, z: number, x1: number, y2: number, z2: number, rotX: number, rotY: number, rotZ: number, p9: number, p10: number, entity: number, p12: number): number;

/**
 * Raycast from point to point, where the ray has a radius.
 * flags:
 * vehicles=10
 * peds =12
 * Iterating through flags yields many ped / vehicle/ object combinations
 * p9 = 7, but no idea what it does
 * Entity is an entity to ignore
 */
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.
 * flags:
 * vehicles=10
 * peds =12
 * Iterating through flags yields many ped / vehicle/ object combinations
 * p9 = 7, but no idea what it does
 * Entity is an entity to ignore
 */
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;

/**
 * Returns a ray (?) going from x1, y1, z1 to x2, y2, z2.
 * entity = 0 most of the time.
 * p8 = 7 most of the time.
 * Result of this function is passed to WORLDPROBE::_GET_RAYCAST_RESULT as a first argument.
 */
declare function StartShapeTestLosProbe(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flags: number, ent: number, p8: number): number;
/**
 * Returns a ray (?) going from x1, y1, z1 to x2, y2, z2.
 * entity = 0 most of the time.
 * p8 = 7 most of the time.
 * Result of this function is passed to WORLDPROBE::_GET_RAYCAST_RESULT as a first argument.
 */
declare function N_0x7ee9f5d83dd4f90e(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flags: number, ent: number, p8: number): number;

/**
 * Not sure how or why this differs from 0x7EE9F5D83DD4F90E, but it does.
 * This function casts a ray from Point1 to Point2 and returns it's ray handle.  A simple ray cast will 'shoot' a line from point A to point B, and return whether or not the ray reached it's destination or if it hit anything and if it did hit anything, will return the handle of what it hit (entity handle) and coordinates of where the ray reached.
 * You can use _GET_RAYCAST_RESULT to get the result of the raycast
 * Entity is an entity to ignore, such as the player.
 * Flags are intersection bit flags.  They tell the ray what to care about and what not to care about when casting. Passing -1 will intersect with everything, presumably.
 * Flags:
 * 1: Intersect with map
 * 2: Intersect with vehicles (used to be mission entities?) (includes train)
 * 4: Intersect with peds? (same as 8)
 * 8: Intersect with peds? (same as 4)
 * 16: Intersect with objects
 * 32: Water?
 * 64: Unknown
 * 128: Unknown
 * 256: Intersect with vegetation (plants, coral. trees not included)
 * 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.
 */
declare function StartShapeTestRay(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flags: number, entity: number, p8: number): number;
/**
 * Not sure how or why this differs from 0x7EE9F5D83DD4F90E, but it does.
 * This function casts a ray from Point1 to Point2 and returns it's ray handle.  A simple ray cast will 'shoot' a line from point A to point B, and return whether or not the ray reached it's destination or if it hit anything and if it did hit anything, will return the handle of what it hit (entity handle) and coordinates of where the ray reached.
 * You can use _GET_RAYCAST_RESULT to get the result of the raycast
 * Entity is an entity to ignore, such as the player.
 * Flags are intersection bit flags.  They tell the ray what to care about and what not to care about when casting. Passing -1 will intersect with everything, presumably.
 * Flags:
 * 1: Intersect with map
 * 2: Intersect with vehicles (used to be mission entities?) (includes train)
 * 4: Intersect with peds? (same as 8)
 * 8: Intersect with peds? (same as 4)
 * 16: Intersect with objects
 * 32: Water?
 * 64: Unknown
 * 128: Unknown
 * 256: Intersect with vegetation (plants, coral. trees not included)
 * 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.
 */
declare function CastRayPointToPoint(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flags: number, entity: number, p8: number): number;

/**
 * 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
 */
declare function StartShapeTestSurroundingCoords(flag: number, entity: number, flag2: number): [number, number[], number[]];
/**
 * 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
 */
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.
 */
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.
 */
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.
 */
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;

/**
 * NativeDB Return Type: void
 */
declare function StartVehicleAlarm(vehicle: number): number;

/**
 * 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;

/**
 * Please change to "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): [number, any /* actually bool */];

/**
 * p2 - Default value? Seems to be -1 most of the time.
 */
declare function StatGetBoolMasked(statName: string | number, mask: number, p2: number): number;

declare function StatGetCancelSaveMigrationStatus(): number;
declare function N_0x567384dfa67029e6(): number;

declare function StatGetDate(statHash: string | number, p2: number, p3: number): [number, number];

declare function StatGetFloat(statHash: string | number, p2: number): [number, number];

/**
 * p2 appears to always be -1
 */
declare function StatGetInt(statHash: string | number, p2: number): [number, number];

declare function StatGetLicensePlate(statName: string | number): string;

declare function StatGetMaskedInt(p0: number, p2: number, p3: number, p4: number): [number, 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): [number, number, number, number];

/**
 * NativeDB Parameter 0: int* p0
 */
// Return is unknown[] due to pointer value being input of the function
declare function StatGetSaveMigrationConsumeContentUnlockStatus(p0?: number): unknown[];
/**
 * NativeDB Parameter 0: int* p0
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0xce5aa445aba8dee0(p0?: number): unknown[];

// Return is unknown[] due to pointer value being input of the function
declare function StatGetSaveMigrationStatus(data?: number): unknown[];
// Return is unknown[] due to pointer value being input of the function
declare function N_0x886913bbeaca68c1(data?: number): unknown[];

/**
 * 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): number;

declare function StatLoadPending(p0: number): number;

/**
 * platformName must be one of the following: ps3, xbox360, ps4, xboxone
 */
declare function StatMigrateSave(platformName: string): number;
/**
 * platformName must be one of the following: ps3, xbox360, ps4, xboxone
 */
declare function N_0xa5c80d8e768a9e66(platformName: string): number;

declare function StatSave(p0: number, p1: boolean, p2: number): number;

declare function StatSaveMigrationCancel(): number;
declare function N_0x4fef53183c3c6414(): number;

/**
 * NativeDB Parameter 0: Hash contentId
 */
declare function StatSaveMigrationConsumeContentUnlock(contentId: number, srcPlatform: string, srcGamerHandle: string): number;
/**
 * NativeDB Parameter 0: Hash contentId
 */
declare function N_0x3270f67eed31fbc1(contentId: number, srcPlatform: string, srcGamerHandle: string): number;

declare function StatSaveMigrationStatusStart(): number;
declare function N_0xc70ddce56d0d3a99(): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function StatSavePending(): number;

/**
 * NativeDB Return Type: BOOL
 */
declare function StatSavePendingOrRequested(): number;

declare function StatSetBool(statName: string | number, value: boolean, save: boolean): number;

declare function StatSetBoolMasked(statName: string | number, value: boolean, mask: number, save: boolean): number;

/**
 * p1 always true.
 */
declare function StatSetCurrentPosixTime(statName: string | number, p1: boolean): number;

/**
 * '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): [number, number];

declare function StatSetFloat(statName: string | number, value: number, save: boolean): number;

/**
 * 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): number;

/**
 * Add Cash example:
 * for (int i = 0; i < 3; i++)
 * {
 * char statNameFull[32];
 * sprintf_s(statNameFull, "SP%d_TOTAL_CASH", i);
 * Hash hash = GAMEPLAY::GET_HASH_KEY(statNameFull);
 * int val;
 * STATS::STAT_GET_INT(hash, &val, -1);
 * val += 1000000;
 * STATS::STAT_SET_INT(hash, val, 1);
 * }
 */
declare function StatSetInt(statName: string | number, value: number, save: boolean): number;

declare function StatSetLicensePlate(statName: string | number, str: string): number;

declare function StatSetMaskedInt(statName: string | number, p1: number, p2: number, p3: number, save: boolean): number;

declare function StatSetPos(statName: string | number, x: number, y: number, z: number, save: boolean): number;

/**
 * Does not take effect immediately, unfortunately.
 * profileSetting seems to only be 936, 937 and 938 in scripts
 * gtaforums.com/topic/799843-stats-profile-settings/
 */
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
 * gtaforums.com/topic/799843-stats-profile-settings/
 */
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
 * gtaforums.com/topic/799843-stats-profile-settings/
 */
declare function StatSetProfileSetting(profileSetting: number, value: number): void;

declare function StatSetString(statName: string | number, value: string, save: boolean): number;

declare function StatSetUserId(statName: string | number, value: string, save: boolean): number;

declare function StatSlotIsLoaded(p0: number): number;

/**
 * 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;

/**
 * From re_drunkdriver:
 * • AI::STOP_ANIM_PLAYBACK(l_5B[0 -- [[1]] ], 0, 0);
 * 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;

declare function StopCamPointing(cam: number): void;

declare function StopCamShaking(cam: number, p1: boolean): void;

declare function StopCinematicCamShaking(p0: boolean): void;

declare function StopCinematicShot(p0: number): void;

/**
 * Needs to be called every frame.
 */
declare function StopCurrentPlayingAmbientSpeech(ped: number): void;

/**
 * Stops speech.
 */
declare function StopCurrentPlayingSpeech(ped: number): void;
/**
 * Stops speech.
 */
declare function N_0x7a73d05a607734c7(ped: number): void;
/**
 * Stops speech.
 */
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;

declare function StopCutsceneImmediately(): void;

/**
 * ```
 * RAGEPluginHook list: docs.ragepluginhook.net/html/62951c37-a440-478c-b389-c471230ddfc5.htm
 * ```
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function StopEntityAnim(entity: number, animation: string, animGroup: string, p3: number): number;

declare function StopEntityFire(entity: number): void;

/**
 * This doesn't stop fire nor the fire propagation in a loop... for some reasons.
 */
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;

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::_C912AF078AF19212()) {
 * CAM::_1C9D7949FA533490(0);
 * }
 */
declare function StopScriptGlobalShaking(p0: boolean): void;
/**
 * In drunk_controller.c4, sub_309
 * if (CAM::_C912AF078AF19212()) {
 * CAM::_1C9D7949FA533490(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): number;

/**
 * p1 sync task id?
 */
declare function StopSynchronizedEntityAnim(entity: number, p1: number, p2: boolean): number;

declare function StopSynchronizedMapEntityAnim(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number): number;

/**
 * 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.
 */
// Return is unknown[] due to pointer value being input of the function
declare function StringToInt(_string: string, outInteger?: number): unknown[];

declare function SuppressAgitationEventsNextFrame(): void;

declare function SuppressFrontendRenderingThisFrame(): void;
declare function N_0xba751764f0821256(): void;

declare function SuppressShockingEventTypeNextFrame(_type: 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".
 */
declare function SwitchToInputMappingScheme(name: string): number;
/**
 * Used in carsteal3 script with p0 = "Carsteal4_spycar".
 */
declare function N_0x3d42b92563939375(name: string): number;

/**
 * Same as 0x3D42B92563939375
 * S*
 */
declare function SwitchToInputMappingScheme_2(name: string): number;
/**
 * Same as 0x3D42B92563939375
 * S*
 */
declare function N_0x4683149ed1dde7a1(name: string): number;

/**
 * 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): number;

/**
 * Returns tangent value of p0.
 */
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":
 * AI::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]] ])) {
 * AI::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));
 * AI::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()))
 * {
 * AI::TASK_CLEAR_LOOK_AT(PLAYER::PLAYER_PED_ID());
 * }
 * ...
 * }
 * Another one where it doesn't "look" at current player -
 * AI::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);
 * AI::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;

declare function TaskCower(ped: number, duration: number): void;

/**
 * Example:
 * AI::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, 16 = teleport directly into vehicle
 * p6 is always 0
 * Usage of seat
 * -1 = driver
 * 0 = passenger
 * 1 = left back seat
 * 2 = right back seat
 * 3 = outside left
 * 4 = outside right
 */
declare function TaskEnterVehicle(ped: number, vehicle: number, timeout: number, seat: 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;

/**
 * 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;

/**
 * p2 always false
 * [30/03/2017] ins1de :
 * See dev-c.com/nativedb/func/info/f28965d04f570dca
 */
declare function TaskForceMotionState(ped: number, state: string | number, p2: boolean): void;

/**
 * Jenkins of this native is 0x4293601F. This is the actual name.
 */
declare function TaskGetOffBoat(ped: number, boat: number): void;
/**
 * Jenkins of this native is 0x4293601F. This is the actual name.
 */
declare function TaskGetOffBoat(ped: number, boat: number): void;

/**
 * This native will make the ped move straight to a coordinate.
 * @param ped The ped handle.
 * @param x The x coordinate.
 * @param y The y coordinate.
 * @param z The z coordinate.
 * @param speed The ped movement speed.
 * @param timeout \-1 , other values appear to break the ped movement.
 * @param targetHeading The heading you want the ped to be on x,y,z coord.
 * @param distanceToSlide The distance from x,y,z where the ped will start sliding.
 */
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
 * AI::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
 * AI::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
 * AI::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: AI::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
 * AI::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:
 * AI::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;

/**
 * EDITED (8/16/2017)
 * DESCRIPTION:
 * Allow a ped to fly to a specific destination.
 * 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.
 * • maxSpeed = The speed in mph that the pilot will limit his/her self to while flying.
 * • landingRadius = The distance from the destination that the pilot must be to land.
 * • targetHeading = The heading that the pilot will try to achieve while flying.
 * • unk1, unk2 = Set to -1 and it will be okay.
 * • unk3 = I'm almost sure this is a vehicle record/waypoint recording hash. A value of -1 is for none. Maybe it's a float? Idk.
 * • landingFlags = Bit flags used for landing. All I know is:
 * 0 = Hover over the destination.
 * 32 = Land on destination.
 * 1024 = Erratic, crash into nearby obstacles.
 * 4096 = Rushed movement + Hover over destination
 * Known Mission Types:
 * 4 = FlyToCoord
 * 8 = FleeFromPed
 * 9 = CircleAroundTarget
 * 10 = CopyTargetHeading
 * 20 = LandNearPed
 * 21 = Crash
 * Example C#:
 * Function.Call(Hash.TASK_HELI_MISSION, driver, heli, 0, 0, position.X, position.Y, position.Z, 4, 50.0, 10.0, (position - heli.Position).ToHeading(), -1, -1, -1, 32);
 * OLD USAGE: pastebin.com/ndkSjaaW
 */
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: string | 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;

declare function TaskLeaveAnyVehicle(ped: number, p1: number, p2: number): void;

/**
 * Flags from decompiled scripts:
 * 0 = normal exit and closes door.
 * 1 = normal exit and closes door.
 * 16 = teleports outside, door kept closed.
 * 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;

/**
 * p5 = 0, p6 = 2
 */
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:
 * AI::_D5B35BEA41919ACB(PLAYER::PLAYER_PED_ID(), "minigame_tattoo_michael_parts", 324.13, 181.29, 102.6, 0.0, 0.0, 22.32, 2, 0, 0, 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:
 * AI::_D5B35BEA41919ACB(PLAYER::PLAYER_PED_ID(), "minigame_tattoo_michael_parts", 324.13, 181.29, 102.6, 0.0, 0.0, 22.32, 2, 0, 0, 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:
 * AI::_D5B35BEA41919ACB(PLAYER::PLAYER_PED_ID(), "minigame_tattoo_michael_parts", 324.13, 181.29, 102.6, 0.0, 0.0, 22.32, 2, 0, 0, 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:
 * AI::_2D537BA194896636(PLAYER::PLAYER_PED_ID(), "arm_wrestling_sweep_paired_a_rev3", 0.0, 1, "mini@arm_wrestling", 0);
 */
declare function TaskMoveNetworkByName(ped: number, task: string, multiplier: number, p3: boolean, animDict: string, flags: number): void;
/**
 * Example:
 * AI::_2D537BA194896636(PLAYER::PLAYER_PED_ID(), "arm_wrestling_sweep_paired_a_rev3", 0.0, 1, "mini@arm_wrestling", 0);
 */
declare function N_0x2d537ba194896636(ped: number, task: string, multiplier: number, p3: boolean, animDict: string, flags: number): void;
/**
 * Example:
 * AI::_2D537BA194896636(PLAYER::PLAYER_PED_ID(), "arm_wrestling_sweep_paired_a_rev3", 0.0, 1, "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)
 * NativeDB Introduced: v1493
 */
declare function TaskMoveNetworkScripted(ped: number, p1: string, p3: number, p4: boolean, animDict: string, flags: number): number;

declare function TaskOpenVehicleDoor(ped: number, vehicle: number, timeOut: number, doorIndex: 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
 * AI::OPEN_PATROL_ROUTE("miss_Ass0");
 * AI::ADD_PATROL_ROUTE_NODE(0, "WORLD_HUMAN_GUARD_STAND", l_738[0 -- [[3]] ], -139.4076690673828, -993.4732055664062, 26.2754, GAMEPLAY::GET_RANDOM_INT_IN_RANGE(5000, 10000));
 * AI::ADD_PATROL_ROUTE_NODE(1, "WORLD_HUMAN_GUARD_STAND", l_738[1 -- [[3]] ], -116.1391830444336, -987.4984130859375, 26.38541030883789, GAMEPLAY::GET_RANDOM_INT_IN_RANGE(5000, 10000));
 * AI::ADD_PATROL_ROUTE_NODE(2, "WORLD_HUMAN_GUARD_STAND", l_738[2 -- [[3]] ], -128.46847534179688, -979.0340576171875, 26.2754, GAMEPLAY::GET_RANDOM_INT_IN_RANGE(5000, 10000));
 * AI::ADD_PATROL_ROUTE_LINK(0, 1);
 * AI::ADD_PATROL_ROUTE_LINK(1, 2);
 * AI::ADD_PATROL_ROUTE_LINK(2, 0);
 * AI::CLOSE_PATROL_ROUTE();
 * AI::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;

/**
 * NativeDB Return Type: void
 */
declare function TaskPerformSequence(ped: number, taskSequenceId: number): number;

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(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: number, p9: number): void;

/**
 * Function.Call(Hash.TASK_PLANE_LAND, pilot, selectedAirplane, runwayStartPoint.X, runwayStartPoint.Y, runwayStartPoint.Z, runwayEndPoint.X, runwayEndPoint.Y, runwayEndPoint.Z);
 */
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(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number): void;
declare function N_0x92c360b5f15d2302(p0: number, p1: 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:
 * AI::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
 * AI::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;

/**
 * Only appears twice in the scripts.
 * AI::TASK_RAPPEL_FROM_HELI(PLAYER::PLAYER_PED_ID(), 0x41200000);
 * AI::TASK_RAPPEL_FROM_HELI(a_0, 0x41200000);
 * Fixed, definitely not a float and since it's such a big number obviously not a bool. All though note when I thought it was a bool and set it to 1 it seemed to work that same as int 0x41200000.
 * 0x41200000 = 10.0 as float.
 * Not all helicopters support rappelling.
 * ```
 * ```
 * NativeDB Parameter 1: float unused
 */
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) && (AI::GET_SCRIPT_TASK_STATUS(PLAYER::PLAYER_PED_ID(), 0x6a67a5cc) != 1)) && (v_5 > v_3)) {
 * AI::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:
 * AI::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:
 * AI::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;

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
 * AI::TASK_SHOOT_AT_ENTITY(bg[i], aimedentity, 5000, GAMEPLAY::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.
 */
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;

/**
 * List of scenarioNames: pastebin.com/6mrYTdQv
 * Also a few more listed at AI::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: float p1
 */
declare function TaskStopPhoneGestureAnimation(ped: number): void;
/**
 * NativeDB Added Parameter 2: float p1
 */
declare function TaskStopPhoneGestureAnimation(ped: 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];

/**
 * AI::TASK_SYNCHRONIZED_SCENE(ped, scene, "creatures@rottweiler@in_vehicle@std_car", "get_in", 1000.0, -8.0, 4, 0, 0x447a0000, 0);
 * Animations List : www.ls-multiplayer.com/dev/index.php?section=3
 */
declare function TaskSynchronizedScene(ped: number, scene: number, animDictionary: string, animationName: string, blendInSpeed: number, blendOutSpeed: 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 AI::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;

declare function TaskVehicleDriveToCoordLongrange(ped: number, vehicle: number, x: number, y: number, z: number, speed: number, driveMode: number, stopRange: number): void;

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.)
 * Driving Styles guide: gtaforums.com/topic/822314-guide-driving-styles/
 * AI::_TASK_VEHICLE_FOLLOW(l_244[3 -- [[1]] ], l_268[3 -- [[1]] ], l_278, 40.0, 262144, 10);
 * What is this known as in the decompiled scripts ffs. I need more examples. I've searched in all scripts for keywords suchas,
 * TASK_VEHICLE_FOLLOW, FC545A9F0626E3B6, 0xFC545A9F0626E3B6, all the parameters in the above example even just search the last few params '40.0, 262144, 10' and couldnt find where this native is used in scripts at all unless whoever decompiled the scripts gave it a whack a.. name.
 */
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.)
 * Driving Styles guide: gtaforums.com/topic/822314-guide-driving-styles/
 * AI::_TASK_VEHICLE_FOLLOW(l_244[3 -- [[1]] ], l_268[3 -- [[1]] ], l_278, 40.0, 262144, 10);
 * What is this known as in the decompiled scripts ffs. I need more examples. I've searched in all scripts for keywords suchas,
 * TASK_VEHICLE_FOLLOW, FC545A9F0626E3B6, 0xFC545A9F0626E3B6, all the parameters in the above example even just search the last few params '40.0, 262144, 10' and couldnt find where this native is used in scripts at all unless whoever decompiled the scripts gave it a whack a.. name.
 */
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
 */
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;

declare function TaskVehicleMission(p0: number, p1: number, veh: number, p3: number, p4: number, p5: number, p6: number, p7: number, p8: boolean): void;

/**
 * Example from fm_mission_controller.c4:
 * AI::TASK_VEHICLE_MISSION_COORS_TARGET(l_65E1, l_65E2, 324.84588623046875, 325.09619140625, 104.3525, 4, 15.0, 802987, 5.0, 5.0, 0);
 */
declare function TaskVehicleMissionCoorsTarget(ped: number, vehicle: number, x: number, y: number, z: number, p5: number, p6: number, p7: number, p8: number, p9: number, p10: boolean): void;

/**
 * Modes:
 * 8= flees
 * 1=drives around the ped
 * 4=drives and stops near
 * 7=follows
 * 10=follows to the left
 * 11=follows to the  right
 * 12 = follows behind
 * 13=follows ahead
 * 14=follows, stop when near
 */
declare function TaskVehicleMissionPedTarget(ped: number, vehicle: number, pedTarget: number, mode: number, maxSpeed: number, drivingStyle: number, minDistance: number, p7: number, p8: 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 -
 * AI::TASK_VEHICLE_PLAY_ANIM(l_325, "rcmnigel1b", "idle_speedo");
 * AI::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.
 * ```
 * [Animations list](https://alexguirre.github.io/animations-list/)
 */
declare function TaskVehiclePlayAnim(vehicle: number, animation_set: string, animation_name: 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
 * '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
 * '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;

declare function TaskWanderInArea(ped: number, x: number, y: number, z: number, radius: number, minimalLength: number, timeBetweenWalks: 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;

/**
 * Seat Numbers
 * -------------------------------
 * Driver = -1
 * Any = -2
 * Left-Rear = 1
 * Right-Front = 0
 * Right-Rear = 2
 * Extra seats = 3-14(This may differ from vehicle type e.g. Firetruck Rear Stand, Ambulance Rear)
 */
declare function TaskWarpPedIntoVehicle(ped: number, vehicle: number, seat: 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;

declare function TestProbeAgainstAllWater(p0: number, p1: number, p2: number, p3: number, p4: number, p5: number, p6: number, p7: number): number;

declare function TestProbeAgainstWater(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): [number, number[]];

/**
 * I guess p3 is shape test flags?
 */
// Return is unknown[] due to pointer value being input of the function
declare function TestVerticalProbeAgainstAllWater(x: number, y: number, z: number, p3: number, height?: number): unknown[];

declare function TextureDownloadGetName(p0: number): string;

declare function TextureDownloadHasFailed(p0: number): number;
declare function N_0x5776ed562c134687(p0: number): number;

declare function TextureDownloadRelease(p0: number): void;

declare function TextureDownloadRequest(FilePath: string, Name: string, p3: boolean): [number, number];

/**
 * 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;
/**
 * 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;

/**
 * Nulls out the elements stored in CGameStreamMgr + 673, a value inherited from CGameStreamMgr + 15417 (1604)
 */
declare function ThefeedClearFrozenPost(): void;
/**
 * Nulls out the elements stored in CGameStreamMgr + 673, a value inherited from CGameStreamMgr + 15417 (1604)
 */
declare function N_0x80fe4f3ab4e1b62a(): void;
/**
 * Nulls out the elements stored in CGameStreamMgr + 673, a value inherited from CGameStreamMgr + 15417 (1604)
 */
declare function ThefeedFlushPersistent(): void;

declare function ThefeedCommentTeleportPoolOff(): void;
declare function N_0xaded7f5748acafe6(): void;
declare function ThefeedShowGtaoTooltips(): void;

declare function ThefeedCommentTeleportPoolOn(): void;
declare function N_0x56c8b608cfd49854(): void;

/**
 * Stops loading screen tips shown by invoking either `_0x488043841BBE156F` or `_0x15CFA549788D35EF`
 */
declare function ThefeedDisable(): void;
/**
 * Stops loading screen tips shown by invoking either `_0x488043841BBE156F` or `_0x15CFA549788D35EF`
 */
declare function N_0x32888337579a5970(): void;

/**
 * Displays loading screen tips, requires `_0x56C8B608CFD49854` to be called beforehand.
 */
declare function ThefeedEnable(): void;
/**
 * Displays loading screen tips, requires `_0x56C8B608CFD49854` to be called beforehand.
 */
declare function N_0x15cfa549788d35ef(): void;

/**
 * Requires _GAMESTREAM_SHOW_CONTENT to be set.
 */
declare function ThefeedFlushQueue(): void;
/**
 * Requires _GAMESTREAM_SHOW_CONTENT to be set.
 */
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;

/**
 * Getter for 0xFDB423997FA30340
 */
declare function ThefeedIsPaused(): number;
/**
 * Getter for 0xFDB423997FA30340
 */
declare function N_0xa9cbfd40b3fa3010(): number;

/**
 * From the decompiled scripts:
 * UI::_92F0DA1E27DB96DC(6);
 * UI::_92F0DA1E27DB96DC(184);
 * UI::_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
 * this seems to set the alpha to 255 automatically, if you have a work around let me know
 */
declare function ThefeedNextPostBackgroundColor(hudColorIndex: number): void;
/**
 * From the decompiled scripts:
 * UI::_92F0DA1E27DB96DC(6);
 * UI::_92F0DA1E27DB96DC(184);
 * UI::_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
 * this seems to set the alpha to 255 automatically, if you have a work around let me know
 */
declare function N_0x92f0da1e27db96dc(hudColorIndex: number): void;
/**
 * From the decompiled scripts:
 * UI::_92F0DA1E27DB96DC(6);
 * UI::_92F0DA1E27DB96DC(184);
 * UI::_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
 * this seems to set the alpha to 255 automatically, if you have a work around let me know
 */
declare function SetNotificationBackgroundColor(hudColorIndex: number): void;

/**
 * If true, disables the creation of all GAME_STREAM_ENUMS besides TOOLTIPS
 */
declare function ThefeedOnlyShowTooltips(toggle: boolean): void;
/**
 * If true, disables the creation of all GAME_STREAM_ENUMS besides TOOLTIPS
 */
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;

/**
 * sets color for notification flash
 */
declare function ThefeedSetAnimpostfxColor(red: number, green: number, blue: number, alpha: number): void;
/**
 * sets color for notification flash
 */
declare function N_0x17430b918701c342(red: number, green: number, blue: number, alpha: number): void;
/**
 * sets color for notification flash
 */
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.
 * ```
 * var uVar0;
 * var uVar1;
 * var uVar2;
 * var uVar3;
 * int iVar4;
 * iVar4 = 1;
 * 
 * UI::GET_HUD_COLOUR(1, &uVar0, &uVar1, &uVar2, &uVar3);
 * UI::_SET_NOTIFICATION_FLASH_COLOR(uVar0, uVar1, uVar2, uVar3);
 * UI::_0x17AD8C9706BDD88A(iVar4);
 * UI::_SET_NOTIFICATION_TEXT_ENTRY("RSMAN_N");
 * UI::_DRAW_NOTIFICATION_2(1, 1);
 * ```
 */
declare function ThefeedSetAnimpostfxCount(flashCount: number): void;
/**
 * Related to notification color flashing, setting p0 to 0 invalidates a `_SET_NOTIFICATION_FLASH_COLOR` call for the target notification.
 * ```
 * var uVar0;
 * var uVar1;
 * var uVar2;
 * var uVar3;
 * int iVar4;
 * iVar4 = 1;
 * 
 * UI::GET_HUD_COLOUR(1, &uVar0, &uVar1, &uVar2, &uVar3);
 * UI::_SET_NOTIFICATION_FLASH_COLOR(uVar0, uVar1, uVar2, uVar3);
 * UI::_0x17AD8C9706BDD88A(iVar4);
 * UI::_SET_NOTIFICATION_TEXT_ENTRY("RSMAN_N");
 * UI::_DRAW_NOTIFICATION_2(1, 1);
 * ```
 */
declare function N_0x17ad8c9706bdd88a(flashCount: 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;

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;

/**
 * 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;

/**
 * Toggles:
 * UNK17
 * Turbo
 * UNK19
 * Tire Smoke
 * UNK21
 * Xenon Headlights
 */
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 it's "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 it's "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 it's "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 it's "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;
/**
 * Transforms the `stormberg` to it's "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 it's "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;

/**
 * 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): number;

declare function TriggerScreenblurFadeIn(transitionTime: number): number;
declare function TransitionToBlurred(transitionTime: number): number;

declare function TriggerScreenblurFadeOut(transitionTime: number): number;
declare function TransitionFromBlurred(transitionTime: number): number;

/**
 * p1 = 6
 * NETWORK_CRC_HASH_CHECK?
 */
declare function TriggerScriptCrcCheckOnPlayer(player: number, p1: number, scriptHash: string | number): number;
/**
 * p1 = 6
 * NETWORK_CRC_HASH_CHECK?
 */
declare function N_0x46fb3ed415c7641c(player: number, p1: number, scriptHash: string | number): number;
/**
 * p1 = 6
 * NETWORK_CRC_HASH_CHECK?
 */
declare function NetworkIsPlayerInScript(player: number, p1: number, scriptHash: string | number): number;

/**
 * yis
 * eventGroup: 0 = CEventGroupScriptAI, 1 = CEventGroupScriptNetwork
 * ^^ I'm assuming it's like the rest with this parameter.
 */
declare function TriggerScriptEvent(eventGroup: number, argCount: number, bit: number): number;

/**
 * NativeDB Parameter 0: int eventGroup
 */
declare function TriggerScriptEvent_2(eventGroup: boolean, argCount: number, bit: number): number;
/**
 * NativeDB Parameter 0: int eventGroup
 */
declare function N_0xa40cc53df8e50837(eventGroup: boolean, argCount: number, bit: 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(): [number, number, number];
declare function N_0x152d90e4c1b4738a(): [number, number, number];

/**
 * NativeDB Parameter 1: int dataCount
 */
declare function UgcCreateContent(data: string, dataCount: boolean, contentName: string, description: string, tagsCsv: string, contentTypeName: string, publish: boolean): number;
/**
 * NativeDB Parameter 1: int dataCount
 */
declare function N_0xc84527e235fca219(data: string, dataCount: boolean, contentName: string, description: string, tagsCsv: string, contentTypeName: string, publish: boolean): number;

/**
 * NOTE: 'p1' might be some kind of array.
 */
declare function UgcCreateMission(contentName: string, description: string, tagsCsv: string, contentTypeName: string, publish: boolean): number;
/**
 * NOTE: 'p1' might be some kind of array.
 */
declare function N_0xa5efc3e847d60507(contentName: string, description: string, tagsCsv: string, contentTypeName: string, publish: boolean): number;

declare function UgcGetBookmarkedContent(p0: number, p1: number): [number, number, number];
declare function N_0xd5a4b59980401588(p0: number, p1: number): [number, 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): number;
declare function N_0x993cbe59d350d225(p0: number): number;

declare function UgcGetContentHasPlayerRecord(p0: number): number;
declare function N_0x70ea8da57840f9be(p0: number): number;

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): number;
declare function N_0x3054f114121c21ea(p0: number): number;

declare function UgcGetContentIsVerified(p0: number): number;
declare function N_0xa9240a96c74cca13(p0: number): number;

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;

/**
 * NativeDB Parameter 1: int p1
 */
// Return is unknown[] due to pointer value being input of the function
declare function UgcGetContentPath(p0: number, p1?: number): unknown[];
/**
 * NativeDB Parameter 1: int p1
 */
// Return is unknown[] due to pointer value being input of the function
declare function N_0xbaf6babf9e7ccc13(p0: number, p1?: number): unknown[];
/**
 * NativeDB Parameter 1: int p1
 */
// Return is unknown[] due to pointer value being input of the function
declare function UgcGetCloudPath(p0: number, p1?: number): unknown[];

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): void;
declare function N_0xcfd115b373c0df63(p0: number, p1: number): void;

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): [number, number, number];
declare function N_0x9f6e2821885caee2(p0: number, p1: number, p2: number): [number, number, number];

declare function UgcGetFriendContent(p0: number, p1: number): [number, number, number];
declare function N_0xf9e1ccae8ba4c281(p0: number, p1: number): [number, number, number];

declare function UgcGetGetByCategory(p0: number, p1: number, p2: number): [number, number, number];
declare function N_0x678bb03c1a3bd51e(p0: number, p1: number, p2: number): [number, number, number];

declare function UgcGetModifyResult(): number;
declare function N_0x5a0a3d1a186a5508(): number;

declare function UgcGetMyContent(p0: number, p1: number): [number, number, number];
declare function N_0x3195f8dd0d531052(p0: number, p1: number): [number, 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(): number;
declare function N_0x5e24341a7f92a74b(): number;

declare function UgcHasGetFinished(): number;
declare function N_0x02ada21ea2f6918f(): number;

declare function UgcHasModifyFinished(): number;
declare function N_0x299ef3c576773506(): number;

declare function UgcIsGetting(): number;
declare function N_0xd53acdbef24a46e8(): number;

declare function UgcIsLanguageSupported(p0: number): number;
declare function N_0xf53e48461b71eecb(p0: number): number;

declare function UgcPoliciesMakePrivate(p0: number): number;
declare function N_0x5cae833b0ee0c500(p0: number): number;

declare function UgcPublish(contentId: string, baseContentId: string, contentTypeName: string): number;
declare function N_0x1de0f5f50d723caa(contentId: string, baseContentId: string, contentTypeName: string): number;

declare function UgcQueryByContentId(contentId: string, latestVersion: boolean, contentTypeName: string): number;
declare function N_0x158ec424f35ec469(contentId: string, latestVersion: boolean, contentTypeName: string): number;

declare function UgcQueryByContentIds(count: number, latestVersion: boolean, contentTypeName: string): [number, number];
declare function N_0xc7397a83f7a2a462(count: number, latestVersion: boolean, contentTypeName: string): [number, number];

/**
 * Gets some kind of data related to missions like the online player created races n stuff
 */
declare function UgcQueryMyContent(p0: number, p1: number, p3: number, p4: number, p5: number): [number, number];
/**
 * Gets some kind of data related to missions like the online player created races n stuff
 */
declare function N_0x9bf438815f5d96ea(p0: number, p1: number, p3: number, p4: number, p5: number): [number, number];

declare function UgcQueryRecentlyCreatedContent(offset: number, count: number, contentTypeName: string, p3: number): number;
declare function N_0x6d4cb481fac835e8(offset: number, count: number, contentTypeName: string, p3: number): number;

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): number;
declare function N_0x274a1519dfc1094f(contentId: string, bookmarked: boolean, contentTypeName: string): number;

declare function UgcSetDeleted(p1: boolean): [number, number, number];
declare function N_0xd05d1a6c74da3498(p1: boolean): [number, number, number];

declare function UgcSetPlayerData(contentId: string, rating: number, contentTypeName: string): number;
declare function N_0x692d808c34a82143(contentId: string, rating: number, contentTypeName: string): number;

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 Parameter 2: int dataCount
 */
declare function UgcUpdateContent(contentId: string, dataCount: boolean, contentName: string, description: string, tagsCsv: string, contentTypeName: string): [number, number];
/**
 * NativeDB Parameter 2: int dataCount
 */
declare function N_0x648e7a5434af7969(contentId: string, dataCount: boolean, contentName: string, description: string, tagsCsv: string, contentTypeName: string): [number, number];

/**
 * NOTE: 'p2' might be some kind of array.
 */
declare function UgcUpdateMission(contentId: string, contentName: string, description: string, tagsCsv: string, contentTypeName: string): number;
/**
 * NOTE: 'p2' might be some kind of array.
 */
declare function N_0x4645de9980999e93(contentId: string, contentName: string, description: string, tagsCsv: string, contentTypeName: string): number;

declare function Ui3dsceneIsAvailable(): number;
declare function N_0xd3a10fc7fd8d98cd(): number;

/**
 * All presets can be found in common\data\ui\uiscenes.meta
 */
declare function Ui3dscenePushPreset(presetName: string): number;
/**
 * All presets can be found in common\data\ui\uiscenes.meta
 */
declare function N_0xf1cea8a4198d8e9a(presetName: string): number;

/**
 * Returns true if the current frontend menu is FE_MENU_VERSION_SP_PAUSE
 * U*
 */
declare function UiIsSingleplayerPauseMenuActive(): number;
/**
 * Returns true if the current frontend menu is FE_MENU_VERSION_SP_PAUSE
 * U*
 */
declare function N_0xea2f2061875eed90(): number;

declare function UnblockDecisionMakerEvent(name: string | number, _type: number): void;

declare function UncuffPed(ped: number): void;

declare function UnfreezeRadioStation(radioStation: string): void;

/**
 * Called 4 times in the b617d scripts:
 * GAMEPLAY::_A74802FB8D0B7814("CONTRAILS", 0);
 */
declare function UnloadCloudHat(name: string, p1: number): void;
/**
 * Called 4 times in the b617d scripts:
 * GAMEPLAY::_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;

/**
 * I see this as a native that would of been used back in GTA III when you finally unlocked the bridge to the next island and such.
 */
declare function UnlockMissionNewsStory(newsStory: number): void;

/**
 * 2 calls in the b617d scripts. This line is called 2 times:
 * AUDIO::_031ACB6ABA18C729("RADIO_16_SILVERLAKE", "MIRRORPARK_LOCKED");
 * Note: Another name for RADIO_16_SILVERLAKE is RADIO MIRROR PARK
 */
declare function UnlockRadioStationTrackList(radioStation: string, trackListName: string): void;
/**
 * 2 calls in the b617d scripts. This line is called 2 times:
 * AUDIO::_031ACB6ABA18C729("RADIO_16_SILVERLAKE", "MIRRORPARK_LOCKED");
 * Note: Another name for RADIO_16_SILVERLAKE is RADIO MIRROR PARK
 */
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;

/**
 * NativeDB Return Type: void
 */
declare function UnpinRopeVertex(ropeId: number, vertex: number): number;

/**
 * gtaforums.com/topic/885580-ped-headshotmugshot-txd/
 */
declare function UnregisterPedheadshot(id: number): 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;

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:
 * 0 - User still editing
 * 1 - User has finished editing
 * 2 - User has canceled editing
 * 3 - Keyboard isn't active
 */
declare function UpdateOnscreenKeyboard(): number;

/**
 * See SET_PED_HEAD_BLEND_DATA().
 */
declare function UpdatePedHeadBlendData(ped: number, shapeMix: number, skinMix: number, thirdMix: number): void;

/**
 * NativeDB Parameter 0: Hash statHash
 */
declare function UpdateStatFloat(statHash: number, value: number, p2: number): void;
/**
 * NativeDB Parameter 0: Hash statHash
 */
declare function N_0x30a6614c1f7799b8(statHash: number, value: number, p2: number): void;

/**
 * NativeDB Parameter 0: Hash statHash
 */
declare function UpdateStatInt(statHash: string, value: number, p2: number): void;
/**
 * NativeDB Parameter 0: Hash statHash
 */
declare function N_0x11ff1c80276097ed(statHash: string, value: number, p2: number): void;

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;

/**
 * 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;

/**
 * NativeDB Added Parameter 2: BOOL p1
 */
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
 * --------------------------------------------------------------------
 * It does not actually seem to wait the amount of milliseconds stated like the normal WAIT() command does, but it does seem to make task sequences work more smoothly
 * System native hashes do not change on gameupdate
 */
declare function Wait(ms: number): void;

declare function WasCutsceneSkipped(): number;

/**
 * Returns whether or not the currently executing event was canceled.
 * @return A boolean.
 */
declare function WasEventCanceled(): number;

declare function WasPedKilledByStealth(ped: number): number;

declare function WasPedKilledByTakedown(ped: number): number;

declare function WasPedKnockedOut(ped: number): number;
declare function N_0x61767f73eaceed21(ped: number): number;

/**
 * Despite this function's name, it simply returns whether the specified handle is a Ped.
 */
declare function WasPedSkeletonUpdated(ped: number): number;

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): number;

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, see here: pastebin.com/Tp0XpBMN
 * For a full list of the points, see here: goo.gl/wIH0vn
 */
// Return is unknown[] due to pointer value being input of the function
declare function WaypointRecordingGetClosestWaypoint(name: string, x: number, y: number, z: number, point?: number): unknown[];

/**
 * For a full list, see here: pastebin.com/Tp0XpBMN
 * For a full list of the points, see here: goo.gl/wIH0vn
 */
declare function WaypointRecordingGetCoord(name: string, point: number): [number, number[]];

/**
 * For a full list, see here: pastebin.com/Tp0XpBMN
 * For a full list of the points, see here: goo.gl/wIH0vn
 */
// Return is unknown[] due to pointer value being input of the function
declare function WaypointRecordingGetNumPoints(name: string, points?: number): unknown[];

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;

/**
 * First parameter was previously an Entity but after further research it is definitely a hash.
 */
declare function WouldEntityBeOccluded(entityModelHash: string | number, x: number, y: number, z: number, p4: boolean): number;

