import { Node, Port, Connection, NodeId } from '../../types/core'; import { NodeDefinition } from '../../types/NodeDefinition'; import { NormalizedConnectionContext } from './normalization'; export { getPortDefinition } from '../port/identity/definition'; export type ConnectionValidationOptions = { nodes?: Record; }; /** * Internal validation for already-normalized port pairs. * Use this when you've already called normalizeConnectionContext/normalizeConnectionPorts. * * @param normalized - Pre-normalized connection context with sourcePort (output) and targetPort (input) * @param connections - Existing connections to check for duplicates and capacity * @param options - Additional validation options * @returns true if connection is valid, false otherwise */ export declare const canConnectNormalizedPorts: (normalized: NormalizedConnectionContext, connections?: Record, options?: ConnectionValidationOptions) => boolean; /** * Check if two ports can be connected. * Accepts ports in either order - internally normalizes to source(output)/target(input). * * @param fromPort - First port in the connection attempt (can be input or output) * @param toPort - Second port in the connection attempt (can be input or output) * @param fromNodeDef - Node definition for fromPort's node * @param toNodeDef - Node definition for toPort's node * @param connections - Existing connections to check for duplicates and capacity * @param options - Additional validation options * @returns true if connection is valid, false otherwise */ export declare const canConnectPorts: (fromPort: Port, toPort: Port, fromNodeDef?: NodeDefinition, toNodeDef?: NodeDefinition, connections?: Record, options?: ConnectionValidationOptions) => boolean;