import { Pass, type Resizable } from 'postprocessing'; import * as THREE from 'three'; import type { GodraysPassParams } from './index'; export declare const GODRAYS_RESOLUTION_SCALE: number; export interface GodraysIllumPassProps { light: THREE.PointLight | THREE.DirectionalLight; camera: THREE.PerspectiveCamera; } export declare class GodraysIllumPass extends Pass implements Resizable { private material; private shadowMapSet; private props; private lastParams; private lightWorldPos; constructor(props: GodraysIllumPassProps, params: GodraysPassParams); setSize(width: number, height: number): void; render(renderer: THREE.WebGLRenderer, _inputBuffer: THREE.WebGLRenderTarget, outputBuffer: THREE.WebGLRenderTarget, _deltaTime?: number | undefined, _stencilTest?: boolean | undefined): void; setDepthTexture(depthTexture: THREE.Texture, depthPacking?: THREE.DepthPackingStrategies | undefined): void; private updateLightParams; updateUniforms({ light, camera }: GodraysIllumPassProps, params: GodraysPassParams): void; }