import { LitElement } from 'lit';
export type FormatNumberStyle = 'decimal' | 'currency' | 'percent' | 'unit';
export type CurrencyDisplayOption = 'symbol' | 'code' | 'name' | 'narrowSymbol';
export type CurrencySignOption = 'standard' | 'accounting';
export type NotationOption = 'standard' | 'scientific' | 'engineering' | 'compact';
export type CompactDisplayOption = 'short' | 'long';
export type UnitDisplayOption = 'short' | 'long' | 'narrow';
export type SignDisplayOption = 'auto' | 'never' | 'always' | 'exceptZero';
/**
 * @element nve-format-number
 * @description A localized number formatter for currencies, percentages, units, and compact notation, backed by Intl.NumberFormat.
 * Provide a `currency` attribute when `formatStyle` is `currency`, and a `unit` attribute when `formatStyle` is `unit`.
 * @since 0.0.0
 * @entrypoint \@nvidia-elements/core/format-number
 * @slot - Numeric string to format (such as 1234567 or 1234.56). Serves as fallback before hydration.
 */
export declare class FormatNumber extends LitElement {
    #private;
    static styles: import('lit').CSSResult[];
    static readonly metadata: {
        tag: string;
        version: string;
    };
    /**
     * Optional numeric string for values supplied by JavaScript or bound data.
     * By default, the component formats the element's text content, which also serves as the SSR fallback.
     * When both are present, this property takes precedence.
     */
    number?: string;
    /**
     * Language tag (such as en-US, de-DE). Defaults to document.documentElement.lang or browser default.
     */
    locale?: string;
    /**
     * Formatting style: 'decimal' | 'currency' | 'percent' | 'unit'.
     */
    formatStyle: FormatNumberStyle;
    /**
     * ISO 4217 currency code (such as USD or EUR). Required when formatStyle is currency.
     */
    currency?: string;
    /**
     * Currency sign style: 'standard' | 'accounting'.
     */
    currencySign?: CurrencySignOption;
    /**
     * Currency display style: 'symbol' | 'code' | 'name' | 'narrowSymbol'.
     */
    currencyDisplay?: CurrencyDisplayOption;
    /**
     * Unit identifier (such as kilometer or byte). Required when formatStyle is unit.
     */
    unit?: string;
    /**
     * Unit display style: 'short' | 'long' | 'narrow'.
     */
    unitDisplay?: UnitDisplayOption;
    /**
     * Number notation: 'standard' | 'scientific' | 'engineering' | 'compact'.
     */
    notation?: NotationOption;
    /**
     * Compact notation display: 'short' | 'long'. Only applies when notation is compact.
     */
    compactDisplay?: CompactDisplayOption;
    /**
     * Sign display: 'auto' | 'never' | 'always' | 'exceptZero'.
     */
    signDisplay?: SignDisplayOption;
    /**
     * Grouping separators: 'auto' | 'always' | 'min2' | 'true' | 'false'.
     */
    useGrouping?: string;
    /**
     * Pad fraction output to at least this many digits (0-20).
     */
    minimumFractionDigits?: number;
    /**
     * Round fraction output to at most this many digits (0-20).
     */
    maximumFractionDigits?: number;
    /**
     * Pad integer output to at least this many digits (1-21).
     */
    minimumIntegerDigits?: number;
    render(): import('lit-html').TemplateResult<1>;
}
