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;
}
