import { FragmentShader } from '../fragment'; import { VertexShader } from '../vertex'; import { ShaderProgramConfig } from './shaderProgram.config'; /** * Class representing a complete ShaderProgram * * Stores and provides access to all the information the WebGLRenderer, EntityshaderMap and EntityManager need to render an Entity with a * given shader pair * * Used in registering shader programs on the game/renderer and for associating with Entities via Shader components * * @see FragmentShader * @see VertexShader */ export declare class ShaderProgram { private readonly config; /** * Constructor. Take and store the ShaderProgram's configuration object * * @param config the ShaderProgram's configuration object */ constructor(config: ShaderProgramConfig); /** * Getter for the ShaderProgram's name, as provided in its config */ get name(): string; /** * Getter for the ShaderProgram's FragementShader, as provided in its config */ get fragment(): FragmentShader; /** * Getter for the ShaderProgram's VertexShader, as provided in its config */ get vertex(): VertexShader; }