import * as THREE from 'three'; import { ABaseGarden } from '../Garden/ABaseGarden'; import { Physics } from '../Physics'; import type { IRThreeConstructorOption, ITextureAnimationOption } from './types'; export declare class Container { container: HTMLElement; width: number; height: number; camera: THREE.PerspectiveCamera; renderer: THREE.WebGLRenderer; physics: Physics | undefined; private renderer2D; private renderer3D; private control; private firstPersonControl?; private options; constructor(container: HTMLElement, options?: IRThreeConstructorOption); private stats?; showStats(): void; private viewHelper?; showHelper(): void; private getMousePosition; private raycaster; private getIntersects; private upObject; private rendererEvent; getAngleView(): { position: THREE.Vector3Tuple; rotation: (string | number | undefined)[]; center: THREE.Vector3Tuple; value: string; }; garden?: ABaseGarden; setGarden(garden: ABaseGarden): void; private updateAspectRatio; resize(width?: number, height?: number): void; isNeedRenderer: boolean; private rendererTimeOut?; refreshViewer(time?: number): void; private selectedBox?; private selectedHelper?; createSelectionBox(selecBoxClassName: string, filter?: (object: THREE.Object3D) => boolean): void; openSelect(): void; stopSelect(): void; private textureAnimations; addTextureAnimation(option: ITextureAnimationOption): void; removeTextureAnimation(uuid: string): void; private animate; private clock; mixersModel: THREE.AnimationMixer[]; renderBefore?: () => void; renderAfter?: () => void; render(): void; /** * 摄像机飞行至指定位置 * @param position 摄像机坐标 * @param rotation 摄像机旋转度 * @param center 控制器旋转中心 * @param duration 时长 * @param flyEnd 飞行结束回调函数 */ private cameraFlyTl?; cameraFlyTo(position: [number, number, number], rotation: [number, number, number], center: [number, number, number], duration?: number, flyEnd?: Function): void; /** * 摄像机至指定位置(无过渡) * @param position 摄像机坐标 * @param rotation 摄像机旋转度 * @param center 控制器旋转中心 */ cameraTo(position: [number, number, number], rotation: [number, number, number], center?: [number, number, number]): void; getDirectionToObjectByPosition(position: THREE.Vector3, object: THREE.Object3D): { position: THREE.Vector3; orientation: THREE.Euler; } | undefined; }