import React from 'react'; import type { ComponentProps, ReactNode } from 'react'; export type TextInputVariant = 'outline' | 'ghost'; /** Where the active field message (error, success, or neutral) sits relative to the bordered control */ export type TextInputFieldMessagePlacement = 'outside' | 'inside'; export type TextInputProps = Omit, 'className'> & { /** Root class name */ className?: string; /** * `outside` (default): message below the bordered wrapper. * `inside`: message under the value row, inside the border (error, success, or neutral). */ fieldMessagePlacement?: TextInputFieldMessagePlacement; /** Optional label above the input */ label?: string; /** Optional leading content (e.g. icon) inside the input area */ leading?: ReactNode; /** Optional trailing content (e.g. clear button) inside the input area */ trailing?: ReactNode; /** Optional suffix text shown after the input value, inside the field */ trailingText?: string; /** Neutral/helper message below the input (no icon) */ message?: ReactNode; /** Error message; shown when `error` is true, with `errorMessageIcon` */ errorMessage?: ReactNode; /** Icon before error text (default: exclamation) */ errorMessageIcon?: ReactNode; /** Success message below the input */ successMessage?: ReactNode; /** Icon before success text (default: checkmark) */ successMessageIcon?: ReactNode; /** When true, error border and error styling */ error?: boolean; /** `outline` = border always; `ghost` = border on focus */ variant?: TextInputVariant; }; export declare const TextInput: React.ForwardRefExoticComponent & React.RefAttributes>; //# sourceMappingURL=TextInput.d.ts.map