import { Matrix4, Vector2 } from 'three'; import type { IUniform, Texture } from 'three'; import type { IShader } from './types'; export type SAOShaderDefines = Record<'DEPTH_PACKING' | 'DIFFUSE_TEXTURE' | 'NORMAL_TEXTURE' | 'NUM_RINGS' | 'NUM_SAMPLES' | 'PERSPECTIVE_CAMERA', number>; export type SAOShaderUniforms = { bias: IUniform; cameraFar: IUniform; cameraInverseProjectionMatrix: IUniform; cameraNear: IUniform; cameraProjectionMatrix: IUniform; intensity: IUniform; kernelRadius: IUniform; minResolution: IUniform; randomSeed: IUniform; scale: IUniform; size: IUniform; tDepth: IUniform; tDiffuse: IUniform; tNormal: IUniform; }; export interface ISAOShader extends IShader { defines: SAOShaderDefines; needsUpdate?: boolean; } export declare const SAOShader: ISAOShader;