import type { DataItem } from "../../core/render/Component"; import type { HierarchyNode } from "./HierarchyNode"; import { Hierarchy, IHierarchyPrivate, IHierarchySettings, IHierarchyDataItem, IHierarchyEvents } from "./Hierarchy"; import { Circle } from "../../core/render/Circle"; import { ListTemplate } from "../../core/util/List"; import * as d3hierarchy from "d3-hierarchy"; /** * @ignore */ export interface IPackDataObject { name?: string; value?: number; children?: IPackDataObject[]; dataItem?: DataItem; } export interface IPackDataItem extends IHierarchyDataItem { /** * Data items of the child nodes. */ children: Array>; /** * Data item of the parent node. */ parent: DataItem; /** * @ignore */ d3HierarchyNode: d3hierarchy.HierarchyCircularNode; /** * The node's circle. */ circle: Circle; } export interface IPackSettings extends IHierarchySettings { /** * Gap between neighboring circles, and between a circle and the circles * inside it, in pixels. * * @since 5.2.6 * @default 0 */ nodePadding?: number; } export interface IPackPrivate extends IHierarchyPrivate { /** * @ignore */ scaleR?: number; } export interface IPackEvents extends IHierarchyEvents { } /** * A pack diagram: nodes as circles sized by value, each inside its parent's * circle. A click on a node zooms into it. * * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/pack/} for more info * @important */ export declare class Pack extends Hierarchy { _settings: IPackSettings; _privateSettings: IPackPrivate; _dataItemSettings: IPackDataItem; protected _tag: string; static className: string; static classNames: Array; _packLayout: d3hierarchy.PackLayout; _rootNode: d3hierarchy.HierarchyCircularNode | undefined; _packData: IPackDataObject | undefined; /** * List of node circles; configure them all through `circles.template`. */ readonly circles: ListTemplate; protected _afterNew(): void; _prepareChildren(): void; protected _updateVisuals(): void; protected _updateNode(dataItem: DataItem): void; protected _updateNodesScale(hierarchyNode: d3hierarchy.HierarchyCircularNode): void; /** * @ignore */ makeNode(dataItem: DataItem): HierarchyNode; _zoom(dataItem: DataItem): void; } //# sourceMappingURL=Pack.d.ts.map