/// <reference types="node" />
import React, { Component } from "react";
import { InputImplement } from '../../types/input.implement';
import { TextInputProps, TextInputValueType } from './text.types';
interface IState {
    value: TextInputValueType;
    value_when_focus: TextInputValueType;
    error: boolean;
}
export declare class TextInput extends Component<TextInputProps, IState> implements InputImplement<TextInputValueType> {
    state: IState;
    validationTimeout: NodeJS.Timeout | undefined;
    inputRef: HTMLInputElement | undefined;
    shouldComponentUpdate(nextProps: TextInputProps, nextState: IState): boolean;
    setValue(value: TextInputValueType, withoutEffect?: boolean): Promise<TextInputValueType>;
    getValue(): TextInputValueType;
    clear(): Promise<TextInputValueType>;
    validation(): boolean;
    onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
    private onClick;
    private onBlur;
    private onFocus;
    click: () => void;
    focus: () => void;
    blur: () => void;
    render(): React.JSX.Element;
}
export {};
