import { DataArrayTexture, TextureDataType, WebGLRenderer } from 'three'; import { PassBase, PassBaseOptions } from './PassBase'; import { ShaderArrayPass } from './ShaderArrayPass'; import { ShadowMaterial } from './ShadowMaterial'; import { ShadowResolveMaterial } from './ShadowResolveMaterial'; import { AtmosphereUniforms, CloudLayerUniforms, CloudParameterUniforms } from './uniforms'; export interface ShadowPassOptions extends PassBaseOptions { parameterUniforms: CloudParameterUniforms; layerUniforms: CloudLayerUniforms; atmosphereUniforms: AtmosphereUniforms; } export declare class ShadowPass extends PassBase { private currentRenderTarget; readonly currentMaterial: ShadowMaterial; readonly currentPass: ShaderArrayPass; private resolveRenderTarget; readonly resolveMaterial: ShadowResolveMaterial; readonly resolvePass: ShaderArrayPass; private historyRenderTarget; private width; private height; constructor({ parameterUniforms, layerUniforms, atmosphereUniforms, ...options }: ShadowPassOptions); initialize(renderer: WebGLRenderer, alpha: boolean, frameBufferType: TextureDataType): void; private initRenderTargets; private copyShadow; private copyReprojection; private swapBuffers; update(renderer: WebGLRenderer, frame: number, deltaTime: number): void; setSize(width: number, height: number, depth?: number): void; get outputBuffer(): DataArrayTexture; get temporalPass(): boolean; set temporalPass(value: boolean); }