import type { PositionedArc, SunburstLabelRotation, SunburstShape } from '../core/utils/hierarchy-layout'; export interface ScreenArc> { arc: PositionedArc; a0: number; a1: number; r0: number; r1: number; visible: boolean; } export interface ViewWindow { x0: number; x1: number; y0: number; n_rings: number; } export interface ScreenGeometry { shape: SunburstShape; inner_width: number; inner_height: number; radius: number; hole_r: number; } export interface SunburstGroupGap> { select: (arc: PositionedArc) => boolean; gap_px: number; max_fraction?: number; } interface ProjectArcsOptions> { group_gap?: SunburstGroupGap | null; } export declare function project_arcs(arcs: PositionedArc[], win: ViewWindow, geom: ScreenGeometry, { group_gap }?: ProjectArcsOptions): { all: ScreenArc[]; visible: ScreenArc[]; }; export declare function arc_label_transform(d: { a0: number; a1: number; r0: number; r1: number; }, text_w: number, // rendered text width in px (pre-multiplied by font_scale) shape: SunburstShape, rotation: SunburstLabelRotation, max_radius?: number, font_scale?: number): string | null; export {};