import { immerable } from 'immer'; import EventEmitter3 from 'eventemitter3'; import type { ElementIdentifier, Graph } from '..'; import { AbstractEdge, EdgeData, LayoutEdgeData } from '../types'; export declare class Edge implements AbstractEdge { [immerable]: boolean; id: ElementIdentifier; graph: Graph; eventEmitter: EventEmitter3; source: AbstractEdge['source']; target: AbstractEdge['target']; label: AbstractEdge['label']; edgeStyle: EdgeData['edgeStyle']; renderKey: number; undirected: boolean; states: string[]; strokeWidth: NonNullable; color?: EdgeData['color']; style?: EdgeData['style']; element?: HTMLElement | SVGElement; type?: AbstractEdge['type']; data: EdgeData; mergedEdges?: EdgeData[]; constructor(graph: Graph, edgeData: EdgeData); /** * 是否为边 * * @param edge */ static isEdge: (edge: ElementIdentifier | Edge) => edge is Edge; /** * 起始节点 */ get sourceNode(): import("./node").Node | undefined; /** * 目标节点 */ get targetNode(): import("./node").Node | undefined; /** * 获取路径 */ getPath(): { d: string; textPoint: { x: number; y: number; }; textTransform: string; }; /** * 设置边元素 * * @param element */ setElement(element: HTMLElement | SVGElement): void; /** * 获取布局数据 */ toLayoutData(): LayoutEdgeData; /** * 设置状态列表 * * @param states */ setStates(states: string[]): void; /** * 设置单个状态 * * @param state * @param enable */ setState(state: string, enable?: boolean): void; /** * 取消状态 * * @param states */ clearStates(states?: string | string[]): void; /** * 是否包含指定状态 * * @param state * @returns */ hasState(state: string): boolean; /** * 切换状态 * * @param state */ toggleState(state: string): void; /** * 独占某个状态 * * @state 状态 * @list 其他需要同状态的节点, 为空时则表示当前元素独占该状态 */ exclusiveState(state: string, list?: ElementIdentifier[]): void; /** * 派发位置更新事件 */ emitPositionUpdate: () => void; /** * 更新事件 */ onPositionUpdate: (callback: () => void) => () => void; } //# sourceMappingURL=edge.d.ts.map