import React from "react"; import { FieldLabel } from "src/primitives/Field"; import { type IconLike } from "src/utils/withIconSize"; type InputSize = "small" | "medium" | "large"; export interface InputProps extends Omit, "size" | "prefix" | "value"> { /** Controlled value. */ value?: string | number; /** Size of the input. */ size?: InputSize; /** Input type. */ type?: string; /** Label displayed above the input. */ label?: string; /** Error message displayed below the input. */ error?: string; /** Help text displayed below the input. Accepts string or ReactNode. */ helpText?: React.ReactNode; /** Content rendered before the input. Accepts an element, a component * reference (e.g. `Search` from lucide-react), or any other React node. */ prefix?: IconLike; /** Content rendered after the input. Accepts an element, a component * reference (e.g. `Search` from lucide-react), or any other React node. */ suffix?: IconLike; /** Removes borders from the input. */ nakedInput?: boolean; /** HTML size attribute for the input element. */ contentSize?: number; /** Maximum character limit. Counter visible at 85%. */ maxLength?: number; /** Allow typing past maxLength, show error styling on count. */ unlimitedChars?: boolean; /** Regex to reject matching characters from input. */ rejectCharsRegex?: RegExp; /** Prevent trimming whitespace on blur. */ disableTrimOnBlur?: boolean; /** Decimal places for number formatting. -1 to disable. */ precision?: number; /** Props forwarded to the Label element. */ labelProps?: React.ComponentProps; /** Additional class name for the outermost wrapper. */ className?: string; } declare const Input: React.ForwardRefExoticComponent & React.RefAttributes>; export { Input };