import { Matrix4, RawShaderMaterial, Uniform, Vector2, Data3DTexture } from 'three'; import { AtmosphereUniforms, CloudLayerUniforms, CloudParameterUniforms } from './uniforms'; export interface ShadowMaterialParameters { parameterUniforms: CloudParameterUniforms; layerUniforms: CloudLayerUniforms; atmosphereUniforms: AtmosphereUniforms; } export interface ShadowMaterialUniforms extends CloudParameterUniforms, CloudLayerUniforms, AtmosphereUniforms { [key: string]: Uniform; inverseShadowMatrices: Uniform; reprojectionMatrices: Uniform; resolution: Uniform; frame: Uniform; stbnTexture: Uniform; maxIterationCount: Uniform; minStepSize: Uniform; maxStepSize: Uniform; minDensity: Uniform; minExtinction: Uniform; minTransmittance: Uniform; opticalDepthTailScale: Uniform; } export declare class ShadowMaterial extends RawShaderMaterial { uniforms: ShadowMaterialUniforms; constructor({ parameterUniforms, layerUniforms, atmosphereUniforms }: ShadowMaterialParameters); setSize(width: number, height: number): void; localWeatherChannels: string; cascadeCount: number; temporalPass: boolean; temporalJitter: boolean; shapeDetail: boolean; turbulence: boolean; }