import type { NobjcObject } from "objc-js";
import type { _NSAttributedString } from "./NSAttributedString.js";
import type { _NSDecimalNumberHandler } from "./NSDecimalNumberHandler.js";
import type { _NSDictionary } from "./NSDictionary.js";
import type { _NSFormatter } from "./NSFormatter.js";
import type { _NSLocale } from "./NSLocale.js";
import type { _NSNumber } from "./NSNumber.js";
import type { _NSString } from "./NSString.js";
import type { NSFormattingContext } from "./NSFormattingContext.js";
import type { NSNumberFormatterBehavior } from "./NSNumberFormatterBehavior.js";
import type { NSNumberFormatterPadPosition } from "./NSNumberFormatterPadPosition.js";
import type { NSNumberFormatterRoundingMode } from "./NSNumberFormatterRoundingMode.js";
import type { NSNumberFormatterStyle } from "./NSNumberFormatterStyle.js";
export declare class _NSNumberFormatter extends _NSFormatter {
    static alloc(): _NSNumberFormatter;
    static new(): _NSNumberFormatter;
    init(): _NSNumberFormatter;
    static localizedStringFromNumber$numberStyle$(num: _NSNumber, nstyle: NSNumberFormatterStyle): _NSString;
    /** Attributes of an NSNumberFormatter */
    static defaultFormatterBehavior(): NSNumberFormatterBehavior;
    static setDefaultFormatterBehavior$(behavior: NSNumberFormatterBehavior): void;
    /**
     * Report the used range of the string and an NSError, in addition to the usual stuff from NSFormatter
     */
    getObjectValue$forString$range$error$(obj: NobjcObject | null, string_: _NSString, rangep: NobjcObject | null, error: NobjcObject | null): boolean;
    /**
     * Even though NSNumberFormatter responds to the usual NSFormatter methods, here are some convenience methods which are a little more obvious.
     */
    stringFromNumber$(number_: _NSNumber): _NSString | null;
    numberFromString$(string_: _NSString): _NSNumber | null;
    /** default is NSFormattingContextUnknown */
    formattingContext(): NSFormattingContext;
    setFormattingContext$(value: NSFormattingContext): void;
    /**
     * See `kCFNumberFormatterMinGroupingDigits` in `CFNumberFormatter` for an explanation on how minimum grouping digits is used.
     */
    minimumGroupingDigits(): number;
    setMinimumGroupingDigits$(value: number): void;
    numberStyle(): NSNumberFormatterStyle;
    setNumberStyle$(value: NSNumberFormatterStyle): void;
    locale(): _NSLocale;
    setLocale$(value: _NSLocale): void;
    generatesDecimalNumbers(): boolean;
    setGeneratesDecimalNumbers$(value: boolean): void;
    formatterBehavior(): NSNumberFormatterBehavior;
    setFormatterBehavior$(value: NSNumberFormatterBehavior): void;
    negativeFormat(): _NSString;
    setNegativeFormat$(value: _NSString): void;
    textAttributesForNegativeValues(): _NSDictionary | null;
    setTextAttributesForNegativeValues$(value: _NSDictionary | null): void;
    positiveFormat(): _NSString;
    setPositiveFormat$(value: _NSString): void;
    textAttributesForPositiveValues(): _NSDictionary | null;
    setTextAttributesForPositiveValues$(value: _NSDictionary | null): void;
    allowsFloats(): boolean;
    setAllowsFloats$(value: boolean): void;
    decimalSeparator(): _NSString;
    setDecimalSeparator$(value: _NSString): void;
    alwaysShowsDecimalSeparator(): boolean;
    setAlwaysShowsDecimalSeparator$(value: boolean): void;
    currencyDecimalSeparator(): _NSString;
    setCurrencyDecimalSeparator$(value: _NSString): void;
    usesGroupingSeparator(): boolean;
    setUsesGroupingSeparator$(value: boolean): void;
    groupingSeparator(): _NSString;
    setGroupingSeparator$(value: _NSString): void;
    zeroSymbol(): _NSString | null;
    setZeroSymbol$(value: _NSString | null): void;
    textAttributesForZero(): _NSDictionary | null;
    setTextAttributesForZero$(value: _NSDictionary | null): void;
    nilSymbol(): _NSString;
    setNilSymbol$(value: _NSString): void;
    textAttributesForNil(): _NSDictionary | null;
    setTextAttributesForNil$(value: _NSDictionary | null): void;
    notANumberSymbol(): _NSString;
    setNotANumberSymbol$(value: _NSString): void;
    textAttributesForNotANumber(): _NSDictionary | null;
    setTextAttributesForNotANumber$(value: _NSDictionary | null): void;
    positiveInfinitySymbol(): _NSString;
    setPositiveInfinitySymbol$(value: _NSString): void;
    textAttributesForPositiveInfinity(): _NSDictionary | null;
    setTextAttributesForPositiveInfinity$(value: _NSDictionary | null): void;
    negativeInfinitySymbol(): _NSString;
    setNegativeInfinitySymbol$(value: _NSString): void;
    textAttributesForNegativeInfinity(): _NSDictionary | null;
    setTextAttributesForNegativeInfinity$(value: _NSDictionary | null): void;
    positivePrefix(): _NSString;
    setPositivePrefix$(value: _NSString): void;
    positiveSuffix(): _NSString;
    setPositiveSuffix$(value: _NSString): void;
    negativePrefix(): _NSString;
    setNegativePrefix$(value: _NSString): void;
    negativeSuffix(): _NSString;
    setNegativeSuffix$(value: _NSString): void;
    currencyCode(): _NSString;
    setCurrencyCode$(value: _NSString): void;
    currencySymbol(): _NSString;
    setCurrencySymbol$(value: _NSString): void;
    internationalCurrencySymbol(): _NSString;
    setInternationalCurrencySymbol$(value: _NSString): void;
    percentSymbol(): _NSString;
    setPercentSymbol$(value: _NSString): void;
    perMillSymbol(): _NSString;
    setPerMillSymbol$(value: _NSString): void;
    minusSign(): _NSString;
    setMinusSign$(value: _NSString): void;
    plusSign(): _NSString;
    setPlusSign$(value: _NSString): void;
    exponentSymbol(): _NSString;
    setExponentSymbol$(value: _NSString): void;
    groupingSize(): number;
    setGroupingSize$(value: number): void;
    secondaryGroupingSize(): number;
    setSecondaryGroupingSize$(value: number): void;
    multiplier(): _NSNumber | null;
    setMultiplier$(value: _NSNumber | null): void;
    formatWidth(): number;
    setFormatWidth$(value: number): void;
    paddingCharacter(): _NSString;
    setPaddingCharacter$(value: _NSString): void;
    paddingPosition(): NSNumberFormatterPadPosition;
    setPaddingPosition$(value: NSNumberFormatterPadPosition): void;
    roundingMode(): NSNumberFormatterRoundingMode;
    setRoundingMode$(value: NSNumberFormatterRoundingMode): void;
    roundingIncrement(): _NSNumber;
    setRoundingIncrement$(value: _NSNumber): void;
    minimumIntegerDigits(): number;
    setMinimumIntegerDigits$(value: number): void;
    maximumIntegerDigits(): number;
    setMaximumIntegerDigits$(value: number): void;
    minimumFractionDigits(): number;
    setMinimumFractionDigits$(value: number): void;
    maximumFractionDigits(): number;
    setMaximumFractionDigits$(value: number): void;
    minimum(): _NSNumber | null;
    setMinimum$(value: _NSNumber | null): void;
    maximum(): _NSNumber | null;
    setMaximum$(value: _NSNumber | null): void;
    currencyGroupingSeparator(): _NSString;
    setCurrencyGroupingSeparator$(value: _NSString): void;
    lenient(): boolean;
    setLenient$(value: boolean): void;
    usesSignificantDigits(): boolean;
    setUsesSignificantDigits$(value: boolean): void;
    minimumSignificantDigits(): number;
    setMinimumSignificantDigits$(value: number): void;
    maximumSignificantDigits(): number;
    setMaximumSignificantDigits$(value: number): void;
    partialStringValidationEnabled(): boolean;
    setPartialStringValidationEnabled$(value: boolean): void;
    hasThousandSeparators(): boolean;
    setHasThousandSeparators$(value: boolean): void;
    thousandSeparator(): _NSString;
    setThousandSeparator$(value: _NSString): void;
    localizesFormat(): boolean;
    setLocalizesFormat$(value: boolean): void;
    format(): _NSString;
    setFormat$(value: _NSString): void;
    attributedStringForZero(): _NSAttributedString;
    setAttributedStringForZero$(value: _NSAttributedString): void;
    attributedStringForNil(): _NSAttributedString;
    setAttributedStringForNil$(value: _NSAttributedString): void;
    attributedStringForNotANumber(): _NSAttributedString;
    setAttributedStringForNotANumber$(value: _NSAttributedString): void;
    roundingBehavior(): _NSDecimalNumberHandler;
    setRoundingBehavior$(value: _NSDecimalNumberHandler): void;
}
