import { ColorValue, ImageSourcePropType, ImageStyle, StyleProp, TextStyle, ViewStyle } from 'react-native'; import { IRegisterNewUserError, IRegisterNewUserSuccessData } from '../../api/types'; import { IButtonStyles } from '../../components/button/types'; import { ICartTimerStyles, ICartTimerTexts } from '../../components/cartTimer/types'; import { ICheckboxStyles } from '../../components/checkbox/types'; import { IDatePickerStyles } from '../../components/datePicker/types'; import { IDropdownItem, IDropdownStyles } from '../../components/dropdown/types'; import { IDropdownMaterialStyles } from '../../components/dropdownMaterial/types'; import { IInputStyles } from '../../components/input/types'; import { ILoginBrandImages, ILoginSuccessData, ILoginViewStyles, ILoginViewTexts } from '../../components/login/types'; import { IPhoneInputStyles, IPhoneInputTexts } from '../../components/phoneInput/types'; import { IError, ITicketsResponseData } from '../../types'; import { ICountry } from '../../types/ICountry'; export interface ITokens { accessToken: string; refreshToken: string; } export interface IOnCheckoutSuccess { id: string; hash: string; total: string; status: string; } export interface IBillingProps { cartProps: ITicketsResponseData; onRegisterSuccess?: (data: IRegisterNewUserSuccessData) => void; onRegisterError?: (error: IRegisterNewUserError) => void; onCheckoutSuccess: (data: IOnCheckoutSuccess) => void; onCheckoutError?: (error: IError) => void; onLoginSuccess: (data: ILoginSuccessData) => void; onLoginError?: (error: IError) => void; onLogoutSuccess?: () => void; onLogoutError?: (error: IError) => void; onFetchUserProfileSuccess?: (data: any) => void; onFetchUserProfileError?: (error: IError) => void; onFetchCartError?: (error: IError) => void; onFetchCartSuccess?: () => void; onFetchCountriesError?: (error: IError) => void; onFetchCountriesSuccess?: (data: ICountry[]) => void; onFetchStatesError?: (error: IError) => void; onFetchStatesSuccess?: () => void; onCartExpired: () => void; styles?: IBillingInfoViewStyles; texts?: IBillingInfoViewTexts; skipBillingConfig?: { styles?: { rootContainer?: StyleProp; dialogContainer?: StyleProp; brandImage?: StyleProp; text?: StyleProp; activityIndicator?: { color?: ColorValue; size?: 'large' | 'small'; }; }; brandImage?: ImageSourcePropType; isActivityIndicatorVisible?: boolean; }; loginBrandImages?: ILoginBrandImages; areLoadingIndicatorsEnabled?: boolean; areAlertsEnabled?: boolean; onLoadingChange?: (isLoading: boolean) => void; onSkippingStatusChange?: (status: SkippingStatusType) => void; shouldCartTimerNotMinimizeOnTap?: boolean; config?: IBillingConfig; } export interface ITicketHolderField { firstName: string; firstNameError: string; lastName: string; lastNameError: string; email: string; phone: string; } export interface ITicketHolderFieldError { firstNameError?: string; lastNameError?: string; } export interface IBillingInfoViewStyles { rootContainer?: StyleProp; loginStyles?: ILoginViewStyles; checkoutButton?: IButtonStyles; checkoutButtonDisabled?: IButtonStyles; passwordTitle?: StyleProp; inputStyles?: IInputStyles; dropdownStyles?: IDropdownStyles; dropdownMaterialStyles?: IDropdownMaterialStyles; checkboxStyles?: ICheckboxStyles; screenTitle?: StyleProp; ticketHoldersTitle?: StyleProp; ticketHolderItemHeader?: StyleProp; texts?: StyleProp; customCheckbox?: ICheckboxStyles; datePicker?: IDatePickerStyles; privacyPolicyLinkStyle?: StyleProp; phoneInputStyles?: IPhoneInputStyles; cartTimer?: ICartTimerStyles; } export interface IBillingInfoViewTexts { loginTexts?: ILoginViewTexts; checkoutButton?: string; skippingMessage?: string; invalidPhoneNumberError?: string; required?: string; form?: { firstName?: string; lastName?: string; email?: string; confirmEmail?: string; password?: string; confirmPassword?: string; phone?: string; street?: string; city?: string; country?: string; state?: string; zipCode?: string; dateOfBirth?: string; isSubToBrand?: string; isSubToTicketFairy?: string; privacyPolicy?: string; ticketHoldersTitle?: string; ticketHolderItem?: string; holderFirstName?: string; holderLastName?: string; holderEmail?: string; holderPhone?: string; getYourTicketsTitle?: string; emailsAdvice?: string; choosePassword?: string; fillAllRequiredFieldsAlert?: string; optional?: string; phoneInput?: IPhoneInputTexts; ttfPrivacyPolicyRequiredError?: string; }; cartTimer?: ICartTimerTexts; } export interface IBillingConfig { isCheckoutAlwaysButtonEnabled?: boolean; shouldHideTicketHolderSectionOnSingleTicket?: boolean; } export type SkippingStatusType = 'skipping' | 'fail' | 'success' | 'false' | undefined; export interface IBillingFormFieldsData { firstName: string; lastName: string; street: string; city: string; postalCode: string; email: string; confirmEmail: string; password?: string; confirmPassword?: string; selectedCountry?: IDropdownItem | undefined; selectedState?: IDropdownItem | undefined; dateOfBirth: Date | undefined; phoneNumber: string; ticketHolderData: ITicketHolderField[]; isRegistering?: boolean; } //# sourceMappingURL=types.d.ts.map