import { Object3D, Physics } from "@wonderlandengine/api"; import { Vector3 } from "../type_definitions/array_type_definitions.js"; import { PhysicsLayerFlags } from "./physics_layer_flags.js"; export declare enum RaycastBlockColliderType { NORMAL = 0, TRIGGER = 1, BOTH = 2 } export declare class RaycastParams { myOrigin: Vector3; myDirection: Vector3; myDistance: number; myBlockLayerFlags: Readonly; myBlockColliderType: RaycastBlockColliderType; myObjectsToIgnore: Readonly[]; myIgnoreHitsInsideCollision: boolean; myPhysics: Readonly; constructor(physics?: Readonly); copy(other: Readonly): void; reset(): void; equals(other: Readonly): boolean; } export declare class RaycastResults { myRaycastParams: Readonly | null; myHits: Readonly[]; private _myUnusedHits; isColliding(ignoreHitsInsideCollision?: boolean): boolean; getFirstHitInsideCollision(): Readonly | null; getFirstHitOutsideCollision(): Readonly | null; getHitsInsideCollision(): Readonly[]; getHitsOutsideCollision(): Readonly[]; removeHit(hitIndex: number): Readonly | null; removeAllHits(): void; private static readonly _copySV; copy(other: Readonly): void; reset(): void; private static readonly _equalsSV; equals(other: Readonly): boolean; } export declare class RaycastHit { myPosition: Vector3; myNormal: Vector3; myDistance: number; myObject: Object3D | null; myInsideCollision: boolean; isValid(): boolean; copy(other: Readonly): void; reset(): void; equals(other: Readonly): boolean; }