# Stubs for gta.natives.pathfind

import gta

def SET_ROADS_BACK_TO_ORIGINAL_IN_ANGLED_AREA(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, width: float, p7: int) -> None: ...
def GET_NUM_NAVMESHES_EXISTING_IN_AREA(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float) -> int: ...
def GET_VEHICLE_NODE_PROPERTIES(x: float, y: float, z: float, density: int, flags: int) -> bool: ...
def REQUEST_PATH_NODES_IN_AREA_THIS_FRAME(x1: float, y1: float, x2: float, y2: float) -> bool: ...
def SET_AMBIENT_PED_RANGE_MULTIPLIER_THIS_FRAME(multiplier: float) -> None: ...
def DOES_NAVMESH_BLOCKING_OBJECT_EXIST(p0: int) -> bool: ...
def UPDATE_NAVMESH_BLOCKING_OBJECT(p0: int, p1: float, p2: float, p3: float, p4: float, p5: float, p6: float, p7: float, p8: int) -> None: ...
def IS_POINT_ON_ROAD(x: float, y: float, z: float, vehicle: int) -> bool: ...
def GET_CLOSEST_ROAD(x: float, y: float, z: float, p3: float, p4: int, p5: int, p6: int, p7: int, p8: int, p9: int, p10: bool) -> bool: ...
def GET_POSITION_BY_SIDE_OF_ROAD(x: float, y: float, z: float, p3: int, outPosition: int) -> bool: ...
def SET_ROADS_IN_ANGLED_AREA(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, width: float, unknown1: bool, unknown2: bool, unknown3: bool) -> None: ...
def IS_VEHICLE_NODE_ID_VALID(vehicleNodeId: int) -> bool: ...
def SET_ROADS_BACK_TO_ORIGINAL(p0: float, p1: float, p2: float, p3: float, p4: float, p5: float, p6: int) -> None: ...
def SET_IGNORE_NO_GPS_FLAG_UNTIL_FIRST_NORMAL_NODE(toggle: bool) -> None: ...
def SET_ALLOW_STREAM_PROLOGUE_NODES(toggle: bool) -> None: ...
def GET_NTH_CLOSEST_VEHICLE_NODE_ID(x: float, y: float, z: float, nth: int, nodeFlags: int, p5: float, p6: float) -> int: ...
def GET_CLOSEST_VEHICLE_NODE(x: float, y: float, z: float, outPosition: int, nodeFlags: int, p5: float, p6: float) -> bool: ...
def CLEAR_GPS_DISABLED_ZONE_AT_INDEX(index: int) -> None: ...
def GET_APPROX_HEIGHT_FOR_POINT(x: float, y: float) -> float: ...
def GET_CLOSEST_MAJOR_VEHICLE_NODE(x: float, y: float, z: float, outPosition: int, unknown1: float, unknown2: float) -> bool: ...
def GET_STREET_NAME_AT_COORD(x: float, y: float, z: float, streetName: int, crossingRoad: int) -> None: ...
def GET_APPROX_FLOOR_FOR_POINT(x: float, y: float) -> float: ...
def SET_PED_PATHS_IN_AREA(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, p6: bool, p7: int) -> None: ...
def GET_APPROX_FLOOR_FOR_AREA(x1: float, y1: float, x2: float, y2: float) -> float: ...
def ADD_NAVMESH_REQUIRED_REGION(x: float, y: float, radius: float) -> None: ...
def GET_NTH_CLOSEST_VEHICLE_NODE_FAVOUR_DIRECTION(x: float, y: float, z: float, desiredX: float, desiredY: float, desiredZ: float, nthClosest: int, outPosition: int, outHeading: int, nodeFlags: int, p10: float, p11: float) -> bool: ...
def REMOVE_NAVMESH_BLOCKING_OBJECT(p0: int) -> None: ...
def DISABLE_NAVMESH_IN_AREA(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, toggle: bool) -> None: ...
def GET_VEHICLE_NODE_IS_SWITCHED_OFF(nodeID: int) -> bool: ...
def GET_NTH_CLOSEST_VEHICLE_NODE_ID_WITH_HEADING(x: float, y: float, z: float, nthClosest: int, outPosition: int, outHeading: int, nodeFlags: int, p7: float, p8: float) -> int: ...
def GET_VEHICLE_NODE_POSITION(nodeId: int, outPosition: int) -> None: ...
def IS_NAVMESH_REQUIRED_REGION_IN_USE() -> bool: ...
def SET_IGNORE_NO_GPS_FLAG(toggle: bool) -> None: ...
def GET_SPAWN_COORDS_FOR_VEHICLE_NODE(nodeAddress: int, towardsCoorsX: float, towardsCoorsY: float, towardsCoorsZ: float, centrePoint: int, heading: int) -> None: ...
def GET_NTH_CLOSEST_VEHICLE_NODE_WITH_HEADING(x: float, y: float, z: float, nthClosest: int, outPosition: int, outHeading: int, outNumLanes: int, nodeFlags: int, unknown3: float, unknown4: float) -> bool: ...
def ARE_ALL_NAVMESH_REGIONS_LOADED() -> bool: ...
def GET_GPS_BLIP_ROUTE_FOUND() -> bool: ...
def GET_APPROX_HEIGHT_FOR_AREA(x1: float, y1: float, x2: float, y2: float) -> float: ...
def REMOVE_NAVMESH_REQUIRED_REGIONS() -> None: ...
def GET_RANDOM_VEHICLE_NODE(x: float, y: float, z: float, radius: float, p4: bool, p5: bool, p6: bool, outPosition: int, nodeId: int) -> bool: ...
def GET_ROAD_BOUNDARY_USING_HEADING(x: float, y: float, z: float, heading: float, outPosition: int) -> bool: ...
def GET_VEHICLE_NODE_IS_GPS_ALLOWED(nodeID: int) -> bool: ...
def ADJUST_AMBIENT_PED_SPAWN_DENSITIES_THIS_FRAME(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: int) -> None: ...
def CALCULATE_TRAVEL_DISTANCE_BETWEEN_POINTS(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float) -> float: ...
def GET_SAFE_COORD_FOR_PED(x: float, y: float, z: float, onGround: bool, outPosition: int, flags: int) -> bool: ...
def GET_GPS_BLIP_ROUTE_LENGTH() -> int: ...
def SET_ROADS_IN_AREA(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, nodeEnabled: bool, unknown2: bool) -> None: ...
def LOAD_ALL_PATH_NODES(set: bool) -> bool: ...
def SET_GPS_DISABLED_ZONE_AT_INDEX(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, index: int) -> None: ...
def GET_NEXT_GPS_DISABLED_ZONE_INDEX() -> int: ...
def SET_GPS_DISABLED_ZONE(x1: float, y1: float, z1: float, x2: float, y2: float, z3: float) -> None: ...
def SET_PED_PATHS_BACK_TO_ORIGINAL(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, p6: int) -> None: ...
def GET_NTH_CLOSEST_VEHICLE_NODE(x: float, y: float, z: float, nthClosest: int, outPosition: int, nodeFlags: int, unknown1: float, unknown2: float) -> bool: ...
def GET_POS_ALONG_GPS_TYPE_ROUTE(result: int, p1: bool, p2: float, p3: int) -> bool: ...
def SET_ALLOW_STREAM_HEIST_ISLAND_NODES(type: int) -> None: ...
def ARE_NODES_LOADED_FOR_AREA(x1: float, y1: float, x2: float, y2: float) -> bool: ...
def IS_NAVMESH_LOADED_IN_AREA(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float) -> bool: ...
def GENERATE_DIRECTIONS_TO_COORD(x: float, y: float, z: float, p3: bool, direction: int, p5: int, distToNxJunction: int) -> int: ...
def ADD_NAVMESH_BLOCKING_OBJECT(p0: float, p1: float, p2: float, p3: float, p4: float, p5: float, p6: float, p7: bool, p8: int) -> int: ...
def GET_CLOSEST_VEHICLE_NODE_WITH_HEADING(x: float, y: float, z: float, outPosition: int, outHeading: int, nodeType: int, p6: float, p7: float) -> bool: ...
