import { WebGLExtensions } from './WebGLExtensions'; import { WebGLAttributes } from './WebGLAttributes'; import { WebGLProgram } from './WebGLProgram'; import { WebGLCapabilities } from './WebGLCapabilities'; import { Object3D } from './../../core/Object3D'; import { BufferGeometry } from './../../core/BufferGeometry'; import { BufferAttribute } from './../../core/BufferAttribute'; import { Material } from './../../materials/Material'; export class WebGLBindingStates { constructor(gl: WebGLRenderingContext, extensions: WebGLExtensions, attributes: WebGLAttributes, capabilities: WebGLCapabilities); setup(object: Object3D, material: Material, program: WebGLProgram, geometry: BufferGeometry, index: BufferAttribute): void; reset(): void; resetDefaultState(): void; dispose(): void; releaseStatesOfGeometry(): void; releaseStatesOfProgram(): void; initAttributes(): void; enableAttribute(attribute: number): void; disableUnusedAttributes(): void; }