import * as React from 'react'; import { IRecoil } from '../../index'; export interface IInputProps extends IRecoil { id?: string; ref?: string; type?: string; icon?: string; title?: string; placeholder?: string; value?: string | string[]; defaultValue?: string | string[]; style?: Object; errorInline?: boolean; errorDirection?: 'left' | 'top' | 'right' | 'bottom'; error?: boolean; errorMessage?: string | JSX.Element; rows?: number; cols?: number; block?: boolean; autoExpand?: boolean; onBlur?: any; onChange?: (value: any, event: React.FormEvent) => void; scrollHeight?: number; focusOnMount?: boolean; focusDelay?: number; advanced?: boolean; maxLength?: number; max?: number; min?: number; name?: string; required?: boolean; autoComplete?: string; disableKeys?: Array; inputSize?: number; inputId?: any; material?: boolean; pattern?: string; } export interface IInputState { checked?: boolean; value?: string | string[]; mouseOut?: boolean; } export default class Input extends React.Component { state: IInputState; static defaultProps: { advanced: boolean; type: string; }; constructor(props: IInputProps); setCurrentValue(props?: Readonly<{ children?: React.ReactNode; }> & Readonly): string | string[]; componentDidUpdate(prevProps: IInputProps): void; componentDidMount(): void; componentWillUnmount(): void; focusOnMount(): void; focus: (e: any) => void; blur: (event: React.MouseEvent) => void; mouseOut(): void; onChange: (event: React.KeyboardEvent) => void; limit(max: number): void; setValue(value: string, event: React.FormEvent): void; disableKeys(event: any): boolean; onKeyDown: (event: any) => void; render(): JSX.Element; }