import * as BABYLON from 'babylonjs'; import { Observable } from 'rxjs'; import { CameraType } from '../../enums/camera/camera-type'; import { Axis } from '../../enums/axis'; import { LightType } from '../../enums/light/light-type'; import Mesh = BABYLON.Mesh; import Camera = BABYLON.Camera; import Light = BABYLON.Light; import StandardMaterial = BABYLON.StandardMaterial; export declare class BabylonJSService { private screenWidth; private screenHeight; private _canvas; private _engine; private _scene; private _camera; private _light; private wireFrame; private antiAlias; constructor(); defaultMaterial(): StandardMaterial; initEngine(canvas: HTMLElement): void; createScene(): void; mainLoop(statements: Observable[]): void; initGraphics(width: number, height: number): Observable; setClearColor(red: number, green: number, blue: number): Observable; setFogColor(red: number, green: number, blue: number): Observable; createCamera(type: CameraType): Observable; addMesh(source: any, target: any): Observable; copyMesh(): void; createCone(segments?: number, hasFloor?: boolean): Observable; createSphere(segments: number): Observable; createCube(): Observable; createCylinder(segments: any, hasFloor: any): Observable; createPyramid(baseVertexNumber: number): Observable; createTorus(): Observable; createTorusKnot(): Observable; fitMesh(): void; flipMesh(mesh: any): void; loadAnimMesh(): void; loadMesh(filePath: any, parent: any): void; meshCullBox(): void; meshDepth(): void; meshHeight(): void; meshWidth(): void; positionMesh(entity: Mesh | Camera, x: number, y: number, z: number, parentCoordinates?: boolean): Observable; scaleMesh(entity: any, x: number, y: number, z: number, parentScale?: boolean): Observable; moveEntity(entity: any, x: number, y: number, z: number): Observable; rotateEntity(entity: Mesh | Camera, pitch: number, yaw: number, roll: number, parentCoordinates?: boolean): Observable; translateEntity(entity: any, x: number, y: number, z: number, parentAngle?: boolean): Observable; turnEntity(entity: any, pitch: number, yaw: number, roll: number, parentAngle?: boolean): Observable; alignToVector(entity: any, x: number, y: number, z: number, axis: Axis, tween: number): Observable; pointEntity(sourceEntity: any, targetEntity: any, roll: number): Observable; colorMesh(mesh: Mesh, red: number, green: number, blue: number): Observable; /** LIGHT **/ ambientLight(red: number, green: number, blue: number): Observable; createLight(type: LightType): Observable; lightColor(light: Light, red: number, green: number, blue: number): Observable; lightRange(light: Light, range: number): Observable; }