import { Vector, SerializedVector } from './vector.js'; import { Flow } from './flow.js'; import { Terminal } from './terminal.js'; import { Renderable, Renderer, Serializable } from '../common/interfaces.js'; import { Node } from './node.js'; import { Hooks } from './hooks.js'; export declare class Connector extends Hooks implements Serializable, Renderable { renderer: Renderer; flow?: Flow; id?: string; start?: Terminal; end?: Terminal; startNode?: Node; endNode?: Node; style?: ConnectorStyle; _data: any; floatingTip?: Vector; get data(): any; set data(data: any); private constructor(); static create(flow: Flow, start: Terminal, end: Terminal, options?: ConnectorOptions): Connector; disconnect(): void; setData(data: any): void; canConnect(other: Terminal): boolean; render(): void; private _render; private _offRender; private getRenderParams; serialize(): SerializedConnector; } export interface SerializedConnector { startNodeId?: string; endNodeId?: string; startId?: string | number; endId?: string | number; id?: string; style?: ConnectorStyle; } export interface ConnectorStyle { width?: number; color?: string; border?: boolean; borderColor?: string; } export interface ConnectorOptions { floatingTip?: Vector; style?: ConnectorStyle; id?: string; } export interface ConnectorRenderParams { start?: SerializedVector; end?: SerializedVector; }