import * as React from 'react'; import { InputChangeEvent, TextInputProps } from '../../common'; export declare type TextFieldChangeEvent = InputChangeEvent; export interface TextFieldProps extends TextInputProps { /** * Allows multi-line input from the user. Either a boolean * or a number specifying the amount of rows to show. * @default false */ multiline?: boolean | number; /** * Allows resizing the text field if being used as a multi-line input. * @default false */ resizable?: boolean | 'auto' | 'vertical' | 'horizontal'; /** * Shows a clearing icon which resets the input to an empty string. * @default false */ clearable?: boolean; /** * Event emitted when the clear button was pressed. Will always be fired after * the onChange event, i.e., after the value was set / proposed. */ onClear?(): void; /** * Gets the reference to the underlying input or textarea element. * @ignore */ inputRef?(instance: HTMLElement | null): void; /** * @ignore */ children?: void; } export interface TextFieldState { controlled: boolean; focused: boolean; reveal: boolean; value: string; error?: React.ReactChild; } /** * A text field for custom user input. */ export declare const TextField: React.SFC;