import { ShaderAssemblerMaterial } from '../../_BaseMaterial';
import { ShaderName } from '../../../../../../utils/shaders/ShaderName';
import { MeshDistanceMaterial } from 'three';
import { AssemblerGlControllerNode } from '../../../../Controller';
export declare class ShaderAssemblerCustomMeshDistance extends ShaderAssemblerMaterial {
    protected _gl_parent_node: AssemblerGlControllerNode;
    constructor(_gl_parent_node: AssemblerGlControllerNode);
    templateShader(): {
        vertexShader: string;
        fragmentShader: string;
        uniforms: {
            [uniform: string]: import("three").IUniform<any>;
        };
    };
    protected insertDefineAfter(shaderName: ShaderName): string | undefined;
    protected insertBodyAfter(shaderName: ShaderName): string | undefined;
    createMaterial(): MeshDistanceMaterial;
}
export declare class ShaderAssemblerCustomMeshDistanceForRender extends ShaderAssemblerCustomMeshDistance {
}
