import { SelectionMode, ConnectionMode, type SelectionRect, type SnapGrid, type MarkerProps, type PanZoomInstance, type CoordinateExtent, type NodeOrigin, type OnError, type Viewport, type OnConnect, type OnConnectStart, type OnConnectEnd, type NodeLookup, type ConnectionState, type EdgeLookup, type ConnectionLookup, type ParentLookup, type ColorModeClass, type Handle, type OnReconnect, type OnReconnectStart, type OnReconnectEnd, type AriaLabelConfig } from '@xyflow/system';
import type { NodeTypes, EdgeTypes, FitViewOptions, OnDelete, OnBeforeConnect, OnBeforeDelete, IsValidConnection, Edge, Node, EdgeLayouted, InternalNode, OnBeforeReconnect, OnSelectionChange, OnSelectionDrag } from '../types';
import type { StoreSignals } from './types';
import { MediaQuery } from 'svelte/reactivity';
export declare const initialNodeTypes: {
    input: import("svelte").Component<import("../types").NodeProps, {}, "">;
    output: import("svelte").Component<import("../types").NodeProps, {}, "">;
    default: import("svelte").Component<import("../types").NodeProps, {}, "">;
    group: import("svelte").Component<import("../types").NodeProps, {}, "">;
};
export declare const initialEdgeTypes: {
    straight: import("svelte").Component<import("../types").EdgeProps, {}, "">;
    smoothstep: import("svelte").Component<import("../types").EdgeProps, {}, "">;
    default: import("svelte").Component<import("../types").BezierEdgeProps, {}, "">;
    step: import("svelte").Component<import("../types").EdgeProps, {}, "">;
};
export declare function getInitialStore<NodeType extends Node = Node, EdgeType extends Edge = Edge>(signals: StoreSignals<NodeType, EdgeType>): {
    flowId: string;
    domNode: HTMLDivElement | null;
    panZoom: PanZoomInstance | null;
    width: number;
    height: number;
    nodesInitialized: boolean;
    viewportInitialized: boolean;
    _edges: EdgeType[];
    nodes: NodeType[];
    edges: EdgeType[];
    _prevSelectedNodes: NodeType[];
    _prevSelectedNodeIds: Set<string>;
    selectedNodes: NodeType[];
    _prevSelectedEdges: EdgeType[];
    _prevSelectedEdgeIds: Set<string>;
    selectedEdges: EdgeType[];
    selectionChangeHandlers: Map<symbol, OnSelectionChange<NodeType, EdgeType>>;
    nodeLookup: NodeLookup<InternalNode<NodeType>>;
    parentLookup: ParentLookup<InternalNode<NodeType>>;
    connectionLookup: ConnectionLookup;
    edgeLookup: EdgeLookup<EdgeType>;
    _prevVisibleEdges: Map<string, EdgeLayouted<EdgeType>>;
    visible: {
        nodes: Map<string, InternalNode<NodeType>>;
        edges: Map<string, EdgeLayouted<EdgeType>>;
    };
    nodesDraggable: boolean;
    nodesConnectable: boolean;
    elementsSelectable: boolean;
    nodesFocusable: boolean;
    edgesFocusable: boolean;
    disableKeyboardA11y: boolean;
    minZoom: number;
    maxZoom: number;
    nodeOrigin: NodeOrigin;
    nodeExtent: CoordinateExtent;
    translateExtent: CoordinateExtent;
    defaultEdgeOptions: Partial<Edge>;
    nodeDragThreshold: number;
    autoPanOnNodeDrag: boolean;
    autoPanOnConnect: boolean;
    autoPanOnNodeFocus: boolean;
    connectionDragThreshold: number;
    fitViewQueued: boolean;
    fitViewOptions: FitViewOptions | undefined;
    fitViewResolver: PromiseWithResolvers<boolean> | null;
    snapGrid: SnapGrid | null;
    dragging: boolean;
    selectionRect: SelectionRect | null;
    selectionKeyPressed: boolean;
    multiselectionKeyPressed: boolean;
    deleteKeyPressed: boolean;
    panActivationKeyPressed: boolean;
    zoomActivationKeyPressed: boolean;
    selectionRectMode: string | null;
    ariaLiveMessage: string;
    selectionMode: SelectionMode;
    nodeTypes: NodeTypes;
    edgeTypes: EdgeTypes;
    noPanClass: string;
    noDragClass: string;
    noWheelClass: string;
    ariaLabelConfig: AriaLabelConfig;
    _viewport: Viewport;
    viewport: Viewport;
    _connection: ConnectionState;
    connection: ConnectionState;
    connectionMode: ConnectionMode;
    connectionRadius: number;
    isValidConnection: IsValidConnection;
    selectNodesOnDrag: boolean;
    defaultMarkerColor: string;
    markers: MarkerProps[];
    onlyRenderVisibleElements: boolean;
    onerror: OnError;
    ondelete?: OnDelete<NodeType, EdgeType>;
    onbeforedelete?: OnBeforeDelete<NodeType, EdgeType>;
    onbeforeconnect?: OnBeforeConnect;
    onconnect?: OnConnect;
    onconnectstart?: OnConnectStart;
    onconnectend?: OnConnectEnd;
    onbeforereconnect?: OnBeforeReconnect<EdgeType>;
    onreconnect?: OnReconnect<EdgeType>;
    onreconnectstart?: OnReconnectStart<EdgeType>;
    onreconnectend?: OnReconnectEnd<EdgeType>;
    clickConnect?: boolean;
    onclickconnectstart?: OnConnectStart;
    onclickconnectend?: OnConnectEnd;
    clickConnectStartHandle: Pick<Handle, "id" | "nodeId" | "type"> | null;
    onselectiondrag?: OnSelectionDrag<NodeType>;
    onselectiondragstart?: OnSelectionDrag<NodeType>;
    onselectiondragstop?: OnSelectionDrag<NodeType>;
    resolveFitView: () => Promise<void>;
    _prefersDark: MediaQuery;
    colorMode: ColorModeClass;
    resetStoreValues(): void;
};
