import { Object3D, Plane, Raycaster, Vector3 } from "three"; import { Component, Entity } from "aframe"; import { Device } from "../Device"; import { Tool } from "../Tool"; import { Slot } from "../model/Slot"; import { Button } from "../model/Button"; import { Stick } from "../model/Stick"; import { ComponentControllerDefinition } from "aframe-typescript-boilerplate"; import { CodeRealityComponentController } from "../../../component/CodeRealityComponentController"; export declare class WalkTool extends CodeRealityComponentController implements Tool { static DEFINITION: ComponentControllerDefinition; movementSpeed: number; rotationSpeed: number; height: number; width: number; jumpStartSpeed: number; minY: number; forwardKey: Button; backwardKey: Button; leftKey: Button; rightKey: Button; jumpKey: Button; raycaster: Raycaster | undefined; yAxisPositive: Vector3; yAxisNegative: Vector3; xzPlane: Plane; jumping: boolean; airborne: boolean; time: number; yVelocity: number; pressed: Map; centerOfMassPosition: Vector3; highCenterOfMassPosition: Vector3; lowCenterOfMassPosition: Vector3; forwardPositionStep: Vector3; rightPositionStep: Vector3; forwardPosition: Vector3; backwardPosition: Vector3; rightPosition: Vector3; leftPosition: Vector3; stickTranslation: Vector3; stickRotation: Vector3; cameraDirection: Vector3; xzCameraDirection: Vector3; xDirection: Vector3; zDirection: Vector3; direction: Vector3; constructor(component: Component, entity: Entity, data: any); init(): void; setJumping(state: boolean): void; setAirborne(state: boolean): void; entityStateChange(state: string, enabled: boolean): void; update(data: any, oldData: any): void; remove(): void; pause(): void; play(): void; setCenterOfMassFromInterfaceEntity(): void; tick(time: number, timeDelta: number): void; buttonDown(device: Device, toolSlot: Slot, button: Button): void; buttonUp(device: Device, toolSlot: Slot, button: Button): void; stickTwist(device: Device, toolSlot: Slot, stick: Stick, x: number, y: number): void; updateXZ(timeDelta: number, collidables: Array): void; updateY(timeDelta: number, collidables: Array): boolean; computeXZDirectionFromCamera(): void; findDistanceToNearestFromPositions(positions: Array, rayDirection: Vector3, objects: Array): number | undefined; findDistanceToNearestFromPosition(position: Vector3, rayDirection: Vector3, objects: Array): number | null; testCollision(direction: Vector3, objects: Array): boolean | 0 | undefined; }