import { ElementBase } from './element-base'; import { LineModel } from '../shared/line.model'; import { ArrowStyleType } from '../../../../view-data/shared/line/general/arrow-style-type'; import { LineStyleType } from '../../../../view-data/shared/line/general/line-style-type'; import * as go from '../../../../../libs/gojs/release/go'; export declare abstract class LineElement extends ElementBase { abstract getPaletteTemplate(): go.Node; abstract getDiagramTemplate(containerId?: string): go.Node; hasDynamicSetting(data: any): boolean; isStartArrowVisible(data: LineModel): boolean; isEndArrowVisible(data: LineModel): boolean; getArrowAngle(data: LineModel, isStartPoint: boolean): number; getArrowAlignment(data: LineModel, isStartPoint: boolean): go.Spot | undefined; getAlignmentFocus(data: LineModel, isStartPoint: boolean): go.Spot | undefined; getStartArrow(arrowStyle: ArrowStyleType): go.Geometry | undefined; getEndArrow(arrowStyle: ArrowStyleType): go.Geometry | undefined; getPoints(geometry: go.Geometry): { startPoint: go.Point; endPoint: go.Point; secondPoint?: undefined; lastSecondPoint?: undefined; } | { startPoint: go.Point; secondPoint: go.Point; lastSecondPoint: go.Point; endPoint: go.Point; }; rotateRect(angle: number, ox: number, oy: number, x: number, y: number, w: number, h: number): go.Rect; getStrokeDasharray(lineType: LineStyleType): number[]; }