///
///
import { type Unsubscriber, type Subscriber, type Updater, type Writable } from 'svelte/store';
import { type Viewport, type PanZoomInstance, type ConnectionLookup, type EdgeLookup, type NodeLookup, type ParentLookup, type NodeOrigin, type CoordinateExtent } from '@xyflow/system';
import type { DefaultEdgeOptions, DefaultNodeOptions, Edge, InternalNode, Node } from '../types';
export declare function syncNodeStores(nodesStore: ReturnType, userNodesStore: Writable): void;
export declare function syncEdgeStores(edgesStore: ReturnType, userEdgesStore: Writable): void;
export declare const syncViewportStores: (panZoomStore: Writable, viewportStore: Writable, userViewportStore?: Writable) => void;
export type NodeStoreOptions = {
elevateNodesOnSelect?: boolean;
};
export declare const createNodesStore: (nodes: Node[], nodeLookup: NodeLookup, parentLookup: ParentLookup, nodeOrigin?: NodeOrigin, nodeExtent?: CoordinateExtent) => {
subscribe: (this: void, run: Subscriber) => Unsubscriber;
update: (this: void, updater: Updater) => void;
set: (this: void, value: Node[]) => Node[];
setDefaultOptions: (opts: DefaultNodeOptions) => void;
setOptions: (opts: NodeStoreOptions) => void;
};
export declare const createEdgesStore: (edges: Edge[], connectionLookup: ConnectionLookup, edgeLookup: EdgeLookup, defaultOptions?: DefaultEdgeOptions) => Writable & {
setDefaultOptions: (opts: DefaultEdgeOptions) => void;
};