import * as i0 from '@angular/core'; import { AfterViewInit, OnInit, OnDestroy, OnChanges, SimpleChanges } from '@angular/core'; import { Observable, BehaviorSubject } from 'rxjs'; import * as THREE from 'three'; import { DynamicComponent, DynamicComponentAlertAggregator, MeasurementRealtimeService, OnBeforeSave } from '@c8y/ngx-components'; import { ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard'; import { FormBuilder, NgForm } from '@angular/forms'; interface ThreeDRotationWidgetConfig { device: { id: string | number; name?: string; }; isWireframe: boolean; objectModel: string; cameraType: string; } interface ThreeDRotationWidgetRotate { x: number; y: number; z: number; } declare class ThreeDRotationComponent implements AfterViewInit, OnInit, OnDestroy { private canvasRef; angles$: Observable; modelObj$: Observable; cameraType$: Observable; isWireframe$: Observable; get canvas(): HTMLCanvasElement | null; scene: THREE.Scene; camera: THREE.PerspectiveCamera | THREE.OrthographicCamera; model: THREE.Object3D; private renderer; private afterViewInit$; private renderSubscription; private controls; ngOnInit(): void; ngOnDestroy(): void; ngAfterViewInit(): void; loadModel(modelObj: any, three: typeof THREE): Promise>; setupRenderer(three: typeof THREE): Promise; setWireframe(parsedModel: THREE.Object3D, isWireframe: boolean): THREE.Object3D; private render; private createScene; private createCamera; private getAspectRatio; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ThreeDRotationWidgetViewComponent implements OnChanges, OnInit, DynamicComponent { private measurementRealtime; private dashboard; config: ThreeDRotationWidgetConfig; alerts: DynamicComponentAlertAggregator; webGLAvailable: i0.WritableSignal; angles$: Observable; modelObj$: Observable; deviceId$: BehaviorSubject; modelName$: BehaviorSubject; cameraType$: BehaviorSubject; isWireframe$: BehaviorSubject; private webGLErrorText; constructor(measurementRealtime: MeasurementRealtimeService, dashboard: ContextDashboardComponent); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; private onConfigChange; private getModelUrl; private getAnglesOfDevice$; private convertValues; private isWebGLAvailable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ThreeDRotationWidgetConfigComponent implements OnInit, OnBeforeSave { private formBuilder; private form; config: ThreeDRotationWidgetConfig; formGroup: ReturnType; constructor(formBuilder: FormBuilder, form: NgForm); onBeforeSave(config?: ThreeDRotationWidgetConfig): boolean | Promise | Observable; ngOnInit(): void; private initForm; private createForm; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export { ThreeDRotationComponent, ThreeDRotationWidgetConfigComponent, ThreeDRotationWidgetViewComponent }; export type { ThreeDRotationWidgetConfig, ThreeDRotationWidgetRotate }; //# sourceMappingURL=index.d.ts.map