import { ControllerExtensionBase } from '../ControllerExtensionBase'; import { MOUSE, Vector3 } from 'three'; /** * Fly extension options for initial extension state. */ export declare class FlyExtensionOptions { /**Left mouse button binding. */ leftMouseButton: MOUSE | undefined; /**Right mouse button binding. */ rightMouseButton: MOUSE | undefined; /**Middle mouse button binding. */ middleMouseButton: MOUSE | undefined; } /** * Fly controller extension for camera. Provides walk/fly movement and rotation actions. */ export declare class FlyControllerExtension extends ControllerExtensionBase { static getName: () => string; /**How near you can orbit vertically, upper and lower in radians(range is 0 to Math.PI radians). */ minPolarAngle: number; /**How far you can orbit vertically, upper and lower in radians(range is 0 to Math.PI radians). */ maxPolarAngle: number; /**Speed of camera movement. */ pointerSpeed: number; private isLocked; private moveDown; private moveBackward; private moveUp; private moveLeft; private moveRight; private moveForward; private movementSpeed; private distanceToTarget; private mouseButtons; /** * @param viewerName - Owner viewer name for extension. * @param options - extension options. */ constructor(viewerName: string, options: FlyExtensionOptions); /** * Sets mouse button bindings for controller actions. * @param left - Left button binding. * @param right - Right button binding. * @param middle - Middle button binding. */ setMouseButtonsActions(left: MOUSE | undefined, right: MOUSE | undefined, middle: MOUSE | undefined): void; private onSelected; selected(): void; unselected(): void; deleted(): void; private lock; private unlock; private onMouseDown; private onMouseUp; private onMouseMove; private onKeyDown; private onKeyUp; private onPointerLockChange; private onPointerLockError; updated(delta: number): void; getTargetClone(): Vector3; added(): void; cameraModeChanged(perspective: boolean): boolean; }