/**
 * This class copies src/rendering/webgl/programs/edge.clamped.ts, but with a some difference:
 * implemented arrowSizeRatio edge attribute, forwarded it to shaders as a_arrowSizeRatio
 * implemented 'doubleArrow' edge type support
 */
import { AbstractEdgeProgram } from 'sigma/rendering/webgl/programs/common/edge';
import { RenderParams } from 'sigma/rendering/webgl/programs/common/program';
import { GraphEdgeAttributes, GraphNodeAttributes } from '../../types/graphDataTypes';
export default class EdgeClampedProgram extends AbstractEdgeProgram {
    IndicesArray: Uint32ArrayConstructor | Uint16ArrayConstructor;
    indicesArray: Uint32Array | Uint16Array;
    indicesBuffer: WebGLBuffer;
    indicesType: GLenum;
    positionLocation: GLint;
    colorLocation: GLint;
    normalLocation: GLint;
    radiusLocation: GLint;
    arrowSizeRatioLocation: GLint;
    matrixLocation: WebGLUniformLocation;
    sqrtZoomRatioLocation: WebGLUniformLocation;
    correctionRatioLocation: WebGLUniformLocation;
    canUse32BitsIndices: boolean;
    constructor(gl: WebGLRenderingContext);
    bind(): void;
    process(sourceData: GraphNodeAttributes, targetData: GraphNodeAttributes, data: GraphEdgeAttributes, hidden: boolean, offset: number): void;
    computeIndices(): void;
    bufferData(): void;
    render(params: RenderParams): void;
}
