import { AxiosInstance } from "axios";
import { ElementFactory } from "../Page/ElementsOfFormFactory/ElementFactory";
import { IMainStateFactory } from "../Types";
export declare class TextBoxFactory extends ElementFactory {
    #private;
    caption: string;
    disabled: boolean;
    readonly: boolean;
    required: boolean;
    minLength: number | null;
    maxLength: number | null;
    showHasChangeFlag: boolean;
    dirLeftToRight: boolean;
    placeHolder?: string | undefined;
    tabIndex?: number | undefined;
    delyOnChange?: number | undefined;
    forceUpdate: () => void;
    private timerForLoad;
    private clearTimerForLoad;
    onChangeDely: (onChange: (e: string) => void) => void;
    get value(): string | null;
    setValue: (value: string) => void;
    deseriallize: (e: any) => void;
    clearData: () => void;
    get defaultValue(): string | null;
    focusToElement: () => void;
    constructor(_mainStateFactory: IMainStateFactory, _fieldName: string, _dispose: () => void, caption: string, disabled: boolean, readonly: boolean, required: boolean, minLength: number | null, maxLength: number | null, showHasChangeFlag: boolean, dirLeftToRight: boolean, placeHolder?: string | undefined, tabIndex?: number | undefined, delyOnChange?: number | undefined, initialValue?: string, payLoadKey?: string, responseKey?: string, history?: {
        key: string;
        axios: (controllerPath: string) => AxiosInstance;
        controllerPath: string;
        actionPath?: string;
    });
    restartDefaultValue: () => void;
    refreshHasChange: () => void;
    validate: () => void;
    private validateNormal;
    private validateRequired;
    private validateMinLength;
    private validateMaxLength;
    isValueEmpty: () => boolean;
    isValueNotEmpty: () => boolean;
}
