import * as React from "react"; import { WorkflowGraph, Coords, Dictionary } from "../types"; import { SlotKind } from "../types"; import { IWorkflowNode } from "../models/workflowNode"; export declare namespace WorkflowGraphComponent { interface IDispatchProps { onNodeMoved: (id: string, x: number, y: number) => void; onNodeClicked: (id: string) => void; onNodeCreate: (x: number, y: number) => void; onNodeConnect: (fromNodeId: string, fromSlotId: string, toNodeId: string, toSlotId: string) => void; onEdgeRemove: (fromNodeId: string, fromSlotId: string, toNodeId: string, toSlotId: string) => void; onNodeRemove(nodeId: string): void; onNodeClone(nodeId: string): void; } interface IDataProps { graph: WorkflowGraph; } interface IProps extends IDispatchProps, IDataProps { } interface IState { selectedNodeId?: string; selectedNodeSlotId?: string; mouseCoords?: { x: number; y: number; }; mode: EditMode; } type EditMode = 'idle' | 'nodeMove' | 'nodeConnect'; } export declare class WorkflowGraphComponent extends React.Component { private _svg; private _svgPoint; state: WorkflowGraphComponent.IState; componentDidMount(): void; renderContextMenu(): JSX.Element; handleOnCreateNode(e: React.MouseEvent): void; _getNodeSlotsCoords(node: IWorkflowNode, kind: SlotKind): Dictionary; _getComponents(): JSX.Element[]; handleNodeRemove(nodeId: string): void; render(): JSX.Element; handleSlotMouseDown(nodeId: string, slotId: string, kind: 'input' | 'output', e: React.MouseEvent): void; handleInOutMouseUp(nodeId: string, inOutName: string, kind: string, e: React.MouseEvent): void; handleSVGMouseUp(e: React.MouseEvent): void; handleMouseUp(nodeId: string, nodeInName: string, p: Coords): void; cursorPoint(e: React.MouseEvent): DOMPoint; handleNodeMouseDown(nodeId: string, e: React.MouseEvent): void; handleNodeMouseUp(nodeId: string, e: React.MouseEvent): void; handleSVGMouseMove(e: React.MouseEvent): void; }