import type { HierarchicalDatum, HierarchicalNodeElement, ViewBoxOptions } from '../interface/common'; export interface TreemapOptions { gapWidth?: number | number[]; padding?: number | number[]; aspectRatio?: number; labelPadding?: number | number[]; labelPosition?: 'top' | 'bottom' | 'left' | 'right'; splitType?: 'binary' | 'dice' | 'slice' | 'sliceDice' | 'squarify'; nodeKey?: string | number | ((datum: TreemapDatum) => string | number); maxDepth?: number; minVisibleArea?: number | number[]; minChildrenVisibleArea?: number | number[]; minChildrenVisibleSize?: number | number[]; valueField?: string; } export type TreemapTramsformOptions = TreemapOptions & ViewBoxOptions & { flatten?: boolean; }; export type TreemapData = HierarchicalDatum[]; export type TreemapDatum = HierarchicalDatum; export interface TreemapNodeElement extends Omit, 'children'> { x0?: number; y0?: number; x1?: number; y1?: number; width?: number; height?: number; labelRect?: { x0?: number; x1?: number; y0?: number; y1?: number; }; children?: TreemapNodeElement[]; }