import { HierarchyRectangularNode } from 'd3-hierarchy'; import { GraphLinkCore, GraphNodeCore } from '../../types'; export interface ChordInputNode { id?: string; } export interface ChordInputLink { id?: string; source: number | string | ChordInputNode; target: number | string | ChordInputNode; } export type ChordDiagramData = { nodes: N[]; links?: L[]; }; export interface ChordHierarchyNode { key: string; values: (ChordHierarchyNode | N)[]; depth?: number; height?: number; value?: number; ancestors?: string[]; } export type ChordNodeState = { _state: { hovered?: boolean; value?: number; }; _prevX1?: number; }; export type ChordNodeCore = HierarchyRectangularNode & ChordNodeState & { data: GraphNodeCore; uid: string; }; export type ChordNodeDatum = ChordHierarchyNode | N; export type ChordLinkDatum = GraphLinkCore; export type ChordNode = ChordNodeCore>; export type ChordLeafNode = ChordNodeCore; export type ChordRibbonPoint = { a0: number; a1: number; r: number; }; export interface ChordRibbon { source: ChordLeafNode; target: ChordLeafNode; points: ChordRibbonPoint[]; data: ChordLinkDatum; _state: { hovered?: boolean; }; } export declare enum ChordLabelAlignment { Along = "along", Perpendicular = "perpendicular" }