import { Box3, Plane, Scene, Texture, WebGLRenderer } from 'three'; import SpeckleDepthMaterial from '../../materials/SpeckleDepthMaterial.js'; import { type ShadowcatcherConfig } from '../../ShadowcatcherConfig.js'; import { BaseGPass } from './GPass.js'; export declare class ShadowcatcherPass extends BaseGPass { private readonly levels; private readonly debugCamera; private renderTargets; private tempTargets; private camera; private scene; private _needsUpdate; private fsQuad; private blendMaterial; private depthMaterial; private vBlurMaterial; private hBlurMaterial; private blurStdDev; private blurRadius; private prevBlurStdDev; private prevBlurRadius; private cameraHelper; onBeforeRender: (() => void) | undefined; onAfterRender: (() => void) | undefined; get displayName(): string; get outputTexture(): Texture | null; set needsUpdate(value: boolean); get drawDepthMaterial(): SpeckleDepthMaterial; constructor(); update(scene: Scene): void; render(_renderer: WebGLRenderer): boolean; updateClippingPlanes(planes: Plane[]): void; setOutputSize(width: number, height: number): void; setWeights(weights: { x: number; y: number; z: number; w: number; }): void; updateCamera(planeBox: Box3, near: number, far: number): void; updateConfig(config: ShadowcatcherConfig): void; setSize(width: number, height: number): void; }