import type { PositionedArc, SunburstLabelRotation, SunburstShape } from './sunburst'; 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 declare function project_arcs(arcs: PositionedArc[], win: ViewWindow, geom: ScreenGeometry): { all: ScreenArc[]; visible: ScreenArc[]; }; export declare function arrow_nav_target(arcs: readonly PositionedArc[], is_visible: (idx: number) => boolean, current_idx: number, key: string): number | null; export declare function arc_label_transform(d: { a0: number; a1: number; r0: number; r1: number; }, text_w: number, // rendered text width in px shape: SunburstShape, rotation: SunburstLabelRotation): string | null;