interface AllOptions { width: number; height: number; marginTop: number; marginBottom: number; marginRight: number; marginLeft: number; container: string; duration: number; initialDuration: number; slowDuration: number; dropShadowId: string; depth: number; calc: Partial; scaleValue: number; node: Partial; link: Partial; } interface NodeProps { color: string; radius: number; rootRadius: number; leafRadius: number; maxVisible: number | null; hover: { color: string; radiusIncrease: number; textColor: string; leafTextColor: string; }; text: TextProps; onMouseEnter: (d: d3.HierarchyPointNode) => unknown; onMouseLeave: (d: d3.HierarchyPointNode) => unknown; onClick: (d: d3.HierarchyPointNode) => unknown; } interface LinkProps { width: number; color: string; hover: { width: number; color: string; }; } interface TextProps { fontFamily: string; fontSize: number; color: string; leafColor: string; } interface CalcProps { chartLeftMargin: number; chartTopMargin: number; chartWidth: number; chartHeight: number; radius: number; centerX: number; centerY: number; } export interface CustomSelection extends d3.Selection { patternify?: (param: object) => CustomSelection; } export interface RadialTreeData { name: string; children?: RadialTreeData[]; _children?: RadialTreeData[]; [key: string]: unknown; } export declare type RadialTreeOption = { [P in keyof AllOptions]?: AllOptions[P]; }; export {};