/// import * as THREE from 'three'; import { PointerEvent } from './canvas'; export declare type NonFunctionKeys = { [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]; export declare type Overwrite = Omit> & O; declare type Args = T extends new (...args: any) => any ? ConstructorParameters : T; export declare namespace ReactThreeFiber { type Euler = THREE.Euler | number[]; type Matrix4 = THREE.Matrix4 | number[]; type Vector3 = THREE.Vector3 | number[]; type Color = THREE.Color | number | string; type Events = { onClick?: (e: PointerEvent) => void; onPointerUp?: (e: PointerEvent) => void; onPointerDown?: (e: PointerEvent) => void; onPointerOver?: (e: PointerEvent) => void; onPointerOut?: (e: PointerEvent) => void; onPointerMove?: (e: PointerEvent) => void; onWheel?: (e: PointerEvent) => void; }; interface NodeProps { attach?: string; attachArray?: string; attachObject?: [string, string]; args?: Args; children?: React.ReactNode; ref?: React.Ref; key?: React.Key; onUpdate?: (self: T) => void; } type Node = Overwrite, NodeProps>; type Object3DNode = Overwrite, { position?: Vector3; up?: Vector3; scale?: Vector3; rotation?: Euler; matrix?: Matrix4; }> & ReactThreeFiber.Events; type GeometryNode = Overwrite, { vertices?: Vector3[]; }>; type BufferGeometryNode = Overwrite, {}>; type MaterialNode = Overwrite, { color?: Color; }>; } declare global { namespace JSX { interface IntrinsicElements { audioListener: ReactThreeFiber.Object3DNode; positionalAudio: ReactThreeFiber.Object3DNode; mesh: ReactThreeFiber.Object3DNode; instancedMesh: ReactThreeFiber.Object3DNode; scene: ReactThreeFiber.Object3DNode; sprite: ReactThreeFiber.Object3DNode; lOD: ReactThreeFiber.Object3DNode; skinnedMesh: ReactThreeFiber.Object3DNode; skeleton: ReactThreeFiber.Object3DNode; bone: ReactThreeFiber.Object3DNode; lineSegments: ReactThreeFiber.Object3DNode; lineLoop: ReactThreeFiber.Object3DNode; points: ReactThreeFiber.Object3DNode; group: ReactThreeFiber.Object3DNode; immediateRenderObject: ReactThreeFiber.Object3DNode; camera: ReactThreeFiber.Object3DNode; perspectiveCamera: ReactThreeFiber.Object3DNode; orthographicCamera: ReactThreeFiber.Object3DNode; cubeCamera: ReactThreeFiber.Object3DNode; arrayCamera: ReactThreeFiber.Object3DNode; geometry: ReactThreeFiber.GeometryNode; instancedBufferGeometry: ReactThreeFiber.BufferGeometryNode; bufferGeometry: ReactThreeFiber.BufferGeometryNode; boxBufferGeometry: ReactThreeFiber.BufferGeometryNode; circleBufferGeometry: ReactThreeFiber.BufferGeometryNode; coneBufferGeometry: ReactThreeFiber.BufferGeometryNode; cylinderBufferGeometry: ReactThreeFiber.BufferGeometryNode; dodecahedronBufferGeometry: ReactThreeFiber.BufferGeometryNode; extrudeBufferGeometry: ReactThreeFiber.BufferGeometryNode; icosahedronBufferGeometry: ReactThreeFiber.BufferGeometryNode; latheBufferGeometry: ReactThreeFiber.BufferGeometryNode; octahedronBufferGeometry: ReactThreeFiber.BufferGeometryNode; parametricBufferGeometry: ReactThreeFiber.BufferGeometryNode; planeBufferGeometry: ReactThreeFiber.BufferGeometryNode; polyhedronBufferGeometry: ReactThreeFiber.BufferGeometryNode; ringBufferGeometry: ReactThreeFiber.BufferGeometryNode; shapeBufferGeometry: ReactThreeFiber.BufferGeometryNode; sphereBufferGeometry: ReactThreeFiber.BufferGeometryNode; tetrahedronBufferGeometry: ReactThreeFiber.BufferGeometryNode; textBufferGeometry: ReactThreeFiber.BufferGeometryNode; torusBufferGeometry: ReactThreeFiber.BufferGeometryNode; torusKnotBufferGeometry: ReactThreeFiber.BufferGeometryNode; tubeBufferGeometry: ReactThreeFiber.BufferGeometryNode; wireframeGeometry: ReactThreeFiber.BufferGeometryNode; parametricGeometry: ReactThreeFiber.GeometryNode; tetrahedronGeometry: ReactThreeFiber.GeometryNode; octahedronGeometry: ReactThreeFiber.GeometryNode; icosahedronGeometry: ReactThreeFiber.GeometryNode; dodecahedronGeometry: ReactThreeFiber.GeometryNode; polyhedronGeometry: ReactThreeFiber.GeometryNode; tubeGeometry: ReactThreeFiber.GeometryNode; torusKnotGeometry: ReactThreeFiber.GeometryNode; torusGeometry: ReactThreeFiber.GeometryNode; textGeometry: ReactThreeFiber.GeometryNode; sphereGeometry: ReactThreeFiber.GeometryNode; ringGeometry: ReactThreeFiber.GeometryNode; planeGeometry: ReactThreeFiber.GeometryNode; latheGeometry: ReactThreeFiber.GeometryNode; shapeGeometry: ReactThreeFiber.GeometryNode; extrudeGeometry: ReactThreeFiber.GeometryNode; edgesGeometry: ReactThreeFiber.BufferGeometryNode; coneGeometry: ReactThreeFiber.GeometryNode; cylinderGeometry: ReactThreeFiber.GeometryNode; circleGeometry: ReactThreeFiber.GeometryNode; boxGeometry: ReactThreeFiber.GeometryNode; material: ReactThreeFiber.MaterialNode; shadowMaterial: ReactThreeFiber.MaterialNode; spriteMaterial: ReactThreeFiber.MaterialNode; rawShaderMaterial: ReactThreeFiber.MaterialNode; shaderMaterial: ReactThreeFiber.MaterialNode; pointsMaterial: ReactThreeFiber.MaterialNode; meshPhysicalMaterial: ReactThreeFiber.MaterialNode; meshStandardMaterial: ReactThreeFiber.MaterialNode; meshPhongMaterial: ReactThreeFiber.MaterialNode; meshToonMaterial: ReactThreeFiber.MaterialNode; meshNormalMaterial: ReactThreeFiber.MaterialNode; meshLambertMaterial: ReactThreeFiber.MaterialNode; meshDepthMaterial: ReactThreeFiber.MaterialNode; meshDistanceMaterial: ReactThreeFiber.MaterialNode; meshBasicMaterial: ReactThreeFiber.MaterialNode; meshMatcapMaterial: ReactThreeFiber.MaterialNode; lineDashedMaterial: ReactThreeFiber.MaterialNode; lineBasicMaterial: ReactThreeFiber.MaterialNode; primitive: { object: any; } & { [properties: string]: any; }; light: ReactThreeFiber.Object3DNode; spotLightShadow: ReactThreeFiber.Node; spotLight: ReactThreeFiber.Object3DNode; pointLight: ReactThreeFiber.Object3DNode; rectAreaLight: ReactThreeFiber.Object3DNode; hemisphereLight: ReactThreeFiber.Object3DNode; directionalLightShadow: ReactThreeFiber.Node; directionalLight: ReactThreeFiber.Object3DNode; ambientLight: ReactThreeFiber.Object3DNode; lightShadow: ReactThreeFiber.Node; ambientLightProbe: ReactThreeFiber.Object3DNode; hemisphereLightProbe: ReactThreeFiber.Object3DNode; lightProbe: ReactThreeFiber.Object3DNode; spotLightHelper: ReactThreeFiber.Object3DNode; skeletonHelper: ReactThreeFiber.Object3DNode; pointLightHelper: ReactThreeFiber.Object3DNode; hemisphereLightHelper: ReactThreeFiber.Object3DNode; gridHelper: ReactThreeFiber.Object3DNode; polarGridHelper: ReactThreeFiber.Node; directionalLightHelper: ReactThreeFiber.Object3DNode; cameraHelper: ReactThreeFiber.Object3DNode; boxHelper: ReactThreeFiber.Object3DNode; box3Helper: ReactThreeFiber.Node; planeHelper: ReactThreeFiber.Object3DNode; arrowHelper: ReactThreeFiber.Object3DNode; axesHelper: ReactThreeFiber.Object3DNode; texture: ReactThreeFiber.Node; videoTexture: ReactThreeFiber.Node; dataTexture: ReactThreeFiber.Node; dataTexture3D: ReactThreeFiber.Node; compressedTexture: ReactThreeFiber.Node; cubeTexture: ReactThreeFiber.Node; canvasTexture: ReactThreeFiber.Node; depthTexture: ReactThreeFiber.Node; raycaster: ReactThreeFiber.Node; vector2: ReactThreeFiber.Node; vector3: ReactThreeFiber.Node; vector4: ReactThreeFiber.Node; euler: ReactThreeFiber.Node; matrix3: ReactThreeFiber.Node; matrix4: ReactThreeFiber.Node; quaternion: ReactThreeFiber.Node; bufferAttribute: ReactThreeFiber.Node; } } } export {};
; children?: React.ReactNode; ref?: React.Ref; key?: React.Key; onUpdate?: (self: T) => void; } type Node = Overwrite, NodeProps>; type Object3DNode = Overwrite, { position?: Vector3; up?: Vector3; scale?: Vector3; rotation?: Euler; matrix?: Matrix4; }> & ReactThreeFiber.Events; type GeometryNode = Overwrite, { vertices?: Vector3[]; }>; type BufferGeometryNode = Overwrite, {}>; type MaterialNode = Overwrite, { color?: Color; }>; } declare global { namespace JSX { interface IntrinsicElements { audioListener: ReactThreeFiber.Object3DNode; positionalAudio: ReactThreeFiber.Object3DNode; mesh: ReactThreeFiber.Object3DNode; instancedMesh: ReactThreeFiber.Object3DNode; scene: ReactThreeFiber.Object3DNode; sprite: ReactThreeFiber.Object3DNode; lOD: ReactThreeFiber.Object3DNode; skinnedMesh: ReactThreeFiber.Object3DNode; skeleton: ReactThreeFiber.Object3DNode; bone: ReactThreeFiber.Object3DNode; lineSegments: ReactThreeFiber.Object3DNode; lineLoop: ReactThreeFiber.Object3DNode; points: ReactThreeFiber.Object3DNode; group: ReactThreeFiber.Object3DNode; immediateRenderObject: ReactThreeFiber.Object3DNode; camera: ReactThreeFiber.Object3DNode; perspectiveCamera: ReactThreeFiber.Object3DNode; orthographicCamera: ReactThreeFiber.Object3DNode; cubeCamera: ReactThreeFiber.Object3DNode; arrayCamera: ReactThreeFiber.Object3DNode; geometry: ReactThreeFiber.GeometryNode; instancedBufferGeometry: ReactThreeFiber.BufferGeometryNode; bufferGeometry: ReactThreeFiber.BufferGeometryNode; boxBufferGeometry: ReactThreeFiber.BufferGeometryNode; circleBufferGeometry: ReactThreeFiber.BufferGeometryNode; coneBufferGeometry: ReactThreeFiber.BufferGeometryNode; cylinderBufferGeometry: ReactThreeFiber.BufferGeometryNode; dodecahedronBufferGeometry: ReactThreeFiber.BufferGeometryNode; extrudeBufferGeometry: ReactThreeFiber.BufferGeometryNode; icosahedronBufferGeometry: ReactThreeFiber.BufferGeometryNode; latheBufferGeometry: ReactThreeFiber.BufferGeometryNode; octahedronBufferGeometry: ReactThreeFiber.BufferGeometryNode; parametricBufferGeometry: ReactThreeFiber.BufferGeometryNode; planeBufferGeometry: ReactThreeFiber.BufferGeometryNode; polyhedronBufferGeometry: ReactThreeFiber.BufferGeometryNode; ringBufferGeometry: ReactThreeFiber.BufferGeometryNode; shapeBufferGeometry: ReactThreeFiber.BufferGeometryNode; sphereBufferGeometry: ReactThreeFiber.BufferGeometryNode; tetrahedronBufferGeometry: ReactThreeFiber.BufferGeometryNode; textBufferGeometry: ReactThreeFiber.BufferGeometryNode; torusBufferGeometry: ReactThreeFiber.BufferGeometryNode; torusKnotBufferGeometry: ReactThreeFiber.BufferGeometryNode; tubeBufferGeometry: ReactThreeFiber.BufferGeometryNode; wireframeGeometry: ReactThreeFiber.BufferGeometryNode; parametricGeometry: ReactThreeFiber.GeometryNode; tetrahedronGeometry: ReactThreeFiber.GeometryNode; octahedronGeometry: ReactThreeFiber.GeometryNode; icosahedronGeometry: ReactThreeFiber.GeometryNode; dodecahedronGeometry: ReactThreeFiber.GeometryNode; polyhedronGeometry: ReactThreeFiber.GeometryNode; tubeGeometry: ReactThreeFiber.GeometryNode; torusKnotGeometry: ReactThreeFiber.GeometryNode; torusGeometry: ReactThreeFiber.GeometryNode; textGeometry: ReactThreeFiber.GeometryNode; sphereGeometry: ReactThreeFiber.GeometryNode; ringGeometry: ReactThreeFiber.GeometryNode; planeGeometry: ReactThreeFiber.GeometryNode; latheGeometry: ReactThreeFiber.GeometryNode; shapeGeometry: ReactThreeFiber.GeometryNode; extrudeGeometry: ReactThreeFiber.GeometryNode; edgesGeometry: ReactThreeFiber.BufferGeometryNode; coneGeometry: ReactThreeFiber.GeometryNode; cylinderGeometry: ReactThreeFiber.GeometryNode; circleGeometry: ReactThreeFiber.GeometryNode; boxGeometry: ReactThreeFiber.GeometryNode; material: ReactThreeFiber.MaterialNode; shadowMaterial: ReactThreeFiber.MaterialNode; spriteMaterial: ReactThreeFiber.MaterialNode; rawShaderMaterial: ReactThreeFiber.MaterialNode; shaderMaterial: ReactThreeFiber.MaterialNode; pointsMaterial: ReactThreeFiber.MaterialNode; meshPhysicalMaterial: ReactThreeFiber.MaterialNode; meshStandardMaterial: ReactThreeFiber.MaterialNode; meshPhongMaterial: ReactThreeFiber.MaterialNode; meshToonMaterial: ReactThreeFiber.MaterialNode; meshNormalMaterial: ReactThreeFiber.MaterialNode; meshLambertMaterial: ReactThreeFiber.MaterialNode; meshDepthMaterial: ReactThreeFiber.MaterialNode; meshDistanceMaterial: ReactThreeFiber.MaterialNode; meshBasicMaterial: ReactThreeFiber.MaterialNode; meshMatcapMaterial: ReactThreeFiber.MaterialNode; lineDashedMaterial: ReactThreeFiber.MaterialNode; lineBasicMaterial: ReactThreeFiber.MaterialNode; primitive: { object: any; } & { [properties: string]: any; }; light: ReactThreeFiber.Object3DNode; spotLightShadow: ReactThreeFiber.Node; spotLight: ReactThreeFiber.Object3DNode; pointLight: ReactThreeFiber.Object3DNode; rectAreaLight: ReactThreeFiber.Object3DNode; hemisphereLight: ReactThreeFiber.Object3DNode; directionalLightShadow: ReactThreeFiber.Node; directionalLight: ReactThreeFiber.Object3DNode; ambientLight: ReactThreeFiber.Object3DNode; lightShadow: ReactThreeFiber.Node; ambientLightProbe: ReactThreeFiber.Object3DNode; hemisphereLightProbe: ReactThreeFiber.Object3DNode; lightProbe: ReactThreeFiber.Object3DNode; spotLightHelper: ReactThreeFiber.Object3DNode; skeletonHelper: ReactThreeFiber.Object3DNode; pointLightHelper: ReactThreeFiber.Object3DNode; hemisphereLightHelper: ReactThreeFiber.Object3DNode; gridHelper: ReactThreeFiber.Object3DNode; polarGridHelper: ReactThreeFiber.Node; directionalLightHelper: ReactThreeFiber.Object3DNode; cameraHelper: ReactThreeFiber.Object3DNode; boxHelper: ReactThreeFiber.Object3DNode; box3Helper: ReactThreeFiber.Node; planeHelper: ReactThreeFiber.Object3DNode; arrowHelper: ReactThreeFiber.Object3DNode; axesHelper: ReactThreeFiber.Object3DNode; texture: ReactThreeFiber.Node; videoTexture: ReactThreeFiber.Node; dataTexture: ReactThreeFiber.Node; dataTexture3D: ReactThreeFiber.Node; compressedTexture: ReactThreeFiber.Node; cubeTexture: ReactThreeFiber.Node; canvasTexture: ReactThreeFiber.Node; depthTexture: ReactThreeFiber.Node; raycaster: ReactThreeFiber.Node; vector2: ReactThreeFiber.Node; vector3: ReactThreeFiber.Node; vector4: ReactThreeFiber.Node; euler: ReactThreeFiber.Node; matrix3: ReactThreeFiber.Node; matrix4: ReactThreeFiber.Node; quaternion: ReactThreeFiber.Node; bufferAttribute: ReactThreeFiber.Node; } } } export {};