import * as React from "react";
import { FormElementSize, FormElementRequirement } from "../utils/Forms";
import { Values } from "../utils/types";
import "./TextInput2.less";
export interface Props {
    className?: string;
    name: string;
    label: React.ReactNode;
    hideLabel?: boolean;
    placeholder?: string;
    helpText?: React.ReactNode;
    icon?: React.ReactNode;
    requirement?: Values<typeof FormElementRequirement>;
    obscurable?: boolean;
    errorOnEmpty?: boolean;
    errorOnFocus?: boolean;
    errorValidation?: (value: string) => string | null;
    value: string;
    onChange?: React.ChangeEventHandler<HTMLInputElement>;
    onFocus?: React.FocusEventHandler<HTMLInputElement>;
    onBlur?: React.FocusEventHandler<HTMLInputElement>;
    size?: Values<typeof FormElementSize>;
    autoFocus?: boolean;
}
export declare const cssClass: {
    CONTAINER: string;
    INFO_ROW: string;
    INFO_ROW_LABEL_HIDDEN: string;
    INFO_REQUIREMENT: string;
    LABEL: string;
    LABEL_HIDDEN: string;
    LEADING_ICON: string;
    INPUT_CONTAINER: string;
    INPUT_CONTAINER_FOCUSED: string;
    INPUT_CONTAINER_ERROR: string;
    INPUT_CONTAINER_DISABLED: string;
    INPUT: string;
    FOOTER_TEXT: string;
    ERROR_MESSAGE: string;
    ERROR_ICON: string;
    HIDE_SHOW: string;
};
declare const TextInput2: React.FC<Props>;
export default TextInput2;
