import { ShaderAssemblerMesh } from './_BaseMesh';
import { ShaderConfig } from '../../configs/ShaderConfig';
import { VariableConfig } from '../../configs/VariableConfig';
import { OutputGlNode } from '../../../Output';
import { AssemblerGlControllerNode } from '../../Controller';
export declare class ShaderAssemblerStandard extends ShaderAssemblerMesh {
    protected _gl_parent_node: AssemblerGlControllerNode;
    static USE_SSS: Readonly<boolean>;
    isPhysical(): boolean;
    constructor(_gl_parent_node: AssemblerGlControllerNode);
    templateShader(): {
        vertexShader: string;
        fragmentShader: string;
        uniforms: {
            [uniform: string]: import("three").IUniform<any>;
        };
    };
    static filterFragmentShader(fragmentShader: string): string;
    createMaterial(): any;
    add_output_inputs(output_child: OutputGlNode): void;
    create_shader_configs(): ShaderConfig[];
    create_variable_configs(): VariableConfig[];
}
