import LineString, { LineStringOptionsType } from './LineString';
import Geometry from './Geometry';
import ArcCurve, { ArcCurveOptionsType } from './ArcCurve';
import { type Map } from '../map';
import Coordinate from '../geo/Coordinate';
declare const ConnectorLine_base: {
new (...args: any[]): {
options: ConnectableOptionsType;
_connSource: Geometry;
_connTarget: Geometry;
getMap?(): Map;
getCoordinates?(): Coordinate[];
setCoordinates?(coordinates: Coordinate[]): any;
hide?(): any;
show?(): any;
remove?(): any;
/**
* 获取连接线的源
* @english
* Gets the source of the connector line.
* @return {Geometry|control.Control|UIComponent}
* @function Connectable.getConnectSource
*/
getConnectSource(): Geometry;
/**
* 设置连接线的源
* @english
* Sets the source to the connector line.
* @param {Geometry|control.Control|UIComponent} src
* @return {ConnectorLine} this
* @function Connectable.setConnectSource
*/
setConnectSource(src: Geometry): any;
/**
* 获取连接线的目标
* @english
* Gets the target of the connector line.
* @return {Geometry|control.Control|UIComponent}
* @function Connectable.getConnectTarget
*/
getConnectTarget(): Geometry;
/**
* 设置连接线目标
* @english
* Sets the target to the connector line.
* @param {Geometry|control.Control|UIComponent} target
* @return {ConnectorLine} this
* @function Connectable.setConnectTarget
*/
setConnectTarget(target: Geometry): any;
_updateCoordinates(): void;
onAdd(): void;
onRemove(): void;
_showConnect(): void;
_registerEvents(): void;
};
_hasConnectors(geometry: any): boolean;
_getConnectors(geometry: any): any;
} & typeof LineString;
/**
* 直线连接线几何图形可以将几何图形或ui组件相互连接。
* @english
* A straight connector line geometry can connect geometries or ui components with each other.
*
* @category geometry
* @extends LineString
* @example
* var src = new Marker([0,0]).addTo(layer),
* dst = new Marker([1,0]).addTo(layer),
* line = new ConnectorLine(src, dst, {
* showOn : 'always', //'moving', 'click', 'mouseover', 'always'
* arrowStyle : 'classic',
* arrowPlacement : 'vertex-last', //vertex-first, vertex-last, vertex-firstlast, point
* symbol: {
* lineColor: '#34495e',
* lineWidth: 2
* }
* }).addTo(layer);
* @mixes connectorLineMixin
*/
declare class ConnectorLine extends ConnectorLine_base {
/**
* @param {Geometry|control.Control|UIComponent} src - source to connect
* @param {Geometry|control.Control|UIComponent} target - target to connect
* @param {Object} [options=null] - construct options defined in [ConnectorLine]{@link ConnectorLine#options}
*/
constructor(src: Geometry, target: Geometry, options?: ConnectorLineOptionsType);
}
declare const ArcConnectorLine_base: {
new (...args: any[]): {
options: ConnectableOptionsType;
_connSource: Geometry;
_connTarget: Geometry;
getMap?(): Map;
getCoordinates?(): Coordinate[];
setCoordinates?(coordinates: Coordinate[]): any;
hide?(): any;
show?(): any;
remove?(): any;
/**
* 获取连接线的源
* @english
* Gets the source of the connector line.
* @return {Geometry|control.Control|UIComponent}
* @function Connectable.getConnectSource
*/
getConnectSource(): Geometry;
/**
* 设置连接线的源
* @english
* Sets the source to the connector line.
* @param {Geometry|control.Control|UIComponent} src
* @return {ConnectorLine} this
* @function Connectable.setConnectSource
*/
setConnectSource(src: Geometry): any;
/**
* 获取连接线的目标
* @english
* Gets the target of the connector line.
* @return {Geometry|control.Control|UIComponent}
* @function Connectable.getConnectTarget
*/
getConnectTarget(): Geometry;
/**
* 设置连接线目标
* @english
* Sets the target to the connector line.
* @param {Geometry|control.Control|UIComponent} target
* @return {ConnectorLine} this
* @function Connectable.setConnectTarget
*/
setConnectTarget(target: Geometry): any;
_updateCoordinates(): void;
onAdd(): void;
onRemove(): void;
_showConnect(): void;
_registerEvents(): void;
};
_hasConnectors(geometry: any): boolean;
_getConnectors(geometry: any): any;
} & typeof ArcCurve;
/**
* 弧形曲线连接线几何图形可以将几何图形或ui组件相互连接
* @english
* An arc curve connector line geometry can connect geometries or ui components with each other.
*
* @category geometry
* @extends ArcCurve
* @example
* var src = new Marker([0,0]).addTo(layer),
* dst = new Marker([1,0]).addTo(layer),
* line = new ArcConnectorLine(src, dst, {
* arcDegree : 120,
* showOn : 'always', //'moving', 'click', 'mouseover', 'always'
* arrowStyle : 'classic',
* arrowPlacement : 'vertex-last', //vertex-first, vertex-last, vertex-firstlast, point
* symbol: {
* lineColor: '#34495e',
* lineWidth: 2
* }
* }).addTo(layer);
* @mixes connectorLineMixin
*/
declare class ArcConnectorLine extends ArcConnectorLine_base {
/**
* @param {Geometry|control.Control|UIComponent} src - source to connect
* @param {Geometry|control.Control|UIComponent} target - target to connect
* @param {Object} [options=null] - construct options defined in [ConnectorLine]{@link ConnectorLine#options}
*/
constructor(src: Geometry, target: Geometry, options?: ArcConnectorLineOptionsType);
}
export { ConnectorLine, ArcConnectorLine };
export type ConnectableOptionsType = {
showOn?: 'always' | 'moving' | 'click' | 'mouseover';
};
export type ConnectorLineOptionsType = LineStringOptionsType & ConnectableOptionsType;
export type ArcConnectorLineOptionsType = ArcCurveOptionsType & ConnectableOptionsType;
//# sourceMappingURL=ConnectorLine.d.ts.map