import { TComponentOmitProps } from "../../frontend-engine"; import { IBaseFieldSchema } from "../types"; import { CountryData } from "./data"; import { PhoneNumberInputProps } from "@lifesg/react-design-system/phone-number-input"; interface IContactFieldProps extends PhoneNumberInputProps { defaultCountry?: TCountry; enableSearch?: boolean | undefined; } export type TSingaporeNumberRule = "default" | "house" | "mobile"; export type TCountry = (typeof CountryData)[number][0]; export type TCallingCodeMap = Map; export interface IContactFieldValidationRule { contactNumber?: { internationalNumber: boolean | Omit; singaporeNumber?: never; } | { internationalNumber?: never; singaporeNumber: TSingaporeNumberRule; }; } export interface ISelectedCountry { prefix: string | undefined; name: TCountry; } export interface IParsedPhoneNumber { prefix: string; number: string; } export interface IContactFieldSchema extends IBaseFieldSchema<"contact-field", V, IContactFieldValidationRule>, TComponentOmitProps { } export {};