import { Node, Edge } from '@xyflow/react';
import { CategorizedSpan, SpanNodeData, FlowTransformResult, FlowTransformOptions, ParallelGroup } from '../../types/index.js';
/**
 * Convert a categorized span tree to React Flow nodes and edges.
 *
 * @param spanTree - Categorized span tree to transform
 * @param totalDuration - Total trace duration for relative sizing
 * @param options - Transform options including mode
 * @returns Flow nodes and edges for React Flow
 */
export declare function spansToFlow(spanTree: CategorizedSpan[], totalDuration: number, options?: FlowTransformOptions): FlowTransformResult;
/**
 * Detect parallel execution among sibling spans by checking time overlap
 */
export declare function detectParallelExecution(spans: CategorizedSpan[]): ParallelGroup[];
/**
 * Apply dagre layout algorithm to position nodes
 */
export declare function applyDagreLayout(nodes: Node<SpanNodeData>[], edges: Edge[], options?: FlowTransformOptions): FlowTransformResult;
/**
 * Get total span count from a tree (for stats display)
 */
export declare function countSpansInTree(spans: CategorizedSpan[]): number;
//# sourceMappingURL=flowTransform.d.ts.map