/** * Text measurer interface — platform-specific (canvas, SVG) implementations provided externally. */ export interface ITextMeasurer { measureText(text: string, fontSize: number, fontWeight: number, fontStyle: string, fontFamily: string): number; } /** * Splits text into lines that fit within maxWidth. * Respects maxLines limit (or "auto" = unlimited). * Adds "…" ellipsis when text is truncated. */ export declare function getWrappedLines(measurer: ITextMeasurer, text: string, maxWidth: number, maxLines: number | 'auto', radius: number, fontSize: number, fontWeight?: number, fontStyle?: string, fontFamily?: string): string[]; /** * Computes an appropriate font size for a bubble based on its radius. * Ensures labels remain readable at all scales. */ export declare function computeFontSize(radius: number, baseFontSize?: number, fontWeight?: number, avgCharsPerLine?: number): number;