import { Pass, type Resizable } from 'postprocessing'; import * as THREE from 'three'; import type { PerspectiveCamera } from 'three'; import type { GodraysPassParams } from './index'; interface GodraysCompositorMaterialProps { godrays: THREE.Texture; edgeStrength: number; edgeRadius: number; color: THREE.Color; camera: THREE.PerspectiveCamera; gammaCorrection: boolean; } export declare class GodraysCompositorMaterial extends THREE.ShaderMaterial implements Resizable { constructor({ godrays, edgeStrength, edgeRadius, color, camera, gammaCorrection, }: GodraysCompositorMaterialProps); updateUniforms(edgeStrength: number, edgeRadius: number, color: THREE.Color, gammaCorrection: boolean, near: number, far: number): void; setSize(width: number, height: number): void; } export declare class GodraysCompositorPass extends Pass { sceneCamera: PerspectiveCamera; private depthCopyRenderTexture; private depthTextureCopyPass; constructor(props: GodraysCompositorMaterialProps); updateUniforms(params: GodraysPassParams): void; render(renderer: THREE.WebGLRenderer, inputBuffer: THREE.WebGLRenderTarget, outputBuffer: THREE.WebGLRenderTarget | null, _deltaTime?: number | undefined, _stencilTest?: boolean | undefined): void; setDepthTexture(depthTexture: THREE.Texture, depthPacking?: THREE.DepthPackingStrategies | undefined): void; setSize(width: number, height: number): void; } export {};