import { ViewportHelperFunctions, Viewport } from './general'; import { Node } from './nodes'; import { Edge } from './edges'; export declare type ReactFlowJsonObject = { nodes: Node[]; edges: Edge[]; viewport: Viewport; }; export declare namespace Instance { type GetNodes = () => Node[]; type SetNodes = (payload: Node[] | ((nodes: Node[]) => Node[])) => void; type AddNodes = (payload: Node[] | Node) => void; type GetNode = (id: string) => Node | undefined; type GetEdges = () => Edge[]; type SetEdges = (payload: Edge[] | ((edges: Edge[]) => Edge[])) => void; type GetEdge = (id: string) => Edge | undefined; type AddEdges = (payload: Edge[] | Edge) => void; type ToObject = () => ReactFlowJsonObject; } export declare type ReactFlowInstance = { getNodes: Instance.GetNodes; setNodes: Instance.SetNodes; addNodes: Instance.AddNodes; getNode: Instance.GetNode; getEdges: Instance.GetEdges; setEdges: Instance.SetEdges; addEdges: Instance.AddEdges; getEdge: Instance.GetEdge; toObject: Instance.ToObject; viewportInitialized: boolean; } & Omit;