import type { Datum } from "../shared/datumTypes";
import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
import type { BaseChartProps, ChartAccessor } from "../shared/types";
import { type TooltipProp } from "../../Tooltip/Tooltip";
import type { LegendInteractionMode } from "../shared/hooks";
/**
 * TreeDiagram component props
 */
export interface TreeDiagramProps<TNode extends Datum = Datum> extends BaseChartProps {
    data: TNode;
    layout?: "tree" | "cluster" | "partition" | "treemap" | "circlepack";
    orientation?: "vertical" | "horizontal" | "radial";
    childrenAccessor?: ChartAccessor<TNode, TNode[]>;
    valueAccessor?: ChartAccessor<TNode, number>;
    nodeIdAccessor?: ChartAccessor<TNode, string>;
    colorBy?: ChartAccessor<TNode, string | number>;
    colorScheme?: string | string[];
    colorByDepth?: boolean;
    edgeStyle?: "line" | "curve";
    nodeLabel?: ChartAccessor<TNode, string>;
    showLabels?: boolean;
    nodeSize?: number;
    enableHover?: boolean;
    legendInteraction?: LegendInteractionMode;
    tooltip?: TooltipProp;
    frameProps?: Partial<Omit<StreamNetworkFrameProps, "edges" | "size">>;
}
/**
 * TreeDiagram - Visualize hierarchical data structures
 *
 * Wraps StreamNetworkFrame (canvas-first) for hierarchical tree visualization.
 */
export declare function TreeDiagram<TNode extends Datum = Datum>(props: TreeDiagramProps<TNode>): import("react/jsx-runtime").JSX.Element;
export declare namespace TreeDiagram {
    var displayName: string;
}
