import type { Edge, Graph, NodeDefinition, NodeInstance, Plugin, ViewportTransform } from "./types"; import type { NodeConfig } from "../schema/configSchema"; import type { NodeRegistryLike } from "../registry/nodeRegistry"; export interface CreateGraphOptions { id?: string; name?: string; version?: string; nodes?: NodeInstance[]; edges?: Graph["edges"]; viewport?: ViewportTransform; metadata?: Graph["metadata"]; createdAt?: string; updatedAt?: string; } export interface CreateNodeOptions { id?: string; label?: string; position?: { x: number; y: number; }; width?: number; height?: number; collapsed?: boolean; muted?: boolean; hidden?: boolean; selected?: boolean; draggable?: boolean; connectable?: boolean; selectable?: boolean; deletable?: boolean; focusable?: boolean; resizable?: boolean; parentId?: string; extent?: NodeInstance["extent"]; expandParent?: boolean; origin?: NodeInstance["origin"]; zIndex?: number; className?: string; style?: NodeInstance["style"]; ariaLabel?: string; ariaRole?: string; domAttributes?: NodeInstance["domAttributes"]; config?: NodeConfig; status?: NodeInstance["status"]; customColor?: string; shape?: NodeInstance["shape"]; shapeStyle?: NodeInstance["shapeStyle"]; metadata?: Record; } export declare function createGraph(options?: CreateGraphOptions): Graph; export declare function createNodeDefinition(definition: NodeDefinition): NodeDefinition; export declare function createPlugin(plugin: Plugin): Plugin; export declare function createNode(definition: NodeDefinition, options?: CreateNodeOptions): NodeInstance; export declare function addNode(graph: Graph, node: NodeInstance): Graph; export declare function removeNode(graph: Graph, nodeId: string): Graph; export declare function updateNode(graph: Graph, nodeId: string, patch: Partial>): Graph; export declare function moveNode(graph: Graph, nodeId: string, position: { x: number; y: number; }): Graph; export declare function connectPorts(graph: Graph, registryLike: NodeRegistryLike, sourceNodeId: string, sourcePortId: string, targetNodeId: string, targetPortId: string, options?: { id?: string; label?: string; replaceExisting?: boolean; metadata?: Record; edge?: Partial>; }): Graph; export declare function removeEdge(graph: Graph, edgeId: string): Graph; export declare function cloneGraph(graph: Graph): Graph; //# sourceMappingURL=graph.d.ts.map