export declare function clamp(value: number, min: number, max: number): number; export declare function normalizeAngle(angle: number): number; export declare function valueToAngle(value: number, min: number, max: number, startAngle: number, endAngle: number): number; export declare function degreesToRadians(degrees: number): number; export declare function getPointOnCircle(centerX: number, centerY: number, radius: number, angleInDegrees: number): { x: number; y: number; }; export declare function createArcPath(centerX: number, centerY: number, radius: number, startAngle: number, endAngle: number): string; export declare function generateTickPositions(min: number, max: number, majorCount: number, minorCount: number): { major: number[]; minor: number[]; }; export declare function generateLabelPositions(min: number, max: number, count: number): number[]; /** * Bounding box of an arc swept from `startAngle` to `endAngle` (gauge degrees, * 0 = top, clockwise) on a unit circle centred at the origin, using the same * angle convention as `getPointOnCircle` (x = sin θ, y = -cos θ). * * Evaluates the two endpoints plus every cardinal direction (top/right/bottom/ * left) that falls inside the swept range, since the extrema of the arc can * only occur at endpoints or where it crosses an axis. Returns fractions of the * radius so callers can fit the gauge into an arbitrary box. */ export declare function arcBoundingBox(startAngle: number, endAngle: number): { minX: number; maxX: number; minY: number; maxY: number; }; export declare function angleDifference(current: number, target: number): number;