import React from 'react';
import { type SupportedLocale } from '../locales';
import { type RoundingMode } from '../services/rounding.service';
import { type NumBeautyOptions } from '../index';
import { type NumberPart, type BeautifyToPartsOptions } from '../services/parts.service';
export interface UseNumBeautyOptions extends BeautifyToPartsOptions {
}
export interface UseNumBeautyResult {
    formatted: string;
    parts: NumberPart[];
}
export declare function useNumBeauty(value: number, options?: UseNumBeautyOptions): UseNumBeautyResult;
export interface NumDisplayProps extends UseNumBeautyOptions {
    value: number;
    className?: string;
    style?: React.CSSProperties;
    styled?: boolean;
    renderPart?: (part: NumberPart, index: number) => React.ReactNode;
    ariaLabel?: string;
    as?: React.ElementType;
}
export declare function NumDisplay({ value, className, style, styled, renderPart, ariaLabel, as: Component, ...options }: NumDisplayProps): React.ReactElement;
export interface NumPartsProps extends UseNumBeautyOptions {
    value: number;
    children: (part: NumberPart, index: number) => React.ReactNode;
    className?: string;
    style?: React.CSSProperties;
    as?: React.ElementType;
}
export declare function NumParts({ value, children, className, style, as: Component, ...options }: NumPartsProps): React.ReactElement;
export type { NumberPart, NumBeautyOptions, SupportedLocale, RoundingMode };
