UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

652 lines 369 kB
import { BaseSceneEventsController } from './_BaseEventsController'; import { PointerEventNode } from '../../../nodes/event/Pointer'; import { Raycaster, Vector2 } from 'three'; import { PointerEventType } from '../../../../core/event/PointerEventType'; import { SceneEventsDispatcher } from './EventsDispatcher'; import type { EventContext } from '../../../../core/event/EventContextType'; export interface RaycasterUpdateOptions { pointsThreshold: number; lineThreshold: number; } export declare class PointerEventsController extends BaseSceneEventsController<MouseEvent | TouchEvent, PointerEventNode> { constructor(dispatcher: SceneEventsDispatcher); protected _requireCanvasEventListeners: boolean; private _cursorHelper; protected _cursor0: import("@vue/reactivity").Ref<{ x: number; y: number; width: number; height: number; readonly isVector2: true; set: (x: number, y: number) => Vector2; setScalar: (scalar: number) => Vector2; setX: (x: number) => Vector2; setY: (y: number) => Vector2; setComponent: (index: number, value: number) => Vector2; getComponent: (index: number) => number; clone: () => Vector2; copy: (v: import("three").Vector2Like) => Vector2; add: (v: import("three").Vector2Like) => Vector2; addScalar: (s: number) => Vector2; addVectors: (a: import("three").Vector2Like, b: import("three").Vector2Like) => Vector2; addScaledVector: (v: import("three").Vector2Like, s: number) => Vector2; sub: (v: import("three").Vector2Like) => Vector2; subScalar: (s: number) => Vector2; subVectors: (a: import("three").Vector2Like, b: import("three").Vector2Like) => Vector2; multiply: (v: import("three").Vector2Like) => Vector2; multiplyScalar: (scalar: number) => Vector2; divide: (v: import("three").Vector2Like) => Vector2; divideScalar: (s: number) => Vector2; applyMatrix3: (m: import("three").Matrix3) => Vector2; min: (v: import("three").Vector2Like) => Vector2; max: (v: import("three").Vector2Like) => Vector2; clamp: (min: import("three").Vector2Like, max: import("three").Vector2Like) => Vector2; clampScalar: (min: number, max: number) => Vector2; clampLength: (min: number, max: number) => Vector2; floor: () => Vector2; ceil: () => Vector2; round: () => Vector2; roundToZero: () => Vector2; negate: () => Vector2; dot: (v: import("three").Vector2Like) => number; cross: (v: import("three").Vector2Like) => number; lengthSq: () => number; length: () => number; manhattanLength: () => number; normalize: () => Vector2; angle: () => number; angleTo: (v: Vector2) => number; distanceTo: (v: import("three").Vector2Like) => number; distanceToSquared: (v: import("three").Vector2Like) => number; manhattanDistanceTo: (v: import("three").Vector2Like) => number; setLength: (length: number) => Vector2; lerp: (v: import("three").Vector2Like, alpha: number) => Vector2; lerpVectors: (v1: import("three").Vector2Like, v2: import("three").Vector2Like, alpha: number) => Vector2; equals: (v: import("three").Vector2Like) => boolean; fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => Vector2; toArray: { (array?: number[] | undefined, offset?: number | undefined): number[]; (array?: import("three").Vector2Tuple | undefined, offset?: 0 | undefined): import("three").Vector2Tuple; (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>; }; fromBufferAttribute: (attribute: import("three").BufferAttribute, index: number) => Vector2; rotateAround: (center: import("three").Vector2Like, angle: number) => Vector2; random: () => Vector2; [Symbol.iterator]: () => Iterator<number, any, undefined>; }>; private _raycaster0; type(): string; acceptedEventTypes(): Set<PointerEventType>; setRaycaster(raycaster: Raycaster): void; processEvent(eventContext: EventContext<PointerEvent | MouseEvent | TouchEvent>): void; raycaster(): import("@vue/reactivity").Ref<{ ray: { origin: { x: number; y: number; z: number; readonly isVector3: true; set: (x: number, y: number, z: number) => import("three").Vector3; setScalar: (scalar: number) => import("three").Vector3; setX: (x: number) => import("three").Vector3; setY: (y: number) => import("three").Vector3; setZ: (z: number) => import("three").Vector3; setComponent: (index: number, value: number) => import("three").Vector3; getComponent: (index: number) => number; clone: () => import("three").Vector3; copy: (v: import("three").Vector3Like) => import("three").Vector3; add: (v: import("three").Vector3Like) => import("three").Vector3; addScalar: (s: number) => import("three").Vector3; addVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3; sub: (a: import("three").Vector3Like) => import("three").Vector3; subScalar: (s: number) => import("three").Vector3; subVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; multiply: (v: import("three").Vector3Like) => import("three").Vector3; multiplyScalar: (s: number) => import("three").Vector3; multiplyVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; applyEuler: (euler: import("three").Euler) => import("three").Vector3; applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3; applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3; applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3; applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3; applyQuaternion: (q: import("three").QuaternionLike) => import("three").Vector3; project: (camera: import("three").Camera) => import("three").Vector3; unproject: (camera: import("three").Camera) => import("three").Vector3; transformDirection: (m: import("three").Matrix4) => import("three").Vector3; divide: (v: import("three").Vector3Like) => import("three").Vector3; divideScalar: (s: number) => import("three").Vector3; min: (v: import("three").Vector3Like) => import("three").Vector3; max: (v: import("three").Vector3Like) => import("three").Vector3; clamp: (min: import("three").Vector3Like, max: import("three").Vector3Like) => import("three").Vector3; clampScalar: (min: number, max: number) => import("three").Vector3; clampLength: (min: number, max: number) => import("three").Vector3; floor: () => import("three").Vector3; ceil: () => import("three").Vector3; round: () => import("three").Vector3; roundToZero: () => import("three").Vector3; negate: () => import("three").Vector3; dot: (v: import("three").Vector3Like) => number; lengthSq: () => number; length: () => number; manhattanLength: () => number; normalize: () => import("three").Vector3; setLength: (l: number) => import("three").Vector3; lerp: (v: import("three").Vector3Like, alpha: number) => import("three").Vector3; lerpVectors: (v1: import("three").Vector3Like, v2: import("three").Vector3Like, alpha: number) => import("three").Vector3; cross: (a: import("three").Vector3Like) => import("three").Vector3; crossVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; projectOnVector: (v: import("three").Vector3) => import("three").Vector3; projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3; reflect: (vector: import("three").Vector3Like) => import("three").Vector3; angleTo: (v: import("three").Vector3) => number; distanceTo: (v: import("three").Vector3Like) => number; distanceToSquared: (v: import("three").Vector3Like) => number; manhattanDistanceTo: (v: import("three").Vector3Like) => number; setFromSpherical: (s: import("three").Spherical) => import("three").Vector3; setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3; setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3; setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3; setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3; setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3; setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3; setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3; setFromEuler: (e: import("three").Euler) => import("three").Vector3; setFromColor: (color: import("three").RGB) => import("three").Vector3; equals: (v: import("three").Vector3Like) => boolean; fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3; toArray: { (array?: number[] | undefined, offset?: number | undefined): number[]; (array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple; (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>; }; fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3; random: () => import("three").Vector3; randomDirection: () => import("three").Vector3; [Symbol.iterator]: () => Iterator<number, any, undefined>; }; direction: { x: number; y: number; z: number; readonly isVector3: true; set: (x: number, y: number, z: number) => import("three").Vector3; setScalar: (scalar: number) => import("three").Vector3; setX: (x: number) => import("three").Vector3; setY: (y: number) => import("three").Vector3; setZ: (z: number) => import("three").Vector3; setComponent: (index: number, value: number) => import("three").Vector3; getComponent: (index: number) => number; clone: () => import("three").Vector3; copy: (v: import("three").Vector3Like) => import("three").Vector3; add: (v: import("three").Vector3Like) => import("three").Vector3; addScalar: (s: number) => import("three").Vector3; addVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3; sub: (a: import("three").Vector3Like) => import("three").Vector3; subScalar: (s: number) => import("three").Vector3; subVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; multiply: (v: import("three").Vector3Like) => import("three").Vector3; multiplyScalar: (s: number) => import("three").Vector3; multiplyVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; applyEuler: (euler: import("three").Euler) => import("three").Vector3; applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3; applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3; applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3; applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3; applyQuaternion: (q: import("three").QuaternionLike) => import("three").Vector3; project: (camera: import("three").Camera) => import("three").Vector3; unproject: (camera: import("three").Camera) => import("three").Vector3; transformDirection: (m: import("three").Matrix4) => import("three").Vector3; divide: (v: import("three").Vector3Like) => import("three").Vector3; divideScalar: (s: number) => import("three").Vector3; min: (v: import("three").Vector3Like) => import("three").Vector3; max: (v: import("three").Vector3Like) => import("three").Vector3; clamp: (min: import("three").Vector3Like, max: import("three").Vector3Like) => import("three").Vector3; clampScalar: (min: number, max: number) => import("three").Vector3; clampLength: (min: number, max: number) => import("three").Vector3; floor: () => import("three").Vector3; ceil: () => import("three").Vector3; round: () => import("three").Vector3; roundToZero: () => import("three").Vector3; negate: () => import("three").Vector3; dot: (v: import("three").Vector3Like) => number; lengthSq: () => number; length: () => number; manhattanLength: () => number; normalize: () => import("three").Vector3; setLength: (l: number) => import("three").Vector3; lerp: (v: import("three").Vector3Like, alpha: number) => import("three").Vector3; lerpVectors: (v1: import("three").Vector3Like, v2: import("three").Vector3Like, alpha: number) => import("three").Vector3; cross: (a: import("three").Vector3Like) => import("three").Vector3; crossVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; projectOnVector: (v: import("three").Vector3) => import("three").Vector3; projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3; reflect: (vector: import("three").Vector3Like) => import("three").Vector3; angleTo: (v: import("three").Vector3) => number; distanceTo: (v: import("three").Vector3Like) => number; distanceToSquared: (v: import("three").Vector3Like) => number; manhattanDistanceTo: (v: import("three").Vector3Like) => number; setFromSpherical: (s: import("three").Spherical) => import("three").Vector3; setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3; setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3; setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3; setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3; setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3; setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3; setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3; setFromEuler: (e: import("three").Euler) => import("three").Vector3; setFromColor: (color: import("three").RGB) => import("three").Vector3; equals: (v: import("three").Vector3Like) => boolean; fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3; toArray: { (array?: number[] | undefined, offset?: number | undefined): number[]; (array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple; (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>; }; fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3; random: () => import("three").Vector3; randomDirection: () => import("three").Vector3; [Symbol.iterator]: () => Iterator<number, any, undefined>; }; set: (origin: import("three").Vector3, direction: import("three").Vector3) => import("three").Ray; clone: () => import("three").Ray; copy: (ray: import("three").Ray) => import("three").Ray; at: (t: number, target: import("three").Vector3) => import("three").Vector3; lookAt: (v: import("three").Vector3) => import("three").Ray; recast: (t: number) => import("three").Ray; closestPointToPoint: (point: import("three").Vector3, target: import("three").Vector3) => import("three").Vector3; distanceToPoint: (point: import("three").Vector3) => number; distanceSqToPoint: (point: import("three").Vector3) => number; distanceSqToSegment: (v0: import("three").Vector3, v1: import("three").Vector3, optionalPointOnRay?: import("three").Vector3 | undefined, optionalPointOnSegment?: import("three").Vector3 | undefined) => number; intersectSphere: (sphere: import("three").Sphere, target: import("three").Vector3) => import("three").Vector3 | null; intersectsSphere: (sphere: import("three").Sphere) => boolean; distanceToPlane: (plane: import("three").Plane) => number; intersectPlane: (plane: import("three").Plane, target: import("three").Vector3) => import("three").Vector3 | null; intersectsPlane: (plane: import("three").Plane) => boolean; intersectBox: (box: import("three").Box3, target: import("three").Vector3) => import("three").Vector3 | null; intersectsBox: (box: import("three").Box3) => boolean; intersectTriangle: (a: import("three").Vector3, b: import("three").Vector3, c: import("three").Vector3, backfaceCulling: boolean, target: import("three").Vector3) => import("three").Vector3 | null; applyMatrix4: (matrix4: import("three").Matrix4) => import("three").Ray; equals: (ray: import("three").Ray) => boolean; isIntersectionBox: (b: any) => any; isIntersectionPlane: (p: any) => any; isIntersectionSphere: (s: any) => any; }; near: number; far: number; camera: { readonly isCamera: true; readonly type: string; layers: { mask: number; set: (layer: number) => void; enable: (layer: number) => void; enableAll: () => void; toggle: (layer: number) => void; disable: (layer: number) => void; disableAll: () => void; test: (layers: import("three").Layers) => boolean; isEnabled: (layer: number) => boolean; }; matrixWorldInverse: { readonly isMatrix4: true; elements: [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number]; set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4; identity: () => import("three").Matrix4; clone: () => import("three").Matrix4; copy: (m: import("three").Matrix4) => import("three").Matrix4; copyPosition: (m: import("three").Matrix4) => import("three").Matrix4; setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4; extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4; makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4; extractRotation: (m: import("three").Matrix4) => import("three").Matrix4; makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4; makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4; lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4; multiply: (m: import("three").Matrix4) => import("three").Matrix4; premultiply: (m: import("three").Matrix4) => import("three").Matrix4; multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4; multiplyScalar: (s: number) => import("three").Matrix4; determinant: () => number; transpose: () => import("three").Matrix4; setPosition: { (v: import("three").Vector3): import("three").Matrix4; (x: number, y: number, z: number): import("three").Matrix4; }; invert: () => import("three").Matrix4; scale: (v: import("three").Vector3) => import("three").Matrix4; getMaxScaleOnAxis: () => number; makeTranslation: { (v: import("three").Vector3): import("three").Matrix4; (x: number, y: number, z: number): import("three").Matrix4; }; makeRotationX: (theta: number) => import("three").Matrix4; makeRotationY: (theta: number) => import("three").Matrix4; makeRotationZ: (theta: number) => import("three").Matrix4; makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4; makeScale: (x: number, y: number, z: number) => import("three").Matrix4; makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4; compose: (position: import("three").Vector3, quaternion: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4; decompose: (position: import("three").Vector3, quaternion: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4; makePerspective: (left: number, right: number, top: number, bottom: number, near: number, far: number, coordinateSystem?: import("three").CoordinateSystem | undefined) => import("three").Matrix4; makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number, coordinateSystem?: import("three").CoordinateSystem | undefined) => import("three").Matrix4; equals: (matrix: import("three").Matrix4) => boolean; fromArray: (array: ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4; toArray: { (): import("three").Matrix4Tuple; <TArray extends ArrayLike<number>>(array: TArray, offset?: number | undefined): TArray; }; }; projectionMatrix: { readonly isMatrix4: true; elements: [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number]; set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4; identity: () => import("three").Matrix4; clone: () => import("three").Matrix4; copy: (m: import("three").Matrix4) => import("three").Matrix4; copyPosition: (m: import("three").Matrix4) => import("three").Matrix4; setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4; extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4; makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4; extractRotation: (m: import("three").Matrix4) => import("three").Matrix4; makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4; makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4; lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4; multiply: (m: import("three").Matrix4) => import("three").Matrix4; premultiply: (m: import("three").Matrix4) => import("three").Matrix4; multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4; multiplyScalar: (s: number) => import("three").Matrix4; determinant: () => number; transpose: () => import("three").Matrix4; setPosition: { (v: import("three").Vector3): import("three").Matrix4; (x: number, y: number, z: number): import("three").Matrix4; }; invert: () => import("three").Matrix4; scale: (v: import("three").Vector3) => import("three").Matrix4; getMaxScaleOnAxis: () => number; makeTranslation: { (v: import("three").Vector3): import("three").Matrix4; (x: number, y: number, z: number): import("three").Matrix4; }; makeRotationX: (theta: number) => import("three").Matrix4; makeRotationY: (theta: number) => import("three").Matrix4; makeRotationZ: (theta: number) => import("three").Matrix4; makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4; makeScale: (x: number, y: number, z: number) => import("three").Matrix4; makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4; compose: (position: import("three").Vector3, quaternion: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4; decompose: (position: import("three").Vector3, quaternion: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4; makePerspective: (left: number, right: number, top: number, bottom: number, near: number, far: number, coordinateSystem?: import("three").CoordinateSystem | undefined) => import("three").Matrix4; makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number, coordinateSystem?: import("three").CoordinateSystem | undefined) => import("three").Matrix4; equals: (matrix: import("three").Matrix4) => boolean; fromArray: (array: ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4; toArray: { (): import("three").Matrix4Tuple; <TArray extends ArrayLike<number>>(array: TArray, offset?: number | undefined): TArray; }; }; projectionMatrixInverse: { readonly isMatrix4: true; elements: [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number]; set: (n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number) => import("three").Matrix4; identity: () => import("three").Matrix4; clone: () => import("three").Matrix4; copy: (m: import("three").Matrix4) => import("three").Matrix4; copyPosition: (m: import("three").Matrix4) => import("three").Matrix4; setFromMatrix3: (m: import("three").Matrix3) => import("three").Matrix4; extractBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4; makeBasis: (xAxis: import("three").Vector3, yAxis: import("three").Vector3, zAxis: import("three").Vector3) => import("three").Matrix4; extractRotation: (m: import("three").Matrix4) => import("three").Matrix4; makeRotationFromEuler: (euler: import("three").Euler) => import("three").Matrix4; makeRotationFromQuaternion: (q: import("three").Quaternion) => import("three").Matrix4; lookAt: (eye: import("three").Vector3, target: import("three").Vector3, up: import("three").Vector3) => import("three").Matrix4; multiply: (m: import("three").Matrix4) => import("three").Matrix4; premultiply: (m: import("three").Matrix4) => import("three").Matrix4; multiplyMatrices: (a: import("three").Matrix4, b: import("three").Matrix4) => import("three").Matrix4; multiplyScalar: (s: number) => import("three").Matrix4; determinant: () => number; transpose: () => import("three").Matrix4; setPosition: { (v: import("three").Vector3): import("three").Matrix4; (x: number, y: number, z: number): import("three").Matrix4; }; invert: () => import("three").Matrix4; scale: (v: import("three").Vector3) => import("three").Matrix4; getMaxScaleOnAxis: () => number; makeTranslation: { (v: import("three").Vector3): import("three").Matrix4; (x: number, y: number, z: number): import("three").Matrix4; }; makeRotationX: (theta: number) => import("three").Matrix4; makeRotationY: (theta: number) => import("three").Matrix4; makeRotationZ: (theta: number) => import("three").Matrix4; makeRotationAxis: (axis: import("three").Vector3, angle: number) => import("three").Matrix4; makeScale: (x: number, y: number, z: number) => import("three").Matrix4; makeShear: (xy: number, xz: number, yx: number, yz: number, zx: number, zy: number) => import("three").Matrix4; compose: (position: import("three").Vector3, quaternion: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4; decompose: (position: import("three").Vector3, quaternion: import("three").Quaternion, scale: import("three").Vector3) => import("three").Matrix4; makePerspective: (left: number, right: number, top: number, bottom: number, near: number, far: number, coordinateSystem?: import("three").CoordinateSystem | undefined) => import("three").Matrix4; makeOrthographic: (left: number, right: number, top: number, bottom: number, near: number, far: number, coordinateSystem?: import("three").CoordinateSystem | undefined) => import("three").Matrix4; equals: (matrix: import("three").Matrix4) => boolean; fromArray: (array: ArrayLike<number>, offset?: number | undefined) => import("three").Matrix4; toArray: { (): import("three").Matrix4Tuple; <TArray extends ArrayLike<number>>(array: TArray, offset?: number | undefined): TArray; }; }; coordinateSystem: import("three").CoordinateSystem; viewport?: { x: number; y: number; z: number; w: number; width: number; height: number; readonly isVector4: true; set: (x: number, y: number, z: number, w: number) => import("three").Vector4; setScalar: (scalar: number) => import("three").Vector4; setX: (x: number) => import("three").Vector4; setY: (y: number) => import("three").Vector4; setZ: (z: number) => import("three").Vector4; setW: (w: number) => import("three").Vector4; setComponent: (index: number, value: number) => import("three").Vector4; getComponent: (index: number) => number; clone: () => import("three").Vector4; copy: (v: import("three").Vector4Like) => import("three").Vector4; add: (v: import("three").Vector4Like) => import("three").Vector4; addScalar: (scalar: number) => import("three").Vector4; addVectors: (a: import("three").Vector4Like, b: import("three").Vector4Like) => import("three").Vector4; addScaledVector: (v: import("three").Vector4Like, s: number) => import("three").Vector4; sub: (v: import("three").Vector4Like) => import("three").Vector4; subScalar: (s: number) => import("three").Vector4; subVectors: (a: import("three").Vector4Like, b: import("three").Vector4Like) => import("three").Vector4; multiply: (v: import("three").Vector4Like) => import("three").Vector4; multiplyScalar: (s: number) => import("three").Vector4; applyMatrix4: (m: import("three").Matrix4) => import("three").Vector4; divideScalar: (s: number) => import("three").Vector4; setAxisAngleFromQuaternion: (q: import("three").QuaternionLike) => import("three").Vector4; setAxisAngleFromRotationMatrix: (m: import("three").Matrix4) => import("three").Vector4; setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector4; min: (v: import("three").Vector4Like) => import("three").Vector4; max: (v: import("three").Vector4Like) => import("three").Vector4; clamp: (min: import("three").Vector4Like, max: import("three").Vector4Like) => import("three").Vector4; clampScalar: (min: number, max: number) => import("three").Vector4; floor: () => import("three").Vector4; ceil: () => import("three").Vector4; round: () => import("three").Vector4; roundToZero: () => import("three").Vector4; negate: () => import("three").Vector4; dot: (v: import("three").Vector4Like) => number; lengthSq: () => number; length: () => number; manhattanLength: () => number; normalize: () => import("three").Vector4; setLength: (length: number) => import("three").Vector4; lerp: (v: import("three").Vector4Like, alpha: number) => import("three").Vector4; lerpVectors: (v1: import("three").Vector4Like, v2: import("three").Vector4Like, alpha: number) => import("three").Vector4; equals: (v: import("three").Vector4Like) => boolean; fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector4; toArray: { (array?: number[] | undefined, offset?: number | undefined): number[]; (array?: import("three").Vector4Tuple | undefined, offset?: 0 | undefined): import("three").Vector4Tuple; (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>; }; fromBufferAttribute: (attribute: import("three").BufferAttribute, index: number) => import("three").Vector4; random: () => import("three").Vector4; [Symbol.iterator]: () => Iterator<number, any, undefined>; } | undefined; getWorldDirection: (target: import("three").Vector3) => import("three").Vector3; readonly isObject3D: true; readonly id: number; uuid: string; name: string; parent: { readonly isObject3D: true; readonly id: number; uuid: string; name: string; readonly type: string; parent: any | null; children: any[]; up: { x: number; y: number; z: number; readonly isVector3: true; set: (x: number, y: number, z: number) => import("three").Vector3; setScalar: (scalar: number) => import("three").Vector3; setX: (x: number) => import("three").Vector3; setY: (y: number) => import("three").Vector3; setZ: (z: number) => import("three").Vector3; setComponent: (index: number, value: number) => import("three").Vector3; getComponent: (index: number) => number; clone: () => import("three").Vector3; copy: (v: import("three").Vector3Like) => import("three").Vector3; add: (v: import("three").Vector3Like) => import("three").Vector3; addScalar: (s: number) => import("three").Vector3; addVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3; sub: (a: import("three").Vector3Like) => import("three").Vector3; subScalar: (s: number) => import("three").Vector3; subVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; multiply: (v: import("three").Vector3Like) => import("three").Vector3; multiplyScalar: (s: number) => import("three").Vector3; multiplyVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; applyEuler: (euler: import("three").Euler) => import("three").Vector3; applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3; applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3; applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3; applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3; applyQuaternion: (q: import("three").QuaternionLike) => import("three").Vector3; project: (camera: import("three").Camera) => import("three").Vector3; unproject: (camera: import("three").Camera) => import("three").Vector3; transformDirection: (m: import("three").Matrix4) => import("three").Vector3; divide: (v: import("three").Vector3Like) => import("three").Vector3; divideScalar: (s: number) => import("three").Vector3; min: (v: import("three").Vector3Like) => import("three").Vector3; max: (v: import("three").Vector3Like) => import("three").Vector3; clamp: (min: import("three").Vector3Like, max: import("three").Vector3Like) => import("three").Vector3; clampScalar: (min: number, max: number) => import("three").Vector3; clampLength: (min: number, max: number) => import("three").Vector3; floor: () => import("three").Vector3; ceil: () => import("three").Vector3; round: () => import("three").Vector3; roundToZero: () => import("three").Vector3; negate: () => import("three").Vector3; dot: (v: import("three").Vector3Like) => number; lengthSq: () => number; length: () => number; manhattanLength: () => number; normalize: () => import("three").Vector3; setLength: (l: number) => import("three").Vector3; lerp: (v: import("three").Vector3Like, alpha: number) => import("three").Vector3; lerpVectors: (v1: import("three").Vector3Like, v2: import("three").Vector3Like, alpha: number) => import("three").Vector3; cross: (a: import("three").Vector3Like) => import("three").Vector3; crossVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; projectOnVector: (v: import("three").Vector3) => import("three").Vector3; projectOnPlane: (planeNormal: import("three").Vector3) => import("three").Vector3; reflect: (vector: import("three").Vector3Like) => import("three").Vector3; angleTo: (v: import("three").Vector3) => number; distanceTo: (v: import("three").Vector3Like) => number; distanceToSquared: (v: import("three").Vector3Like) => number; manhattanDistanceTo: (v: import("three").Vector3Like) => number; setFromSpherical: (s: import("three").Spherical) => import("three").Vector3; setFromSphericalCoords: (r: number, phi: number, theta: number) => import("three").Vector3; setFromCylindrical: (s: import("three").Cylindrical) => import("three").Vector3; setFromCylindricalCoords: (radius: number, theta: number, y: number) => import("three").Vector3; setFromMatrixPosition: (m: import("three").Matrix4) => import("three").Vector3; setFromMatrixScale: (m: import("three").Matrix4) => import("three").Vector3; setFromMatrixColumn: (matrix: import("three").Matrix4, index: number) => import("three").Vector3; setFromMatrix3Column: (matrix: import("three").Matrix3, index: number) => import("three").Vector3; setFromEuler: (e: import("three").Euler) => import("three").Vector3; setFromColor: (color: import("three").RGB) => import("three").Vector3; equals: (v: import("three").Vector3Like) => boolean; fromArray: (array: number[] | ArrayLike<number>, offset?: number | undefined) => import("three").Vector3; toArray: { (array?: number[] | undefined, offset?: number | undefined): number[]; (array?: import("three").Vector3Tuple | undefined, offset?: 0 | undefined): import("three").Vector3Tuple; (array: ArrayLike<number>, offset?: number | undefined): ArrayLike<number>; }; fromBufferAttribute: (attribute: import("three").BufferAttribute | import("three").InterleavedBufferAttribute, index: number) => import("three").Vector3; random: () => import("three").Vector3; randomDirection: () => import("three").Vector3; [Symbol.iterator]: () => Iterator<number, any, undefined>; }; readonly position: { x: number; y: number; z: number; readonly isVector3: true; set: (x: number, y: number, z: number) => import("three").Vector3; setScalar: (scalar: number) => import("three").Vector3; setX: (x: number) => import("three").Vector3; setY: (y: number) => import("three").Vector3; setZ: (z: number) => import("three").Vector3; setComponent: (index: number, value: number) => import("three").Vector3; getComponent: (index: number) => number; clone: () => import("three").Vector3; copy: (v: import("three").Vector3Like) => import("three").Vector3; add: (v: import("three").Vector3Like) => import("three").Vector3; addScalar: (s: number) => import("three").Vector3; addVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; addScaledVector: (v: import("three").Vector3, s: number) => import("three").Vector3; sub: (a: import("three").Vector3Like) => import("three").Vector3; subScalar: (s: number) => import("three").Vector3; subVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; multiply: (v: import("three").Vector3Like) => import("three").Vector3; multiplyScalar: (s: number) => import("three").Vector3; multiplyVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; applyEuler: (euler: import("three").Euler) => import("three").Vector3; applyAxisAngle: (axis: import("three").Vector3, angle: number) => import("three").Vector3; applyMatrix3: (m: import("three").Matrix3) => import("three").Vector3; applyNormalMatrix: (m: import("three").Matrix3) => import("three").Vector3; applyMatrix4: (m: import("three").Matrix4) => import("three").Vector3; applyQuaternion: (q: import("three").QuaternionLike) => import("three").Vector3; project: (camera: import("three").Camera) => import("three").Vector3; unproject: (camera: import("three").Camera) => import("three").Vector3; transformDirection: (m: import("three").Matrix4) => import("three").Vector3; divide: (v: import("three").Vector3Like) => import("three").Vector3; divideScalar: (s: number) => import("three").Vector3; min: (v: import("three").Vector3Like) => import("three").Vector3; max: (v: import("three").Vector3Like) => import("three").Vector3; clamp: (min: import("three").Vector3Like, max: import("three").Vector3Like) => import("three").Vector3; clampScalar: (min: number, max: number) => import("three").Vector3; clampLength: (min: number, max: number) => import("three").Vector3; floor: () => import("three").Vector3; ceil: () => import("three").Vector3; round: () => import("three").Vector3; roundToZero: () => import("three").Vector3; negate: () => import("three").Vector3; dot: (v: import("three").Vector3Like) => number; lengthSq: () => number; length: () => number; manhattanLength: () => number; normalize: () => import("three").Vector3; setLength: (l: number) => import("three").Vector3; lerp: (v: import("three").Vector3Like, alpha: number) => import("three").Vector3; lerpVectors: (v1: import("three").Vector3Like, v2: import("three").Vector3Like, alpha: number) => import("three").Vector3; cross: (a: import("three").Vector3Like) => import("three").Vector3; crossVectors: (a: import("three").Vector3Like, b: import("three").Vector3Like) => import("three").Vector3; projectOnVector: (v: impor