import { type HTMLAttributes } from 'react';
import { type VariantProps } from 'class-variance-authority';
declare const moneyVariants: (props?: ({
size?: "sm" | "md" | "lg" | null | undefined;
tone?: "default" | "muted" | "positive" | "negative" | null | undefined;
strikethrough?: boolean | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export type MoneyDecimals = 'full' | 'muted' | 'hideWhenZero';
export interface MoneyProps extends Omit, 'children'>, Omit, 'tone'> {
/**
* Amount in the SMALLEST currency unit (cents), the kit's price
* convention — never a pre-formatted string. Zero-decimal currencies
* (JPY, KRW …) take the major amount, as `formatPrice` expects.
*/
value: number;
/** ISO-4217 code. Defaults to EUR, the practice currency. */
currency?: string;
/** BCP 47 locale. Defaults to the active i18n language. */
locale?: string;
/**
* Colour. `auto` follows the sign — a negative amount reads destructive,
* everything else inherits the default. Explicit tones always win.
*/
tone?: 'default' | 'muted' | 'positive' | 'negative' | 'auto';
/**
* What to do with the fraction:
* `full` (default) leaves it alone;
* `muted` de-emphasises it so the whole units read first;
* `hideWhenZero` drops it ONLY when it is all zeros, so a price is
* never rounded away in the display.
*/
decimals?: MoneyDecimals;
/** Force a leading `+` on positive amounts (a credit, a movement). */
signDisplay?: 'auto' | 'always';
}
export declare const Money: import("react").ForwardRefExoticComponent>;
export {};
//# sourceMappingURL=money.d.ts.map