import { CanvasRenderingContext } from '../../common';
import { WebGLShader } from '../WebGLShader';
import { WebGLFramebuffer } from '../WebGLFramebuffer';
import { WebGLTexture } from '../WebGLTexture';
import { WebGLProgram } from '../WebGLProgram';
import { WebGLUniformLocation } from '../WebGLUniformLocation';
import { WebGLActiveInfo } from '../WebGLActiveInfo';
import { WebGLRenderbuffer } from '../WebGLRenderbuffer';
import { WebGLShaderPrecisionFormat } from '../WebGLShaderPrecisionFormat';
export declare abstract class WebGLRenderingCommon implements CanvasRenderingContext {
    abstract readonly drawingBufferHeight: number;
    abstract readonly drawingBufferWidth: number;
    static isDebug: boolean;
    static filter: 'both' | 'error' | 'args';
    protected constructor(context: any);
    _native: any;
    get native(): any;
    _canvas: any;
    get canvas(): any;
    _type: string;
    get type(): string;
    get DEPTH_BUFFER_BIT(): number;
    get STENCIL_BUFFER_BIT(): number;
    get COLOR_BUFFER_BIT(): number;
    get POINTS(): number;
    get LINES(): number;
    get LINE_LOOP(): number;
    get LINE_STRIP(): number;
    get TRIANGLES(): number;
    get TRIANGLE_STRIP(): number;
    get TRIANGLE_FAN(): number;
    get ZERO(): number;
    get ONE(): number;
    get SRC_COLOR(): number;
    get ONE_MINUS_SRC_COLOR(): number;
    get SRC_ALPHA(): number;
    get ONE_MINUS_SRC_ALPHA(): number;
    get DST_ALPHA(): number;
    get ONE_MINUS_DST_ALPHA(): number;
    get DST_COLOR(): number;
    get ONE_MINUS_DST_COLOR(): number;
    get SRC_ALPHA_SATURATE(): number;
    get CONSTANT_COLOR(): number;
    get ONE_MINUS_CONSTANT_COLOR(): number;
    get CONSTANT_ALPHA(): number;
    get ONE_MINUS_CONSTANT_ALPHA(): number;
    get FUNC_ADD(): number;
    get FUNC_SUBTRACT(): number;
    get FUNC_REVERSE_SUBTRACT(): number;
    get BLEND_EQUATION(): number;
    get BLEND_EQUATION_RGB(): number;
    get BLEND_EQUATION_ALPHA(): number;
    get BLEND_DST_RGB(): number;
    get BLEND_SRC_RGB(): number;
    get BLEND_DST_ALPHA(): number;
    get BLEND_SRC_ALPHA(): number;
    get BLEND_COLOR(): number;
    get ARRAY_BUFFER_BINDING(): number;
    get ELEMENT_ARRAY_BUFFER_BINDING(): number;
    get LINE_WIDTH(): number;
    get ALIASED_POINT_SIZE_RANGE(): number;
    get ALIASED_LINE_WIDTH_RANGE(): number;
    get CULL_FACE_MODE(): number;
    get FRONT_FACE(): number;
    get DEPTH_RANGE(): number;
    get DEPTH_WRITEMASK(): number;
    get DEPTH_CLEAR_VALUE(): number;
    get DEPTH_FUNC(): number;
    get STENCIL_CLEAR_VALUE(): number;
    get STENCIL_FUNC(): number;
    get STENCIL_FAIL(): number;
    get STENCIL_PASS_DEPTH_FAIL(): number;
    get STENCIL_PASS_DEPTH_PASS(): number;
    get STENCIL_REF(): number;
    get STENCIL_VALUE_MASK(): number;
    get STENCIL_WRITEMASK(): number;
    get STENCIL_BACK_FUNC(): number;
    get STENCIL_BACK_FAIL(): number;
    get STENCIL_BACK_PASS_DEPTH_FAIL(): number;
    get STENCIL_BACK_PASS_DEPTH_PASS(): number;
    get STENCIL_BACK_REF(): number;
    get STENCIL_BACK_VALUE_MASK(): number;
    get STENCIL_BACK_WRITEMASK(): number;
    get VIEWPORT(): number;
    get SCISSOR_BOX(): number;
    get COLOR_CLEAR_VALUE(): number;
    get COLOR_WRITEMASK(): number;
    get UNPACK_ALIGNMENT(): number;
    get PACK_ALIGNMENT(): number;
    get MAX_TEXTURE_SIZE(): number;
    get MAX_VIEWPORT_DIMS(): number;
    get SUBPIXEL_BITS(): number;
    get RED_BITS(): number;
    get GREEN_BITS(): number;
    get BLUE_BITS(): number;
    get ALPHA_BITS(): number;
    get DEPTH_BITS(): number;
    get STENCIL_BITS(): number;
    get POLYGON_OFFSET_UNITS(): number;
    get POLYGON_OFFSET_FACTOR(): number;
    get TEXTURE_BINDING_2D(): number;
    get SAMPLE_BUFFERS(): number;
    get SAMPLES(): number;
    get SAMPLE_COVERAGE_VALUE(): number;
    get SAMPLE_COVERAGE_INVERT(): number;
    get COMPRESSED_TEXTURE_FORMATS(): number;
    get VENDOR(): number;
    get RENDERER(): number;
    get VERSION(): number;
    get IMPLEMENTATION_COLOR_READ_TYPE(): number;
    get IMPLEMENTATION_COLOR_READ_FORMAT(): number;
    get BROWSER_DEFAULT_WEBGL(): number;
    get STATIC_DRAW(): number;
    get STREAM_DRAW(): number;
    get DYNAMIC_DRAW(): number;
    get ARRAY_BUFFER(): number;
    get ELEMENT_ARRAY_BUFFER(): number;
    get BUFFER_SIZE(): number;
    get BUFFER_USAGE(): number;
    get CURRENT_VERTEX_ATTRIB(): number;
    get VERTEX_ATTRIB_ARRAY_ENABLED(): number;
    get VERTEX_ATTRIB_ARRAY_SIZE(): number;
    get VERTEX_ATTRIB_ARRAY_STRIDE(): number;
    get VERTEX_ATTRIB_ARRAY_TYPE(): number;
    get VERTEX_ATTRIB_ARRAY_NORMALIZED(): number;
    get VERTEX_ATTRIB_ARRAY_POINTER(): number;
    get VERTEX_ATTRIB_ARRAY_BUFFER_BINDING(): number;
    get CULL_FACE(): number;
    get FRONT(): number;
    get BACK(): number;
    get FRONT_AND_BACK(): number;
    get BLEND(): number;
    get DEPTH_TEST(): number;
    get DITHER(): number;
    get POLYGON_OFFSET_FILL(): number;
    get SAMPLE_ALPHA_TO_COVERAGE(): number;
    get SAMPLE_COVERAGE(): number;
    get SCISSOR_TEST(): number;
    get STENCIL_TEST(): number;
    get NO_ERROR(): number;
    get INVALID_ENUM(): number;
    get INVALID_VALUE(): number;
    get INVALID_OPERATION(): number;
    get OUT_OF_MEMORY(): number;
    get CONTEXT_LOST_WEBGL(): number;
    get CW(): number;
    get CCW(): number;
    get DONT_CARE(): number;
    get FASTEST(): number;
    get NICEST(): number;
    get GENERATE_MIPMAP_HINT(): number;
    get BYTE(): number;
    get UNSIGNED_BYTE(): number;
    get SHORT(): number;
    get UNSIGNED_SHORT(): number;
    get INT(): number;
    get UNSIGNED_INT(): number;
    get FLOAT(): number;
    get DEPTH_COMPONENT(): number;
    get ALPHA(): number;
    get RGB(): number;
    get RGBA(): number;
    get LUMINANCE(): number;
    get LUMINANCE_ALPHA(): number;
    get UNSIGNED_SHORT_4_4_4_4(): number;
    get UNSIGNED_SHORT_5_5_5_1(): number;
    get UNSIGNED_SHORT_5_6_5(): number;
    get FRAGMENT_SHADER(): number;
    get VERTEX_SHADER(): number;
    get COMPILE_STATUS(): number;
    get DELETE_STATUS(): number;
    get LINK_STATUS(): number;
    get VALIDATE_STATUS(): number;
    get ATTACHED_SHADERS(): number;
    get ACTIVE_ATTRIBUTES(): number;
    get ACTIVE_UNIFORMS(): number;
    get MAX_VERTEX_ATTRIBS(): number;
    get MAX_VERTEX_UNIFORM_VECTORS(): number;
    get MAX_VARYING_VECTORS(): number;
    get MAX_COMBINED_TEXTURE_IMAGE_UNITS(): number;
    get MAX_VERTEX_TEXTURE_IMAGE_UNITS(): number;
    get MAX_TEXTURE_IMAGE_UNITS(): number;
    get MAX_FRAGMENT_UNIFORM_VECTORS(): number;
    get SHADER_TYPE(): number;
    get SHADING_LANGUAGE_VERSION(): number;
    get CURRENT_PROGRAM(): number;
    get NEVER(): number;
    get LESS(): number;
    get EQUAL(): number;
    get LEQUAL(): number;
    get GREATER(): number;
    get NOTEQUAL(): number;
    get GEQUAL(): number;
    get ALWAYS(): number;
    get KEEP(): number;
    get REPLACE(): number;
    get INCR(): number;
    get DECR(): number;
    get INVERT(): number;
    get INCR_WRAP(): number;
    get DECR_WRAP(): number;
    get NEAREST(): number;
    get LINEAR(): number;
    get NEAREST_MIPMAP_NEAREST(): number;
    get LINEAR_MIPMAP_NEAREST(): number;
    get NEAREST_MIPMAP_LINEAR(): number;
    get LINEAR_MIPMAP_LINEAR(): number;
    get TEXTURE_MAG_FILTER(): number;
    get TEXTURE_MIN_FILTER(): number;
    get TEXTURE_WRAP_S(): number;
    get TEXTURE_WRAP_T(): number;
    get TEXTURE_2D(): number;
    get TEXTURE(): number;
    get TEXTURE_CUBE_MAP(): number;
    get TEXTURE_BINDING_CUBE_MAP(): number;
    get TEXTURE_CUBE_MAP_POSITIVE_X(): number;
    get TEXTURE_CUBE_MAP_NEGATIVE_X(): number;
    get TEXTURE_CUBE_MAP_POSITIVE_Y(): number;
    get TEXTURE_CUBE_MAP_NEGATIVE_Y(): number;
    get TEXTURE_CUBE_MAP_POSITIVE_Z(): number;
    get TEXTURE_CUBE_MAP_NEGATIVE_Z(): number;
    get MAX_CUBE_MAP_TEXTURE_SIZE(): number;
    get TEXTURE0(): number;
    get TEXTURE1(): number;
    get TEXTURE2(): number;
    get TEXTURE3(): number;
    get TEXTURE4(): number;
    get TEXTURE5(): number;
    get TEXTURE6(): number;
    get TEXTURE7(): number;
    get TEXTURE8(): number;
    get TEXTURE9(): number;
    get TEXTURE10(): number;
    get TEXTURE11(): number;
    get TEXTURE12(): number;
    get TEXTURE13(): number;
    get TEXTURE14(): number;
    get TEXTURE15(): number;
    get TEXTURE16(): number;
    get TEXTURE17(): number;
    get TEXTURE18(): number;
    get TEXTURE19(): number;
    get TEXTURE20(): number;
    get TEXTURE21(): number;
    get TEXTURE22(): number;
    get TEXTURE23(): number;
    get TEXTURE24(): number;
    get TEXTURE25(): number;
    get TEXTURE26(): number;
    get TEXTURE27(): number;
    get TEXTURE28(): number;
    get TEXTURE29(): number;
    get TEXTURE30(): number;
    get TEXTURE31(): number;
    get ACTIVE_TEXTURE(): number;
    get REPEAT(): number;
    get CLAMP_TO_EDGE(): number;
    get MIRRORED_REPEAT(): number;
    get FLOAT_VEC2(): number;
    get FLOAT_VEC3(): number;
    get FLOAT_VEC4(): number;
    get INT_VEC2(): number;
    get INT_VEC3(): number;
    get INT_VEC4(): number;
    get BOOL(): number;
    get BOOL_VEC2(): number;
    get BOOL_VEC3(): number;
    get BOOL_VEC4(): number;
    get FLOAT_MAT2(): number;
    get FLOAT_MAT3(): number;
    get FLOAT_MAT4(): number;
    get SAMPLER_2D(): number;
    get SAMPLER_CUBE(): number;
    get LOW_FLOAT(): number;
    get MEDIUM_FLOAT(): number;
    get HIGH_FLOAT(): number;
    get LOW_INT(): number;
    get MEDIUM_INT(): number;
    get HIGH_INT(): number;
    get FRAMEBUFFER(): number;
    get RENDERBUFFER(): number;
    get RGBA4(): number;
    get RGB5_A1(): number;
    get RGB565(): number;
    get DEPTH_COMPONENT16(): number;
    get STENCIL_INDEX8(): number;
    get DEPTH_STENCIL(): number;
    get RENDERBUFFER_WIDTH(): number;
    get RENDERBUFFER_HEIGHT(): number;
    get RENDERBUFFER_INTERNAL_FORMAT(): number;
    get RENDERBUFFER_RED_SIZE(): number;
    get RENDERBUFFER_GREEN_SIZE(): number;
    get RENDERBUFFER_BLUE_SIZE(): number;
    get RENDERBUFFER_ALPHA_SIZE(): number;
    get RENDERBUFFER_DEPTH_SIZE(): number;
    get RENDERBUFFER_STENCIL_SIZE(): number;
    get FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE(): number;
    get FRAMEBUFFER_ATTACHMENT_OBJECT_NAME(): number;
    get FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL(): number;
    get FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE(): number;
    get COLOR_ATTACHMENT0(): number;
    get DEPTH_ATTACHMENT(): number;
    get STENCIL_ATTACHMENT(): number;
    get DEPTH_STENCIL_ATTACHMENT(): number;
    get NONE(): number;
    get FRAMEBUFFER_COMPLETE(): number;
    get FRAMEBUFFER_INCOMPLETE_ATTACHMENT(): number;
    get FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT(): number;
    get FRAMEBUFFER_INCOMPLETE_DIMENSIONS(): number;
    get FRAMEBUFFER_UNSUPPORTED(): number;
    get FRAMEBUFFER_BINDING(): number;
    get RENDERBUFFER_BINDING(): number;
    get MAX_RENDERBUFFER_SIZE(): number;
    get INVALID_FRAMEBUFFER_OPERATION(): number;
    get UNPACK_FLIP_Y_WEBGL(): number;
    get UNPACK_PREMULTIPLY_ALPHA_WEBGL(): number;
    get UNPACK_COLORSPACE_CONVERSION_WEBGL(): number;
    toNativeArray(value: any[], type: string): any;
    abstract activeTexture(texture: number): void;
    abstract attachShader(program: WebGLProgram, shader: WebGLShader): void;
    abstract bindAttribLocation(program: WebGLProgram, index: number, name: string): void;
    abstract bindBuffer(target: number, buffer: WebGLBuffer): void;
    abstract bindFramebuffer(target: number, framebuffer: WebGLFramebuffer): void;
    abstract bindRenderbuffer(target: number, renderbuffer: WebGLRenderbuffer): void;
    abstract bindTexture(target: number, texture: WebGLTexture): void;
    abstract blendColor(red: number, green: number, blue: number, alpha: number): void;
    abstract blendEquationSeparate(modeRGB: number, modeAlpha: number): void;
    abstract blendEquation(mode: number): void;
    abstract blendFuncSeparate(srcRGB: number, dstRGB: number, srcAlpha: number, dstAlpha: number): void;
    abstract blendFunc(sfactor: number, dfactor: number): void;
    abstract bufferData(target: number, size: number, usage: number): void;
    abstract bufferData(target: number, srcData: ArrayBuffer | ArrayBufferView, usage: number): void;
    abstract bufferSubData(target: number, offset: number, srcData: ArrayBuffer | ArrayBufferView): void;
    abstract checkFramebufferStatus(target: number): number;
    abstract clearColor(red: number, green: number, blue: number, alpha: number): void;
    abstract clearDepth(depth: number): void;
    abstract clearStencil(stencil: number): void;
    abstract clear(mask: number): void;
    abstract colorMask(red: boolean, green: boolean, blue: boolean, alpha: boolean): void;
    abstract commit(): void;
    abstract compileShader(shader: WebGLShader): void;
    abstract compressedTexImage2D(target: number, level: number, internalformat: number, width: number, height: number, border: number, pixels: ArrayBufferView): void;
    abstract compressedTexSubImage2D(target: number, level: number, xoffset: number, yoffset: number, width: number, height: number, format: number, pixels: ArrayBufferView): void;
    abstract copyTexImage2D(target: number, level: number, internalformat: number, x: number, y: number, width: number, height: number, border: number): void;
    abstract copyTexSubImage2D(target: number, level: number, xoffset: number, yoffset: number, x: number, y: number, width: number, height: number): void;
    abstract createBuffer(): WebGLBuffer;
    abstract createFramebuffer(): WebGLFramebuffer;
    abstract createProgram(): WebGLProgram;
    abstract createRenderbuffer(): WebGLRenderbuffer;
    abstract createShader(type: number): WebGLShader;
    abstract createTexture(): WebGLTexture;
    abstract cullFace(mode: number): void;
    abstract deleteBuffer(buffer: WebGLBuffer): void;
    abstract deleteFramebuffer(frameBuffer: WebGLFramebuffer): void;
    abstract deleteProgram(program: WebGLProgram): void;
    abstract deleteRenderbuffer(renderBuffer: WebGLRenderbuffer): void;
    abstract deleteShader(shader: WebGLRenderbuffer): void;
    abstract deleteTexture(texture: WebGLTexture): void;
    abstract depthFunc(func: number): void;
    abstract depthMask(flag: boolean): void;
    abstract depthRange(zNear: number, zFar: number): void;
    abstract detachShader(program: WebGLProgram, shader: WebGLShader): void;
    abstract disableVertexAttribArray(index: number): void;
    abstract disable(cap: number): void;
    abstract drawArrays(mode: number, first: number, count: number): void;
    abstract drawElements(mode: number, count: number, type: number, offset: number): void;
    abstract enableVertexAttribArray(index: number): void;
    abstract enable(cap: number): void;
    abstract finish(): void;
    abstract flush(): void;
    abstract framebufferRenderbuffer(target: number, attachment: number, renderbuffertarget: number, renderbuffer: WebGLRenderbuffer): void;
    abstract framebufferTexture2D(target: number, attachment: number, textarget: number, texture: WebGLTexture, level: number): void;
    abstract frontFace(mode: number): void;
    abstract generateMipmap(target: number): void;
    abstract getActiveAttrib(program: WebGLProgram, index: number): WebGLActiveInfo;
    abstract getActiveUniform(program: WebGLProgram, index: number): WebGLActiveInfo;
    abstract getAttachedShaders(program: WebGLProgram): WebGLShader[];
    abstract getAttribLocation(program: WebGLProgram, name: string): number;
    abstract getBufferParameter(target: number, pname: number): number;
    abstract getContextAttributes(): any;
    abstract getError(): number;
    abstract getExtension(name: string): any;
    abstract getFramebufferAttachmentParameter(target: number, attachment: number, pname: number): WebGLRenderbuffer | WebGLTexture | number;
    abstract getParameter(pname: number): any;
    abstract getProgramInfoLog(program: WebGLProgram): string;
    abstract getProgramParameter(program: WebGLProgram, pname: number): any;
    abstract getRenderbufferParameter(target: number, pname: number): number;
    abstract getShaderInfoLog(shader: WebGLShader): string;
    abstract getShaderParameter(shader: WebGLShader, pname: number): any;
    abstract getShaderPrecisionFormat(shaderType: number, precisionType: number): WebGLShaderPrecisionFormat | null;
    abstract getShaderSource(shader: WebGLShader): string;
    abstract getSupportedExtensions(): string[];
    abstract getTexParameter(target: number, pname: number): number;
    abstract getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation;
    abstract getUniform(program: WebGLProgram, location: WebGLUniformLocation): number;
    abstract getVertexAttribOffset(index: number, pname: number): void;
    abstract getVertexAttrib(index: number, pname: number): any;
    abstract hint(target: number, mode: number): void;
    abstract isBuffer(buffer: WebGLBuffer): boolean;
    abstract isContextLost(): boolean;
    abstract isEnabled(cap: number): boolean;
    abstract isFramebuffer(framebuffer: WebGLFramebuffer): boolean;
    abstract isProgram(program: WebGLProgram): boolean;
    abstract isRenderbuffer(renderbuffer: WebGLRenderbuffer): boolean;
    abstract isShader(shader: WebGLShader): boolean;
    abstract isTexture(texture: WebGLTexture): boolean;
    abstract lineWidth(width: number): void;
    abstract linkProgram(program: WebGLProgram): void;
    abstract pixelStorei(pname: number, param: any): void;
    abstract polygonOffset(factor: number, units: number): void;
    abstract readPixels(x: number, y: number, width: number, height: number, format: number, type: number, pixels: ArrayBufferView): void;
    abstract renderbufferStorage(target: number, internalFormat: number, width: number, height: number): void;
    abstract sampleCoverage(value: number, invert: boolean): void;
    abstract scissor(x: number, y: number, width: number, height: number): void;
    abstract shaderSource(shader: WebGLShader, source: string): void;
    abstract stencilFuncSeparate(face: number, func: number, ref: number, mask: number): void;
    abstract stencilFunc(func: number, ref: number, mask: number): void;
    abstract stencilMaskSeparate(face: number, mask: number): void;
    abstract stencilMask(mask: number): void;
    abstract stencilOpSeparate(face: number, fail: number, zfail: number, zpass: number): void;
    abstract stencilOp(fail: number, zfail: number, zpass: number): void;
    abstract texImage2D(target: number, level: number, internalformat: number, format: number, type: number, pixels: any): void;
    abstract texImage2D(target: number, level: number, internalformat: number, width: number, height: number, border: number, format: number, type: number, pixels: ArrayBufferView): void;
    abstract texParameterf(target: number, pname: number, param: number): void;
    abstract texParameteri(target: number, pname: number, param: number): void;
    abstract texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, width: number, height: number, format: number, type: number, pixels: ArrayBufferView): void;
    abstract texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, pixels: any): void;
    abstract uniform1f(location: WebGLUniformLocation, v0: number): void;
    abstract uniform1iv(location: WebGLUniformLocation, value: number[]): void;
    abstract uniform1fv(location: WebGLUniformLocation, value: number[]): void;
    abstract uniform1i(location: WebGLUniformLocation, v0: number): void;
    abstract uniform2f(location: WebGLUniformLocation, v0: number, v1: number): void;
    abstract uniform2iv(location: WebGLUniformLocation, value: number[]): void;
    abstract uniform2fv(location: WebGLUniformLocation, value: number[]): void;
    abstract uniform2i(location: WebGLUniformLocation, v0: number, v1: number): void;
    abstract uniform3f(location: WebGLUniformLocation, v0: number, v1: number, v2: number): void;
    abstract uniform3iv(location: WebGLUniformLocation, value: number[]): void;
    abstract uniform3fv(location: WebGLUniformLocation, value: number[]): void;
    abstract uniform3i(location: WebGLUniformLocation, v0: number, v1: number, v2: number): void;
    abstract uniform4f(location: WebGLUniformLocation, v0: number, v1: number, v2: number, v3: number): void;
    abstract uniform4iv(location: WebGLUniformLocation, value: number[]): void;
    abstract uniform4fv(location: WebGLUniformLocation, value: number[]): void;
    abstract uniform4i(location: WebGLUniformLocation, v0: number, v1: number, v2: number, v3: number): void;
    abstract uniformMatrix2fv(location: WebGLUniformLocation, transpose: boolean, value: number[]): void;
    abstract uniformMatrix3fv(location: WebGLUniformLocation, transpose: boolean, value: number[]): void;
    abstract uniformMatrix4fv(location: WebGLUniformLocation, transpose: boolean, value: number[]): void;
    abstract useProgram(program: WebGLProgram): void;
    abstract validateProgram(program: WebGLProgram): void;
    abstract vertexAttrib1f(index: number, v0: number): void;
    abstract vertexAttrib1fv(index: number, value: number[]): void;
    abstract vertexAttrib2f(index: number, v0: number, v1: number): void;
    abstract vertexAttrib2fv(index: number, value: number[]): void;
    abstract vertexAttrib3f(index: number, v0: number, v1: number, v2: number): void;
    abstract vertexAttrib3fv(index: number, value: number[]): void;
    abstract vertexAttrib4f(index: number, v0: number, v1: number, v2: number, v3: number): void;
    abstract vertexAttrib4fv(index: number, value: number[]): void;
    abstract vertexAttribPointer(index: number, size: number, type: number, normalized: boolean, stride: number, offset: number): void;
    abstract viewport(x: number, y: number, width: number, height: number): void;
}
