import { Buffer, BufferType } from "./shader/buffer"; import { UniformType } from "./shader/shader"; interface Settings { id: string; canvas: HTMLCanvasElement | OffscreenCanvas; debug?: boolean; } export declare class Renderer { canvas: HTMLCanvasElement | OffscreenCanvas; gl: WebGL2RenderingContext; debug: boolean; textureInternalFormat: number; textureFormat: number; textureType: BufferType; settings: Settings; constructor(settings: Settings); setCanvas(canvas: HTMLCanvasElement | OffscreenCanvas): void; resize(width: number, height: number): void; createCubeTexture(sources: (string[] | string) | (HTMLImageElement | HTMLImageElement)[] | (HTMLCanvasElement | HTMLCanvasElement)[], size?: number, internalFormat?: number, type?: number, format?: number): WebGLTexture; createFramebufferAndTexture(source?: TexImageSource | Buffer, width?: number, height?: number, internalFormat?: number, type?: number, format?: number, renderbuffer?: boolean, params?: { clamp?: boolean; filter?: "linear" | "nearest"; }): [WebGLFramebuffer, WebGLTexture]; bindUniform(gl: WebGL2RenderingContext, name: string, type: UniformType, location: WebGLUniformLocation, value: number | number[] | WebGLTexture, textureUnit?: number): void; static createShader(gl: WebGL2RenderingContext, type: number, source: string): [WebGLShader, string]; static createProgram(gl: WebGL2RenderingContext, vertexShader: WebGLShader, fragmentShader: WebGLShader | null, transformFeedbackVaryings?: string[], transformFeedbackMode?: number): WebGLProgram; } export {};