import { Material } from './../materials/Material'; import { Raycaster } from './../core/Raycaster'; import { Object3D } from './../core/Object3D'; import { BufferGeometry } from '../core/BufferGeometry'; import { Intersection } from '../core/Raycaster'; export class Mesh< TGeometry extends BufferGeometry = BufferGeometry, TMaterial extends Material | Material[] = Material | Material[], > extends Object3D { constructor(geometry?: TGeometry, material?: TMaterial); geometry: TGeometry; material: TMaterial; morphTargetInfluences?: number[] | undefined; morphTargetDictionary?: { [key: string]: number } | undefined; readonly isMesh: true; type: string; updateMorphTargets(): void; raycast(raycaster: Raycaster, intersects: Array>): void; }