import { Action, Thunk, Computed } from 'easy-peasy'; import { Selection as D3Selection, ZoomBehavior } from 'd3'; import { ElementId, Elements, Transform, Node, Edge, Rect, Dimensions, XYPosition, OnConnectFunc, OnConnectStartFunc, OnConnectStopFunc, OnConnectEndFunc, SelectionRect, HandleType, SetConnectionId, NodePosUpdate, NodeDiffUpdate, TranslateExtent, SnapGrid } from '../types'; declare type NodeDimensionUpdate = { id: ElementId; nodeElement: HTMLDivElement; }; declare type InitD3Zoom = { d3Zoom: ZoomBehavior; d3Selection: D3Selection; d3ZoomHandler: ((this: Element, event: any, d: unknown) => void) | undefined; transform: Transform; }; export interface StoreModel { width: number; height: number; transform: Transform; elements: Elements; nodes: Computed; edges: Computed; selectedElements: Elements | null; selectedNodesBbox: Rect; viewportBox: Computed; d3Zoom: ZoomBehavior | null; d3Selection: D3Selection | null; d3ZoomHandler: ((this: Element, event: any, d: unknown) => void) | undefined; minZoom: number; maxZoom: number; translateExtent: TranslateExtent; nodesSelectionActive: boolean; selectionActive: boolean; userSelectionRect: SelectionRect; connectionNodeId: ElementId | null; connectionHandleId: ElementId | null; connectionHandleType: HandleType | null; connectionPosition: XYPosition; snapToGrid: boolean; snapGrid: SnapGrid; nodesDraggable: boolean; nodesConnectable: boolean; elementsSelectable: boolean; multiSelectionActive: boolean; reactFlowVersion: string; onConnect?: OnConnectFunc; onConnectStart?: OnConnectStartFunc; onConnectStop?: OnConnectStopFunc; onConnectEnd?: OnConnectEndFunc; setOnConnect: Action; setOnConnectStart: Action; setOnConnectStop: Action; setOnConnectEnd: Action; setElements: Action; updateNodeDimensions: Action; updateNodePos: Action; updateNodePosDiff: Action; setSelection: Action; unsetNodesSelection: Action; resetSelectedElements: Action; setSelectedElements: Action; addSelectedElements: Thunk; updateTransform: Action; updateSize: Action; initD3Zoom: Action; setMinZoom: Action; setMaxZoom: Action; setTranslateExtent: Action; setSnapToGrid: Action; setSnapGrid: Action; setConnectionPosition: Action; setConnectionNodeId: Action; setInteractive: Action; setNodesDraggable: Action; setNodesConnectable: Action; setElementsSelectable: Action; setUserSelection: Action; updateUserSelection: Action; unsetUserSelection: Action; setMultiSelectionActive: Action; } export declare const storeModel: StoreModel; declare const store: import("easy-peasy").Store>; export default store;