import type { TDOBTypeSupport } from '../../../../common/shared/models/general'; import type { FormValues } from '../types/form'; export type customValidator = (value: number, data: string | number | Date | FormValues) => boolean; export declare const ValidationRulesForForm: { required: { value: true; message: string; }; minLength: { value: number; message: string; }; maxLength: { value: number; message: string; }; validateLength: (value: number, data: string | number | Date | FormValues) => boolean; onlyAlphabets: { value: string; message: string; }; alphabetsWithApostropheAndHyphen: { value: string; message: string; }; hanScriptWithSeparators: { value: string; message: string; }; hanOrLatinAlphaNumericSomeSpecialWords: { value: string; message: string; }; thaiOrLatinNameWithSpaceAndHyphen: { value: string; message: string; }; thaiOrLatinAlphaNumericSomeSpecialWords: { value: string; message: string; }; latinNameWithSlashApostropheHyphenAndAlias: { value: string; message: string; }; alphabetsAccentedWithApostropheAndHyphen: { value: string; message: string; }; onlyNumbers: { value: string; message: string; }; alphaNumeric: { value: string; message: string; }; alphaNumericSpaceInWords: { value: string; message: string; }; alphaNumericSomeSpecialWords: { value: string; message: string; }; alphaNumericSpaceAccented: { value: string; message: string; }; alphaNumericSomeSpecialWordsAccented: { value: string; message: string; }; ukPostcode: { value: string; message: string; }; canadianPostalCode: { value: string; message: string; }; emailPattern: { value: string; message: string; }; }; export declare enum MonthNameLength { LONG = "long", SHORT = "short" } type monthGeneratorType = { calenderType?: CalendarType; localeType?: LocaleType; monthNameLength?: MonthNameLength; }; type ReturnType = { label: string; value: number; }; export declare enum CalendarType { Gregorian = "gregory", Buddhist = "buddhist", Chinese = "chinese", Coptic = "coptic", EthiopicAmeteAlem = "ethioaa", Ethiopic = "ethiopic", Hebrew = "hebrew", Islamic = "islamic", IslamicUmalqura = "islamic-umalqura", Persian = "persian", BikramSambat = "bikram-sambat", Minguo = "roc" } export declare enum LocaleType { English = "en", Spanish = "es", French = "fr", German = "de", Italian = "it", Japanese = "ja", Korean = "ko", Chinese = "zh", Arabic = "ar", Russian = "ru" } export declare const monthToValueMapper: Record; export declare const fullMonths: string[]; type GetMaxDaysInMonthProp = { month: number; year: number; calendarType: CalendarType; }; /** * Intl calendar ids whose year is a fixed offset from the Gregorian year. * * The applicant types (and the document prints) the era year, but every `Date` * and `Intl` computation needs the Gregorian one — read the raw era year as * Gregorian and February in 民國113 (2024, a leap year) is read as 113 AD and * comes back with 28 days. (FDEL-52329) * * ponytail: Minguo only. `Buddhist` is offset by 543 the same way, but no * country config sets it today, so mapping it here would change untested * behaviour for no caller. Add it when a Buddhist-era country ships. */ export declare const CALENDAR_GREGORIAN_YEAR_OFFSET: Partial>; export declare const toGregorianYear: (year: number, calendarType?: CalendarType) => number; /** * Digits the year input accepts, per calendar. Minguo years run 1–114+, so a * living applicant's birth year is 2 or 3 digits (民國75 = 1986), not 4. */ export declare const CALENDAR_YEAR_LENGTH: Partial>; /** * Countries whose review screen shows dates in a non-Gregorian era, because * that is what their ID document prints. * * One list, read from both sides: the per-country review config builds its * `calendarConfig` from it, and `useReviewUpdateFactory` reads it to convert the * DOB on prefill and submit. Two lists could disagree, and a form that displays * one era while the submit path assumes another writes a DOB off by the era gap. */ export declare const COUNTRY_CALENDAR: Record; /** Intl calendar id → the era key `transformDateToGregorian` converts with. */ export declare const CALENDAR_ERA: Partial>; /** * The era a country's review-screen DOB is displayed in. * * Gated on `localisationEnabled`: with the flag off, every localisation country * falls back to the default (Gregorian) review config, so the applicant typed a * Gregorian year. Converting anyway would move the DOB by the era gap for every * customer without the flag. */ export declare const dobEraForCountry: (country?: string | null, localisationEnabled?: boolean) => TDOBTypeSupport; export declare function getMaxDaysInMonth({ month, year, calendarType, }: GetMaxDaysInMonthProp): number; export declare const monthGenerator: ({ calenderType, localeType, monthNameLength, }: monthGeneratorType) => ReturnType[]; export declare const requiredConsents: string[]; export declare const ResultStates: { FAIL: "failed"; SUCCESS: "success"; PARTIAL: "partial"; PENDING: "pending"; UPLOAD_SUCCESS: "success"; UPLOAD_FAIL: "failed"; PROVIDER_ERROR: "partial"; TIMEOUT: "timeout"; }; export declare enum MiddleNameDisplayType { NO_MIDDLE_NAME = "No middle name", INITIAL_ONLY = "Initial only", FULL_MIDDLE_NAME = "Full middle name" } export {}; //# sourceMappingURL=form.const.d.ts.map