import { Camera, Vector2, WebGLRenderer } from 'three'; import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer'; import { IfcComponent } from '../../../base-types'; import { IfcPostproduction } from './postproduction'; import { IfcContext } from '../context'; export interface RendererAPI { domElement: HTMLElement; render(...args: any): void; setSize(width: number, height: number): void; } export declare class IfcRenderer extends IfcComponent { basicRenderer: WebGLRenderer; renderer2D: CSS2DRenderer; postProductionRenderer: IfcPostproduction; renderer: RendererAPI; tempCanvas?: HTMLCanvasElement; tempRenderer?: WebGLRenderer; postProductionActive: boolean; blocked: boolean; private readonly container; private readonly context; constructor(context: IfcContext); get usePostproduction(): boolean; set usePostproduction(active: boolean); dispose(): void; update(_delta: number): void; getSize(): Vector2; adjustRendererSize(): void; newScreenshot(camera?: Camera, dimensions?: Vector2): Promise; private setupRenderers; private restoreRendererBackgroundColor; }