import { PerspectiveCamera } from 'three';
import { CSMShadowNode } from 'three/examples/jsm/csm/CSMShadowNode.js';
import { NodeBuilder, NodeFrame, TextureNode, UniformArrayNode, UniformNode } from 'three/webgpu';
import { Node } from '@takram/three-geospatial/webgpu';
export declare class EpipolarShadowLengthNode extends Node {
    static get type(): string;
    csmShadowNode: CSMShadowNode;
    coordinateNode: TextureNode;
    sliceUVDirectionNode: TextureNode;
    minMaxLevelsNode: TextureNode;
    shadowDepthNodes: TextureNode[];
    camera: PerspectiveCamera;
    epipolarSliceCount: UniformNode<number>;
    maxSliceSampleCount: UniformNode<number>;
    firstCascade: UniformNode<number>;
    maxShadowStep: UniformNode<number>;
    shadowCascadeArray: UniformArrayNode;
    shadowMatrixArray: UniformArrayNode;
    private readonly textureNode;
    private readonly renderTarget;
    private readonly material;
    private readonly mesh;
    private rendererState?;
    constructor();
    getTextureNode(): TextureNode;
    update({ renderer }: NodeFrame): void;
    private setupFragmentNode;
    setup(builder: NodeBuilder): unknown;
    dispose(): void;
}
