import { Logger } from './Logger'; /** * @internal */ export interface WebGLContextOwner { setup(gl: WebGL2RenderingContext): void; teardown(gl: WebGL2RenderingContext): void; } export declare class SharedWebGLContext { private readonly logger; private gl; private currentOwner; private readonly programLookup; constructor(logger: Logger); borrow(owner: WebGLContextOwner): WebGL2RenderingContext; /** * Dispose the WebGL context to free up resources. */ dispose(): void; getProgram(fragment: string, vertex: string): WebGLProgram | null; private getShader; private getGL; } //# sourceMappingURL=SharedWebGLContext.d.ts.map