import React from "react";
import { HTMLInputProps, InputGroupProps as BlueprintInputGroupProps, MaybeElement } from "@blueprintjs/core";
import { IntentTypes } from "../../common/Intent";
import { ValidIconName } from "../Icon/canonicalIconNames";
import { InvisibleCharacterWarningProps } from "./useTextValidation";
export interface TextFieldProps extends Partial<Omit<BlueprintInputGroupProps, "intent" | "leftIcon" | "leftElement"> & HTMLInputProps> {
    /**
     * Intent state of the text field.
     */
    intent?: IntentTypes | "edited" | "removed";
    /**
     * The input element uses the full horizontal width of the parent container.
     */
    fullWidth?: boolean;
    /**
     * Left aligned icon, can be a canonical icon name or an `Icon` element.
     */
    leftIcon?: ValidIconName | MaybeElement;
    /**
     * If set, allows to be informed of invisible, hard to spot characters in the string value.
     */
    invisibleCharacterWarning?: InvisibleCharacterWarningProps;
    /** If true pressing the Escape key will blur/de-focus the input field. Default: false */
    escapeToBlur?: boolean;
}
/**
 * Text input field.
 */
export declare const TextField: ({ className, fullWidth, leftIcon, invisibleCharacterWarning, escapeToBlur, intent, ...otherBlueprintInputGroupProps }: TextFieldProps) => React.JSX.Element;
export default TextField;
