import type { HierarchyNode } from "./HierarchyNode"; import type { DataItem } from "../../core/render/Component"; import { Hierarchy, IHierarchyPrivate, IHierarchySettings, IHierarchyDataItem, IHierarchyDataObject } from "./Hierarchy"; import { ListTemplate } from "../../core/util/List"; import { RoundedRectangle } from "../../core/render/RoundedRectangle"; import * as d3hierarchy from "d3-hierarchy"; /** * @ignore */ export interface IPartitionDataObject { name?: string; value?: number; children?: IPartitionDataObject[]; dataItem?: DataItem; } export interface IPartitionDataItem extends IHierarchyDataItem { /** * Data items of child nodes. */ children: Array>; /** * Data item of the parent node. */ parent: DataItem; /** * @ignore */ d3HierarchyNode: d3hierarchy.HierarchyRectangularNode; /** * The node's rectangle. */ rectangle: RoundedRectangle; } export interface IPartitionSettings extends IHierarchySettings { /** * Gap between nodes, in pixels. * * @default 0 */ nodePadding?: number; /** * Direction the levels follow each other: `"vertical"` from top to * bottom, `"horizontal"` from left to right. * * @default "vertical" */ orientation?: "horizontal" | "vertical"; /** * @ignore */ _d?: number; } export interface IPartitionPrivate extends IHierarchyPrivate { /** * Current horizontal scale. */ scaleX?: number; /** * Current vertical scale. */ scaleY?: number; } /** * A partition (icicle) diagram: each level is a row of rectangles (a column, * when horizontal), and each node spans as much of it as its value. A click * on a node zooms into it. * * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/partition/} for more info */ export declare class Partition extends Hierarchy { _settings: IPartitionSettings; _privateSettings: IPartitionPrivate; _dataItemSettings: IPartitionDataItem; protected _tag: string; static className: string; static classNames: Array; /** * List of node rectangles; configure them all through * `rectangles.template`. */ readonly rectangles: ListTemplate; _partitionLayout: d3hierarchy.PartitionLayout; _rootNode: d3hierarchy.HierarchyRectangularNode | undefined; protected _afterNew(): void; _prepareChildren(): void; protected _updateVisuals(): void; protected _updateNode(dataItem: DataItem): void; protected _updateNodesScale(hierarchyNode: d3hierarchy.HierarchyRectangularNode): void; /** * @ignore */ makeNode(dataItem: DataItem): HierarchyNode; protected _makeNode(dataItem: DataItem, node: HierarchyNode): void; protected _zoom(dataItem: DataItem): void; } //# sourceMappingURL=Partition.d.ts.map