import type { HTMLInputTypeAttribute, ReactElement, ReactNode, Ref, RefAttributes } from "react";
import type { UseTextFieldProps } from "../../hooks";
import type { DOMProps, FocusEvents } from "../../types";
import "./TextField.css";
export type TextFieldElementType = HTMLInputElement;
export interface TextFieldProps extends DOMProps, FocusEvents, UseTextFieldProps, RefAttributes<TextFieldElementType> {
    className?: string;
    errorMessage?: string;
    children?: ReactNode;
    label?: string;
    type?: Exclude<HTMLInputTypeAttribute, "button" | "checkbox" | "color" | "date" | "datetime-local" | "file" | "image" | "month" | "radio" | "range" | "reset" | "submit" | "week">;
    prefixInside?: ReactElement;
    prefixOutside?: ReactElement;
    suffixInside?: ReactElement;
    suffixOutside?: ReactElement;
}
export type TextFieldRef = Ref<TextFieldElementType>;
declare const TextField: import("react").MemoExoticComponent<({ ref, ...props }: TextFieldProps) => import("react/jsx-runtime").JSX.Element>;
export { TextField };
