import type { Readable, Writable } from 'svelte/store'; import type { Node, Edge } from '../types/types'; import type { XYPosition } from '../types/utils'; interface CoreSvelvetStore { nodesStore: Writable; edgesStore: Writable; widthStore: Writable; heightStore: Writable; backgroundStore: Writable; movementStore: Writable; nodeIdSelected: Writable; nodeSelected: Writable; d3Scale: Writable; snapgrid: Writable; snapResize: Writable; backgroundColor: Writable; hoveredElement: Writable; initZoom: Writable; initLocation: Writable; isLocked: Writable; nodeLinkStore: Writable; nodeCreateStore: Writable; nodeEditStore: Writable; shareable: Writable; boundary: Writable; deleteNodes: Writable; } interface SvelvetStore extends CoreSvelvetStore { onNodeMove: (e: any, nodeID: string | number) => void; onEdgeMove: (e: any, edgeID: string | number) => void; onNodeClick: (e: any, nodeID: string | number) => void; onTouchMove: (e: any, nodeID: string | number) => void; renderEdge: (e: any, node: any, role: string, position: string) => any; renderNewNode: (event: any, node: any, edge: any, role: string, position: string) => void; getStyles: (e: any, node: any) => (number | string)[]; setAnchorPosition: (position: string, nodeWidth: number, nodeHeight: number, width: number, height: number) => number[]; setNewEdgeProps: (role: string, position: string, node: Node) => number[]; derivedEdges: Readable; deleteNode: (e: any, $nodeIdSelected: string | number) => void; } export declare function findOrCreateStore(key: string): SvelvetStore; export {};