// @flow
import {Component} from 'react'

export type Props = {
  autoFocus?: bool,
  blur?: () => void,
  errorStyle?: ?Object,
  errorText?: ?string,
  floatingHintTextOverride?: ?string, // if undefined will use hintText. Use this to override hintText
  focus?: () => void,
  hideUnderline?: boolean,
  hintText?: ?string,
  inputStyle?: Object,
  multiline?: bool,
  onBlur?: () => void,
  onClick?: (event: Event) => void,
  onChangeText?: (text: string) => void,
  onEnterKeyDown?: (event: Object) => void,
  onKeyDown?: (event: Object) => void,
  rowsMax?: number,
  maxLength?: number,
  rowsMin?: number,
  select?: () => void,
  small?: bool,
  smallLabel?: string,
  smallLabelStyle?: ?Object,
  style?: Object,
  type?: 'password' | 'text' | 'passwordVisible',
  value?: ?string,

  // Mobile only
  autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters',
  autoCorrect?: bool,
  keyboardType?: 'default' | 'email-address' | 'numeric' | 'phone-pad' | 'ascii-capable' | 'numbers-and-punctuation' | 'url' | 'number-pad' | 'name-phone-pad' | 'decimal-pad' | 'twitter' | 'web-search',
  returnKeyType?: 'done' | 'go' | 'next' | 'search' | 'send'
}

declare export default class Input extends Component<void, Props, void> { }
