import { AfterViewInit, OnDestroy, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { ThreeDRotationWidgetRotate } from '../three-d-rotation.model';
import type THREE from 'three';
import * as i0 from "@angular/core";
export declare class ThreeDRotationComponent implements AfterViewInit, OnInit, OnDestroy {
    private canvasRef;
    angles$: Observable<ThreeDRotationWidgetRotate>;
    modelObj$: Observable<any>;
    cameraType$: Observable<string>;
    isWireframe$: Observable<boolean>;
    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<THREE.Object3D<THREE.Event>>;
    setupRenderer(three: typeof THREE): Promise<void>;
    setWireframe(parsedModel: THREE.Object3D, isWireframe: boolean): THREE.Object3D<THREE.Event>;
    private render;
    private createScene;
    private createCamera;
    private getAspectRatio;
    static ɵfac: i0.ɵɵFactoryDeclaration<ThreeDRotationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ThreeDRotationComponent, "c8y-three-d-rotation", never, { "angles$": { "alias": "angles$"; "required": false; }; "modelObj$": { "alias": "modelObj$"; "required": false; }; "cameraType$": { "alias": "cameraType$"; "required": false; }; "isWireframe$": { "alias": "isWireframe$"; "required": false; }; }, {}, never, never, true, never>;
}
//# sourceMappingURL=three-d-rotation.component.d.ts.map