import { GraphEdge, GraphNode } from "@/types/interfaces/visualization";
export interface EdgeComponentOptions {
    stroke?: string;
    strokeWidth?: number;
    arrowSize?: number;
    animated?: boolean;
    animationDuration?: number;
    dashArray?: number[];
    labelOffset?: number;
    labelFontSize?: number;
}
export declare class EdgeComponent {
    private options;
    private animationOffset;
    private animationFrame;
    constructor(options?: EdgeComponentOptions);
    render(context: CanvasRenderingContext2D, edge: GraphEdge, sourceNode: GraphNode, targetNode: GraphNode): void;
    private calculateEdgePath;
    private calculateAngle;
    private drawArrow;
    private drawLabel;
    private updateAnimation;
    dispose(): void;
}
