import type { WorkflowGraphNode, WorkflowGraphEdge } from "../workflow-graph-model.js";
import type { NodePortAssignment } from "./types.js";
/**
 * Computes port assignments for all nodes in a workflow graph.
 *
 * Port IDs are deterministic and align with the React Flow handle IDs
 * used in `WorkflowNode` (`case_{name}`, `outcome_{name}`). This ensures
 * ELK routes edges to the correct port and the postprocessor can map
 * results back to the React Flow model without translation.
 *
 * @param nodes - All nodes in the workflow graph.
 * @param edges - All edges (used to infer fork branch count).
 */
export declare function computePortAssignments(nodes: readonly WorkflowGraphNode[], edges: readonly WorkflowGraphEdge[]): ReadonlyMap<string, NodePortAssignment>;
/**
 * Computes port assignment for a single node.
 * Exported for unit testing individual cases.
 */
export declare function computeNodePorts(node: WorkflowGraphNode, edges: readonly WorkflowGraphEdge[]): NodePortAssignment;
//# sourceMappingURL=port-assignment.d.ts.map