import { type InputHTMLAttributes, type ReactNode } from 'react';
export type FormFieldSurface = 'admin' | 'customer' | 'kiosk' | 'pickup';
export interface FormFieldProps extends Omit, 'children'> {
readonly label: string;
readonly surface?: FormFieldSurface;
readonly helperText?: string;
/**
* Inline error copy. Prefer this only when the form has no FormErrorSummary.
* When FormErrorSummary owns the message, pass `invalid` instead so the text
* is not doubled (single source of truth).
*/
readonly errorText?: string;
/**
* Marks the control invalid (border + aria-invalid) without rendering message
* text. Use with FormErrorSummary so the summary is the sole copy channel.
*/
readonly invalid?: boolean;
/**
* Custom control (e.g. Textarea). Receives `id`, `aria-*`, and invalid styling
* props via clone. When omitted, FormField renders a default ``.
*/
readonly children?: ReactNode;
}
export declare const FormField: import("react").ForwardRefExoticComponent>;
//# sourceMappingURL=FormField.d.ts.map