/**
 * Nombres de países por código ISO (ej. { CO: "Colombia" }).
 * Si se define, la lista usa estos nombres en lugar del `name` por defecto.
 */
export type CurrencyCountryNames = Record<string, string>;
export interface CurrencyTranslations {
    label?: string;
    placeholder?: string;
    searchPlaceholder?: string;
    selectCurrencyAriaLabel?: string;
    expandListAriaLabel?: string;
    noCurrenciesFound?: string;
    /** Nombres de países por código ISO (country). Clave = código (ej. "CO") */
    countries?: CurrencyCountryNames;
}
/**
 * Opción de país/región + moneda para el selector (misma bandera que en Phone salvo `EU` = euro con bandera UE).
 */
export interface CurrencyOption {
    name: string;
    /** Código ISO de país o `EU` para euro (Unión Europea). */
    country: string;
    currency: string;
}
export interface CurrencyValue {
    country: string;
    currency: string;
    amount: string;
}
export interface CurrencyInputProps {
    id?: string;
    label?: string;
    required?: boolean;
    error?: boolean;
    errorText?: string;
    value?: CurrencyValue;
    onChange?: (value: CurrencyValue) => void;
    onBlur?: () => void;
    disabled?: boolean;
    name?: string;
    /**
     * Si es true, bandera y código de moneda no se pueden cambiar (sin menú ni chevron).
     * El campo de importe sigue siendo editable salvo que `disabled` sea true.
     */
    currencySelectorLocked?: boolean;
    /**
     * Si es false, oculta el campo de importe y muestra solo el selector de moneda.
     * @default true
     */
    showInput?: boolean;
    /** Lista de opciones; por defecto se usan países alineados con el componente Phone. */
    options?: CurrencyOption[];
    /**
     * Clase Tailwind para limitar la altura del listado dentro del dropdown
     * (la lista sigue siendo scrolleable internamente).
     * @default "max-h-60"
     */
    listMaxHeight?: string;
    translations?: CurrencyTranslations;
    /**
     * Dígitos máximos tras el separador decimal en el importe.
     * `0` (por defecto): solo enteros (comportamiento anterior).
     * `2`: permite un separador `.` o `,` y hasta 2 decimales.
     */
    maxFractionDigits?: number;
}
//# sourceMappingURL=Currency.types.d.ts.map