# Stubs for gta.natives.shapetest

import gta

def START_SHAPE_TEST_BOUNDING_BOX(entity: int, flags1: int, flags2: int) -> int: ...
def START_SHAPE_TEST_CAPSULE(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, radius: float, flags: int, entity: int, p9: int) -> int: ...
def RELEASE_SCRIPT_GUID_FROM_ENTITY(entityHit: int) -> None: ...
def START_SHAPE_TEST_BOUND(entity: int, flags1: int, flags2: int) -> int: ...
def START_EXPENSIVE_SYNCHRONOUS_SHAPE_TEST_LOS_PROBE(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, flags: int, entity: int, p8: int) -> int: ...
def GET_SHAPE_TEST_RESULT(shapeTestHandle: int, hit: int, endCoords: int, surfaceNormal: int, entityHit: int) -> int: ...
def GET_SHAPE_TEST_RESULT_INCLUDING_MATERIAL(shapeTestHandle: int, hit: int, endCoords: int, surfaceNormal: int, materialHash: int, entityHit: int) -> int: ...
def START_SHAPE_TEST_LOS_PROBE(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, flags: int, entity: int, p8: int) -> int: ...
def START_SHAPE_TEST_SWEPT_SPHERE(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, radius: float, flags: int, entity: int, p9: int) -> int: ...
def START_SHAPE_TEST_BOX(x: float, y: float, z: float, dimX: float, dimY: float, dimZ: float, rotX: float, rotY: float, rotZ: float, p9: int, flags: int, entity: int, p12: int) -> int: ...
def START_SHAPE_TEST_MOUSE_CURSOR_LOS_PROBE(pVec1: int, pVec2: int, flag: int, entity: int, flag2: int) -> int: ...
