import { PolyScene } from '../scene/PolyScene'; import { ViewerControlsController } from './utils/ControlsController'; import { TypedViewer } from './_Base'; import { BaseThreejsCameraObjNodeType } from '../nodes/obj/_BaseCamera'; declare global { interface HTMLCanvasElement { onwebglcontextlost: () => void; onwebglcontextrestored: () => void; } } export interface ThreejsViewerProperties { autoRender: boolean; } export declare class ThreejsViewer extends TypedViewer { protected _scene: PolyScene; protected _camera_node: BaseThreejsCameraObjNodeType; private _properties?; private _request_animation_frame_id; private _do_render; private _animate_method; constructor(_container: HTMLElement, _scene: PolyScene, _camera_node: BaseThreejsCameraObjNodeType, _properties?: ThreejsViewerProperties | undefined); get controlsController(): ViewerControlsController; _build(): void; dispose(): void; get cameraControlsController(): import("../nodes/obj/utils/cameras/ControlsController").ThreejsCameraControlsController; private _set_events; onResize(): void; private _init_display; setAutoRender(state?: boolean): void; animate(): void; private _cancel_animate; render(): void; renderer(): import("three").WebGLRenderer | undefined; }