import { Line } from '@wisemapping/web2d';
import Topic from './Topic';
import Canvas from './Canvas';
export declare enum LineType {
    THIN_CURVED = 0,
    POLYLINE_MIDDLE = 1,
    POLYLINE_CURVED = 2,
    THICK_CURVED = 3,
    ARC = 4
}
declare class ConnectionLine {
    protected _targetTopic: Topic;
    protected _sourceTopic: Topic;
    protected _line: Line;
    private _type;
    private _color;
    constructor(sourceNode: Topic, targetNode: Topic, type?: LineType);
    private _getCtrlPoints;
    protected createLine(lineType: LineType): Line;
    private updateColor;
    setVisibility(value: boolean, fade?: number): void;
    isVisible(): boolean;
    setOpacity(opacity: number): void;
    redraw(): void;
    protected _positionLine(targetTopic: Topic): void;
    setStroke(color: string, style: string, opacity: number): void;
    getStrokeColor(): string;
    addToWorkspace(workspace: Canvas): void;
    removeFromWorkspace(workspace: Canvas): void;
    getTargetTopic(): Topic;
    getSourceTopic(): Topic;
    getLineType(): number;
    getLine(): Line;
    getType(): string;
    moveToBack(): void;
    moveToFront(): void;
}
export default ConnectionLine;
