import React, { InputHTMLAttributes, ReactNode } from 'react'; import { ThemeOverrideProps } from '@xsolla/xui-core'; /** * Supported payment system keys */ type PaymentSystemKey = "visa" | "mastercard" | "amex" | "diners" | "maestro" | "unionpay" | "discover" | "jcb" | "aura" | "cartesbancaires" | "cirrus" | "dankort" | "elo" | "hipercard" | "mir" | "naranja" | "paypal" | "sodexo" | "uatp"; interface InputPaymentProps extends Omit, "size" | "onChange">, ThemeOverrideProps { /** * Property for specifying the value of the control. */ value?: string; /** * Property to display the icon to the left of the content. */ icon?: ReactNode; /** * Property for specifying the placeholder of the control. */ placeholder?: string; /** * Event handler when the value changes (for controlled mode). */ onChange?: (e: React.ChangeEvent) => void; /** * Event handler when the text changes (alternative to onChange). */ onChangeText?: (text: string) => void; /** * Property for changing the size of the input. */ size?: "xl" | "lg" | "md" | "sm" | "xs"; /** * Property for specifying the name of the control. */ name?: string; /** * Property for disabling the control and highlighting it as an inactive state. */ disabled?: boolean; /** * Property for displaying an error message and highlighting the control as invalid. */ errorMessage?: string; /** * Property for displaying an error and highlighting the control as invalid. */ error?: boolean; /** * Property to specify the possible payment systems displayed on the right. */ possiblePayments?: PaymentSystemKey[]; /** * Property to set the maximum number of visible possible payment systems at the same time on the right side of the input. */ maxVisiblePossiblePayments?: number; /** * Property to show the recognized payment system (all possible payment systems are hidden and only the current one passed by this prop is displayed). */ recognizedPayment?: PaymentSystemKey; /** * Callback when card type is auto-detected from the input value. */ onRecognizedPaymentChange?: (payment: PaymentSystemKey | null) => void; /** * Property to enable automatic payment system detection from input value. */ autoDetect?: boolean; /** * Unique identifier for the input element. Used for accessibility linking. */ id?: string; /** * Accessible label for screen readers when no visible label is present. */ "aria-label"?: string; testID?: string; } declare const InputPayment: React.ForwardRefExoticComponent>; export { InputPayment, type InputPaymentProps, type PaymentSystemKey };