/**
 * Pure diff engine for workflow graph models.
 *
 * Compares two WorkflowGraphModel instances and produces a GraphDiff
 * describing which nodes/edges were added, removed, or modified.
 *
 * Node matching is by `id` (task name). Edge matching is by semantic
 * triple `(source, target, sourceHandle)` — NOT by edge ID, which is
 * unstable across parses.
 *
 * @since T14 (AI-Assisted Workflow Creation)
 */
import type { WorkflowGraphModel } from "../workflow-graph-model";
import type { GraphDiff } from "./types";
declare function jsonEqual(a: unknown, b: unknown): boolean;
/**
 * Computes a structural diff between two workflow graph models.
 *
 * - Nodes are matched by `id` (which is the task name).
 * - Sentinel nodes (`__start__`, `__end__`) are excluded from the diff.
 * - Modified detection compares `kind`, `config` (deep equal), and `export.as`.
 * - Edges are matched by semantic triple `(source, target, sourceHandle)`.
 * - `changedFields` lists top-level config keys that differ.
 */
export declare function computeGraphDiff(before: WorkflowGraphModel, after: WorkflowGraphModel): GraphDiff;
export { jsonEqual };
//# sourceMappingURL=graph-diff.d.ts.map