import * as _squaredr_fieldcraft_core from '@squaredr/fieldcraft-core'; import { FormEngine, FormState, FormEngineSchema, EngineOptions, FormEngineTheme, Question, QuestionType, SubmitAdapter, FormResponse, CustomValidator, AsyncValidator, Section, CompleteAction } from '@squaredr/fieldcraft-core'; export { COUNTRIES, Country, EngineOptions, FormEngine, TIMEZONES, Timezone, ValidationResult, createEngine } from '@squaredr/fieldcraft-core'; import * as react_jsx_runtime from 'react/jsx-runtime'; import * as class_variance_authority_types from 'class-variance-authority/types'; import * as React$1 from 'react'; import { VariantProps } from 'class-variance-authority'; import { DayPicker, DayButton } from 'react-day-picker'; import { Checkbox as Checkbox$1, Collapsible as Collapsible$1, Label as Label$1, Popover as Popover$1, Progress as Progress$1, RadioGroup as RadioGroup$1, Select as Select$1, Separator as Separator$1, Slider as Slider$1, Switch as Switch$1, Toggle as Toggle$1, ToggleGroup as ToggleGroup$1 } from 'radix-ui'; import { ClassValue } from 'clsx'; type UseFormEngineReturn = FormEngine & { state: FormState; }; /** * React hook that creates and manages a FormEngine instance. * * Uses a single stable engine (never destroyed) to avoid stale-subscription * bugs with React Strict Mode's double mount/unmount cycle. * `useSyncExternalStore` drives re-renders when engine state changes. * * @param schema - The form schema defining sections, fields, and validation rules. * @param options - Optional engine configuration (adapters, prefill values, callbacks, etc.). * @returns A stable object containing every `FormEngine` method plus a reactive `state` snapshot. * * @example * ```tsx * const { state, setValue, submit } = useFormEngine(schema, { * onSubmit: (response) => console.log(response), * prefillValues: { name: "Jane" }, * }); * * // state.values, state.errors, state.currentSectionId, etc. are reactive * ``` */ declare function useFormEngine(schema: FormEngineSchema, options?: EngineOptions): UseFormEngineReturn; /** * Subscribes to a single field's current value inside the engine state. * * Re-renders the consuming component only when the value for `fieldId` changes, * using `useSyncExternalStore` for tear-free reads. * * @param engine - The `FormEngine` instance (typically from {@link useFormEngine}). * @param fieldId - The `id` of the field whose value to observe. * @returns The current value of the field, or `undefined` if not yet set. * * @example * ```tsx * const email = useFieldValue(engine, "email") as string; * ``` */ declare function useFieldValue(engine: FormEngine, fieldId: string): unknown; /** * Subscribes to the validation errors for a single field. * * Returns `undefined` when the field has no errors (or hasn't been validated yet), * and a `string[]` of error messages when validation fails. * * @param engine - The `FormEngine` instance (typically from {@link useFormEngine}). * @param fieldId - The `id` of the field whose errors to observe. * @returns An array of error message strings, or `undefined` if there are no errors. * * @example * ```tsx * const errors = useFieldError(engine, "email"); * // errors → undefined | ["Email is required", "Must be a valid email"] * ``` */ declare function useFieldError(engine: FormEngine, fieldId: string): string[] | undefined; /** Snapshot of the form's multi-section navigation state. */ type SectionProgress = { currentSectionId: string; currentSectionIndex: number; totalVisibleSections: number; progressPercent: number; visitedSectionIds: string[]; canGoNext: boolean; canGoPrev: boolean; }; /** * Subscribes to multi-section navigation and progress state. * * Provides the current section index, total visible sections, percentage * completion, visited section history, and navigation availability flags * (`canGoNext` / `canGoPrev`). * * @param engine - The `FormEngine` instance (typically from {@link useFormEngine}). * @returns A {@link SectionProgress} object that updates reactively. * * @example * ```tsx * const { progressPercent, currentSectionIndex, totalVisibleSections } = * useSectionProgress(engine); * * return Step {currentSectionIndex + 1} of {totalVisibleSections}; * ``` */ declare function useSectionProgress(engine: FormEngine): SectionProgress; /** * Subscribes to the form's dirty state. * * @param engine - The `FormEngine` instance. * @returns `true` if any field value differs from its initial value. */ declare function useFormDirty(engine: FormEngine): boolean; /** * Subscribes to a field's visibility state. * * @param engine - The `FormEngine` instance. * @param fieldId - The field ID to observe. * @returns `true` if the field is currently visible. */ declare function useFieldVisibility(engine: FormEngine, fieldId: string): boolean; type FormProgress = { current: number; total: number; percentage: number; }; /** * Subscribes to the form's progress (current section, total sections, percentage). * * @param engine - The `FormEngine` instance. * @returns An object with `current` (1-based), `total`, and `percentage` (0-100). */ declare function useFormProgress(engine: FormEngine): FormProgress; /** * Subscribes to the visibility state of all fields in the form. * * @param engine - The `FormEngine` instance. * @returns A `Record` mapping field IDs to their visibility. */ declare function useConditionalFields(engine: FormEngine): Record; type UseFormSubmitReturn = { submit: () => Promise<{ success: boolean; }>; isSubmitting: boolean; isSubmitted: boolean; error: string | null; }; /** * Provides a submit function and submission state. * * @param engine - The `FormEngine` instance. * @returns `{ submit, isSubmitting, isSubmitted, error }`. */ declare function useFormSubmit(engine: FormEngine): UseFormSubmitReturn; type FieldOption = { value: string; label: string; }; /** * Returns the options for a select/dropdown/radio field. * * Reads the field's `options` array from the schema and returns * a stable reference as long as the field ID doesn't change. * * @param engine - The `FormEngine` instance. * @param fieldId - The field ID to get options for. * @returns An array of `{ value, label }` objects, or an empty array if no options. */ declare function useFieldOptions(engine: FormEngine, fieldId: string): FieldOption[]; declare function useTheme(): FormEngineTheme; declare function FormEngineThemeProvider({ theme, children, }: { theme?: FormEngineTheme; children: React.ReactNode; }): react_jsx_runtime.JSX.Element; /** Convert a FormEngineTheme object into CSS custom properties for runtime theming. */ declare function themeToCssVars(theme?: FormEngineTheme): React.CSSProperties | undefined; /** Props passed to every field component. */ type FieldProps = { field: Question; value: unknown; error?: string[]; touched: boolean; disabled: boolean; readonly: boolean; onChange: (value: unknown) => void; onBlur: () => void; onFocus: () => void; theme: FormEngineTheme; customProps?: Record; /** All current field values in the form. Available for fields that need cross-field access (e.g., AppointmentField reading a timezone selector). @since 1.8.0 */ fieldValues?: Record; }; /** A React component that renders a single field. */ type FieldComponent = React.ComponentType; /** Maps QuestionType → FieldComponent. Partial because not all types need to be registered. */ type FieldRegistry = Partial>; /** Create a mutable field registry. */ declare function createFieldRegistry(initial?: FieldRegistry): FieldRegistry; /** Merge multiple registries. Later registries override earlier ones. */ declare function mergeRegistries(...registries: (FieldRegistry | undefined)[]): FieldRegistry; declare const defaultRegistry: FieldRegistry; declare function FieldRegistryProvider({ registry, children, }: { registry: FieldRegistry; children: React.ReactNode; }): react_jsx_runtime.JSX.Element; declare function useFieldRegistry(): FieldRegistry; type FormEngineRendererProps = { schema: FormEngineSchema; adapters?: SubmitAdapter | SubmitAdapter[]; onSubmit?: (response: FormResponse) => void | Promise; theme?: FormEngineTheme; className?: string; components?: FieldRegistry; prefill?: Record; initialValues?: Record; onSectionChange?: (sectionId: string, index: number) => void; onFieldChange?: (fieldId: string, value: unknown) => void; onReady?: (engine: FormEngine) => void; onValidationError?: (errors: Record) => void; onStateChange?: (state: FormState) => void; sessionToken?: string; draftAdapter?: _squaredr_fieldcraft_core.DraftAdapter; autoSaveIntervalMs?: number; draftMigrations?: Record _squaredr_fieldcraft_core.DraftSnapshot>; beforeSubmit?: (response: FormResponse) => FormResponse | false | Promise; analytics?: _squaredr_fieldcraft_core.AnalyticsAdapter; onEvent?: (event: _squaredr_fieldcraft_core.FieldCraftEvent) => void; metadata?: Record; validators?: Record; asyncValidators?: Record; prevLabel?: string; nextLabel?: string; submitLabel?: string; autoFocus?: boolean; autoAdvance?: boolean; /** When true, built-in navigation buttons are hidden. Use `onReady` to get * the engine instance, then call `engine.nextSection()`, * `engine.prevSection()`, `engine.submit()` from your own UI. * Pair with `onStateChange` to read `canGoNext`, `canGoPrev`, * `isSubmitting`, `currentSectionIndex`, `totalVisibleSections`, etc. */ hideNavigation?: boolean; }; declare function FormEngineRenderer({ schema, adapters, onSubmit, theme, className, components, prefill, initialValues, onSectionChange, onFieldChange, onReady, onValidationError, onStateChange, sessionToken, draftAdapter, autoSaveIntervalMs, draftMigrations, beforeSubmit, analytics, onEvent, metadata, validators, asyncValidators, prevLabel, nextLabel, submitLabel, autoFocus, autoAdvance, hideNavigation, }: FormEngineRendererProps): react_jsx_runtime.JSX.Element; type SectionRendererProps = { section: Section; engine: FormEngine; theme: FormEngineTheme; registry: FieldRegistry; autoFocus?: boolean; }; declare function SectionRenderer({ section, engine, theme, registry, autoFocus, }: SectionRendererProps): react_jsx_runtime.JSX.Element; type FieldRendererProps = { field: Question; value: unknown; error?: string[]; touched: boolean; disabled: boolean; readonly: boolean; onChange: (value: unknown) => void; onBlur: () => void; onFocus: () => void; theme: FormEngineTheme; registry: FieldRegistry; fieldValues?: Record; }; declare function FieldRenderer({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus, theme, registry, fieldValues, }: FieldRendererProps): react_jsx_runtime.JSX.Element; type ProgressBarProps = { percent: number; currentStep: number; totalSteps: number; className?: string; }; declare function ProgressBar({ percent, currentStep, totalSteps, className, }: ProgressBarProps): react_jsx_runtime.JSX.Element; type NavigationButtonsProps = { canGoPrev: boolean; canGoNext: boolean; isLastSection: boolean; isSubmitting: boolean; onPrev: () => void; onNext: () => void; onSubmit: () => void; className?: string; prevLabel?: string; nextLabel?: string; submitLabel?: string; }; declare function NavigationButtons({ canGoPrev, canGoNext, isLastSection, isSubmitting, onPrev, onNext, onSubmit, className, prevLabel, nextLabel, submitLabel, }: NavigationButtonsProps): react_jsx_runtime.JSX.Element; type SectionNavigationProps = { sections: Section[]; currentSectionId: string; visitedSectionIds: string[]; onJumpTo: (sectionId: string) => void; className?: string; }; declare function SectionNavigation({ sections, currentSectionId, visitedSectionIds, onJumpTo, className, }: SectionNavigationProps): react_jsx_runtime.JSX.Element; type ErrorSummaryProps = { errors: Record; fieldLabels?: Record; onFieldClick?: (fieldId: string) => void; className?: string; }; declare function ErrorSummary({ errors, fieldLabels, onFieldClick, className, }: ErrorSummaryProps): react_jsx_runtime.JSX.Element | null; type DraftResumePromptProps = { lastSavedAt?: string; onResume: () => void; onDiscard: () => void; className?: string; }; declare function DraftResumePrompt({ lastSavedAt, onResume, onDiscard, className, }: DraftResumePromptProps): react_jsx_runtime.JSX.Element; type CompletionScreenProps = { action?: CompleteAction; className?: string; }; declare function CompletionScreen({ action, className }: CompletionScreenProps): react_jsx_runtime.JSX.Element; declare function ShortTextField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function LongTextField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function EmailField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function PhoneField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function PhoneInternationalField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function UrlField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function LegalNameField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function NumberField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function SliderField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function RatingField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function NpsField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function LikertField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function OpinionScaleField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function SingleSelectField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function MultiSelectField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function DropdownField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function BooleanField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function CountrySelectField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function RankingField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function DateField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function DateRangeField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function TimeField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function AppointmentField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus, customProps, fieldValues, }: FieldProps): react_jsx_runtime.JSX.Element; declare function FileUploadField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function SignatureField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function ImageCaptureField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function AddressField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function PaymentField({ field, value: _value, error, touched, disabled: _disabled, readonly: _readonly, onChange: _onChange, onBlur: _onBlur, onFocus: _onFocus, }: FieldProps): react_jsx_runtime.JSX.Element; declare function MatrixField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element | null; declare function RepeaterField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function CalculatedField({ field, value, error, touched, disabled: _disabled, readonly: _readonly, onChange: _onChange, onBlur: _onBlur, onFocus: _onFocus }: FieldProps): react_jsx_runtime.JSX.Element | null; /** * Hidden fields render nothing visible but still hold a value in form state. * On mount, auto-resolves value based on `config.source`: * - `"url_param"` → reads from URL query params via `config.paramName` * - `"cookie"` → reads from `document.cookie` via `config.cookieName` * - `"referrer"` → reads `document.referrer` * - `"static"` → handled by core's prefill-resolver (no action here) */ declare function HiddenField({ field, value, onChange }: FieldProps): react_jsx_runtime.JSX.Element; declare function ScoringField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function ConsentField({ field, value, error, touched, disabled, readonly, onChange, onBlur, onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function InfoBlockField({ field, value: _value, error: _error, touched: _touched, disabled: _disabled, readonly: _readonly, onChange: _onChange, onBlur: _onBlur, onFocus: _onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function SectionHeaderField({ field, value: _value, error: _error, touched: _touched, disabled: _disabled, readonly: _readonly, onChange: _onChange, onBlur: _onBlur, onFocus: _onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function PageBreakField({ field, value: _value, error: _error, touched: _touched, disabled: _disabled, readonly: _readonly, onChange: _onChange, onBlur: _onBlur, onFocus: _onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function WelcomeScreenField({ field, value: _value, error: _error, touched: _touched, disabled: _disabled, readonly: _readonly, onChange: _onChange, onBlur: _onBlur, onFocus: _onFocus }: FieldProps): react_jsx_runtime.JSX.Element | null; declare function ThankYouScreenField({ field, value: _value, error: _error, touched: _touched, disabled: _disabled, readonly: _readonly, onChange: _onChange, onBlur: _onBlur, onFocus: _onFocus }: FieldProps): react_jsx_runtime.JSX.Element | null; declare function RichTextField({ field, value: _value, error: _error, touched: _touched, disabled: _disabled, readonly: _readonly, onChange: _onChange, onBlur: _onBlur, onFocus: _onFocus, theme }: FieldProps): react_jsx_runtime.JSX.Element | null; declare function ImageField({ field, value: _value, error: _error, touched: _touched, disabled: _disabled, readonly: _readonly, onChange: _onChange, onBlur: _onBlur, onFocus: _onFocus }: FieldProps): react_jsx_runtime.JSX.Element | null; declare function VideoField({ field, value: _value, error: _error, touched: _touched, disabled: _disabled, readonly: _readonly, onChange: _onChange, onBlur: _onBlur, onFocus: _onFocus }: FieldProps): react_jsx_runtime.JSX.Element | null; declare function DividerField({ field, value: _value, error: _error, touched: _touched, disabled: _disabled, readonly: _readonly, onChange: _onChange, onBlur: _onBlur, onFocus: _onFocus }: FieldProps): react_jsx_runtime.JSX.Element; declare function SpacerField({ field, value: _value, error: _error, touched: _touched, disabled: _disabled, readonly: _readonly, onChange: _onChange, onBlur: _onBlur, onFocus: _onFocus }: FieldProps): react_jsx_runtime.JSX.Element; type FieldWrapperProps = Pick & { children: React.ReactNode; className?: string; hideLabel?: boolean; }; declare function FieldWrapper({ field, error, touched, children, className, hideLabel, }: FieldWrapperProps): react_jsx_runtime.JSX.Element; /** Build common aria attributes for an input element. */ declare function fieldAria(field: FieldProps["field"], hasError: boolean): { id: string; "aria-describedby": string | undefined; "aria-invalid": true | undefined; "aria-required": true | undefined; }; declare const alertVariants: (props?: ({ variant?: "default" | "destructive" | null | undefined; } & class_variance_authority_types.ClassProp) | undefined) => string; declare function Alert({ className, variant, ...props }: React$1.ComponentProps<"div"> & VariantProps): react_jsx_runtime.JSX.Element; declare function AlertTitle({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element; declare function AlertDescription({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element; declare const badgeVariants: (props?: ({ variant?: "secondary" | "link" | "default" | "destructive" | "outline" | "ghost" | null | undefined; } & class_variance_authority_types.ClassProp) | undefined) => string; declare function Badge({ className, variant, asChild, ...props }: React$1.ComponentProps<"span"> & VariantProps & { asChild?: boolean; }): react_jsx_runtime.JSX.Element; declare const buttonVariants: (props?: ({ variant?: "secondary" | "link" | "default" | "destructive" | "outline" | "ghost" | null | undefined; size?: "sm" | "lg" | "default" | "xs" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined; } & class_variance_authority_types.ClassProp) | undefined) => string; declare function Button({ className, variant, size, asChild, ...props }: React$1.ComponentProps<"button"> & VariantProps & { asChild?: boolean; }): react_jsx_runtime.JSX.Element; declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: React$1.ComponentProps & { buttonVariant?: React$1.ComponentProps["variant"]; }): react_jsx_runtime.JSX.Element; declare function CalendarDayButton({ className, day, modifiers, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function Card({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element; declare function CardHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element; declare function CardTitle({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element; declare function CardDescription({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element; declare function CardAction({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element; declare function CardContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element; declare function CardFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element; declare function Checkbox({ className, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function Collapsible({ ...props }: React.ComponentProps): react_jsx_runtime.JSX.Element; declare function CollapsibleTrigger({ ...props }: React.ComponentProps): react_jsx_runtime.JSX.Element; declare function CollapsibleContent({ ...props }: React.ComponentProps): react_jsx_runtime.JSX.Element; declare function Input({ className, type, ...props }: React$1.ComponentProps<"input">): react_jsx_runtime.JSX.Element; declare function Label({ className, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function Popover({ ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function PopoverTrigger({ ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function PopoverContent({ className, align, sideOffset, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function PopoverAnchor({ ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function PopoverHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element; declare function PopoverTitle({ className, ...props }: React$1.ComponentProps<"h2">): react_jsx_runtime.JSX.Element; declare function PopoverDescription({ className, ...props }: React$1.ComponentProps<"p">): react_jsx_runtime.JSX.Element; declare function Progress({ className, value, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function RadioGroup({ className, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function RadioGroupItem({ className, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function Select({ ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function SelectGroup({ ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function SelectValue({ ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function SelectTrigger({ className, size, children, ...props }: React$1.ComponentProps & { size?: "sm" | "default"; }): react_jsx_runtime.JSX.Element; declare function SelectContent({ className, children, position, align, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function SelectLabel({ className, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function SelectItem({ className, children, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function SelectSeparator({ className, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function SelectScrollUpButton({ className, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function SelectScrollDownButton({ className, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function Separator({ className, orientation, decorative, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function Slider({ className, defaultValue, value, min, max, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function Switch({ className, ...props }: React$1.ComponentProps): react_jsx_runtime.JSX.Element; declare function Table({ className, ...props }: React$1.ComponentProps<"table">): react_jsx_runtime.JSX.Element; declare function TableHeader({ className, ...props }: React$1.ComponentProps<"thead">): react_jsx_runtime.JSX.Element; declare function TableBody({ className, ...props }: React$1.ComponentProps<"tbody">): react_jsx_runtime.JSX.Element; declare function TableFooter({ className, ...props }: React$1.ComponentProps<"tfoot">): react_jsx_runtime.JSX.Element; declare function TableRow({ className, ...props }: React$1.ComponentProps<"tr">): react_jsx_runtime.JSX.Element; declare function TableHead({ className, ...props }: React$1.ComponentProps<"th">): react_jsx_runtime.JSX.Element; declare function TableCell({ className, ...props }: React$1.ComponentProps<"td">): react_jsx_runtime.JSX.Element; declare function TableCaption({ className, ...props }: React$1.ComponentProps<"caption">): react_jsx_runtime.JSX.Element; declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element; declare const toggleVariants: (props?: ({ variant?: "default" | "outline" | null | undefined; size?: "sm" | "lg" | "default" | null | undefined; } & class_variance_authority_types.ClassProp) | undefined) => string; declare function Toggle({ className, variant, size, ...props }: React$1.ComponentProps & VariantProps): react_jsx_runtime.JSX.Element; declare function ToggleGroup({ className, variant, size, spacing, children, ...props }: React$1.ComponentProps & VariantProps & { spacing?: number; }): react_jsx_runtime.JSX.Element; declare function ToggleGroupItem({ className, children, variant, size, ...props }: React$1.ComponentProps & VariantProps): react_jsx_runtime.JSX.Element; declare function cn(...inputs: ClassValue[]): string; /** Format a phone number string for display: (123) 456-7890 */ declare function formatPhone(value: string): string; /** Format a number as currency: $1,234.56 */ declare function formatCurrency(value: number, currency?: string, locale?: string): string; /** Format bytes to human-readable: 1.5 MB */ declare function formatFileSize(bytes: number): string; /** Truncate text with ellipsis */ declare function truncate(text: string, maxLength: number): string; export { AddressField, Alert, AlertDescription, AlertTitle, AppointmentField, Badge, BooleanField, Button, CalculatedField, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, CompletionScreen, type CompletionScreenProps, ConsentField, CountrySelectField, DateField, DateRangeField, DividerField, DraftResumePrompt, type DraftResumePromptProps, DropdownField, EmailField, ErrorSummary, type ErrorSummaryProps, type FieldComponent, type FieldOption, type FieldProps, type FieldRegistry, FieldRegistryProvider, FieldRenderer, type FieldRendererProps, FieldWrapper, FileUploadField, FormEngineRenderer, type FormEngineRendererProps, FormEngineThemeProvider, type FormProgress, HiddenField, ImageCaptureField, ImageField, InfoBlockField, Input, Label, LegalNameField, LikertField, LongTextField, MatrixField, MultiSelectField, NavigationButtons, type NavigationButtonsProps, NpsField, NumberField, OpinionScaleField, PageBreakField, PaymentField, PhoneField, PhoneInternationalField, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, ProgressBar, type ProgressBarProps, RadioGroup, RadioGroupItem, RankingField, RatingField, RepeaterField, RichTextField, ScoringField, SectionHeaderField, SectionNavigation, type SectionNavigationProps, type SectionProgress, SectionRenderer, type SectionRendererProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, ShortTextField, SignatureField, SingleSelectField, Slider, SliderField, SpacerField, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Textarea, ThankYouScreenField, TimeField, Toggle, ToggleGroup, ToggleGroupItem, UrlField, type UseFormEngineReturn, type UseFormSubmitReturn, VideoField, WelcomeScreenField, badgeVariants, buttonVariants, cn, createFieldRegistry, defaultRegistry, fieldAria, formatCurrency, formatFileSize, formatPhone, mergeRegistries, themeToCssVars, toggleVariants, truncate, useConditionalFields, useFieldError, useFieldOptions, useFieldRegistry, useFieldValue, useFieldVisibility, useFormDirty, useFormEngine, useFormProgress, useFormSubmit, useSectionProgress, useTheme };