import { ShaderAssemblerMaterial, CustomAssemblerMap } from './_BaseMaterial';
import { ShaderConfig } from '../../configs/ShaderConfig';
import { VariableConfig } from '../../configs/VariableConfig';
import { OutputGlNode } from '../../../Output';
import { GlConnectionPointType, GlConnectionPoint } from '../../../../utils/io/connections/Gl';
import { ShaderName } from '../../../../utils/shaders/ShaderName';
import { PointsMaterial } from 'three';
export declare class ShaderAssemblerPoints extends ShaderAssemblerMaterial {
    customAssemblerClassByCustomName(): CustomAssemblerMap;
    templateShader(): {
        vertexShader: string;
        fragmentShader: string;
        uniforms: {
            [uniform: string]: import("three").IUniform<any>;
        };
    };
    createMaterial(): PointsMaterial;
    add_output_inputs(output_child: OutputGlNode): void;
    create_globals_node_output_connections(): (GlConnectionPoint<GlConnectionPointType.VEC3> | GlConnectionPoint<GlConnectionPointType.VEC2> | GlConnectionPoint<GlConnectionPointType.VEC4> | GlConnectionPoint<GlConnectionPointType.FLOAT> | GlConnectionPoint<GlConnectionPointType.MAT4> | GlConnectionPoint<GlConnectionPointType.MAT3>)[];
    create_shader_configs(): ShaderConfig[];
    create_variable_configs(): VariableConfig[];
    protected linesToRemove(shader_name: ShaderName): string[] | undefined;
}
