/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import { Intersection, Matrix4, Vector3 } from 'three'; import { EnvironmentManager } from '../environment/environment-manager.js'; export declare class LocomotionEngine { playerPosition: Vector3; private playerVelocity; private movementVector; private ray; private capsuleInfo; lastUpdateTime: number; private rayPoints; private rayVector; private upAxis; private gravityDir; private environmentManager; private groundDetector; private collisionHandler; private movementController; groundDecel: number; positionUpdateTimeout: number; gravity: number; rayGravity: number; updating: boolean; isGrounded: boolean; isGroundedOnStatic: boolean; maxDropDistance: number; jumpHeight: number; jumpCooldown: number; private lastJumpTime; acceleration: number; deceleration: number; airDragFactor: number; maxWalkSpeed: number; mass: number; floatHeight: number; floatSensorRadius: number; floatSpringK: number; floatDampingC: number; maxSlope: number; constructor(initPosition: Vector3); slide(movementVector: Vector3): void; teleport(position: Vector3): void; raycast(origin: Vector3, direction: Vector3, far: number): Intersection> | undefined; private raycastRelevantEnvironments; parabolicRaycast(origin: Vector3, direction: Vector3): Intersection> | undefined; update(delta: number): void; updatePlayerPosition(delta: number): void; private handleMovementPhysics; private applyGravity; private handleGroundContact; private handleCollisions; addEnvironment(handle: number, positions: Float32Array | number[], indices: Uint32Array | Uint16Array | number[], type?: string, worldMatrix?: Matrix4): void; removeEnvironment(handle: number): void; updateKinematicPlatform(handle: number, newWorldMatrix: Matrix4): void; setMaxDropDistance(distance: number): void; jump(): void; getEnvironmentManager(): EnvironmentManager; } //# sourceMappingURL=engine.d.ts.map