import { Box3, Mesh, Plane, Scene } from 'three'; import { ShadowcatcherPass } from './pipeline/Passes/ShadowcatcherPass.js'; import { ObjectLayers } from '../IViewer.js'; import { type ShadowcatcherConfig } from './ShadowcatcherConfig.js'; import type { SpeckleWebGLRenderer } from './objects/SpeckleWebGLRenderer.js'; export declare class Shadowcatcher { static readonly MESH_NAME = "Shadowcatcher"; static readonly PLANE_SUBD = 2; static readonly MAX_TEXTURE_SIZE_SCALE = 0.5; private planeMesh; private planeSize; private displayMaterial; shadowcatcherPass: ShadowcatcherPass; private _config; get shadowcatcherMesh(): Mesh; set configuration(config: ShadowcatcherConfig); constructor(layer: ObjectLayers, renderlayers: Array); update(scene: Scene): void; render(renderer: SpeckleWebGLRenderer): void; bake(worldBox: Box3, maxTexSize: number, force?: boolean): void; updateClippingPlanes(planes: Plane[]): void; private getTextureSize; private updatePlaneMesh; private updatePlaneMeshGeometry; }