import { default as CortexElement } from '../../../../base/src/cortex-element.ts';
import { FormatNumberCurrencyDisplay, FormatNumberType } from '../../../../types/src/format-number';

/**
 * @summary Formats a number using the specified locale and options.
 *
 * @description Localization is handled by the browser's [`Intl.NumberFormat` API](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat).
 * No language packs are required.
 */
export default class CxFormatNumber extends CortexElement {
    private readonly localize;
    /** The number to format. */
    value: number;
    /** The formatting style to use. */
    type: FormatNumberType;
    /** Turns off grouping separators. */
    noGrouping: boolean;
    /** The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code to use when formatting. */
    currency: string;
    /** How to display the currency. */
    currencyDisplay: FormatNumberCurrencyDisplay;
    /** The minimum number of integer digits to use. Possible values are 1-21. */
    minimumIntegerDigits: number;
    /** The minimum number of fraction digits to use. Possible values are 0-20. */
    minimumFractionDigits: number;
    /** The maximum number of fraction digits to use. Possible values are 0-0. */
    maximumFractionDigits: number;
    /** The minimum number of significant digits to use. Possible values are 1-21. */
    minimumSignificantDigits: number;
    /** The maximum number of significant digits to use,. Possible values are 1-21. */
    maximumSignificantDigits: number;
    render(): string;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-format-number': CxFormatNumber;
    }
}
