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