import { UnitType } from "../Types";
export default class UnitConverter {
    private static readonly KILOMETERS_PER_MILE;
    private static readonly FAHRENHEIT_TO_CELSIUS_OFFSET;
    private static readonly KELVIN_TO_CELSIUS_OFFSET;
    private static readonly FAHRENHEIT_TO_CELSIUS_FACTOR;
    private static readonly map;
    /**
     * This function takes a number and adds 273.15 to it.
     * @param {number} val - number - The value to convert
     * @returns The value of the variable val plus the value of the constant KELVIN_TO_CELSIUS_OFFSET.
     */
    static kelvinToCelsius(val: number): number;
    /**
     * Convert a temperature in Celsius to Kelvin.
     * @param {number} val - number - The value to convert.
     * @returns The value of the argument minus 273.15
     */
    static celsiusToKelvin(val: number): number;
    /**
     * Convert a temperature in Fahrenheit to Kelvin by first converting it to Celsius and then to
     * Kelvin.
     * @param {number} val - number - The value to convert
     * @returns The value of the function call.
     */
    static fahrenheitToKelvin(val: number): number;
    /**
     * Convert a temperature in Kelvin to Fahrenheit by first converting it to Celsius and then to
     * Fahrenheit.
     * @param {number} val - number - The value to convert
     * @returns The value of the function call.
     */
    static kelvinToFahrenheit(val: number): number;
    /**
     * Convert kilometers to miles.
     * @param {number} kilometers - number
     * @returns The number of miles in the given number of kilometers.
     */
    static kilometersToMiles(kilometers: number): number;
    /**
     * Converts miles to kilometers.
     * @param {number} miles - number - The number of miles to convert to kilometers.
     * @returns The number of kilometers per mile.
     */
    static milesToKilometers(miles: number): number;
    /**
     * Convert a temperature in Celsius to Fahrenheit.
     * @param {number} celsius - number - The temperature in celsius
     * @returns The temperature in Fahrenheit.
     */
    static celsiusToFahrenheit(celsius: number): number;
    /**
     * Convert a temperature in Fahrenheit to Celsius.
     * @param {number} fahrenheit - number - The temperature in Fahrenheit
     * @returns The return value is the result of the calculation.
     */
    static fahrenheitToCelsius(fahrenheit: number): number;
    /**
     * If the conversion is not possible, throws an error, otherwise, returns the result of the
     * conversion.
     *
     * @param {number} value - number - The value to convert
     * @param {UnitType} from - UnitType
     * @param {UnitType} to - UnitType - The unit type to convert to
     * @returns The return value is the result of the conversion
     */
    static convert(value: number, from: UnitType, to: UnitType): number;
    /**
     * Converts a speed from kilometers per hour to miles per hour.
     * @param {number} kmPerHour - The speed in kilometers per hour.
     * @returns {number} The speed in miles per hour.
     */
    static kilometersPerHourToMilesPerHour(kmPerHour: number): number;
    /**
     * Converts a speed from miles per hour to kilometers per hour.
     * @param {number} mph - The speed in miles per hour.
     * @returns {number} The speed in kilometers per hour.
     */
    static milesPerHourToKilometersPerHour(mph: number): number;
    /**
     * Converts a weight from kilograms to pounds.
     * @param {number} kilograms - The weight in kilograms.
     * @returns {number} The weight in pounds.
     */
    static kilogramsToPounds(kilograms: number): number;
    /**
     * Converts a weight from pounds to kilograms.
     * @param {number} pounds - The weight in pounds.
     * @returns {number} The weight in kilograms.
     */
    static poundsToKilograms(pounds: number): number;
}
