import { BufferGeometry, Euler, Object3D, Vector3, Group, Material } from "three"; import Volume from "./Volume.js"; export default class MeshVolume { private volume; private meshRoot; private meshPivot; private meshrep; private channelColors; private channelOpacities; private bounds; private scale; constructor(volume: Volume); cleanup(): void; setVisible(isVisible: boolean): void; doRender(): void; get3dObject(): Group; setScale(scale: Vector3, position?: Vector3): void; setFlipAxes(flipX: number, flipY: number, flipZ: number): void; setTranslation(vec3xyz: Vector3): void; setRotation(eulerXYZ: Euler): void; setResolution(_x: number, _y: number): void; setOrthoThickness(_value: number): void; setAxisClip(axis: "x" | "y" | "z", minval: number, maxval: number, _isOrthoAxis: boolean): void; updateMeshColors(channelColors: [number, number, number][]): void; createMaterialForChannel(rgb: [number, number, number], alpha: number, _transp: boolean): Material; createMeshForChannel(channelIndex: number, colorrgb: [number, number, number], isovalue: number, alpha: number, transp: boolean): Group; updateIsovalue(channel: number, value: number): void; getIsovalue(channel: number): number | undefined; getOpacity(channel: number): number | undefined; updateClipRegion(xmin: number, xmax: number, ymin: number, ymax: number, zmin: number, zmax: number): void; updateClipFromBounds(): void; updateOpacity(channel: number, value: number): void; hasIsosurface(channel: number): boolean; createIsosurface(channel: number, color: [number, number, number], value?: number, alpha?: number, transp?: boolean): void; destroyIsosurface(channel: number): void; saveChannelIsosurface(channelIndex: number, type: string, namePrefix: string): void; exportSTL(input: Object3D, fname: string): void; exportGLTF(input: Object3D, fname: string): void; generateIsosurfaceGeometry(channelIndex: number, isovalue: number): BufferGeometry[]; }