import { Size } from '../math/Size'; import Program from './Program'; import Texture from './Texture'; declare type ShaderArgs = { yTexture: WebGLUniformLocation; uTexture: WebGLUniformLocation; vTexture: WebGLUniformLocation; alphaYTexture: WebGLUniformLocation; a_position: GLint; a_texCoord: GLint; }; declare class YUVA2RGBAShader { readonly gl: WebGLRenderingContext; readonly vertexBuffer: WebGLBuffer; readonly shaderArgs: ShaderArgs; readonly program: Program; static create(gl: WebGLRenderingContext): YUVA2RGBAShader; private constructor(); setTexture(textureY: Texture, textureU: Texture, textureV: Texture, textureAlphaY: Texture): void; use(): void; release(): void; updateShaderData(encodedFrameSize: Size, maxXTexCoord: number, maxYTexCoord: number): void; draw(): void; } export default YUVA2RGBAShader;