import { type CSSProperties, type ReactNode } from "react"; import type { Edge, NodeDefinition, Graph, NodeInstance, NodeStatus, PortDefinition } from "../../core/graph/types"; import type { NodeRegistry } from "../../core/registry/nodeRegistry"; import type { EditorOptions, RenderConnectionPreviewContext, RenderEdgeContext, RenderNodeContext, RenderSocketContext } from "../state/editorTypes"; import { type EditorEventSink, type EditorInteractionSource } from "../../core/observability/editorEvents"; export interface NodeCanvasProps { eventSink: EditorEventSink; emptyState?: ReactNode; nodeStatuses?: Record; graph: Graph; definitions: NodeDefinition[]; registry: NodeRegistry; commitGraph: (graph: Graph) => void; selectNode: (nodeId: string | undefined, additive?: boolean) => void; addNodeDefinition: (definition: NodeDefinition, position: { x: number; y: number; }, source?: EditorInteractionSource) => NodeInstance; nodeClassName?: (node: NodeInstance, definition?: NodeDefinition) => string | undefined; nodeStyle?: (node: NodeInstance, definition?: NodeDefinition) => CSSProperties | undefined; edgeClassName?: (edge: Edge, graph: Graph) => string | undefined; edgeStyle?: (edge: Edge, graph: Graph) => CSSProperties | undefined; renderNode?: (node: NodeInstance, definition: NodeDefinition | undefined, context: RenderNodeContext) => ReactNode; renderSocket?: (node: NodeInstance, port: PortDefinition, context: RenderSocketContext) => ReactNode; renderEdge?: (edge: Edge, context: RenderEdgeContext) => ReactNode; edgeRenderers?: Record ReactNode>; renderConnectionPreview?: (context: RenderConnectionPreviewContext) => ReactNode; onConnect?: (edge: Edge, graph: Graph) => void; onReconnectStart?: (edge: Edge, end: "source" | "target") => void; onReconnect?: (previousEdge: Edge, edge: Edge, graph: Graph) => void; onReconnectEnd?: (edge: Edge, successful: boolean) => void; onEdgesDelete?: (edges: Edge[]) => void; readonly: boolean; options: EditorOptions; } export declare function NodeCanvas({ eventSink, emptyState, nodeStatuses, graph, definitions, registry, commitGraph, selectNode, addNodeDefinition, nodeClassName, nodeStyle, edgeClassName, edgeStyle, renderNode, renderSocket, renderEdge, edgeRenderers, renderConnectionPreview, onConnect, onReconnectStart, onReconnect, onReconnectEnd, onEdgesDelete, readonly, options }: NodeCanvasProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=NodeCanvas.d.ts.map