import { DepthPackingStrategies } from 'three';
import { ShaderAssemblerMaterial } from '../../_BaseMaterial';
import { ShaderName } from '../../../../../../utils/shaders/ShaderName';
import { MeshDepthMaterial } from 'three';
import { AssemblerGlControllerNode } from '../../../../Controller';
export declare class ShaderAssemblerCustomMeshDepth 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;
    protected depthPacking(): DepthPackingStrategies;
    createMaterial(): MeshDepthMaterial;
}
export declare class ShaderAssemblerCustomMeshDepthForRender extends ShaderAssemblerCustomMeshDepth {
    protected depthPacking(): 3200;
}
