import * as React from 'react'; import * as PropTypes from 'prop-types'; import Group from './Group'; import Search from './Search'; import TextArea from './TextArea'; import { Omit } from '../_util/type'; export interface InputProps extends Omit, 'size' | 'prefix'> { prefixCls?: string; size?: 'large' | 'default' | 'small'; onPressEnter?: React.KeyboardEventHandler; addonBefore?: React.ReactNode; addonAfter?: React.ReactNode; prefix?: React.ReactNode; suffix?: React.ReactNode; } export default class Input extends React.Component { static Group: typeof Group; static Search: typeof Search; static TextArea: typeof TextArea; static defaultProps: { prefixCls: string; type: string; disabled: boolean; }; static propTypes: { type: PropTypes.Requireable; id: PropTypes.Requireable; size: PropTypes.Requireable; maxLength: PropTypes.Requireable; disabled: PropTypes.Requireable; value: PropTypes.Requireable; defaultValue: PropTypes.Requireable; className: PropTypes.Requireable; addonBefore: PropTypes.Requireable; addonAfter: PropTypes.Requireable; prefixCls: PropTypes.Requireable; onPressEnter: PropTypes.Requireable<(...args: any[]) => any>; onKeyDown: PropTypes.Requireable<(...args: any[]) => any>; onKeyUp: PropTypes.Requireable<(...args: any[]) => any>; onFocus: PropTypes.Requireable<(...args: any[]) => any>; onBlur: PropTypes.Requireable<(...args: any[]) => any>; prefix: PropTypes.Requireable; suffix: PropTypes.Requireable; }; input: HTMLInputElement; handleKeyDown: (e: React.KeyboardEvent) => void; focus(): void; blur(): void; select(): void; getInputClassName(): any; saveInput: (node: HTMLInputElement) => void; renderLabeledInput(children: React.ReactElement): React.ReactElement; renderLabeledIcon(children: React.ReactElement): React.ReactElement; renderInput(): React.ReactElement; render(): React.ReactElement; }