import { Vector2 } from 'three'; import type { IUniform, Texture } from 'three'; import type { IShader } from './types'; export type DepthLimitedBlurShaderDefines = { DEPTH_PACKING: number; KERNEL_RADIUS: number; PERSPECTIVE_CAMERA: number; }; export type DepthLimitedBlurShaderUniforms = { cameraFar: IUniform; cameraNear: IUniform; depthCutoff: IUniform; sampleUvOffsets: IUniform; sampleWeights: IUniform; size: IUniform; tDepth: IUniform; tDiffuse: IUniform; }; export interface IDepthLimitedBlurShader extends IShader { defines: DepthLimitedBlurShaderDefines; needsUpdate?: boolean; } export declare const DepthLimitedBlurShader: IDepthLimitedBlurShader; export declare const BlurShaderUtils: { createSampleWeights: (kernelRadius: number, stdDev: number) => number[]; createSampleOffsets: (kernelRadius: number, uvIncrement: Vector2) => Vector2[]; configure: (shader: IDepthLimitedBlurShader, kernelRadius: number, stdDev: number, uvIncrement: Vector2) => void; };