import * as React from 'react'; import * as PropTypes from 'prop-types'; import Group from './Group'; import Search from './Search'; import TextArea from './TextArea'; import { ConfigConsumerProps } from '../config-provider'; import Password from './Password'; import { Omit } from '../_util/type'; declare const InputSizes: ["small", "default", "large"]; export interface InputProps extends Omit, 'size' | 'prefix'> { prefixCls?: string; size?: (typeof InputSizes)[number]; onPressEnter?: React.KeyboardEventHandler; addonBefore?: React.ReactNode; addonAfter?: React.ReactNode; prefix?: React.ReactNode; suffix?: React.ReactNode; allowClear?: boolean; } declare class Input extends React.Component { static Group: typeof Group; static Search: typeof Search; static TextArea: typeof TextArea; static Password: typeof Password; static defaultProps: { type: string; disabled: boolean; }; static propTypes: { type: PropTypes.Requireable; id: PropTypes.Requireable; size: PropTypes.Requireable<"small" | "default" | "large">; 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; allowClear: PropTypes.Requireable; }; static getDerivedStateFromProps(nextProps: InputProps): { value: string | number | string[] | undefined; } | null; input: HTMLInputElement; constructor(props: InputProps); getSnapshotBeforeUpdate(prevProps: InputProps): null; componentDidUpdate(): void; handleKeyDown: (e: React.KeyboardEvent) => void; focus(): void; blur(): void; select(): void; getInputClassName(prefixCls: string): string; saveInput: (node: HTMLInputElement) => void; setValue(value: string, e: React.ChangeEvent | React.MouseEvent, callback?: () => void): void; handleReset: (e: React.MouseEvent) => void; handleChange: (e: React.ChangeEvent) => void; renderClearIcon(prefixCls: string): JSX.Element | null; renderSuffix(prefixCls: string): JSX.Element | null; renderLabeledInput(prefixCls: string, children: React.ReactElement): JSX.Element; renderLabeledIcon(prefixCls: string, children: React.ReactElement): JSX.Element; renderInput(prefixCls: string): JSX.Element; renderComponent: ({ getPrefixCls }: ConfigConsumerProps) => JSX.Element; render(): JSX.Element; } export default Input;