import React from 'react'; import InputNumber from './InputNumber'; import InputPassword from './InputPassword'; import InputRadio from './InputRadio'; import TextArea from './TextArea'; export interface InputProps extends Omit, 'size' | 'prefix'> { size?: 'small' | 'regular'; isError?: boolean; hint?: string; prefix?: React.ReactNode; sufix?: React.ReactNode; error?: string; label?: string; isPlain?: boolean; showCount?: boolean; maxLength?: number; value?: string; noBorder?: boolean; } export interface NumberInputProps extends Omit, 'size' | 'prefix' | 'onChange' | 'value'> { size?: 'small' | 'regular'; isError?: boolean; hint?: string; prefix?: React.ReactNode; sufix?: React.ReactNode; label?: string; onChange?: (value: number) => void; value?: number; min?: number; max?: number; isPlain?: boolean; error?: string; showCount?: boolean; maxLength?: number; } export interface InputPasswordProps extends Omit, 'size' | 'prefix'> { size?: 'small' | 'regular'; isError?: boolean; hint?: string; error?: string; label?: string; value?: string; } export interface TextAreaProps extends React.HTMLProps { isError?: boolean; hint?: string; error?: string; label?: string; showCount?: boolean; maxLength?: number; value?: string; } export interface RadioProps extends Omit, 'ref' | 'as' | 'forwardedAs'> { } export interface IInput extends React.ForwardRefExoticComponent> { Number: typeof InputNumber; Radio: typeof InputRadio; Password: typeof InputPassword; TextArea: typeof TextArea; }