import { ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react';
import { DataTrackingId, LayoutUtilProps, Size, MaxLengthCounterProps } from '../../../types';
import { HelperProps } from '../../../internal/components';
import { FieldLabelProps } from '../../FieldLabel';
export type TextFieldProps = Omit<ComponentPropsWithoutRef<"input">, "size" | "prefix"> & LayoutUtilProps & {
    /**
     * Error state for the field. Pass `true` to indicate error styling without a message.
     * Pass a string, string[], or ReactElement (deprecated) for error messages.
     */
    error?: boolean | string | ReactElement | string[];
    /**
     * Label for the field.
     * Omitting `label` is deprecated — it will be required in v4.0.0. Use `hideLabel` to visually hide it.
     * Passing `ReactNode` is deprecated — use a plain string with inline markdown instead.
     */
    label?: FieldLabelProps["children"];
    prefix?: string | ReactElement;
    suffix?: string | ReactElement;
    size?: Extract<Size, "small" | "medium" | "large">;
    type?: "text" | "email" | "tel" | "url" | "password" | "number";
    description?: HelperProps["description"];
    /**
     * @deprecated No longer used. Error messages always use `aria-live="assertive"`.
     */
    errorAriaLive?: HelperProps["errorAriaLive"];
    hint?: HelperProps["hint"];
    /**
     * Warning message(s) to display. Supports a single string or an array of strings.
     */
    warning?: string | string[];
    loading?: boolean;
    disabled?: boolean;
    labelProps?: FieldLabelProps;
    moreInfo?: ReactNode;
    /**
     * When `true`, hides the visible label and moves it to `aria-label` on the input.
     * Requires `label` to be set — the label is always needed for accessibility.
     * @default false
     */
    hideLabel?: boolean;
    /**
     * When `true`, applies a subdued primary background to the field to draw attention to it.
     * @default false
     */
    isHighlighted?: boolean;
} & MaxLengthCounterProps & DataTrackingId;
export declare const TextField: import('react').ForwardRefExoticComponent<TextFieldProps & import('react').RefAttributes<HTMLInputElement>>;
