import type { SunburstChart } from "./sunburst"; import { type NodeStore } from "../common/node-store"; /** * Minimum arc area (in pixels²) below which a subtree stops being * subdivided. Keeps the visible count bounded independent of tree * size — the core mechanism that lets sunburst scale to 2M nodes. */ declare const MIN_VISIBLE_ARC_AREA = 4; /** * Inner radius: reserved for the current-root drill-up target. */ declare const INNER_RING_PX = 30; /** * Recursive polar partition writing `(a0, a1, r0, r1)` into the store. * The root node's own ring is reserved (inner radius = 0, outer = * `INNER_RING_PX`) for the drill-up click target; descendants start at * `INNER_RING_PX` and extend out. */ export declare function partitionSunburst(store: NodeStore, currentRootId: number, maxRadius: number): void; /** * Walk from `startId` depth-first, emitting every descendant whose * arc area exceeds `MIN_VISIBLE_ARC_AREA`. * * The single-facet entry point; faceted rendering uses * {@link collectVisibleArcsAppend} to concatenate across facets. */ export declare function collectVisibleArcs(chart: SunburstChart, startId: number): void; /** * Append visible arcs under `startId` to `_visibleNodeIds` starting at * `startOffset`, returning the new length. */ export declare function collectVisibleArcsAppend(chart: SunburstChart, startId: number, startOffset: number): number; export { INNER_RING_PX, MIN_VISIBLE_ARC_AREA };