import React, { InputHTMLAttributes } from 'react'; import { ThemeOverrideProps } from '@xsolla/xui-core'; interface InputProps extends Omit, "size" | "onChange">, ThemeOverrideProps { /** * Property for specifying the value of the control. */ value?: string; /** * 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 disabling the control. */ disabled?: boolean; /** * Property for displaying a label above the input. */ label?: string; /** * 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 display an icon on the left side. */ iconLeft?: React.ReactNode; /** * Property to display an icon on the right side. */ iconRight?: React.ReactNode; /** * Add function clear for input. */ extraClear?: boolean; /** * Function triggered when user clicks on extraClear button. */ onRemove?: () => void; /** * Property for show checked status in input. Show only if not errorMessage. */ checked?: boolean; /** * Property for passing a new icon to replace the default checked icon. */ checkedIcon?: React.ReactNode; /** * Property to specify the size of the right icon. */ iconRightSize?: number | string; /** * 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; /** * Override border radius for top-left corner. */ borderTopLeftRadius?: number; /** * Override border radius for top-right corner. */ borderTopRightRadius?: number; /** * Override border radius for bottom-left corner. */ borderBottomLeftRadius?: number; /** * Override border radius for bottom-right corner. */ borderBottomRightRadius?: number; /** * Custom background color for the input. */ backgroundColor?: string; testID?: string; } declare const Input: React.ForwardRefExoticComponent>; export { Input, type InputProps };