import { type ComponentPropsWithoutRef, type ReactNode } from "react";
export interface SankeyNode {
    /** Stable id used by links to reference this node. */
    id: string;
    /** Display label (rendered next to the node block). */
    label: ReactNode;
    /** Explicit column index. When omitted, auto-derived from the DAG. */
    column?: number;
    /** Node block color. Defaults to the chart-level `nodeColor`. */
    color?: string;
}
export interface SankeyLink {
    /** Source node id. */
    source: string;
    /** Target node id. */
    target: string;
    /** Flow magnitude. Drives the link width. */
    value: number;
    /** Optional per-link color (overrides default tinted-from-source). */
    color?: string;
}
export interface SankeyProps extends Omit<ComponentPropsWithoutRef<"div">, "title" | "onChange"> {
    nodes: SankeyNode[];
    links: SankeyLink[];
    /** Chart pixel width. Default 720. */
    width?: number;
    /** Chart pixel height. Default 360. */
    height?: number;
    /** Horizontal gap between columns (px). Default 120. */
    columnGap?: number;
    /** Vertical gap between nodes in the same column (px). Default 12. */
    nodeGap?: number;
    /** Node block width (px). Default 14. */
    nodeWidth?: number;
    /** Default node block color. */
    nodeColor?: string;
    /** Default link tint — links inherit from source node color when omitted. */
    linkColor?: string;
    title?: ReactNode;
    /** Right-aligned summary in the header (e.g. total flow). */
    total?: ReactNode;
    /** Format value for tooltips. */
    formatValue?: (value: number) => string;
    /** Suppress mount animation. */
    disableAnimation?: boolean;
    "aria-label"?: string;
    onNodeHover?: (node: SankeyNode | null) => void;
    onNodeClick?: (node: SankeyNode) => void;
    onLinkHover?: (link: SankeyLink | null) => void;
    onLinkClick?: (link: SankeyLink) => void;
}
export declare const Sankey: import("react").ForwardRefExoticComponent<SankeyProps & import("react").RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=Sankey.d.ts.map