import { GeomNode } from './geomNode';
import { EdgeGeometry } from './edgeGeometry';
import { Edge } from './../../structs/edge';
import { GeomObject } from './geomObject';
import { Rectangle } from './../../math/geometry/rectangle';
import { ICurve } from './../../math/geometry/icurve';
import { SmoothedPolyline } from './../../math/geometry/smoothedPolyline';
import { GeomLabel } from './geomLabel';
import { PlaneTransformation } from '../../math/geometry/planeTransformation';
import { Port } from './port';
export declare class GeomEdge extends GeomObject {
    get sourcePort(): Port;
    set sourcePort(value: Port);
    get targetPort(): Port;
    set targetPort(value: Port);
    transform(matrix: PlaneTransformation): void;
    underlyingPolyline: SmoothedPolyline;
    edgeGeometry: EdgeGeometry;
    label: GeomLabel;
    get labelBBox(): Rectangle;
    get edge(): Edge;
    get source(): GeomNode;
    get boundingBox(): Rectangle;
    isInterGraphEdge(): boolean;
    get lineWidth(): number;
    get target(): GeomNode;
    constructor(edge: Edge);
    toString(): string;
    get curve(): ICurve;
    set curve(value: ICurve);
    static RouteSelfEdge(boundaryCurve: ICurve, howMuchToStickOut: number, t: {
        smoothedPolyline: SmoothedPolyline;
    }): ICurve;
    underCollapsedCluster(): boolean;
}
