import type { Datum } from "../shared/datumTypes";
import * as React from "react";
import type { StreamNetworkFrameProps } from "../../stream/networkTypes";
import type { RealtimeFrameHandle } from "../../realtime/types";
import type { BaseChartProps, ChartAccessor } from "../shared/types";
import { type TooltipProp } from "../../Tooltip/Tooltip";
import type { LegendInteractionMode } from "../shared/hooks";
/**
 * ChordDiagram component props
 */
export interface ChordDiagramProps<TNode extends Datum = Datum, TEdge extends Datum = Datum> extends BaseChartProps {
    nodes?: TNode[];
    edges?: TEdge[];
    sourceAccessor?: ChartAccessor<TEdge, string>;
    targetAccessor?: ChartAccessor<TEdge, string>;
    valueAccessor?: ChartAccessor<TEdge, number>;
    nodeIdAccessor?: ChartAccessor<TNode, string>;
    colorBy?: ChartAccessor<TNode, string>;
    colorScheme?: string | string[];
    edgeColorBy?: "source" | "target" | ((d: Datum) => string);
    padAngle?: number;
    groupWidth?: number;
    sortGroups?: (a: any, b: any) => number;
    nodeLabel?: ChartAccessor<TNode, string>;
    showLabels?: boolean;
    enableHover?: boolean;
    legendInteraction?: LegendInteractionMode;
    edgeOpacity?: number;
    tooltip?: TooltipProp;
    frameProps?: Partial<Omit<StreamNetworkFrameProps, "edges" | "size">>;
}
/**
 * ChordDiagram - Visualize directed relationships with circular chord layout
 *
 * Wraps StreamNetworkFrame (canvas-first) for chord relationship visualization.
 */
export declare const ChordDiagram: {
    <TNode extends Datum = Datum, TEdge extends Datum = Datum>(props: ChordDiagramProps<TNode, TEdge> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
    displayName?: string;
};
