import type { WebGLContextManager } from "./context-manager"; /** * Compile (or fetch from the shader registry) a program and resolve a * flat record of uniform + attribute locations keyed by name. Uniforms * resolve to `WebGLUniformLocation | null`; attribs resolve to `number`. * * Each glyph drawer used to repeat ~10 lines of `gl.getUniformLocation` * / `gl.getAttribLocation` calls — replacing those with one * `compileProgram(...)` call shrinks the worker bundle by ~80 bytes per * site (uniform/attrib name strings still ship — WebGL needs them * verbatim — but the per-call wrapper goes away). */ export declare function compileProgram(glManager: WebGLContextManager, key: string, vert: string, frag: string, uniforms: readonly string[], attrs: readonly string[]): C;