import type { NobjcObject } from "objc-js";
import type { _NSFormatter } from "./NSFormatter.js";
import type { _NSNumberFormatter } from "./NSNumberFormatter.js";
import type { _NSString } from "./NSString.js";
import type { NSEnergyFormatterUnit } from "./NSEnergyFormatterUnit.js";
import type { NSFormattingUnitStyle } from "./NSFormattingUnitStyle.js";
export declare class _NSEnergyFormatter extends _NSFormatter {
    static alloc(): _NSEnergyFormatter;
    static new(): _NSEnergyFormatter;
    init(): _NSEnergyFormatter;
    /** Format a combination of a number and an unit to a localized string. */
    stringFromValue$unit$(value: number, unit: NSEnergyFormatterUnit): _NSString;
    /**
     * Format a number in joules to a localized string with the locale-appropriate unit and an appropriate scale (e.g. 10.3J = 2.46cal in the US locale).
     */
    stringFromJoules$(numberInJoules: number): _NSString;
    /**
     * Return a localized string of the given unit, and if the unit is singular or plural is based on the given number.
     */
    unitStringFromValue$unit$(value: number, unit: NSEnergyFormatterUnit): _NSString;
    /** Return the locale-appropriate unit, the same unit used by -stringFromJoules:. */
    unitStringFromJoules$usedUnit$(numberInJoules: number, unitp: NobjcObject | null): _NSString;
    /** No parsing is supported. This method will return NO. */
    getObjectValue$forString$errorDescription$(obj: NobjcObject | null, string_: _NSString, error: NobjcObject | null): boolean;
    /** default is NSNumberFormatter with NSNumberFormatterDecimalStyle */
    numberFormatter(): _NSNumberFormatter;
    setNumberFormatter$(value: _NSNumberFormatter): void;
    /** default is NSFormattingUnitStyleMedium */
    unitStyle(): NSFormattingUnitStyle;
    setUnitStyle$(value: NSFormattingUnitStyle): void;
    /**
     * default is NO; if it is set to YES, NSEnergyFormatterUnitKilocalorie may be “C” instead of “kcal"
     */
    forFoodEnergyUse(): boolean;
    setForFoodEnergyUse$(value: boolean): void;
}
