import * as THREE from 'three'; import { EffectComposer } from 'three-stdlib'; import { EntityManager } from './EntityManager'; import { SystemManager } from './SystemManager'; import { EventManager } from './EventManager'; import { View } from './View'; import { PhysiAmmo } from './PhysicAmmo'; import { System } from './System'; import { Timer } from './Timer'; export interface RecorderCanvas { ctx: any; width: number; height: number; } interface ApplicationOptions { enableEffectComposer?: boolean; hideGrid?: boolean; hideAxes?: boolean; hideFps?: boolean; disablePhysicsDebug?: boolean; intervalOnNode?: number; snapshotHandler?: (snapShots: any[]) => any; enableLowResolution?: boolean; enableLowFrameRate?: boolean; } export declare class Application { private _container; scene: THREE.Scene; camera: THREE.PerspectiveCamera; renderer: THREE.WebGLRenderer; composer: EffectComposer; private _entityManager; private _systemManager; private _eventManager; private _grid; view: View; private _raycaster; private _mousePos; private _fps; private _guiParams; private _physiscAmmo; private _motionPause; private _windowVisible; private _preTick; private _recorderCanvas; private _options; private _nextTickCallBacks; private _nodeLoopTimer; private _timerSet; private _enablePhysics; private frameCount; constructor(container: HTMLElement | null, options?: ApplicationOptions); get isNodeJsEnvironment(): boolean; addGuiParam(key: string, value: any): void; getGuiParam(key: string): any; get Container(): HTMLElement; get EventManager(): EventManager; get SystemManager(): SystemManager; get EntityManager(): EntityManager; get PhysicEnv(): PhysiAmmo; get MotionPaused(): boolean; enablePhysics(value: boolean): void; nextTick(cb: any): void; private flushNextTickCallBacks; resumeMotionUpdate(): void; pauseMotionUpdate(): void; calculateIntersects(mousePos: THREE.Vector2, objects?: THREE.Object3D[]): THREE.Intersection[]; private initEffectComposer; setHdrLightEnvironment(hdr: { sdr: string; gainmap: string; metadata: any; }, bgColor: string): Promise; private setHdrLightEnvironmentTest; setGridColor(colorGrid: string, colorLine: string): void; private initEnvironment; private initPhysicsWorld; private animate; private animateOnBackend; private getDevicePixelRatio; start(): void; addSystem(system: System): void; removeSystem(system: System): void; destroy(): void; private update; private resize; private handleVisibilityChange; private setVisibleTrigger; private setResizeTrigger; private mouseDownHandle; private getAncestorTransformScale; private mouseMoveHandle; private mouseUpHandle; private setMouseTrigger; setRecordCanvas(canvas: RecorderCanvas | null): void; delayExecute(interval: number, handle: any): Timer; cycleExecute(interval: number, handle: any): Timer; } export {};