import React from 'react';
import { ComponentWithClass } from '../../common/ComponentWithClass';
import { InputValidationProps } from '../../common/InputValidationProps';
type TextInputType = 'color' | 'date' | 'datatime-local' | 'email' | 'file' | 'image' | 'month' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'time' | 'url' | 'week';
export interface TextInputProps extends ComponentWithClass, InputValidationProps {
    /**
     * Toggle whether to auto focus the component upon initial render.
     */
    autoFocus?: boolean;
    /**
     * Optional adornment to display to the right of the input value.
     */
    endAdornment?: React.ReactNode;
    /**
     * Optional HTML `id` attribute to apply to the component.
     */
    id?: string;
    /**
     * Toggles whether the component is disabled or not (preventing user interaction).
     */
    isDisabled?: boolean;
    /**
     * Toggles whether the component is invalid or not.
     */
    isInvalid?: boolean;
    /**
     * Label to display within the component.
     */
    label: string;
    /**
     * HTML `name` attribute to apply to the component.
     */
    name: string;
    /**
     * Optional handler invoked when the `onBlur` event is emitted.
     */
    onBlur?: (event: React.FormEvent) => void;
    /**
     * Optional handler invoked when the value of the component changes.
     */
    onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
    /**
     * Optional handler invoked when the `onKeyDown` event is emitted.
     */
    onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
    /**
     * Optional adornment to display to the left of the input value.
     */
    startAdornment?: React.ReactNode;
    /**
     * HTML `type` attribute to apply to the component.
     */
    type?: TextInputType;
    /**
     * Optional HTML `value` attribute to apply to the component.
     */
    value?: string;
}
export declare const TextInput: React.MemoExoticComponent<React.ForwardRefExoticComponent<TextInputProps & React.RefAttributes<HTMLInputElement>>>;
export {};
//# sourceMappingURL=TextInput.d.ts.map