# Stubs for gta.natives.weapon

import gta

def GET_AMMO_IN_PED_WEAPON(ped: int, weaponhash: int) -> int: ...
def GET_WEAPON_TIME_BETWEEN_SHOTS(weaponHash: int) -> float: ...
def SET_PED_CURRENT_WEAPON_VISIBLE(ped: int, visible: bool, deselectWeapon: bool, p3: bool, p4: bool) -> None: ...
def GET_SELECTED_PED_WEAPON(ped: int) -> int: ...
def REMOVE_AIR_DEFENCE_SPHERE(zoneId: int) -> bool: ...
def IS_PED_WEAPON_COMPONENT_ACTIVE(ped: int, weaponHash: int, componentHash: int) -> bool: ...
def GET_WEAPON_COMPONENT_TYPE_MODEL(componentHash: int) -> int: ...
def CLEAR_PED_LAST_WEAPON_DAMAGE(ped: int) -> None: ...
def GET_CURRENT_PED_VEHICLE_WEAPON(ped: int, weaponHash: int) -> bool: ...
def SET_WEAPON_ANIMATION_OVERRIDE(ped: int, animStyle: int) -> None: ...
def _SET_WEAPON_PED_DAMAGE_MODIFIER(weapon: int, damageModifier: float) -> None: ...
def HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON(entity: int, weaponHash: int, weaponType: int) -> bool: ...
def SET_PED_AMMO(ped: int, weaponHash: int, ammo: int, p3: bool) -> None: ...
def SET_PED_INFINITE_AMMO_CLIP(ped: int, toggle: bool) -> None: ...
def REMOVE_ALL_AIR_DEFENCE_SPHERES() -> None: ...
def REMOVE_WEAPON_COMPONENT_FROM_PED(ped: int, weaponHash: int, componentHash: int) -> None: ...
def SET_PED_DROPS_INVENTORY_WEAPON(ped: int, weaponHash: int, xOffset: float, yOffset: float, zOffset: float, ammoCount: int) -> None: ...
def MAKE_PED_RELOAD(ped: int) -> bool: ...
def ADD_PED_AMMO_BY_TYPE(ped: int, ammoTypeHash: int, ammo: int) -> None: ...
def SET_PED_STUN_GUN_FINITE_AMMO(p0: int, p1: int) -> None: ...
def _GET_AMMO_IN_VEHICLE_WEAPON_CLIP(vehicle: int, seat: int, ammo: int) -> bool: ...
def GET_PED_WEAPON_TINT_INDEX(ped: int, weaponHash: int) -> int: ...
def HAS_PED_BEEN_DAMAGED_BY_WEAPON(ped: int, weaponHash: int, weaponType: int) -> bool: ...
def GET_AMMO_IN_CLIP(ped: int, weaponHash: int, ammo: int) -> bool: ...
def GET_WEAPON_DAMAGE(weaponHash: int, componentHash: int) -> float: ...
def GIVE_WEAPON_COMPONENT_TO_WEAPON_OBJECT(weaponObject: int, componentHash: int) -> None: ...
def HAS_WEAPON_ASSET_LOADED(weaponHash: int) -> bool: ...
def GET_PED_AMMO_BY_TYPE(ped: int, ammoTypeHash: int) -> int: ...
def GET_CURRENT_PED_WEAPON(ped: int, weaponHash: int, p2: bool) -> bool: ...
def GET_CURRENT_PED_WEAPON_ENTITY_INDEX(ped: int, p1: int) -> int: ...
def GET_WEAPON_DAMAGE_TYPE(weaponHash: int) -> int: ...
def SET_PED_INFINITE_AMMO(ped: int, toggle: bool, weaponHash: int) -> None: ...
def GET_WEAPONTYPE_SLOT(weaponHash: int) -> int: ...
def FIRE_AIR_DEFENCE_SPHERE_WEAPON_AT_POSITION(zoneId: int, x: float, y: float, z: float) -> None: ...
def IS_PED_ARMED(ped: int, typeFlags: int) -> bool: ...
def SET_WEAPON_DAMAGE_MODIFIER(weaponHash: int, damageMultiplier: float) -> None: ...
def SET_PED_DROPS_WEAPONS_WHEN_DEAD(ped: int, toggle: bool) -> None: ...
def REQUEST_WEAPON_HIGH_DETAIL_MODEL(weaponObject: int) -> None: ...
def REMOVE_WEAPON_FROM_PED(ped: int, weaponHash: int) -> None: ...
def SET_WEAPON_AOE_MODIFIER(weaponHash: int, multiplier: float) -> None: ...
def IS_FLASH_LIGHT_ON(ped: int) -> bool: ...
def GET_WEAPON_COMPONENT_VARIANT_EXTRA_MODEL(componentHash: int, extraComponentIndex: int) -> int: ...
def SET_PED_CYCLE_VEHICLE_WEAPONS_ONLY(ped: int) -> None: ...
def SET_PED_WEAPON_TINT_INDEX(ped: int, weaponHash: int, tintIndex: int) -> None: ...
def REQUEST_WEAPON_ASSET(weaponHash: int, p1: int, p2: int) -> None: ...
def GET_WEAPON_CLIP_SIZE(weaponHash: int) -> int: ...
def GET_MAX_AMMO_BY_TYPE(ped: int, ammoTypeHash: int, ammo: int) -> bool: ...
def _TRIGGER_VEHICLE_WEAPON_RELOAD(vehicle: int, seat: int, ped: int) -> bool: ...
def DOES_WEAPON_TAKE_WEAPON_COMPONENT(weaponHash: int, componentHash: int) -> bool: ...
def SET_WEAPON_OBJECT_COMPONENT_TINT_INDEX(weaponObject: int, camoComponentHash: int, colorIndex: int) -> None: ...
def GET_WEAPON_TINT_COUNT(weaponHash: int) -> int: ...
def SET_PED_AMMO_BY_TYPE(ped: int, ammoTypeHash: int, ammo: int) -> None: ...
def GET_WEAPON_COMPONENT_VARIANT_EXTRA_COUNT(componentHash: int) -> int: ...
def IS_PED_CURRENT_WEAPON_SILENCED(ped: int) -> bool: ...
def GIVE_LOADOUT_TO_PED(ped: int, loadoutHash: int) -> None: ...
def SET_PED_DROPS_WEAPON(ped: int) -> None: ...
def GET_PED_LAST_WEAPON_IMPACT_COORD(ped: int, coords: int) -> bool: ...
def HIDE_PED_WEAPON_FOR_SCRIPTED_CUTSCENE(ped: int, toggle: bool) -> None: ...
def HAS_VEHICLE_GOT_PROJECTILE_ATTACHED(driver: int, vehicle: int, weaponHash: int, p3: int) -> bool: ...
def SET_CURRENT_PED_VEHICLE_WEAPON(ped: int, weaponHash: int) -> bool: ...
def HAS_WEAPON_GOT_WEAPON_COMPONENT(weapon: int, componentHash: int) -> bool: ...
def ADD_AMMO_TO_PED(ped: int, weaponHash: int, ammo: int) -> None: ...
def GET_PED_AMMO_TYPE_FROM_WEAPON(ped: int, weaponHash: int) -> int: ...
def _HAS_WEAPON_RELOADING_IN_VEHICLE(vehicle: int, seat: int) -> bool: ...
def GET_MAX_RANGE_OF_CURRENT_PED_WEAPON(ped: int) -> float: ...
def SET_PED_CHANCE_OF_FIRING_BLANKS(ped: int, xBias: float, yBias: float) -> None: ...
def GET_LOCKON_DISTANCE_OF_CURRENT_PED_WEAPON(ped: int) -> float: ...
def GET_BEST_PED_WEAPON(ped: int, p1: bool) -> int: ...
def _SET_AMMO_IN_VEHICLE_WEAPON_CLIP(vehicle: int, seat: int, ammo: int) -> bool: ...
def REFILL_AMMO_INSTANTLY(ped: int) -> bool: ...
def HAS_PED_GOT_WEAPON(ped: int, weaponHash: int, p2: bool) -> bool: ...
def CREATE_AIR_DEFENCE_SPHERE(x: float, y: float, z: float, radius: float, p4: float, p5: float, p6: float, weaponHash: int) -> int: ...
def IS_WEAPON_VALID(weaponHash: int) -> bool: ...
def CREATE_WEAPON_OBJECT(weaponHash: int, ammoCount: int, x: float, y: float, z: float, showWorldModel: bool, scale: float, p7: int, p8: int, p9: int) -> int: ...
def SET_WEAPON_OBJECT_CAMO_INDEX(weaponObject: int, p1: int) -> None: ...
def SET_FLASH_LIGHT_ACTIVE_HISTORY(ped: int, toggle: bool) -> None: ...
def CREATE_AIR_DEFENCE_ANGLED_AREA(p0: float, p1: float, p2: float, p3: float, p4: float, p5: float, p6: float, p7: float, p8: float, radius: float, weaponHash: int) -> int: ...
def SET_PED_WEAPON_COMPONENT_TINT_INDEX(ped: int, weaponHash: int, camoComponentHash: int, colorIndex: int) -> None: ...
def GET_PED_WEAPON_CAMO_INDEX(ped: int, weaponHash: int) -> int: ...
def GET_MAX_AMMO_IN_CLIP(ped: int, weaponHash: int, p2: bool) -> int: ...
def SET_PED_AMMO_TO_DROP(ped: int, p1: int) -> None: ...
def REMOVE_WEAPON_ASSET(weaponHash: int) -> None: ...
def CLEAR_ENTITY_LAST_WEAPON_DAMAGE(entity: int) -> None: ...
def SET_CURRENT_PED_WEAPON(ped: int, weaponHash: int, bForceInHand: bool) -> None: ...
def GIVE_WEAPON_OBJECT_TO_PED(weaponObject: int, ped: int) -> None: ...
def GIVE_DELAYED_WEAPON_TO_PED(ped: int, weaponHash: int, ammoCount: int, bForceInHand: bool) -> None: ...
def GET_WEAPON_COMPONENT_HUD_STATS(componentHash: int, outData: int) -> bool: ...
def GET_WEAPON_OBJECT_COMPONENT_TINT_INDEX(weaponObject: int, camoComponentHash: int) -> int: ...
def SET_CAN_PED_SELECT_INVENTORY_WEAPON(ped: int, weaponHash: int, toggle: bool) -> None: ...
def SET_PED_SHOOT_ORDNANCE_WEAPON(ped: int, p1: float) -> int: ...
def IS_PED_WEAPON_READY_TO_SHOOT(ped: int) -> bool: ...
def CAN_USE_WEAPON_ON_PARACHUTE(weaponHash: int) -> bool: ...
def GIVE_WEAPON_TO_PED(ped: int, weaponHash: int, ammoCount: int, isHidden: bool, bForceInHand: bool) -> None: ...
def GET_WEAPONTYPE_GROUP(weaponHash: int) -> int: ...
def HAS_PED_GOT_WEAPON_COMPONENT(ped: int, weaponHash: int, componentHash: int) -> bool: ...
def ENABLE_LASER_SIGHT_RENDERING(toggle: bool) -> None: ...
def _GET_TIME_BEFORE_VEHICLE_WEAPON_RELOAD_FINISHES(vehicle: int, seat: int) -> int: ...
def GET_WEAPON_OBJECT_FROM_PED(ped: int, p1: bool) -> int: ...
def GET_WEAPON_OBJECT_TINT_INDEX(weapon: int) -> int: ...
def DOES_AIR_DEFENCE_SPHERE_EXIST(zoneId: int) -> bool: ...
def SET_FLASH_LIGHT_FADE_DISTANCE(distance: float) -> bool: ...
def _GET_VEHICLE_WEAPON_RELOAD_TIME(vehicle: int, seat: int) -> float: ...
def SET_PED_GADGET(ped: int, gadgetHash: int, p2: bool) -> None: ...
def GET_WEAPON_HUD_STATS(weaponHash: int, outData: int) -> bool: ...
def GIVE_WEAPON_COMPONENT_TO_PED(ped: int, weaponHash: int, componentHash: int) -> None: ...
def IS_AIR_DEFENCE_SPHERE_IN_AREA(x: float, y: float, z: float, radius: float, outZoneId: int) -> bool: ...
def GET_MAX_AMMO(ped: int, weaponHash: int, ammo: int) -> bool: ...
def SET_AMMO_IN_CLIP(ped: int, weaponHash: int, ammo: int) -> bool: ...
def SET_EQIPPED_WEAPON_START_SPINNING_AT_FULL_SPEED(ped: int) -> None: ...
def SET_PICKUP_AMMO_AMOUNT_SCALER(p0: float) -> None: ...
def SET_WEAPON_EFFECT_DURATION_MODIFIER(p0: int, p1: float) -> None: ...
def SET_PLAYER_TARGETTABLE_FOR_AIR_DEFENCE_SPHERE(player: int, zoneId: int, enable: bool) -> None: ...
def SET_CAN_PED_SELECT_ALL_WEAPONS(ped: int, toggle: bool) -> None: ...
def GET_PED_WEAPONTYPE_IN_SLOT(ped: int, weaponSlot: int) -> int: ...
def GET_PED_WEAPON_COMPONENT_TINT_INDEX(ped: int, weaponHash: int, camoComponentHash: int) -> int: ...
def REMOVE_ALL_PED_WEAPONS(ped: int, p1: bool) -> None: ...
def GET_WEAPONTYPE_MODEL(weaponHash: int) -> int: ...
def GET_PED_ORIGINAL_AMMO_TYPE_FROM_WEAPON(ped: int, weaponHash: int) -> int: ...
def GET_IS_PED_GADGET_EQUIPPED(ped: int, gadgetHash: int) -> bool: ...
def REMOVE_WEAPON_COMPONENT_FROM_WEAPON_OBJECT(object: int, componentHash: int) -> None: ...
def SET_WEAPON_OBJECT_TINT_INDEX(weapon: int, tintIndex: int) -> None: ...
def EXPLODE_PROJECTILES(ped: int, weaponHash: int, p2: bool) -> None: ...
def REMOVE_ALL_PROJECTILES_OF_TYPE(weaponHash: int, explode: bool) -> None: ...
