import type { FlowLink, FlowNode } from '../types'; export interface SankeyLayoutNode { id: string; label: string; x: number; y: number; width: number; height: number; } export interface SankeyLayoutLink { source: SankeyLayoutNode; target: SankeyLayoutNode; value: number; path: string; } export declare function layoutSankey(nodes: FlowNode[], links: FlowLink[], width: number, height: number, nodeWidth?: number): { nodes: SankeyLayoutNode[]; links: SankeyLayoutLink[]; }; export declare function chordPath(cx: number, cy: number, r: number, startAngle: number, endAngle: number): string; export interface ChordSegment { index: number; startAngle: number; endAngle: number; value: number; } export interface ChordRibbon { source: number; target: number; value: number; path: string; } export interface ChordLayout { cx: number; cy: number; outerR: number; innerR: number; segments: ChordSegment[]; ribbons: ChordRibbon[]; } /** Layout a chord diagram from an adjacency matrix. */ export declare function layoutChord(matrix: number[][], size: number, padAngle?: number): ChordLayout; /** Filled ribbon between two arc spans on a chord diagram. */ export declare function chordRibbonPath(cx: number, cy: number, outerR: number, _innerR: number, sa1: number, ea1: number, sa2: number, ea2: number): string;