import * as React from 'react'; import * as PropTypes from 'prop-types'; import Group from './Group'; import Search from './Search'; import TextArea from './TextArea'; import Password from './Password'; import { Omit } from '../_util/type'; import ClearableLabeledInput from './ClearableLabeledInput'; import { ConfigConsumerProps } from '../config-provider'; export 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; } export declare function fixControlledValue(value: T): "" | T; export declare function resolveOnChange(target: HTMLInputElement | HTMLTextAreaElement, e: React.ChangeEvent | React.MouseEvent, onChange?: (event: React.ChangeEvent) => void): void; export declare function getInputClassName(prefixCls: string, size?: typeof InputSizes[number], disabled?: boolean): string; export interface InputState { value: any; } 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; }; 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; }; input: HTMLInputElement; clearableInput: ClearableLabeledInput; removePasswordTimeout: number; constructor(props: InputProps); static getDerivedStateFromProps(nextProps: InputProps): { value: string | number | string[] | undefined; } | null; componentDidMount(): void; componentDidUpdate(): void; getSnapshotBeforeUpdate(prevProps: InputProps): null; componentWillUnmount(): void; focus(): void; blur(): void; select(): void; saveClearableInput: (input: ClearableLabeledInput) => void; saveInput: (input: HTMLInputElement) => void; setValue(value: string, callback?: () => void): void; handleReset: (e: React.MouseEvent) => void; renderInput: (prefixCls: string) => JSX.Element; clearPasswordValueAttribute: () => void; handleChange: (e: React.ChangeEvent) => void; handleKeyDown: (e: React.KeyboardEvent) => void; renderComponent: ({ getPrefixCls }: ConfigConsumerProps) => JSX.Element; render(): JSX.Element; } export default Input;