import { CurrencyCode, MoneyInputValue, MoneyValue, FieldErrorsData } from '../..';
import { LocalizedString } from '../localized-field.types';
type LanguagesSplitByDefaultLocale = {
    related: string[];
    unrelated: string[];
};
type TouchedLocalizedString = {
    [locale: string]: boolean;
};
type CustomFormikErrors<Values> = {
    [K in keyof Values]?: FieldErrorsData;
};
export declare const RequiredValueErrorMessage: () => import("react/jsx-runtime").JSX.Element;
export declare const getLocaleFieldAttribute: (fieldGroupAttr?: string, locale?: string) => string | undefined;
export declare const getLanguageForLocale: (locale: string) => string;
export declare const splitLanguages: (defaultLocale: string, locales: string[]) => LanguagesSplitByDefaultLocale;
export declare const sortLocalesByDefaultLocaleLanguage: (defaultLocale: string, allLocales: string[]) => string[];
export declare const sortCurrencies: (defaultCurrency: CurrencyCode, allCurrencies: CurrencyCode[]) => ("ADP" | "AED" | "AFA" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "ATS" | "AUD" | "AWG" | "AYM" | "AZM" | "AZN" | "BAM" | "BBD" | "BDT" | "BEF" | "BGL" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYB" | "BYN" | "BYR" | "BZD" | "CAD" | "CDF" | "CHF" | "CLF" | "CLP" | "CNY" | "COP" | "CRC" | "CSD" | "CUC" | "CUP" | "CVE" | "CYP" | "CZK" | "DEM" | "DJF" | "DKK" | "DOP" | "DZD" | "EEK" | "EGP" | "ERN" | "ESP" | "ETB" | "EUR" | "FIM" | "FJD" | "FKP" | "FRF" | "GBP" | "GEL" | "GHC" | "GHS" | "GIP" | "GMD" | "GNF" | "GRD" | "GTQ" | "GWP" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "IEP" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "ITL" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LTL" | "LUF" | "LVL" | "LYD" | "MAD" | "MDL" | "MGA" | "MGF" | "MKD" | "MMK" | "MNT" | "MOP" | "MRO" | "MTL" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZM" | "MZN" | "NAD" | "NGN" | "NIO" | "NLG" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PTE" | "PYG" | "QAR" | "ROL" | "RON" | "RSD" | "RUB" | "RUR" | "RWF" | "SAR" | "SBD" | "SCR" | "SDD" | "SDG" | "SEK" | "SGD" | "SHP" | "SIT" | "SKK" | "SLL" | "SOS" | "SRD" | "SRG" | "SSP" | "STD" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMM" | "TMT" | "TND" | "TOP" | "TPE" | "TRL" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "USS" | "UYU" | "UZS" | "VEB" | "VEF" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XFO" | "XFU" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "YUM" | "ZAR" | "ZMK" | "ZMW" | "ZWD" | "ZWL" | "ZWN" | "ZWR")[];
export declare const getHasInvalidLocalizedFields: <TErrors extends object>(errors?: TErrors, defaultLocaleOrCurrency?: string) => boolean;
export declare const createLocalizedString: (locales: string[], existingLocalizedString: LocalizedString) => LocalizedString;
export declare const isEmpty: (localizedString?: LocalizedString) => boolean;
export declare const omitEmptyTranslations: <Translations extends LocalizedString>(localizedString: Translations) => LocalizedString;
export declare const isTouched: (touched?: TouchedLocalizedString) => boolean;
/**
 * Use this function to convert the Formik `errors` object type to
 * our custom field errors type.
 * This is primarly useful when using TypeScript.
 */
export declare function toFieldErrors<FormValues>(errors: unknown): CustomFormikErrors<FormValues>;
export declare const convertToMoneyValues: (values: MoneyInputValue[], currency: string) => Array<MoneyValue | null>;
export declare const parseMoneyValues: (moneyValues: MoneyValue[] | undefined, locale: string) => Record<CurrencyCode, MoneyInputValue>;
export declare const getHighPrecisionCurrencies: (values: Record<CurrencyCode, MoneyInputValue>, locale: string) => CurrencyCode[];
export declare const getEmptyCurrencies: (values: Record<CurrencyCode, MoneyInputValue>) => CurrencyCode[];
export {};
