import { BufferGeometry2, IMaterial, IShaderPropertiesUpdater, Matrix4, Mesh2, PhysicalMaterial, Texture, ValOrFunc, Vector2, WebGLRenderTarget } from 'threepipe'; export declare class Reflector2 extends Mesh2 { type: string; readonly isReflector2 = true; private _renderTarget; readonly textureMatrix: Matrix4; private _getRenderTarget; enabled: boolean; reflectorModePhysical: boolean; reflectionTargetNeedsUpdate: boolean; transparentReflectionBackground: boolean; private _updateExtension; constructor(geometry: TG, renderTarget: ValOrFunc, clipBias: number | undefined, material: PhysicalMaterial); getRenderTarget(): ValOrFunc> | undefined>; readonly materialExtension: { extraUniforms: { tRefDiffuse: { value: Texture | null; }; tRefDiffuseSize: { value: Vector2; }; refTextureMatrix: { value: Matrix4; }; frameCount: { value: number; }; sceneBoundingRadius: { value: number; }; }; extraDefines: { USE_UV: string; }; updaters: IShaderPropertiesUpdater[] | (() => IShaderPropertiesUpdater[]); shaderExtender: (shader: import('three').WebGLProgramParametersWithUniforms, _material: IMaterial, _renderer: import('three').WebGLRenderer) => void; parsVertexSnippet: () => "" | "\n\t\tuniform mat4 refTextureMatrix;\n\t\tvarying vec4 vRefUv;\n"; parsFragmentSnippet: () => string; computeCacheKey: (material: IMaterial) => string; onObjectRender: (_object: import('three').Object3D, material: IMaterial) => void; isCompatible: (material: IMaterial) => true; setDirty: () => void | undefined; }; } //# sourceMappingURL=Reflector2.d.ts.map