import { ShaderDefineValue } from '../Shader'; import GLProgram from './GLProgram'; import GLPipeline, { GLMaterialObject, GLRenderableObject } from './GLPipeline'; export declare function defaultGetMaterialProgramKey(vertexDefines: Record, fragmentDefines: Record, enabledTextures: string[]): string; declare class ProgramManager { private _pipeline; private _cache; private _parallelExt; constructor(renderer: GLPipeline, parallelExt: any); getProgram(renderable: GLRenderableObject, material: GLMaterialObject, extraKey: string, extraDefines?: Record): GLProgram; isAllProgramCompiled(): boolean; } export default ProgramManager;