import { WebglAttributeType, WebglUniformType } from "..";
import { TgdCodeBloc, TgdCodeFunctions, TgdCodeVariables } from "./code";
/**
 * Helper to create a Vertex Shader.
 *
 * Sometime you need to add some code to a shader depending on
 * what you want to display. This can be the case when you use
 * different materials. All the 3D transformations are common,
 * but you may need more or less varyings and uniforms.
 * @see https://registry.khronos.org/OpenGL/specs/es/3.0/GLSL_ES_Specification_3.00.pdf
 */
export declare class TgdShaderVertex {
    precision: "lowp" | "mediump" | "highp";
    uniforms: TgdCodeVariables<WebglUniformType>;
    attributes: TgdCodeVariables<WebglAttributeType>;
    varying: TgdCodeVariables<WebglAttributeType>;
    functions: TgdCodeFunctions;
    mainCode: TgdCodeBloc;
    constructor({ precision, uniforms, attributes, varying, functions, mainCode, }?: Partial<{
        precision: "lowp" | "mediump" | "highp";
        uniforms: TgdCodeVariables<WebglUniformType>;
        attributes: TgdCodeVariables<WebglAttributeType>;
        varying: TgdCodeVariables<WebglAttributeType>;
        functions: TgdCodeFunctions;
        mainCode: TgdCodeBloc;
    }>);
    get code(): string;
}
//# sourceMappingURL=vertex.d.ts.map