///
import { Edge, Node, OnConnect, OnEdgesChange, OnNodesChange } from '@xyflow/react';
export type FlowProps = {
nodes?: Node[];
edges?: Edge[];
panOnDrag?: boolean;
layout?: 'LR' | 'TB';
};
export type FlowStore = ReturnType;
export type FlowNode = Node;
export type FlowState = {
layout?: 'LR' | 'TB';
nodes?: FlowNode[];
edges?: Edge[];
copyNodes: FlowNode[];
copyEdges: Edge[];
panOnDrag?: boolean;
isAddingNode?: boolean;
candidateNode: any;
mousePosition: any;
copyTimeoutId: NodeJS.Timeout | null;
onNodesChange: OnNodesChange;
onEdgesChange: OnEdgesChange;
onConnect: OnConnect;
setNodes: (nodes: FlowNode[], isTransform?: boolean) => void;
setEdges: (edges: Edge[]) => void;
addNodes: (nodes: FlowNode[] | FlowNode, isTransform?: boolean) => void;
addEdges: (edges: Edge[] | Edge) => void;
setLayout: (layout: 'LR' | 'TB') => void;
setIsAddingNode: (payload: boolean) => void;
setCandidateNode: (candidateNode: any) => void;
setMousePosition: (mousePosition: any) => void;
setCopyTimeoutId: (timeoutId: NodeJS.Timeout | null) => void;
};
declare const createStore: (initProps?: Partial) => import("zustand/traditional").UseBoundStoreWithEqualityFn, "temporal"> & {
temporal: import("zustand").StoreApi>;
}>;
export { createStore };