import type { DisplayObjectConfig } from '@antv/g';
import type { PathArray } from '@antv/util';
import type { Point, PolylineRouter } from '../../types';
import type { BaseEdgeStyleProps } from './base-edge';
import { BaseEdge } from './base-edge';
/**
* 折线样式配置项
*
* Polyline style properties
*/
export interface PolylineStyleProps extends BaseEdgeStyleProps {
/**
* 圆角半径
*
* The radius of the rounded corner
* @defaultValue 0
*/
radius?: number;
/**
* 控制点数组
*
* Control point array
*/
controlPoints?: Point[];
/**
* 是否启用路由,默认开启且 controlPoints 会自动计入
*
* Whether to enable routing, it is enabled by default and controlPoints will be automatically included
* @defaultValue false
*/
router?: PolylineRouter;
}
type ParsedPolylineStyleProps = Required;
/**
* 折线
*
* Polyline
*/
export declare class Polyline extends BaseEdge {
static defaultStyleProps: Partial;
constructor(options: DisplayObjectConfig);
protected getControlPoints(attributes: ParsedPolylineStyleProps): Point[];
protected getPoints(attributes: ParsedPolylineStyleProps): Point[];
protected getKeyPath(attributes: ParsedPolylineStyleProps): PathArray;
protected getLoopPath(attributes: ParsedPolylineStyleProps): PathArray;
}
export {};