import { ErrorType } from '@wix/ambassador-forms-v1-validation-result/types'; import { FileUpload } from '@wix/form-fields/headless'; import { FileUploadProps } from '@wix/form-fields/headless'; import { PublicFileUploadProps as FileUploadProps_alias_1 } from '@wix/form-fields'; import { Form } from '@wix/ambassador-forms-v4-form/types'; import type { i18n } from '@wix/fe-essentials/i18n'; import { JSX as JSX_2 } from 'react/jsx-runtime'; import { Layout } from '@wix/form-fields'; import { PhoneField } from '@wix/form-fields/headless'; import { PhoneFieldProps } from '@wix/form-fields/headless'; import { PublicAppointmentProps } from '@wix/form-fields'; import { PublicCheckboxGroupProps } from '@wix/form-fields'; import { PublicCheckboxProps } from '@wix/form-fields'; import { PublicDateInputProps } from '@wix/form-fields'; import { PublicDatePickerProps } from '@wix/form-fields'; import { PublicDateTimeInputProps } from '@wix/form-fields'; import { PublicDonationProps } from '@wix/form-fields'; import { PublicDropdownProps } from '@wix/form-fields'; import { PublicFieldsProps } from '@wix/form-fields'; import { PublicFixedPaymentProps } from '@wix/form-fields'; import { PublicImageChoiceProps } from '@wix/form-fields'; import { PublicMultilineAddressProps } from '@wix/form-fields'; import { PublicNumberInputProps } from '@wix/form-fields'; import { PublicPaymentInputProps } from '@wix/form-fields'; import { PublicPhoneInputProps } from '@wix/form-fields'; import { PublicProductListProps } from '@wix/form-fields'; import { PublicRadioGroupProps } from '@wix/form-fields'; import { PublicRatingInputProps } from '@wix/form-fields'; import { PublicRichTextProps } from '@wix/form-fields'; import { PublicSignatureProps } from '@wix/form-fields'; import { PublicSubmitButtonProps } from '@wix/form-fields'; import { PublicTagsProps } from '@wix/form-fields'; import { PublicTimeInputProps } from '@wix/form-fields'; import { default as React_2 } from 'react'; import { ReactElement } from 'react'; import { requests } from '@wix/ambassador-forms-v4-submission/build/cjs/proto/client/proto-generated'; import { FieldType as SchemaFieldType } from '@wix/form-fields'; import { TextArea } from '@wix/form-fields/headless'; import { TextAreaProps } from '@wix/form-fields/headless'; import { PublicTextAreaProps as TextAreaProps_alias_1 } from '@wix/form-fields'; import { TextInput } from '@wix/form-fields/headless'; import { TextInputProps } from '@wix/form-fields/headless'; import { PublicTextInputProps as TextInputProps_alias_1 } from '@wix/form-fields'; import { useFieldProps } from '@wix/form-fields'; declare interface AppointmentSubmitData { startDate: string; endDate: string; timeZone: string; } export declare function createI18n(locale: string): Promise; declare interface Currency { sign?: string; code?: string; } export { Currency } export { Currency as Currency_alias_1 } export declare const FIELD_TYPE_MAP: Record; declare type FieldMap = { TEXT_INPUT: React.ComponentType; TEXT_AREA: React.ComponentType; PHONE_INPUT: React.ComponentType; MULTILINE_ADDRESS: React.ComponentType; DATE_INPUT: React.ComponentType; DATE_PICKER: React.ComponentType; DATE_TIME_INPUT: React.ComponentType; FILE_UPLOAD: React.ComponentType; NUMBER_INPUT: React.ComponentType; CHECKBOX: React.ComponentType; SIGNATURE: React.ComponentType; RATING_INPUT: React.ComponentType; RADIO_GROUP: React.ComponentType; CHECKBOX_GROUP: React.ComponentType; DROPDOWN: React.ComponentType; TAGS: React.ComponentType; TIME_INPUT: React.ComponentType; TEXT: React.ComponentType; SUBMIT_BUTTON: React.ComponentType; PRODUCT_LIST: React.ComponentType; FIXED_PAYMENT: React.ComponentType; PAYMENT_INPUT: React.ComponentType; DONATION: React.ComponentType; APPOINTMENT: React.ComponentType; IMAGE_CHOICE: React.ComponentType; }; export { FieldMap } export { FieldMap as FieldMap_alias_1 } export declare type FieldType = 'TEXT_INPUT' | 'TEXT_AREA' | 'PHONE_INPUT' | 'MULTILINE_ADDRESS' | 'DATE_INPUT' | 'DATE_PICKER' | 'DATE_TIME_INPUT' | 'TIME_INPUT' | 'FILE_UPLOAD' | 'NUMBER_INPUT' | 'CHECKBOX' | 'SIGNATURE' | 'RATING_INPUT' | 'RADIO_GROUP' | 'CHECKBOX_GROUP' | 'DROPDOWN' | 'TAGS' | 'SUBMIT_BUTTON' | 'PRODUCT_LIST' | 'FIXED_PAYMENT' | 'PAYMENT_INPUT' | 'DONATION' | 'APPOINTMENT' | 'IMAGE_CHOICE' | 'TEXT'; export declare interface FileDescriptor { id?: string; displayName?: string; url?: string; isPrivate: boolean; } export { FileUpload } export { FileUploadProps } export { FileUploadProps_alias_1 } export declare const FORM_VIEWER_NAMESPACE = "form-viewer"; declare interface FormError { errorPath: string; errorType: ErrorType; errorMessage: string; params?: object; useCustomErrorMessage?: boolean; } export { FormError } export { FormError as FormError_alias_1 } declare const FormProvider: ({ children, currency, locale, regionalFormat, }: FormProviderProps) => JSX_2.Element | null; export { FormProvider } export { FormProvider as FormProvider_alias_1 } export declare interface FormProviderProps { children: React_2.ReactNode; currency: Currency; locale: string; regionalFormat?: string; } declare type FormValues = { [target: string]: PossibleValues; }; export { FormValues } export { FormValues as FormValues_alias_1 } export declare const mapFieldTypes: (fields: FieldMap, typeMap: Record) => Record>; declare type MultilineAddressSubmission = requests.wix.forms.v4.values.MultilineAddressSubmission; /** * Normalizes object schema by removing underscore prefixes and converting keys to camelCase * @param obj - The object to normalize * @returns The object with all nested keys normalized */ export declare function normalizeSchema(obj: T): T; export declare type OnChange = (values: FormValues) => void; export { PhoneField } export { PhoneFieldProps } declare type PossibleValues = ValueType | { [target: string]: ValueType; } | FormValues[]; declare type ProductListValue = ProductValue[]; declare type ProductValue = { productId: string; price: string | number; quantity: number; }; export { PublicAppointmentProps as AppointmentProps } export { PublicAppointmentProps as AppointmentProps_alias_1 } export { PublicCheckboxGroupProps as CheckboxGroupProps } export { PublicCheckboxGroupProps as CheckboxGroupProps_alias_1 } export { PublicCheckboxProps as CheckboxProps } export { PublicCheckboxProps as CheckboxProps_alias_1 } export { PublicDateInputProps as DateInputProps } export { PublicDateInputProps as DateInputProps_alias_1 } export { PublicDatePickerProps as DatePickerProps } export { PublicDatePickerProps as DatePickerProps_alias_1 } export { PublicDateTimeInputProps as DateTimeInputProps } export { PublicDateTimeInputProps as DateTimeInputProps_alias_1 } export { PublicDonationProps as DonationProps } export { PublicDonationProps as DonationProps_alias_1 } export { PublicDropdownProps as DropdownProps } export { PublicDropdownProps as DropdownProps_alias_1 } export { PublicFieldsProps as FieldsProps } export { PublicFieldsProps as FieldsProps_alias_1 } export { PublicFixedPaymentProps as FixedPaymentProps } export { PublicFixedPaymentProps as FixedPaymentProps_alias_1 } export { PublicImageChoiceProps as ImageChoiceProps } export { PublicImageChoiceProps as ImageChoiceProps_alias_1 } export { PublicMultilineAddressProps as MultilineAddressProps } export { PublicMultilineAddressProps as MultilineAddressProps_alias_1 } export { PublicNumberInputProps as NumberInputProps } export { PublicNumberInputProps as NumberInputProps_alias_1 } export { PublicPaymentInputProps as PaymentInputProps } export { PublicPaymentInputProps as PaymentInputProps_alias_1 } export { PublicPhoneInputProps as PhoneInputProps } export { PublicPhoneInputProps as PhoneInputProps_alias_1 } export { PublicProductListProps as ProductListProps } export { PublicProductListProps as ProductListProps_alias_1 } export { PublicRadioGroupProps as RadioGroupProps } export { PublicRadioGroupProps as RadioGroupProps_alias_1 } export { PublicRatingInputProps as RatingInputProps } export { PublicRatingInputProps as RatingInputProps_alias_1 } export { PublicRichTextProps as RichTextProps } export { PublicRichTextProps as RichTextProps_alias_1 } export { PublicSignatureProps as SignatureProps } export { PublicSignatureProps as SignatureProps_alias_1 } export { PublicSubmitButtonProps as SubmitButtonProps } export { PublicSubmitButtonProps as SubmitButtonProps_alias_1 } export { PublicTagsProps as TagsProps } export { PublicTagsProps as TagsProps_alias_1 } export { PublicTimeInputProps as TimeInputProps } export { PublicTimeInputProps as TimeInputProps_alias_1 } export { SchemaFieldType } export { TextArea } export { TextAreaProps } export { TextAreaProps_alias_1 } export { TextInput } export { TextInputProps } export { TextInputProps_alias_1 } export declare type UploadFile = (params: UploadFileParams) => Promise; export declare interface UploadFileParams { file: File; formId: string; uploadTarget: string; } export { useFieldProps } declare const useForm: ({ form: unformattedForm, values, onChange, errors, onValidate, submitForm, uploadFile, fieldMap: fields, }: UseFormProps) => UseFormReturn; export { useForm } export { useForm as useForm_alias_1 } export declare type UseFormProps = { form: Form; values: FormValues; onChange: OnChange; errors: FormError[]; onValidate: (errors: FormError[]) => void; submitForm: () => void; uploadFile?: UploadFile; fieldMap: FieldMap; }; declare type UseFormReturn = { columnCount: number; fieldElements: ReactElement[][]; fieldsLayout: Record; } | null; declare type ValueType = string | number | boolean | string[] | null | undefined | VatIDValue | ProductListValue | WixFile[] | MultilineAddressSubmission | AppointmentSubmitData; declare type VatIDValue = { id: string; type?: string; }; declare interface WixFile { fileId: string; displayName: string; url?: string; fileType: string; } export { }