import { FormikErrors, FormikValues } from 'formik'; import React from 'react'; import { AttributesConfig } from '../../api'; import { IGroupItem } from '../../types'; export interface ILoggedInValues { emailLogged?: string; firstNameLogged?: string; lastNameLogged?: string; phoneLogged?: string; } export interface IValues { [key: string]: any; } export declare const getInitialValues: (data?: any, propsInitialValues?: IValues, userValues?: any, ticketHoldersFields?: any, ticketsQuantity?: any) => IValues; export declare const createRegisterFormData: (values: IValues | undefined, checkoutBody: { attributes: { [key: string]: any; }; }, flagFreeTicket?: boolean) => FormData; export interface ICheckoutBody { attributes: { [key: string]: any; }; data_capture?: { [key: string]: any; }; } export declare const createCheckoutDataBody: (ticketsQuantity: number, values?: IValues, logedInValues?: ILoggedInValues, includeDob?: boolean) => ICheckoutBody; export declare const getValidateFunctions: (element: IGroupItem, states: { [key: string]: any; }[], values: FormikValues, errors: FormikErrors) => (...value: any) => any; export declare const assingUniqueIds: (data: any) => any; export declare const isRequiredField: (element: IGroupItem, configs?: AttributesConfig | null | undefined) => boolean; export declare const getFieldLabel: (element: IGroupItem, configs?: AttributesConfig | null | undefined) => string | JSX.Element; export declare const getFieldComponent: (element: IGroupItem) => any; /** * Renders a React component with the provided props * @param Component - The React component to render * @param props - The props to apply to the component * @returns JSX element with applied props */ export declare const renderComponentWithProps: >(Component: React.ComponentType, props: T) => React.ReactElement React.ReactElement | null) | (new (props: any) => React.Component)>; export declare const filterBillingInfoFields: (fields: IGroupItem[], options: { showDOB: boolean; hideTtfOptIn: boolean; hidePhoneField: boolean; flagRequirePhone: boolean; collectMandatoryWalletAddress: boolean; collectMandatoryJobTitle: boolean; collectMandatoryBusinessCategory: boolean; collectMandatoryCompany: boolean; collectMandatoryInstagram: boolean; flagFreeTicket: boolean; hideWalletAddressField: boolean; hideJobTitleField: boolean; hideBusinessCategoryField: boolean; hideCompanyField: boolean; hideInstagramField: boolean; }) => IGroupItem[];