import type { HierarchicalDatum, HierarchicalNodeElement, HierarchyLabelAttrs, ViewBoxOptions } from '../interface/common'; export interface ICircle { x?: number; y?: number; radius?: number; } export interface CirclePackingOptions { nodeSort?: boolean | ((a: CirclePackingNodeElement, b: CirclePackingNodeElement) => number); padding?: number | number[]; setRadius?: (datum: CirclePackingNodeElement) => number; nodeKey?: string | number | ((datum: HierarchicalDatum) => string | number); includeRoot?: boolean; valueField?: string; } export type CirclePackingTramsformOptions = CirclePackingOptions & ViewBoxOptions & { flatten?: boolean; maxDepth?: number; }; export interface CirclePackingNodeElement extends HierarchicalNodeElement, ICircle { children?: CirclePackingNodeElement[]; label?: HierarchyLabelAttrs; }