import { Component, FC, TextareaHTMLAttributes, InputHTMLAttributes, CSSProperties, ReactNode } from 'react'; import { IconProps } from '../icon/Icon.js'; interface RowInputProps extends Omit, 'size'> { className?: string; style?: CSSProperties; prefixIcon?: IconProps['icon']; suffixIcon?: IconProps['icon']; size?: 'small' | 'middle' | 'large'; addonBefore?: ReactNode; addonAfter?: ReactNode; onPressEnter?: () => void; showCount?: boolean; status?: 'warning' | 'error'; rowType?: 'default' | 'search' | 'password' | 'textarea'; suffix?: ReactNode; } interface SearchProps extends RowInputProps { onSearch?: () => void; enterButton?: string; loading?: boolean; } interface PasswordProps extends RowInputProps { visibilityToggle?: boolean; } type TextAreaProps = RowInputProps & Omit, keyof InputHTMLAttributes> & {}; type InputProps = SearchProps & PasswordProps & TextAreaProps; declare class KInput extends Component { static Search: FC; static Password: FC; static TextArea: FC; render(): JSX.Element; } export { InputProps, KInput as default };