import { Box3, BufferAttribute, BufferGeometry, Color, Float32BufferAttribute, Matrix3, Matrix4, Object3D, Sphere, Vector2, Vector3 } from "three"; export interface VertexNormals { a: Vector3; b: Vector3; c: Vector3; } export interface Group { start: number; materialIndex?: number; count: number; } export interface MorphTarget { name: string; vertices: Array; normals: Array; } export interface MorphNormal { vertexNormals: VertexNormals[]; faceNormals: Array; name: string; } export interface ThreeFactory { newVector2(x?: number, y?: number): Vector2; newVector3(x?: number, y?: number, z?: number): Vector3; newMatrix3(): Matrix3; newMatrix4(): Matrix4; newObject3D(): Object3D; newBox3(): Box3; newSphere(): Sphere; newBufferGeometry(): BufferGeometry; generateUUID(): string; newFloat32BufferAttribute(array: number | Iterable | ArrayLike | ArrayBuffer, itemSize: number, normalized?: boolean): Float32BufferAttribute; newColor(): Color; newBufferAttribute(array: ArrayLike, itemSize: number, normalized?: boolean): BufferAttribute; }