/** A node in the workflow topology graph. */
export interface TopologyNode {
    readonly id: string;
    readonly label: string;
    readonly kind: string;
    readonly category: TopologyNodeCategory;
    /** Layout position computed by dagre (set after layout). */
    x: number;
    y: number;
    readonly width: number;
    readonly height: number;
}
/** An edge in the workflow topology graph. */
export interface TopologyEdge {
    readonly source: string;
    readonly target: string;
    readonly label?: string;
}
export type TopologyNodeCategory = "start" | "end" | "ai" | "control_flow" | "invocation" | "data" | "governance" | "event" | "unspecified";
/** Return value of {@link useWorkflowTopology}. */
export interface UseWorkflowTopologyReturn {
    readonly nodes: readonly TopologyNode[];
    readonly edges: readonly TopologyEdge[];
}
/**
 * Behavior hook that computes a DAG topology from workflow YAML.
 *
 * Parses the YAML into tasks and builds a node + edge graph suitable
 * for rendering. Handles sequential flow, explicit `flow.then` directives,
 * and `switch_case` branching edges.
 *
 * Returns stable refs (DD-010) — the result is memoized and only
 * recomputed when the YAML content changes.
 *
 * @param yaml - The current workflow YAML string (or `null`/empty to skip).
 *
 * @since T10 (YAML Editor with Graph Preview)
 */
export declare function useWorkflowTopology(yaml: string | null): UseWorkflowTopologyReturn;
//# sourceMappingURL=useWorkflowTopology.d.ts.map