import { AmbientLight, DirectionalLight, HemisphereLight, PointLight, RectAreaLight, SpotLight, Vector2, Raycaster, Clock } from "three"; import { EffectComposer } from "three/examples/jsm/postprocessing/EffectComposer.js"; import { ThreeLayer } from "@vuemap/three-layer"; import { CSS2DRenderer } from "./CSS2DRenderer"; import { CSS3DRenderer } from "./CSS3DRenderer"; import type { Object3D } from "three"; import type { HDROptions, LightOption } from "./Type"; import type { ThreeLayerOptions } from "@vuemap/three-layer"; interface Options extends ThreeLayerOptions { lights?: LightOption[]; hdr?: HDROptions; axesHelper: boolean; createCssRender: boolean; } declare class CustomThreeLayer extends ThreeLayer { lightTypes: { AmbientLight: typeof AmbientLight; DirectionalLight: typeof DirectionalLight; HemisphereLight: typeof HemisphereLight; PointLight: typeof PointLight; RectAreaLight: typeof RectAreaLight; SpotLight: typeof SpotLight; }; raycaster: Raycaster | undefined; mouse: Vector2; envMap: any; clickFun: any; hoverFun: any; resizeFun: any; effectComposer?: EffectComposer; renderPass: any; passNum: number; passList: any[]; clock: Clock; preHoverGroup: Object3D | null; css2DRenderer: CSS2DRenderer | null; css3DRenderer: CSS3DRenderer | null; constructor(map: any, options: Options, callback: () => void); updateRendererSize(): void; updateEffectComposerSize(): void; createEffect(): void; creatCssRenders(map: any): void; addPass(pass: any): void; removePass(pass: any): void; createLights(lights: LightOption[] | undefined): void; createHDR(hdr: HDROptions | undefined): void; addEnvMap(object: any): void; bindEvents(): void; ubBindEvents(): void; _getOriginEvent(e: any): any; _clickEvent(e: any): void; _hoverEvent(e: any): void; _intersectGltf(e: MouseEvent): Object3D | null; _getGroup(object: Object3D): Object3D | null; destroy(): void; } export default CustomThreeLayer;