import { AttributeName, Core, TextureName, TextureArgs, UniformName } from '.'; import { Program } from './Program'; import { Vao } from './Vao'; import { ColorArray, ResizeArgs, TextureInternalFormat, TextureFormat, TextureType, RendererId } from './types'; export type TextureWithInfo = (WebGLTexture & { internalFormat: TextureInternalFormat; format: TextureFormat; type: TextureType; }); export declare class Renderer { #private; core: Core; static idCounter: number; id: RendererId; pixelRatio: number; width: number; height: number; resizeQueue: ResizeArgs | null; backgroundColor: ColorArray; isCanvas: boolean; frameBuffer: WebGLFramebuffer | null; depthRenderBuffer: WebGLRenderbuffer | null; renderTexture: TextureWithInfo[]; depthTexture: TextureWithInfo | null; drawBuffers: number[]; screenFit: boolean; constructor(core: Core, { id, height, width, backgroundColor, frameBuffer, pixelRatio, screenFit }?: { id?: RendererId; height?: number; width?: number; backgroundColor?: ColorArray; frameBuffer?: TextureArgs[]; pixelRatio?: number; screenFit?: boolean; }); resize({ width, height, pixelRatio }?: ResizeArgs): void; clear(): void; render(vao: Vao, program: Program): void; }