import { RenderManagerBase } from '../render/RenderManagerBase'; /** * Navigation cube control. * @example const cubeControl = new CubeControl("cubeId", renderManager); */ export declare class CubeControl { private readonly scene; private container; private readonly canvas; private width; private height; private boxCube; private camera; private perspectiveCamera; private orthographicCamera; private ambientLight; private directionalLight; private renderer; private rayCaster; private controls; private mouse; private mouseOld; private isMouseOver; private isControlNavigation; private renderManager; private isDisposed; private needUpdate; private offsetRotation; private animNumber; /** * @param domElementId - DOM element id for control renderer attaching. * @param renderManager - {@link RenderManagerBase} instance. */ constructor(domElementId: string, renderManager: RenderManagerBase); private handleResize; /** * Sets the relative cube rotation angle to be taken as zero. * @param rotation - Relative angle. */ setOffsetRotation(rotation: number): void; private onMouseClick; onNavChange(): void; /** * Destroy cube object and release all events and resources. */ dispose(): void; private initPerspectiveCamera; private initOrthographicCamera; private initCamera; private initLights; private initRenderer; private initOrbitControls; private onControlStart; private onControlEnd; private onControlChange; private onMouseMove; private onMouseOut; private selectHoveredParts; /** * Updates cube visual and RenderManager`s camera. Use in rendering pipeline. */ animate(now?: number): void; /** * Makes rotation animation for proper cube side. * @param name - Side name. */ switchPick(name: string): void; }