import * as THREE from 'three'; export interface IUniform { value: T; } export type Uniforms = Record>; export declare class Uniform extends THREE.Uniform implements IUniform { value: T; constructor(value: T); } export declare function setUniform(uniform: IUniform, value: T): void; export declare function cloneUniforms(uniforms: T): T; export declare function mergeUniforms(a: A): A; export declare function mergeUniforms(a: A, b: B): A & B; export declare function mergeUniforms(a: A, b: B, c: C): A & B & C; export declare function mergeUniforms(a: A, b: B, c: C, d: D): A & B & C & D;