/**
 * Scene builders for hierarchy layouts (tree, treemap, circlepack).
 *
 * Converts RealtimeNode/Edge arrays (positioned by d3-hierarchy) into
 * NetworkSceneNode/Edge arrays for canvas rendering.
 *
 * Three builder functions, one per visual form:
 *   buildTreeScene    — circle nodes + curved edges (tree/cluster)
 *   buildRectScene    — rect nodes, no edges (treemap/partition)
 *   buildCircleScene  — circle nodes, no edges (circlepack)
 *
 * Dependencies: hierarchyUtils (palette, contrast, label resolution)
 * Consumed by: hierarchyLayoutPlugin.ts (buildScene dispatcher)
 */
import type { NetworkPipelineConfig, NetworkSceneNode, NetworkSceneEdge, NetworkLabel, RealtimeNode, RealtimeEdge } from "../networkTypes";
import type { Style } from "../types";
export declare function buildTreeScene(nodes: RealtimeNode[], edges: RealtimeEdge[], config: NetworkPipelineConfig, size: [number, number], nodeStyleFn: (d: RealtimeNode) => Style, edgeStyleFn: (d: RealtimeEdge) => Style): {
    sceneNodes: NetworkSceneNode[];
    sceneEdges: NetworkSceneEdge[];
    labels: NetworkLabel[];
};
export declare function buildRectScene(nodes: RealtimeNode[], config: NetworkPipelineConfig, size: [number, number], nodeStyleFn: (d: RealtimeNode) => Style): {
    sceneNodes: NetworkSceneNode[];
    sceneEdges: NetworkSceneEdge[];
    labels: NetworkLabel[];
};
export declare function buildCircleScene(nodes: RealtimeNode[], config: NetworkPipelineConfig, size: [number, number], nodeStyleFn: (d: RealtimeNode) => Style): {
    sceneNodes: NetworkSceneNode[];
    sceneEdges: NetworkSceneEdge[];
    labels: NetworkLabel[];
};
/**
 * Generate a cubic bezier path string for a tree/cluster edge.
 * Uses different curve strategies based on tree orientation.
 */
export declare function generateTreeEdgePath(sx: number, sy: number, tx: number, ty: number, orientation: string): string;
