import * as _angular_core from '@angular/core'; import { AfterViewInit, OnChanges, SimpleChanges } from '@angular/core'; import * as THREE from 'three'; import * as i2 from '@angular/common'; type NcCameraPlacementType = 'default' | 'left' | 'right' | 'top' | 'bottom' | 'back' | 'front'; declare class GltfViewerComponent implements AfterViewInit, OnChanges { /** 模型地址 */ ncUrl: _angular_core.InputSignal; /** 摄像机初始方位 */ ncCameraPlacement: _angular_core.InputSignal; /** 是否启用背景色 */ ncBg: _angular_core.InputSignalWithTransform; /** 背景色值 */ ncBgColor: _angular_core.InputSignal; /** 操作提示 */ ncTips: _angular_core.InputSignalWithTransform; /** 控制面板 */ ncControl: _angular_core.InputSignalWithTransform; /** 背景是否透明 */ ncAlpha: _angular_core.InputSignalWithTransform; readonly showLoading: _angular_core.WritableSignal; private readonly eleRef; private readonly ls; private readonly ngZone; private readonly renderer; private readonly destroyRef; private readonly domId; private camera; private scene; private loader; private webglRenderer; private domWidth; private domHeight; private gltf; private size; private center; private controls; private mixer; private readonly clock; private gui; private axesHelper; private ambientLight; private directionalLight; private directionalLightHelper; private pointLight; private pointLightHelper; private ktx2Loader; private environmentRenderTarget; private removeResizeListener; private initTimer; private resizeTimer; private animationFrameId; private animationRunning; private loadVersion; private destroyed; private readonly state; constructor(); ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; init(): void; render(): void; private readonly animate; private readonly onWindowResize; updateModel(): void; setCameraPlacement(): void; addGUI(): void; updateToneMapping(): void; updateToneMappingExposure(): void; updateBackground(): void; toggleAxesHelper(): void; toggleWireframe(): void; traverseMaterials(object: THREE.Object3D, callback: (material: THREE.Material) => void): void; toggleAutoRotate(): void; updateAnimation(): void; toggleAmbientLight(): void; updateAmbientLight(): void; toggleDirectionalLight(): void; updateDirectionalLight(): void; toggleDirectionalLightHelper(): void; togglePointLight(): void; updatePointLight(): void; togglePointLightHelper(): void; webglLoseContext(): void; private syncInputState; private handleLoadedGltf; private getAspectRatio; private getCameraDistance; private getViewerElement; private getControlElement; private getHostWindow; private getDevicePixelRatio; private startAnimation; private stopAnimation; private stopMixer; private cleanupModel; private cleanupControls; private cleanup; private destroyGUI; private removeObject; private disposeRenderer; private disposeObject; private disposeMaterial; private getGuiClosed; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class NcGltfViewerModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { GltfViewerComponent, NcGltfViewerModule }; export type { NcCameraPlacementType };