import * as React from 'react'; import { IconOptions } from '../Icon'; export interface TextFieldProps { /** The label of the field */ label: string; /** The value of the field */ value?: string; /** The type of input */ type?: 'text' | 'email' | 'password' | 'tel' | 'search' | 'url'; /** Set to true to display input with error */ error?: boolean; /** Set to true to disable the input */ disabled?: boolean; /** Set the max width */ maxWidth?: number; /** Set the max character length of the input */ maxLength?: number; /** Set to true to display as a textarea */ multiline?: boolean; /** Set to true to auto focus the input */ autoFocus?: boolean; /** Optional helper text */ helperText?: React.ReactNode; /** Optional icon to display */ icon?: React.ReactNode | IconOptions; /** Optional text mask, only works with type='text' and non-multiline */ mask?: Array | ((value: string) => Array); /** Set to false to disable the mask guide while typing */ maskGuide?: boolean; /** The mask's placeholder character (defaults to '_') */ maskPlaceholderChar?: string; /** Preserves the text positions when deleting characters in a masked input */ keepCharPositions?: boolean; /** A function to modify the value of a masked input */ pipe?: (conformedValue: string, config: any) => false | string | { value: string; indexesOfPipedChars: number[]; }; /** Called when the value changes */ onChange?: (value: string) => any; /** Called when the input loses focus */ onBlur?: React.FocusEventHandler; /** Called when the input becomes focused */ onFocus?: React.FocusEventHandler; /** Called when the input is clicked */ onClick?: (event: React.MouseEvent) => any; /** The test id of the input */ testId?: string; } export declare const TextField: React.SFC; export default TextField;