import { MoneyInputProps } from './money-input.types'; /** * # MoneyInput * * A specialized input component for entering monetary amounts with currency selection. * Supports high precision values and automatic locale-based formatting. * * ## Usage * * ### Modern API (Recommended) * * Use the modern event handlers for better type safety and cleaner code: * * ```tsx * function MyComponent() { * const [value, setValue] = useState({ * amount: "", * currencyCode: "USD", * }); * * return ( * console.log("Amount:", amount)} * onCurrencyChange={(currency) => console.log("Currency:", currency)} * /> * ); * } * ``` * * ### Legacy API (Deprecated) * * For backward compatibility only - migrate to modern API when possible: * * ```tsx * function LegacyComponent() { * const [value, setValue] = useState({ amount: "", currencyCode: "USD" }); * * const handleChange = (event: TCustomEvent) => { * const { name, value } = event.target; * if (name?.endsWith(".amount")) { * setValue(prev => ({ ...prev, amount: value as string })); * } else if (name?.endsWith(".currencyCode")) { * setValue(prev => ({ ...prev, currencyCode: value as CurrencyCode })); * } * }; * * return ( * * ); * } * ``` * * ## Features * * - **Type-safe currency handling** with CurrencyCode enum * - **High precision support** for values exceeding standard currency precision * - **Automatic locale formatting** using React Aria NumberField * - **Accessibility compliant** following WCAG 2.1 AA standards * - **Dual API support** for backward compatibility and modern development */ export declare const MoneyInput: { (props: MoneyInputProps): import("react/jsx-runtime").JSX.Element; getAmountInputId(id?: string): string | undefined; getCurrencyDropdownId(id?: string): string | undefined; convertToMoneyValue: (value: import('..').MoneyInputValue, locale: string) => import('..').MoneyValue | null; parseMoneyValue: (moneyValue: import('..').MoneyValue, locale: string) => import('..').MoneyInputValue; isEmpty: (formValue: import('..').MoneyInputValue) => boolean; isHighPrecision: (formValue: import('..').MoneyInputValue, locale: string) => boolean; displayName: string; };