import * as THREE from 'three'; import * as TWEEN from '@tweenjs/tween.js'; import CreateThreeMap from '../../../Lcz3dAreaMap/common/createThreeMap'; import { LightBarDataMap, OutLightBar } from '../../../Lcz3dAreaMap/type/child'; import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer'; interface LightBarProps { lightbar: OutLightBar; threeMap: CreateThreeMap; level: number; chindEvent: (id: any, type: string, param: any) => void; } export default class LightBar { lightbar: OutLightBar; lastLightbar?: OutLightBar; mapInstance: CreateThreeMap; level: number; chindEvent: (id: any, type: string, param: any) => void; rangeObj: { [key: string]: (val: number) => number; }; materialArr: (THREE.MeshPhongMaterial | THREE.MeshStandardMaterial)[]; hoverMateralArr: THREE.MeshPhongMaterial[]; show: boolean; lightbarGroup: THREE.Group; appearTween?: TWEEN.Tween<{ value: number; }>; planeElements: HTMLDivElement[]; animateStatus: boolean; selectObj?: THREE.Object3D; constructor(options: LightBarProps); initLevel(): void; updataView(lightbar: OutLightBar, mapInstance: CreateThreeMap, level: number, stretchHeight: number): void; drawLightbar(): void; creatBar(barType: any, barWidth: number, barHeight: number, barMesh?: THREE.Mesh): THREE.Mesh, THREE.Material | THREE.Material[]>; creatPlane(barHeight: number, itemData: LightBarDataMap, index: number, planeObj?: CSS2DObject): any; barAppearAnim(target?: THREE.Object3D): void; initBarEvent(): void; selectBar(parent: THREE.Object3D): void; unSelectBar(target?: THREE.Object3D): false | undefined; destroyEvent(): void; getRange(): void; initMaterial(): void; destroyMaterial(): void; getName(data: LightBarDataMap): string; destroy(): void; } export {};