export declare function calculateArcMetrics(startAngle: number, endAngle: number, radius: number): { totalAngle: number; circumference: number; arcLength: number; }; /** * Convert a value to an angle within the gauge range */ export declare function valueToAngle(value: number, min: number, max: number, startAngle: number, endAngle: number): number; /** * Convert angle from degrees to radians */ export declare function degreesToRadians(degrees: number): number; /** * Convert radians to degrees */ export declare function radiansToDegrees(radians: number): number; /** * Apply rotation offset to an angle */ export declare function applyRotationOffset(angle: number, offset?: number): number; /** * Calculate point on circle given center, radius, and angle * In gauge coordinates: 0° = top (12 o'clock), 90° = right (3 o'clock) */ export declare function getPointOnCircle(centerX: number, centerY: number, radius: number, angleInDegrees: number): { x: number; y: number; }; /** * Create SVG arc path */ export declare function createArcPath(centerX: number, centerY: number, radius: number, startAngle: number, endAngle: number, largeArcFlag?: boolean): string; /** * Generate tick positions for a gauge */ export declare function generateTickPositions(min: number, max: number, majorCount: number, minorCount?: number): { major: number[]; minor: number[]; }; /** * Generate label positions for a gauge */ export declare function generateLabelPositions(min: number, max: number, count: number): number[]; /** * Clamp a value between min and max */ export declare function clamp(value: number, min: number, max: number): number; /** * Linear interpolation between two values */ export declare function lerp(start: number, end: number, t: number): number; /** * Get the appropriate color for a value based on ranges */ export declare function getColorForValue(value: number, ranges: Array<{ from: number; to: number; color: string; }>, defaultColor: string): string; /** * Calculate the SVG viewBox for a gauge */ export declare function calculateViewBox(size: number, thickness: number, padding?: number): string; /** * Normalize angle to 0-360 range */ export declare function normalizeAngle(angle: number): number; /** * Calculate the shortest angle difference between two angles */ export declare function angleDifference(angle1: number, angle2: number): number;