import { WebGLRenderer } from './../WebGLRenderer'; import { WebGLProgram } from './WebGLProgram'; import { WebGLCapabilities } from './WebGLCapabilities'; import { WebGLCubeMaps } from './WebGLCubeMaps'; import { WebGLExtensions } from './WebGLExtensions'; import { WebGLClipping } from './WebGLClipping'; import { WebGLBindingStates } from './WebGLBindingStates'; import { Material } from './../../materials/Material'; import { Scene } from './../../scenes/Scene'; export class WebGLPrograms { constructor( renderer: WebGLRenderer, cubemaps: WebGLCubeMaps, extensions: WebGLExtensions, capabilities: WebGLCapabilities, bindingStates: WebGLBindingStates, clipping: WebGLClipping ); programs: WebGLProgram[]; getParameters(material: Material, lights: any, shadows: object[], scene: Scene, object: any): any; getProgramCacheKey(parameters: any): string; getUniforms(material: Material): object; acquireProgram(parameters: any, cacheKey: string): WebGLProgram; releaseProgram(program: WebGLProgram): void; }