import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader.js"; import { Vector2, Raycaster, Group, Box3 } from "three"; import BaseEvent from '../event'; import { LayerTilesRenderer } from './LayerTilesRenderer'; interface Vec { x: number; y: number; z: number; } interface Options { url: string; position?: number[]; rotation?: Vec; translate?: Vec; scale?: number | Vec; dracoDecoderPath?: string; fetchOptions?: any; mouseEvent?: boolean; debug?: boolean; autoFocus?: boolean; configLoader?: (loader: GLTFLoader) => void; } declare class Layer3DTiles extends BaseEvent { layer: any; animationFrame: number; tilesRenderer: LayerTilesRenderer; group: any; statsContainer?: HTMLDivElement; mouse: Vector2; raycaster?: Raycaster; clickMapFn: any; mousemoveMapFn: any; rightClickMapFn: any; parentGroup: Group; position?: number[]; hasResetCenter: boolean; options: Options; constructor(layer: any, options: Options); bindEvents(mouseEvent?: boolean): void; unbindEvents(): void; clickMap(e: any): void; mousemoveMap(e: any): void; rightClickMap(e: any): void; _intersectGltf(e: any): { object: import("three").Object3D; batchData: {}; } | null; getBatchTable(selectedMesh: any): any; setPosition(position: any): void; setRotation(rotation: Vec): void; setTranslate(translate: Vec): void; setScale(scale: number | Vec): void; refresh(): void; show(): void; hide(): void; animate(): void; resetPosition(box: Box3): void; update(): void; getGroup(): any; getTilesRenderer(): LayerTilesRenderer; destroy(): void; } export { Layer3DTiles };