import { Geometry } from './../core/Geometry'; 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'; import { TrianglesDrawModes } from '../constants'; export class Mesh extends Object3D { constructor( geometry?: Geometry | BufferGeometry, material?: Material | Material[] ); geometry: Geometry | BufferGeometry; material: Material | Material[]; drawMode: TrianglesDrawModes; morphTargetInfluences?: number[]; morphTargetDictionary?: { [key: string]: number }; isMesh: true; type: string; setDrawMode(drawMode: TrianglesDrawModes): void; updateMorphTargets(): void; raycast(raycaster: Raycaster, intersects: Intersection[]): void; copy(source: this, recursive?: boolean): this; }