/*!
 * Copyright 2020 VMware, Inc.
 * SPDX-License-Identifier: BSD-2-Clause
 */
import { TranslationService } from '@vcd/i18n';
import { Unit } from './unit';
/**
 * UnitFormatter is used to format the value with unitName in localized string
 */
export declare class UnitFormatter {
    private translationService;
    constructor(translationService: TranslationService);
    /**
     * Converts the value of inputUnit to outPutUnit returns in
     * localized string format `${value} ${outputUnit.unitName}`
     *
     * Ex: format(1000, Unit.MB, Unit.GB, 2) = "1 GB"
     *
     * @param value - value of inputUnit
     * @param inputUnit - unit of value
     * @param outputUnit - unit to which value is converted
     * @param precision - how many digits are shown after decimal
     */
    format(value: number, inputUnit: Unit, outputUnit: Unit, precision?: number): string;
    /**
     * Converts the value of inputUnit to best unit out of availableUnits and returns
     * in localized string format `${value} ${outputUnit.unitName}`
     *
     * Ex: bestFormat(1000000, Unit.KB, [Unit.KB, Unit.MB, Unit.GB]) = "1 GB"
     *
     * @param value = value of inputUnit
     * @param inputUnit - unit of value
     * @param availableUnits - list of units from which best unit is calculated
     */
    bestFormat(value: number, inputUnit: Unit, availableUnits: Unit[]): string;
}
