import type { Node, Edge } from "@xyflow/react";
import type { GraphDiff, NodeDiffEntry } from "./diff";
/** Options for {@link useWorkflowDiffGraph}. */
export interface UseWorkflowDiffGraphOptions {
    /** YAML content of the original (before) workflow. Empty string for generate scenarios. */
    readonly beforeYaml: string;
    /** YAML content of the updated (after) workflow. */
    readonly afterYaml: string;
}
/** Return value of {@link useWorkflowDiffGraph}. */
export interface UseWorkflowDiffGraphReturn {
    /** React Flow nodes with diff state merged into data. */
    readonly nodes: Node[];
    /** React Flow edges with diff state merged into data. */
    readonly edges: Edge[];
    /** Computed graph diff (null on error or empty input). */
    readonly diff: GraphDiff | null;
    /** Parse or build error message. */
    readonly error: string | null;
    /** Currently selected task name. */
    readonly selectedTaskName: string | null;
    /** Set the selected task. */
    readonly setSelectedTaskName: (name: string | null) => void;
}
/**
 * Behavior hook that builds a complete diff visualization from two YAML strings.
 *
 * Pipeline (all in useMemo for referential stability — DD-010):
 * 1. Parse beforeYaml → before graph model (empty string → empty model)
 * 2. Parse afterYaml → after graph model
 * 3. Compute diff between before and after
 * 4. Build merged graph containing all nodes/edges
 * 5. Apply dagre layout to merged graph
 * 6. Convert to React Flow elements
 * 7. Merge diff status into node/edge data
 *
 * @since T14 (AI-Assisted Workflow Creation)
 */
export declare function useWorkflowDiffGraph(options: UseWorkflowDiffGraphOptions): UseWorkflowDiffGraphReturn;
export type { GraphDiff, NodeDiffEntry };
//# sourceMappingURL=useWorkflowDiffGraph.d.ts.map