import { Node, Position, Port } from '../../types/core'; import { ConnectablePortsResult } from '../../core/port/connectivity/connectableTypes'; import { NodeRendererProps } from '../../types/NodeDefinition'; /** * @file Container component that handles context subscriptions for NodeView * Computes derived state and passes it to the pure NodeViewPresenter */ import * as React from "react"; export type NodeViewContainerProps = { node: Node; isSelected: boolean; isDragging: boolean; isResizing?: boolean; dragOffset?: Position; onPointerDown: (e: React.PointerEvent, nodeId: string, isDragAllowed?: boolean) => void; onContextMenu: (e: React.MouseEvent, nodeId: string) => void; onPortPointerDown?: (e: React.PointerEvent, port: Port) => void; onPortPointerUp?: (e: React.PointerEvent, port: Port) => void; onPortPointerEnter?: (e: React.PointerEvent, port: Port) => void; onPortPointerMove?: (e: React.PointerEvent, port: Port) => void; onPortPointerLeave?: (e: React.PointerEvent, port: Port) => void; onPortPointerCancel?: (e: React.PointerEvent, port: Port) => void; connectingPort?: Port; hoveredPort?: Port; connectedPortIds?: ReadonlySet; connectablePorts?: ConnectablePortsResult; candidatePortId?: string; nodeRenderer?: (props: NodeRendererProps) => React.ReactNode; externalData?: unknown; onUpdateNode?: (updates: Partial) => void; /** Port label visibility - calculated at NodeLayer level for performance */ showPortLabels?: boolean; }; export declare const NodeViewContainer: React.NamedExoticComponent;