import { FunctionArgument, type OutgoingEdges } from './graph';
import { type GenericDifferenceInformation } from '../../util/diff';
import { type NodeId } from '../../r-bridge/lang-4.x/ast/model/processing/node-id';
import type { GraphDifferenceReport, GraphDiffContext } from '../../util/diff-graph';
/**
 * This is the underlying function to calculate the difference based on a given context.
 * Use {@link Dataflow.diff} to calculate the diff of two graphs.
 */
export declare function diffDataflowGraph(ctx: GraphDiffContext): void;
/**
 * Compares two function argument lists and reports differences.
 */
export declare function diffFunctionArguments(fn: NodeId, a: false | readonly FunctionArgument[], b: false | readonly FunctionArgument[], ctx: GenericDifferenceInformation<GraphDifferenceReport>): void;
/**
 * Compares the vertices of two dataflow graphs and reports differences.
 */
export declare function diffVertices(ctx: GraphDiffContext): void;
/**
 * Compares two sets of outgoing edges and reports differences.
 */
export declare function diffEdges(ctx: GraphDiffContext, id: NodeId, lEdges: OutgoingEdges | undefined, rEdges: OutgoingEdges | undefined): void;
