import { Cloud, Wind } from "./metar.types.js";
import { UnitOptions } from "./units.js";
/**
 * Formats speed to a string with the specified or default units.
 *
 * @param {number} speed - The speed value.
 * @param {UnitOptions} [units=DefaultUnits] - The target unit options.
 * @returns {string} The formatted speed string.
 */
export declare const formatSpeed: (speed: number, units?: UnitOptions) => string;
/**
 * Formats distance to a string with the specified or default units.
 *
 * @param {number} distance - The distance value.
 * @param {UnitOptions} [units=DefaultUnits] - The target unit options.
 * @returns {string} The formatted distance string.
 */
export declare const formatDistance: (distance: number, units?: UnitOptions) => string;
/**
 * Formats altitude to a string with the specified or default units.
 * @param {number} altitude - The altitude value.
 * @param {UnitOptions} [units=DefaultUnits] - The target unit options.
 * @returns {string} The formatted altitude string.
 */
export declare const formatAltitude: (altitude: number, units?: UnitOptions) => string;
/**
 * Formats elevation to a string with the specified or default units.
 *
 * @param {number} elevation - The elevation value.
 * @param {UnitOptions} [units=DefaultUnits] - The target unit options.
 * @returns {string} The formatted elevation string.
 */
export declare const formatElevation: (elevation: number, units?: UnitOptions) => string;
/**
 * Formats temperature to a string with the specified or default units.
 *
 * @param {number} temperature - The temperature value.
 * @param {UnitOptions} [units=DefaultUnits] - The target unit options.
 * @returns {string} The formatted temperature string.
 */
export declare const formatTemperature: (temperature: number, units?: UnitOptions) => string;
/**
 * Formats pressure to a string with the specified or default units.
 *
 * @param {number} pressure - The pressure value.
 * @param {UnitOptions} [units=DefaultUnits] - The target unit options.
 * @returns {string} The formatted pressure string.
 */
export declare const formatPressure: (pressure: number, units?: UnitOptions) => string;
/**
 * Formats mass to a string with the specified or default units.
 *
 * @param {number} mass - The mass value.
 * @param {UnitOptions} [units=DefaultUnits] - The target unit options.
 * @returns {string} The formatted mass string.
 */
export declare const formatMass: (mass: number, units?: UnitOptions) => string;
/**
 * Formats volume to a string with the specified or default units.
 *
 * @param {number} volume - The volume value.
 * @param {UnitOptions} [units=DefaultUnits] - The target unit options.
 * @returns {string} The formatted volume string.
 */
export declare const formatVolume: (volume: number, units?: UnitOptions) => string;
/**
 * Formats angle to a string with the specified or default units.
 *
 * @param {number} angle - The angle value.
 * @param {boolean} [magnetic=false] - Whether the angle is magnetic.
 * @returns {string} The formatted angle string.
 */
export declare const formatAngle: (angle: number, magnetic?: boolean) => string;
/**
 * Formats date and time to a string in UTC format.
 *
 * @param {Date} date - The date to format.
 * @returns {string} The formatted date string in UTC format.
 */
export declare const formatUTCTimestamp: (date: Date) => string;
/**
 * Formats the time duration in a human-readable format.
 *
 * @param totalMinutes - The total duration in minutes.
 * @returns A string representing the formatted duration, e.g., "1h 30min" or "45 min".
 */
export declare const formatDuration: (totalMinutes: number) => string;
/**
 * Formats the time elapsed since a given start date to a human-readable format.
 *
 * @param start - The start date.
 * @param end - The end date (default: current date).
 * @returns A string representing the elapsed time, e.g., "1h 30min ago" or "45 min ago".
 */
export declare const formatElapsedTime: (start: Date, end?: Date) => string;
export declare function formatWind(wind: Wind, units?: UnitOptions): string;
export declare function formatVisibility(visibility: number): string;
export declare function formatCloud(cloud: Cloud, units?: UnitOptions): string;
/**
 * Formats frequency to a string in MHz.
 *
 * @param {number} frequency - The frequency value in MHz.
 * @returns {string} The formatted frequency string.
 */
export declare const formatFrequency: (frequency: number) => string;
