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 };