import { Object3D, Scene, Camera } from 'three'; export class CSS3DObject extends Object3D { constructor( element?: HTMLElement ); readonly isCSS3DObject: true; element: HTMLElement; onBeforeRender: ( renderer: unknown, scene: Scene, camera: Camera ) => void; onAfterRender: ( renderer: unknown, scene: Scene, camera: Camera ) => void; copy( source: CSS3DObject, recursive?: boolean ): this; } export class CSS3DSprite extends CSS3DObject { constructor( element?: HTMLElement ); readonly isCSS3DSprite: true; rotation2D: number; } export interface CSS3DRendererParameters { element?: HTMLElement; } export class CSS3DRenderer { constructor( parameters?: CSS3DRendererParameters ); domElement: HTMLElement; getSize(): { width: number, height: number }; setSize( width: number, height: number ): void; markDirty(): void; updateSpriteSet( scene: Scene ): void; render( scene: Scene, camera: Camera ): void; }