diff --git a/KangarooAppSdkCustomer.podspec b/KangarooAppSdkCustomer.podspec
new file mode 100644
index 0000000..be83baf
--- /dev/null
+++ b/KangarooAppSdkCustomer.podspec
@@ -0,0 +1,16 @@
+Pod::Spec.new do |spec|
+ spec.name = 'KangarooAppSdkCustomer'
+ spec.version = '1.0'
+ spec.homepage = 'https://kangaroorewards.com/'
+ spec.source = { :http=> ''}
+ spec.authors = ''
+ spec.license = ''
+ spec.summary = 'Kangaroo app SDK for building customer facing applications'
+ spec.vendored_frameworks = 'KangarooAppSdkCustomer.xcframework'
+ spec.libraries = 'c++'
+
+
+
+
+
+end
\ No newline at end of file
diff --git a/KangarooAppSdkCustomer.xcframework/Info.plist b/KangarooAppSdkCustomer.xcframework/Info.plist
new file mode 100644
index 0000000..2c6dbb0
--- /dev/null
+++ b/KangarooAppSdkCustomer.xcframework/Info.plist
@@ -0,0 +1,43 @@
+
+
+
+
+ AvailableLibraries
+
+
+ DebugSymbolsPath
+ dSYMs
+ LibraryIdentifier
+ ios-x86_64-simulator
+ LibraryPath
+ KangarooAppSdkCustomer.framework
+ SupportedArchitectures
+
+ x86_64
+
+ SupportedPlatform
+ ios
+ SupportedPlatformVariant
+ simulator
+
+
+ DebugSymbolsPath
+ dSYMs
+ LibraryIdentifier
+ ios-arm64
+ LibraryPath
+ KangarooAppSdkCustomer.framework
+ SupportedArchitectures
+
+ arm64
+
+ SupportedPlatform
+ ios
+
+
+ CFBundlePackageType
+ XFWK
+ XCFrameworkFormatVersion
+ 1.0
+
+
diff --git a/KangarooAppSdkCustomer.xcframework/ios-arm64/KangarooAppSdkCustomer.framework/Headers/KangarooAppSdkCustomer.h b/KangarooAppSdkCustomer.xcframework/ios-arm64/KangarooAppSdkCustomer.framework/Headers/KangarooAppSdkCustomer.h
new file mode 100644
index 0000000..baf6af2
--- /dev/null
+++ b/KangarooAppSdkCustomer.xcframework/ios-arm64/KangarooAppSdkCustomer.framework/Headers/KangarooAppSdkCustomer.h
@@ -0,0 +1,28329 @@
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+
+@class KASCModelCompanion, KASCModel, KASCAuthenticationModelCompanion, KASCAuthenticationModel, KASCKotlinEnumCompanion, KASCKotlinEnum, KASCAuthenticationScope, KASCKotlinArray, KASCKotlinThrowable, KASCKotlinException, KASCSdkContext, KASCStately_concurrencyAtomicReference, KASCStately_concurrencyAtomicBoolean, KASCTokenStore, KASCNetworkRequestCompanion, KASCField, KASCHeader, KASCQuery, KASCFormField, KASCIOResult<__covariant T>, KASCKtor_client_coreHttpRequestBuilder, KASCKHttpClient, KASCKtor_client_coreHttpClient, KASCPathParameter, KASCUserReAuthenticationModelCompanion, KASCUserReAuthenticationModel, KASCModelOld, KASCResult<__covariant T>, KASCResultEmptyResponseCompanion, KASCResultEmptyResponse<__covariant T>, KASCResultMetaData, KASCResultIdle<__covariant T>, KASCResultLoadingCompanion, KASCResultLoading<__covariant T>, KASCResultSuccessCompanion, KASCResultSuccess<__covariant T>, KASCResultUnauthorizedErrorCompanion, KASCResultUnauthorizedError<__covariant T>, KASCResultUnknownErrorCompanion, KASCResultUnknownError<__covariant T>, KASCResultMetaDataCompanion, KASCSerializedResult<__covariant T>, KASCSerializedResultEmptyResponseCompanion, KASCSerializedResultEmptyResponse, KASCSerializedResultIdleCompanion, KASCSerializedResultIdle, KASCSerializedResultLoadingCompanion, KASCSerializedResultLoading, KASCSerializedResultSuccessCompanion, KASCSerializedResultSuccess, KASCSerializedResultUnauthorizedErrorCompanion, KASCSerializedResultUnauthorizedError, KASCSerializedResultUnknownErrorCompanion, KASCSerializedResultUnknownError, KASCConfiguration, KASCLanguage_, KASCTranslation, KASCRewardTranslation, KASCEmptyResponse, KASCKotlinNothing, KASCIOResultError, KASCIOResultConnectionError, KASCIOResultEmptyResponseCompanion, KASCIOResultEmptyResponse, KASCIOResultIdleCompanion, KASCIOResultIdle, KASCIOResultLoadingCompanion, KASCIOResultSuccess<__covariant T>, KASCIOResultTimeoutError, KASCIOResultUnauthorizedError, KASCIOResultUnknownError, KASCApi, KASCGetConglomerateNotificationPreferencesApiCompanion, KASCNotificationSettingsModel, KASCCFlow, KASCNotificationBusinessPayloadCompanion, KASCNotificationBusinessPayload, KASCNotificationSettingsDataCompanion, KASCNotificationSettingsData, KASCNotificationSettingsModelCompanion, KASCTiersApiCompanion, KASCUserProfileWithTierProgram, KASCLanguage__Companion, KASCLanguage__, KASCTierLevel, KASCTierCompanion, KASCTier, KASCTierPerk, KASCTierLevelTranslation, KASCTierLevelCompanion, KASCTierLevelTranslationCompanion, KASCTierPerkTranslation, KASCTierPerkCompanion, KASCTierPerkTranslationCompanion, KASCUserTierLevel, KASCTierProgress, KASCTierProgramIncludeCompanion, KASCTierProgramInclude, KASCTierProgressCompanion, KASCUserProfileDataModelCompanion, KASCUserProfileDataModel, KASCUserProfileWithTierProgramCompanion, KASCUserTierLevelCompanion, KASCUserBusinessProfileApiCompanion, KASCUserBusinessProfileModel, KASCBusinessCategoryCompanion, KASCBusinessCategory, KASCImage, KASCBusinessDataCompanion, KASCBusinessData, KASCImageCompanion, KASCLanguage___Companion, KASCLanguage___, KASCReferralProgramCompanion, KASCReferralProgram, KASCTierPerk_, KASCTierLevelTranslation_, KASCTierLevel_Companion, KASCTierLevel_, KASCTierLevelTranslation_Companion, KASCTierPerkTranslation_, KASCTierPerk_Companion, KASCTierPerkTranslation_Companion, KASCTierProgress_Companion, KASCTierProgress_, KASCUserBalanceCompanion, KASCUserBalance, KASCUserProfileInclude, KASCUserBusinessProfileModelCompanion, KASCUserProfileIncludeCompanion, KASCOfferFacebookShareApiCompanion, KASCUserProfileModel, KASCLanguage____Companion, KASCLanguage____, KASCReferralProgram_Companion, KASCReferralProgram_, KASCTierPerk__, KASCTierLevelTranslation__, KASCTierLevel__Companion, KASCTierLevel__, KASCTierLevelTranslation__Companion, KASCTierPerkTranslation__, KASCTierPerk__Companion, KASCTierPerkTranslation__Companion, KASCTierProgress__Companion, KASCTierProgress__, KASCUserBalance_Companion, KASCUserBalance_, KASCUserProfileDataModel_Companion, KASCUserProfileDataModel_, KASCUserProfileInclude_Companion, KASCUserProfileInclude_, KASCUserProfileModelCompanion, KASCUserProfileApiCompanion, KASCUserProfileModel_, KASCLanguage_____Companion, KASCLanguage_____, KASCReferralProgram__Companion, KASCReferralProgram__, KASCTierPerk___, KASCTierLevelTranslation___, KASCTierLevel___Companion, KASCTierLevel___, KASCTierLevelTranslation___Companion, KASCTierPerkTranslation___, KASCTierPerk___Companion, KASCTierPerkTranslation___Companion, KASCTierProgress___Companion, KASCTierProgress___, KASCUserBalance__Companion, KASCUserBalance__, KASCUserProfileDataModel__Companion, KASCUserProfileDataModel__, KASCUserProfileInclude__Companion, KASCUserProfileInclude__, KASCUserProfileModel_Companion, KASCUserCheckInApiCompanion, KASCCheckInResponseModel, KASCCheckInRequest, KASCCheckInDataModelCompanion, KASCCheckInDataModel, KASCCheckInRequestCompanion, KASCCheckInResponseModelCompanion, KASCAlaCarteProductsApiCompanion, KASCAlaCarteProductsModel, KASCProduct, KASCAlaCarteItemModelCompanion, KASCAlaCarteItemModel, KASCUserProfileDataModel___, KASCUserAlaCarteIncluded, KASCAlaCarteProductsModelCompanion, KASCImagesCompanion, KASCImages, KASCLanguage______Companion, KASCLanguage______, KASCLanguagesCompanion, KASCLanguages, KASCProductCompanion, KASCUserAlaCarteIncludedCompanion, KASCUserProfileDataModel___Companion, KASCUserBusinessRewardsApiCompanion, KASCUserBusinessRewardsModel, KASCBusinessCategory_Companion, KASCBusinessCategory_, KASCImage_, KASCBusinessData_Companion, KASCBusinessData_, KASCImage_Companion, KASCLanguage_______Companion, KASCLanguage_______, KASCRewardTranslation_, KASCRewardModelCompanion, KASCRewardModel, KASCRewardTranslation_Companion, KASCUserRewardsData, KASCUserBusinessRewardsModelCompanion, KASCUserRewardsDataCompanion, KASCUserBusinessAlaCarteProductsApiCompanion, KASCAlaCarteProductsModel_, KASCProduct_, KASCAlaCarteItemModel_Companion, KASCAlaCarteItemModel_, KASCUserProfileDataModel____, KASCUserAlaCarteIncluded_, KASCAlaCarteProductsModel_Companion, KASCImages_Companion, KASCImages_, KASCLanguage________Companion, KASCLanguage________, KASCLanguages_Companion, KASCLanguages_, KASCProduct_Companion, KASCUserAlaCarteIncluded_Companion, KASCUserProfileDataModel____Companion, KASCUserProfileUpdateApiCompanion, KASCUserProfileModel__, KASCLanguage_________Companion, KASCLanguage_________, KASCReferralProgram___Companion, KASCReferralProgram___, KASCTierPerk____, KASCTierLevelTranslation____, KASCTierLevel____Companion, KASCTierLevel____, KASCTierLevelTranslation____Companion, KASCTierPerkTranslation____, KASCTierPerk____Companion, KASCTierPerkTranslation____Companion, KASCTierProgress____Companion, KASCTierProgress____, KASCUserBalance___Companion, KASCUserBalance___, KASCUserProfileDataModel_____Companion, KASCUserProfileDataModel_____, KASCUserProfileInclude___Companion, KASCUserProfileInclude___, KASCUserProfileModel__Companion, KASCGiftCardDepositApiCompanion, KASCTransferActionResultModel, KASCImage__Companion, KASCImage__, KASCLanguage__________Companion, KASCLanguage__________, KASCOfferActionCompanion, KASCOfferAction, KASCOfferTranslation, KASCOfferModelCompanion, KASCOfferModel, KASCOfferTranslationCompanion, KASCTransferMessage, KASCTransferActionResultModelCompanion, KASCTransferMessageGiftCardQueue, KASCTransferMessageActions, KASCTransferMessageCompanion, KASCTransferMessageActionsCompanion, KASCTransferMessageGiftCardQueueCompanion, KASCPublicAlaCarteProductsApiCompanion, KASCPublicALaCarteProductsModel, KASCProduct__, KASCAlaCarteItemModel__Companion, KASCAlaCarteItemModel__, KASCImages__Companion, KASCImages__, KASCLanguage___________Companion, KASCLanguage___________, KASCLanguages__Companion, KASCLanguages__, KASCProduct__Companion, KASCPublicALaCarteProductsModelCompanion, KASCPayPalPaymentApiCompanion, KASCPayPalPaymentModel, KASCPayPalPaymentGiftCard, KASCPayPalPaymentCompanion, KASCPayPalPayment, KASCPayPalPaymentGiftCardCompanion, KASCPayPalPaymentModelCompanion, KASCSocialMediaActionPerformApiCompanion, KASCPerformSocialMediaActionResponseModel, KASCPerformSocialMediaActionRequestModel, KASCPerformActionResponseModelCompanion, KASCPerformActionResponseModel, KASCPerformSocialMediaActionRequestModelCompanion, KASCPerformSocialMediaActionResponseModelCompanion, KASCRedeemRewardsApiCompanion, KASCRedeemResponseModel, KASCRedeemRequest, KASCLanguage____________Companion, KASCLanguage____________, KASCRedemptionModel, KASCRedeemRequestCompanion, KASCUserProfileModel___, KASCRedeemResponseDataCompanion, KASCRedeemResponseData, KASCRedeemResponseModelCompanion, KASCRedemptionModelCompanion, KASCReferralProgram____Companion, KASCReferralProgram____, KASCTierPerk_____, KASCTierLevelTranslation_____, KASCTierLevel_____Companion, KASCTierLevel_____, KASCTierLevelTranslation_____Companion, KASCTierPerkTranslation_____, KASCTierPerk_____Companion, KASCTierPerkTranslation_____Companion, KASCTierProgress_____Companion, KASCTierProgress_____, KASCUserBalance____Companion, KASCUserBalance____, KASCUserProfileDataModel______Companion, KASCUserProfileDataModel______, KASCUserProfileInclude____Companion, KASCUserProfileInclude____, KASCUserProfileModel___Companion, KASCPublicProductsApiCompanion, KASCPublicProductsModel, KASCImages___Companion, KASCImages___, KASCLanguage_____________Companion, KASCLanguage_____________, KASCLanguages___Companion, KASCLanguages___, KASCProduct___Companion, KASCProduct___, KASCPublicProductsModelCompanion, KASCUserRewardsApiCompanion, KASCUserRewardsModel, KASCImage___Companion, KASCImage___, KASCLanguage______________Companion, KASCLanguage______________, KASCRewardTranslation__, KASCRewardModel_Companion, KASCRewardModel_, KASCRewardTranslation__Companion, KASCUserRewardsData_Companion, KASCUserRewardsData_, KASCUserRewardsModelCompanion, KASCBannersApiCompanion, KASCBannersModel, KASCLanguage_______________, KASCBannerCompanion, KASCBanner, KASCBannersModelCompanion, KASCLanguage_______________Companion, KASCBalanceTransferApiCompanion, KASCTransferResponseModel, KASCTransferRequestModel, KASCUserProfileDataModel_______, KASCTransferDataModelCompanion, KASCTransferDataModel, KASCTransferRequestFromCompanion, KASCTransferRequestFrom, KASCTransferRequestTo, KASCTransferRequestModelCompanion, KASCTransferRequestToCompanion, KASCTransferResponseModelCompanion, KASCUserProfileDataModel_______Companion, KASCGiftCardsApiCompanion, KASCGiftCardsModel, KASCGiftCardActionCompanion, KASCGiftCardAction, KASCImage____, KASCGiftCardTranslation, KASCGiftCardModelCompanion, KASCGiftCardModel, KASCLanguage________________, KASCGiftCardTranslationCompanion, KASCGiftCardsModelCompanion, KASCImage____Companion, KASCLanguage________________Companion, KASCBusinessesApiCompanion, KASCBusinesses, KASCBusinessCategory__Companion, KASCBusinessCategory__, KASCImage_____, KASCBusinessData__Companion, KASCBusinessData__, KASCBusinessesCompanion, KASCImage_____Companion, KASCUserCouponsApiCompanion, KASCUserCouponsModel, KASCOfferModel_, KASCCouponModelCompanion, KASCCouponModel, KASCImage______Companion, KASCImage______, KASCLanguage_________________Companion, KASCLanguage_________________, KASCOfferAction_Companion, KASCOfferAction_, KASCOfferTranslation_, KASCOfferModel_Companion, KASCOfferTranslation_Companion, KASCUserCouponsModelCompanion, KASCUserBusinessSocialMediaLinksApiCompanion, KASCSocialMediaLinksModel, KASCBusinessActionModelCompanion, KASCBusinessActionModel, KASCSocialMediaModel, KASCSocialMediaLinksIncludedCompanion, KASCSocialMediaLinksIncluded, KASCUserProfileDataModel________, KASCSocialMediaLinksModelCompanion, KASCSocialMediaModelCompanion, KASCUserProfileDataModel________Companion, KASCRedeemCouponsApiCompanion, KASCCouponRedemptionResponseModel, KASCRedeemCouponRequest, KASCCouponRedemptionModelCompanion, KASCCouponRedemptionModel, KASCUserProfileModel____, KASCCouponRedemptionResponseDataCompanion, KASCCouponRedemptionResponseData, KASCCouponRedemptionResponseModelCompanion, KASCLanguage__________________Companion, KASCLanguage__________________, KASCOfferRedemptionModelCompanion, KASCOfferRedemptionModel, KASCRedeemCouponRequestCompanion, KASCReferralProgram_____Companion, KASCReferralProgram_____, KASCTierPerk______, KASCTierLevelTranslation______, KASCTierLevel______Companion, KASCTierLevel______, KASCTierLevelTranslation______Companion, KASCTierPerkTranslation______, KASCTierPerk______Companion, KASCTierPerkTranslation______Companion, KASCTierProgress______Companion, KASCTierProgress______, KASCUserBalance_____Companion, KASCUserBalance_____, KASCUserProfileDataModel_________Companion, KASCUserProfileDataModel_________, KASCUserProfileInclude_____Companion, KASCUserProfileInclude_____, KASCUserProfileModel____Companion, KASCUserDeleteApiCompanion, KASCGetNotificationPreferencesApiCompanion, KASCNotificationSettingsModel_, KASCNotificationBusinessPayload_Companion, KASCNotificationBusinessPayload_, KASCNotificationSettingsData_Companion, KASCNotificationSettingsData_, KASCNotificationSettingsModel_Companion, KASCUserUnsubscribeApiCompanion, KASCUserDetailsApiCompanion, KASCUserDetailsModel, KASCUserProfileDataModel__________, KASCUserDetailsModelCompanion, KASCUserProfileDataModel__________Companion, KASCBranchesApiCompanion, KASCBusiness, KASCBranchPhone, KASCImage_______, KASCBranchAddress, KASCBranchCompanion, KASCBranch, KASCBranchAddressCompanion, KASCBranchPhoneCompanion, KASCBusinessData___, KASCBusinessBranchesData, KASCBusinessCompanion, KASCBusinessBranchesDataCompanion, KASCBusinessCategory___Companion, KASCBusinessCategory___, KASCBusinessData___Companion, KASCImage_______Companion, KASCUserScanReceiptApiCompanion, KASCScanReceiptResponseModel, KASCScanReceiptRequest, KASCScanReceiptRequestCompanion, KASCScanReceiptResponseModelCompanion, KASCGetSpinToWinPrizesApiCompanion, KASCSpinToWinPrizesModel, KASCPrizeModelCompanion, KASCPrizeModel, KASCSpinToWinPrizesDataCompanion, KASCSpinToWinPrizesData, KASCSpinToWinPrizesModelCompanion, KASCGiftCardPurchaseApiCompanion, KASCGiftCardPayPalPaymentResponseModel, KASCGiftCardPurchaseRequest, KASCGiftCardPayPalPaymentCompanion, KASCGiftCardPayPalPayment, KASCGiftCardPurchaseResponseGiftCardData, KASCUserBalance______, KASCGiftCardPayPalPaymentResponseDataCompanion, KASCGiftCardPayPalPaymentResponseData, KASCGiftCardPayPalPaymentResponseModelCompanion, KASCGiftCardPurchaseRequestCompanion, KASCGiftCardPurchaseResponseGiftCardDataCompanion, KASCUserBalance______Companion, KASCUserBusinessBannersApiCompanion, KASCUserBusinessBannersModel, KASCLanguage___________________, KASCBanner_Companion, KASCBanner_, KASCBusinessCategory____Companion, KASCBusinessCategory____, KASCImage________, KASCBusinessData____Companion, KASCBusinessData____, KASCImage________Companion, KASCLanguage___________________Companion, KASCUserBusinessBannersIncludedCompanion, KASCUserBusinessBannersIncluded, KASCUserBusinessBannersModelCompanion, KASCUserOffersApiCompanion, KASCUserOffersModel, KASCImage_________Companion, KASCImage_________, KASCLanguage____________________Companion, KASCLanguage____________________, KASCOfferAction__Companion, KASCOfferAction__, KASCOfferTranslation__, KASCOfferModel__Companion, KASCOfferModel__, KASCOfferTranslation__Companion, KASCUserOffersModelCompanion, KASCUpdateDefaultBusinessIdApiCompanion, KASCDefaultBusiness, KASCDefaultBusinessData, KASCDefaultBusinessCompanion, KASCDefaultBusinessDataCompanion, KASCUserPinResetRequestApiCompanion, KASCUserPinResetRequest, KASCUserPinResetRequestCompanion, KASCClaimOfferApiCompanion, KASCClaimedOfferModel, KASCOfferModel___, KASCClaimedOfferModelCompanion, KASCImage__________Companion, KASCImage__________, KASCLanguage_____________________Companion, KASCLanguage_____________________, KASCOfferAction___Companion, KASCOfferAction___, KASCOfferTranslation___, KASCOfferModel___Companion, KASCOfferTranslation___Companion, KASCUserTransactionHistoryApiCompanion, KASCUserTransactionHistoryModel, KASCTransactionCompanion, KASCTransaction, KASCUserTransactionHistoryModelCompanion, KASCSocialMediaLinksApiCompanion, KASCSocialMediaLinksModel_, KASCBusinessActionModel_Companion, KASCBusinessActionModel_, KASCSocialMediaModel_, KASCSocialMediaLinksIncluded_Companion, KASCSocialMediaLinksIncluded_, KASCUserProfileDataModel___________, KASCSocialMediaLinksModel_Companion, KASCSocialMediaModel_Companion, KASCUserProfileDataModel___________Companion, KASCUserProductsApiCompanion, KASCUserProductsModel, KASCImages____Companion, KASCImages____, KASCLanguage______________________Companion, KASCLanguage______________________, KASCLanguages____Companion, KASCLanguages____, KASCProduct____Companion, KASCProduct____, KASCUserProductsIncludedCompanion, KASCUserProductsIncluded, KASCUserProfileDataModel____________, KASCUserProductsModelCompanion, KASCUserProfileDataModel____________Companion, KASCUserRegistrationApiCompanion, KASCUserProfileDataModel_____________, KASCUserProfileDataModel_____________Companion, KASCBusinessApiCompanion, KASCBusiness_, KASCBranchPhone_, KASCImage___________, KASCBranchAddress_, KASCBranch_Companion, KASCBranch_, KASCBranchAddress_Companion, KASCBranchPhone_Companion, KASCBusinessData_____, KASCBusinessBranchesData_, KASCBusiness_Companion, KASCBusinessBranchesData_Companion, KASCBusinessCategory_____Companion, KASCBusinessCategory_____, KASCBusinessData_____Companion, KASCImage___________Companion, KASCPublicBusinessSettingsApiCompanion, KASCPublicBusinessSettings, KASCBusinessCategory______Companion, KASCBusinessCategory______, KASCImage____________, KASCBusinessData______Companion, KASCBusinessData______, KASCImage____________Companion, KASCPublicBusinessSettingsData, KASCPublicBusinessSettingsCompanion, KASCPublicBusinessSettingsDataCompanion, KASCGetDefaultBusinessIdApiCompanion, KASCDefaultBusiness_, KASCDefaultBusinessData_, KASCDefaultBusiness_Companion, KASCDefaultBusinessData_Companion, KASCUserBusinessFrequentBuyerProgramsApiCompanion, KASCFrequentBuyerProgramsModel, KASCFrequentBuyerProgramModelCompanion, KASCFrequentBuyerProgramModel, KASCFrequentBuyerProgramsIncludedCompanion, KASCFrequentBuyerProgramsIncluded, KASCUserProfileDataModel______________, KASCFrequentBuyerProgramsModelCompanion, KASCUserProfileDataModel______________Companion, KASCPublicBranchesApiCompanion, KASCPublicBranchesModel, KASCBranchPhone__, KASCImage_____________, KASCBranchAddress__, KASCBranch__Companion, KASCBranch__, KASCBranchAddress__Companion, KASCBranchPhone__Companion, KASCImage_____________Companion, KASCPublicBranchesModelCompanion, KASCUserPinUpdateApiCompanion, KASCUserProfileModel_____, KASCUpdatePinRequest, KASCLanguage_______________________Companion, KASCLanguage_______________________, KASCReferralProgram______Companion, KASCReferralProgram______, KASCTierPerk_______, KASCTierLevelTranslation_______, KASCTierLevel_______Companion, KASCTierLevel_______, KASCTierLevelTranslation_______Companion, KASCTierPerkTranslation_______, KASCTierPerk_______Companion, KASCTierPerkTranslation_______Companion, KASCTierProgress_______Companion, KASCTierProgress_______, KASCUpdatePinRequestCompanion, KASCUserBalance_______Companion, KASCUserBalance_______, KASCUserProfileDataModel_______________Companion, KASCUserProfileDataModel_______________, KASCUserProfileInclude______Companion, KASCUserProfileInclude______, KASCUserProfileModel_____Companion, KASCPushTokenRegistrationApiCompanion, KASCUserProfileModel______, KASCLanguage________________________Companion, KASCLanguage________________________, KASCReferralProgram_______Companion, KASCReferralProgram_______, KASCTierPerk________, KASCTierLevelTranslation________, KASCTierLevel________Companion, KASCTierLevel________, KASCTierLevelTranslation________Companion, KASCTierPerkTranslation________, KASCTierPerk________Companion, KASCTierPerkTranslation________Companion, KASCTierProgress________Companion, KASCTierProgress________, KASCUserBalance________Companion, KASCUserBalance________, KASCUserProfileDataModel________________Companion, KASCUserProfileDataModel________________, KASCUserProfileInclude_______Companion, KASCUserProfileInclude_______, KASCUserProfileModel______Companion, KASCUserBusinessOffersApiCompanion, KASCUserBusinessOffersModel, KASCBusinessCategory_______Companion, KASCBusinessCategory_______, KASCImage______________, KASCBusinessData_______Companion, KASCBusinessData_______, KASCImage______________Companion, KASCLanguage_________________________Companion, KASCLanguage_________________________, KASCOfferAction____Companion, KASCOfferAction____, KASCOfferTranslation____, KASCOfferModel____Companion, KASCOfferModel____, KASCOfferTranslation____Companion, KASCUserBusinessOffersIncludedCompanion, KASCUserBusinessOffersIncluded, KASCUserBusinessOffersModelCompanion, KASCPublicBannersApiCompanion, KASCBannersModel_, KASCLanguage__________________________, KASCBanner__Companion, KASCBanner__, KASCBannersModel_Companion, KASCLanguage__________________________Companion, KASCUpdateNotificationPreferencesApiCompanion, KASCNotificationSettingsModel__, KASCNotificationSettingsData__, KASCNotificationBusinessPayload__Companion, KASCNotificationBusinessPayload__, KASCNotificationSettingsData__Companion, KASCNotificationSettingsModel__Companion, KASCUserBusinessProductsApiCompanion, KASCUserProductsModel_, KASCImages_____Companion, KASCImages_____, KASCLanguage___________________________Companion, KASCLanguage___________________________, KASCLanguages_____Companion, KASCLanguages_____, KASCProduct_____Companion, KASCProduct_____, KASCUserProductsIncluded_Companion, KASCUserProductsIncluded_, KASCUserProfileDataModel_________________, KASCUserProductsModel_Companion, KASCUserProfileDataModel_________________Companion, KASCUserUsedCouponsApiCompanion, KASCUserCouponsModel_, KASCOfferModel_____, KASCCouponModel_Companion, KASCCouponModel_, KASCImage_______________Companion, KASCImage_______________, KASCLanguage____________________________Companion, KASCLanguage____________________________, KASCOfferAction_____Companion, KASCOfferAction_____, KASCOfferTranslation_____, KASCOfferModel_____Companion, KASCOfferTranslation_____Companion, KASCUserCouponsModel_Companion, KASCUserAuthenticationApiCompanion, KASCUserAuthenticationModel, KASCUserAuthenticationModelCompanion, KASCFrequentBuyerProgramsApiCompanion, KASCFrequentBuyerProgramsModel_, KASCFrequentBuyerProgramModel_Companion, KASCFrequentBuyerProgramModel_, KASCFrequentBuyerProgramsIncluded_Companion, KASCFrequentBuyerProgramsIncluded_, KASCUserProfileDataModel__________________, KASCFrequentBuyerProgramsModel_Companion, KASCUserProfileDataModel__________________Companion, KASCTransferRecallApiCompanion, KASCTransferActionResultModel_, KASCImage________________Companion, KASCImage________________, KASCLanguage_____________________________Companion, KASCLanguage_____________________________, KASCOfferAction______Companion, KASCOfferAction______, KASCOfferTranslation______, KASCOfferModel______Companion, KASCOfferModel______, KASCOfferTranslation______Companion, KASCTransferMessage_, KASCTransferActionResultModel_Companion, KASCTransferMessageGiftCardQueue_, KASCTransferMessageActions_, KASCTransferMessage_Companion, KASCTransferMessageActions_Companion, KASCTransferMessageGiftCardQueue_Companion, KASCCampaignMessagesApiCompanion, KASCCampaignMessagesModel, KASCBusinessCategory________Companion, KASCBusinessCategory________, KASCImage_________________, KASCBusinessData________Companion, KASCBusinessData________, KASCOfferModel_______, KASCCampaignCompanion, KASCCampaign, KASCCampaignMessageCompanion, KASCCampaignMessage, KASCCampaignMessagesModelCompanion, KASCImage_________________Companion, KASCLanguage______________________________Companion, KASCLanguage______________________________, KASCOfferAction_______Companion, KASCOfferAction_______, KASCOfferTranslation_______, KASCOfferModel_______Companion, KASCOfferTranslation_______Companion, KASCUserPinResetApiCompanion, KASCUserAccountVerificationApiCompanion, KASCUserProfileModel_______, KASCLanguage_______________________________Companion, KASCLanguage_______________________________, KASCReferralProgram________Companion, KASCReferralProgram________, KASCTierPerk_________, KASCTierLevelTranslation_________, KASCTierLevel_________Companion, KASCTierLevel_________, KASCTierLevelTranslation_________Companion, KASCTierPerkTranslation_________, KASCTierPerk_________Companion, KASCTierPerkTranslation_________Companion, KASCTierProgress_________Companion, KASCTierProgress_________, KASCUserBalance_________Companion, KASCUserBalance_________, KASCUserProfileDataModel___________________Companion, KASCUserProfileDataModel___________________, KASCUserProfileInclude________Companion, KASCUserProfileInclude________, KASCUserProfileModel_______Companion, KASCCountriesApiCompanion, KASCCountries, KASCCountry, KASCCountriesCompanion, KASCCountryCompanion, KASCPublicOffersApiCompanion, KASCUserOffersModel_, KASCImage__________________Companion, KASCImage__________________, KASCLanguage________________________________Companion, KASCLanguage________________________________, KASCOfferAction________Companion, KASCOfferAction________, KASCOfferTranslation________, KASCOfferModel________Companion, KASCOfferModel________, KASCOfferTranslation________Companion, KASCUserOffersModel_Companion, KASCStringsApiCompanion, KASCApplicationStringsModel, KASCApplicationStringCompanion, KASCApplicationString, KASCApplicationStringsModelCompanion, KASCUserBusinessGiftCardsApiCompanion, KASCUserBusinessGiftCardsModel, KASCBusinessCategory_________Companion, KASCBusinessCategory_________, KASCImage___________________, KASCBusinessData_________Companion, KASCBusinessData_________, KASCGiftCardAction_Companion, KASCGiftCardAction_, KASCGiftCardTranslation_, KASCGiftCardModel_Companion, KASCGiftCardModel_, KASCLanguage_________________________________, KASCGiftCardTranslation_Companion, KASCImage___________________Companion, KASCLanguage_________________________________Companion, KASCUserBusinessGiftCardsIncludedCompanion, KASCUserBusinessGiftCardsIncluded, KASCUserBusinessGiftCardsModelCompanion, KASCTransferMessagesApiCompanion, KASCTransferMessagesModel, KASCImage____________________Companion, KASCImage____________________, KASCLanguage__________________________________Companion, KASCLanguage__________________________________, KASCOfferAction_________Companion, KASCOfferAction_________, KASCOfferTranslation_________, KASCOfferModel_________Companion, KASCOfferModel_________, KASCOfferTranslation_________Companion, KASCTransferMessageGiftCardQueue__, KASCTransferMessageActions__, KASCTransferMessage__Companion, KASCTransferMessage__, KASCTransferMessageActions__Companion, KASCTransferMessageGiftCardQueue__Companion, KASCTransferMessagesModelCompanion, KASCPublicRewardsApiCompanion, KASCPublicRewardsModel, KASCImage_____________________Companion, KASCImage_____________________, KASCLanguage___________________________________Companion, KASCLanguage___________________________________, KASCRewardModel__, KASCPublicRewardsModelCompanion, KASCRewardTranslation___, KASCRewardModel__Companion, KASCRewardTranslation___Companion, KASCKtor_client_coreHttpResponse, KASCKtor_client_authBearerTokens, KASCKtor_client_authRefreshTokensParams, KASCKotlinUnit, KASCKotlinRuntimeException, KASCKotlinIllegalStateException, KASCKtor_httpHeadersBuilder, KASCKtor_client_coreHttpRequestBuilderCompanion, KASCKtor_client_coreHttpRequestData, KASCKtor_httpURLBuilder, KASCKtor_utilsTypeInfo, KASCKtor_httpHttpMethod, KASCKtor_client_coreHttpClientEngineConfig, KASCKtor_client_coreHttpClientConfig, KASCKtor_eventsEvents, KASCKtor_client_coreHttpReceivePipeline, KASCKtor_client_coreHttpRequestPipeline, KASCKtor_client_coreHttpResponsePipeline, KASCKtor_client_coreHttpSendPipeline, KASCKtor_client_coreHttpClientCall, KASCKtor_utilsGMTDate, KASCKtor_httpHttpStatusCode, KASCKtor_httpHttpProtocolVersion, KASCKotlinx_serialization_coreSerializersModule, KASCKotlinx_serialization_coreSerialKind, KASCKtor_utilsStringValuesBuilderImpl, KASCKtor_httpUrl, KASCKtor_httpOutgoingContent, KASCKtor_utilsAttributeKey, KASCKtor_httpURLProtocol, KASCKtor_httpURLBuilderCompanion, KASCKotlinCancellationException, KASCKtor_httpHttpMethodCompanion, KASCKtor_client_coreHttpResponseData, KASCKotlinx_coroutines_coreCoroutineDispatcher, KASCKtor_client_coreProxyConfig, KASCKtor_eventsEventDefinition, KASCKtor_utilsPipelinePhase, KASCKtor_utilsPipeline, KASCKtor_client_coreHttpReceivePipelinePhases, KASCKtor_client_coreHttpRequestPipelinePhases, KASCKtor_client_coreHttpResponsePipelinePhases, KASCKtor_client_coreHttpResponseContainer, KASCKtor_client_coreHttpSendPipelinePhases, KASCKtor_client_coreHttpClientCallCompanion, KASCKtor_ioMemory, KASCKtor_ioChunkBuffer, KASCKotlinByteArray, KASCKtor_ioBuffer, KASCKtor_ioByteReadPacket, KASCKtor_utilsGMTDateCompanion, KASCKtor_utilsWeekDay, KASCKtor_utilsMonth, KASCKtor_httpHttpStatusCodeCompanion, KASCKtor_httpHttpProtocolVersionCompanion, KASCKtor_httpUrlCompanion, KASCKtor_httpContentType, KASCKtor_httpURLProtocolCompanion, KASCKotlinKTypeProjection, KASCKotlinAbstractCoroutineContextElement, KASCKotlinx_coroutines_coreCoroutineDispatcherKey, KASCKtor_ioMemoryCompanion, KASCKtor_ioBufferCompanion, KASCKtor_ioChunkBufferCompanion, KASCKotlinByteIterator, KASCKtor_ioInputCompanion, KASCKtor_ioInput, KASCKtor_ioByteReadPacketCompanion, KASCKtor_utilsWeekDayCompanion, KASCKtor_utilsMonthCompanion, KASCKtor_httpHeaderValueParam, KASCKtor_httpHeaderValueWithParametersCompanion, KASCKtor_httpHeaderValueWithParameters, KASCKtor_httpContentTypeCompanion, KASCKotlinKVariance, KASCKotlinKTypeProjectionCompanion, KASCKotlinx_coroutines_coreAtomicDesc, KASCKotlinx_coroutines_coreLockFreeLinkedListNodePrepareOp, KASCKotlinAbstractCoroutineContextKey, KASCKotlinx_coroutines_coreAtomicOp<__contravariant T>, KASCKotlinx_coroutines_coreOpDescriptor, KASCKotlinx_coroutines_coreLockFreeLinkedListNode, KASCKotlinx_coroutines_coreLockFreeLinkedListNodeAbstractAtomicDesc, KASCKotlinx_coroutines_coreLockFreeLinkedListNodeAddLastDesc, KASCKotlinx_coroutines_coreLockFreeLinkedListNodeRemoveFirstDesc;
+
+@protocol KASCKotlinx_serialization_coreKSerializer, KASCKotlinComparable, KASCKotlinSuspendFunction0, KASCKotlinx_coroutines_coreFlowCollector, KASCKotlinx_coroutines_coreFlow, KASCKtor_ioCloseable, KASCKotlinx_serialization_coreEncoder, KASCKotlinx_serialization_coreSerialDescriptor, KASCKotlinx_serialization_coreSerializationStrategy, KASCKotlinx_serialization_coreDecoder, KASCKotlinx_serialization_coreDeserializationStrategy, KASCKotlinIterator, KASCKotlinFunction, KASCKtor_httpHttpMessageBuilder, KASCKtor_client_coreHttpClientEngineCapability, KASCKtor_utilsAttributes, KASCKotlinx_coroutines_coreJob, KASCKotlinCoroutineContext, KASCKotlinx_coroutines_coreCoroutineScope, KASCKtor_client_coreHttpClientEngine, KASCKtor_httpHeaders, KASCKtor_httpHttpMessage, KASCKtor_ioByteReadChannel, KASCKotlinx_serialization_coreCompositeEncoder, KASCKotlinAnnotation, KASCKotlinx_serialization_coreCompositeDecoder, KASCKtor_utilsStringValues, KASCKotlinMapEntry, KASCKtor_utilsStringValuesBuilder, KASCKtor_httpParameters, KASCKtor_httpParametersBuilder, KASCKotlinKClass, KASCKotlinKType, KASCKotlinx_coroutines_coreChildHandle, KASCKotlinx_coroutines_coreChildJob, KASCKotlinx_coroutines_coreDisposableHandle, KASCKotlinSequence, KASCKotlinx_coroutines_coreSelectClause0, KASCKotlinCoroutineContextKey, KASCKotlinCoroutineContextElement, KASCKtor_client_coreHttpClientPlugin, KASCKotlinSuspendFunction2, KASCKtor_client_coreHttpRequest, KASCKtor_ioReadSession, KASCKotlinSuspendFunction1, KASCKotlinAppendable, KASCKotlinx_serialization_coreSerializersModuleCollector, KASCKotlinKDeclarationContainer, KASCKotlinKAnnotatedElement, KASCKotlinKClassifier, KASCKotlinx_coroutines_coreParentJob, KASCKotlinx_coroutines_coreSelectInstance, KASCKotlinContinuation, KASCKotlinContinuationInterceptor, KASCKotlinx_coroutines_coreRunnable, KASCKtor_ioObjectPool;
+
+NS_ASSUME_NONNULL_BEGIN
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunknown-warning-option"
+#pragma clang diagnostic ignored "-Wincompatible-property-type"
+#pragma clang diagnostic ignored "-Wnullability"
+
+#pragma push_macro("_Nullable_result")
+#if !__has_feature(nullability_nullable_result)
+#undef _Nullable_result
+#define _Nullable_result _Nullable
+#endif
+
+__attribute__((swift_name("KotlinBase")))
+@interface KASCBase : NSObject
+- (instancetype)init __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
++ (void)initialize __attribute__((objc_requires_super));
+@end
+
+@interface KASCBase (KASCBaseCopying)
+@end
+
+__attribute__((swift_name("KotlinMutableSet")))
+@interface KASCMutableSet : NSMutableSet
+@end
+
+__attribute__((swift_name("KotlinMutableDictionary")))
+@interface KASCMutableDictionary : NSMutableDictionary
+@end
+
+@interface NSError (NSErrorKASCKotlinException)
+@property (readonly) id _Nullable kotlinException;
+@end
+
+__attribute__((swift_name("KotlinNumber")))
+@interface KASCNumber : NSNumber
+- (instancetype)initWithChar:(char)value __attribute__((unavailable));
+- (instancetype)initWithUnsignedChar:(unsigned char)value __attribute__((unavailable));
+- (instancetype)initWithShort:(short)value __attribute__((unavailable));
+- (instancetype)initWithUnsignedShort:(unsigned short)value __attribute__((unavailable));
+- (instancetype)initWithInt:(int)value __attribute__((unavailable));
+- (instancetype)initWithUnsignedInt:(unsigned int)value __attribute__((unavailable));
+- (instancetype)initWithLong:(long)value __attribute__((unavailable));
+- (instancetype)initWithUnsignedLong:(unsigned long)value __attribute__((unavailable));
+- (instancetype)initWithLongLong:(long long)value __attribute__((unavailable));
+- (instancetype)initWithUnsignedLongLong:(unsigned long long)value __attribute__((unavailable));
+- (instancetype)initWithFloat:(float)value __attribute__((unavailable));
+- (instancetype)initWithDouble:(double)value __attribute__((unavailable));
+- (instancetype)initWithBool:(BOOL)value __attribute__((unavailable));
+- (instancetype)initWithInteger:(NSInteger)value __attribute__((unavailable));
+- (instancetype)initWithUnsignedInteger:(NSUInteger)value __attribute__((unavailable));
++ (instancetype)numberWithChar:(char)value __attribute__((unavailable));
++ (instancetype)numberWithUnsignedChar:(unsigned char)value __attribute__((unavailable));
++ (instancetype)numberWithShort:(short)value __attribute__((unavailable));
++ (instancetype)numberWithUnsignedShort:(unsigned short)value __attribute__((unavailable));
++ (instancetype)numberWithInt:(int)value __attribute__((unavailable));
++ (instancetype)numberWithUnsignedInt:(unsigned int)value __attribute__((unavailable));
++ (instancetype)numberWithLong:(long)value __attribute__((unavailable));
++ (instancetype)numberWithUnsignedLong:(unsigned long)value __attribute__((unavailable));
++ (instancetype)numberWithLongLong:(long long)value __attribute__((unavailable));
++ (instancetype)numberWithUnsignedLongLong:(unsigned long long)value __attribute__((unavailable));
++ (instancetype)numberWithFloat:(float)value __attribute__((unavailable));
++ (instancetype)numberWithDouble:(double)value __attribute__((unavailable));
++ (instancetype)numberWithBool:(BOOL)value __attribute__((unavailable));
++ (instancetype)numberWithInteger:(NSInteger)value __attribute__((unavailable));
++ (instancetype)numberWithUnsignedInteger:(NSUInteger)value __attribute__((unavailable));
+@end
+
+__attribute__((swift_name("KotlinByte")))
+@interface KASCByte : KASCNumber
+- (instancetype)initWithChar:(char)value;
++ (instancetype)numberWithChar:(char)value;
+@end
+
+__attribute__((swift_name("KotlinUByte")))
+@interface KASCUByte : KASCNumber
+- (instancetype)initWithUnsignedChar:(unsigned char)value;
++ (instancetype)numberWithUnsignedChar:(unsigned char)value;
+@end
+
+__attribute__((swift_name("KotlinShort")))
+@interface KASCShort : KASCNumber
+- (instancetype)initWithShort:(short)value;
++ (instancetype)numberWithShort:(short)value;
+@end
+
+__attribute__((swift_name("KotlinUShort")))
+@interface KASCUShort : KASCNumber
+- (instancetype)initWithUnsignedShort:(unsigned short)value;
++ (instancetype)numberWithUnsignedShort:(unsigned short)value;
+@end
+
+__attribute__((swift_name("KotlinInt")))
+@interface KASCInt : KASCNumber
+- (instancetype)initWithInt:(int)value;
++ (instancetype)numberWithInt:(int)value;
+@end
+
+__attribute__((swift_name("KotlinUInt")))
+@interface KASCUInt : KASCNumber
+- (instancetype)initWithUnsignedInt:(unsigned int)value;
++ (instancetype)numberWithUnsignedInt:(unsigned int)value;
+@end
+
+__attribute__((swift_name("KotlinLong")))
+@interface KASCLong : KASCNumber
+- (instancetype)initWithLongLong:(long long)value;
++ (instancetype)numberWithLongLong:(long long)value;
+@end
+
+__attribute__((swift_name("KotlinULong")))
+@interface KASCULong : KASCNumber
+- (instancetype)initWithUnsignedLongLong:(unsigned long long)value;
++ (instancetype)numberWithUnsignedLongLong:(unsigned long long)value;
+@end
+
+__attribute__((swift_name("KotlinFloat")))
+@interface KASCFloat : KASCNumber
+- (instancetype)initWithFloat:(float)value;
++ (instancetype)numberWithFloat:(float)value;
+@end
+
+__attribute__((swift_name("KotlinDouble")))
+@interface KASCDouble : KASCNumber
+- (instancetype)initWithDouble:(double)value;
++ (instancetype)numberWithDouble:(double)value;
+@end
+
+__attribute__((swift_name("KotlinBoolean")))
+@interface KASCBoolean : KASCNumber
+- (instancetype)initWithBool:(BOOL)value;
++ (instancetype)numberWithBool:(BOOL)value;
+@end
+
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ *
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((swift_name("Model")))
+@interface KASCModel : KASCBase
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+@property (class, readonly, getter=companion) KASCModelCompanion *companion __attribute__((swift_name("companion")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("AuthenticationModel")))
+@interface KASCAuthenticationModel : KASCModel
+- (instancetype)initWithAuthScope:(NSString *)authScope tokenType:(NSString * _Nullable)tokenType expiresIn:(KASCInt * _Nullable)expiresIn accessToken:(NSString * _Nullable)accessToken refreshToken:(NSString * _Nullable)refreshToken __attribute__((swift_name("init(authScope:tokenType:expiresIn:accessToken:refreshToken:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+@property (class, readonly, getter=companion) KASCAuthenticationModelCompanion *companion __attribute__((swift_name("companion")));
+- (KASCAuthenticationModel *)doCopyAuthScope:(NSString *)authScope tokenType:(NSString * _Nullable)tokenType expiresIn:(KASCInt * _Nullable)expiresIn accessToken:(NSString * _Nullable)accessToken refreshToken:(NSString * _Nullable)refreshToken __attribute__((swift_name("doCopy(authScope:tokenType:expiresIn:accessToken:refreshToken:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString * _Nullable accessToken __attribute__((swift_name("accessToken")));
+@property (readonly) NSString *authScope __attribute__((swift_name("authScope")));
+@property (readonly) KASCInt * _Nullable expiresIn __attribute__((swift_name("expiresIn")));
+@property (readonly) NSString * _Nullable refreshToken __attribute__((swift_name("refreshToken")));
+@property (readonly) NSString * _Nullable tokenType __attribute__((swift_name("tokenType")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("AuthenticationModel.Companion")))
+@interface KASCAuthenticationModelCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCAuthenticationModelCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@property (readonly) NSString *ACCESS_TOKEN __attribute__((swift_name("ACCESS_TOKEN")));
+@property (readonly) NSString *AUTH_SCOPE __attribute__((swift_name("AUTH_SCOPE")));
+@property (readonly) NSString *REFRESH_TOKEN __attribute__((swift_name("REFRESH_TOKEN")));
+@end
+
+__attribute__((swift_name("KotlinComparable")))
+@protocol KASCKotlinComparable
+@required
+- (int32_t)compareToOther:(id _Nullable)other __attribute__((swift_name("compareTo(other:)")));
+@end
+
+__attribute__((swift_name("KotlinEnum")))
+@interface KASCKotlinEnum : KASCBase
+- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCKotlinEnumCompanion *companion __attribute__((swift_name("companion")));
+- (int32_t)compareToOther:(E)other __attribute__((swift_name("compareTo(other:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *name __attribute__((swift_name("name")));
+@property (readonly) int32_t ordinal __attribute__((swift_name("ordinal")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("AuthenticationScope")))
+@interface KASCAuthenticationScope : KASCKotlinEnum
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
+- (instancetype)initWithName:(NSString *)name ordinal:(int32_t)ordinal __attribute__((swift_name("init(name:ordinal:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
+@property (class, readonly) KASCAuthenticationScope *customer __attribute__((swift_name("customer")));
+@property (class, readonly) KASCAuthenticationScope *business __attribute__((swift_name("business")));
++ (KASCKotlinArray *)values __attribute__((swift_name("values()")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("KangarooSdk")))
+@interface KASCKangarooSdk : KASCBase
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (NSString * _Nullable)getPreferredLanguage __attribute__((swift_name("getPreferredLanguage()")));
+
+/**
+ * Gets the access token. If null or empty, the session has expired.
+ */
+- (NSString * _Nullable)getSession __attribute__((swift_name("getSession()")));
+
+/**
+ * Initializes the sdk. Accessing the sdk prior to running this command
+ * will throw an exception
+ */
+- (void)initializeApplicationKey:(NSString *)applicationKey clientId:(NSString *)clientId clientSecret:(NSString *)clientSecret environment:(NSString *)environment __attribute__((swift_name("initialize(applicationKey:clientId:clientSecret:environment:)")));
+- (void)killSession __attribute__((swift_name("killSession()")));
+- (void)setPreferredLanguageIso639LanguageCode:(NSString *)iso639LanguageCode __attribute__((swift_name("setPreferredLanguage(iso639LanguageCode:)")));
+@end
+
+__attribute__((swift_name("KotlinThrowable")))
+@interface KASCKotlinThrowable : KASCBase
+- (instancetype)initWithMessage:(NSString * _Nullable)message __attribute__((swift_name("init(message:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)initWithCause:(KASCKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(cause:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (instancetype)initWithMessage:(NSString * _Nullable)message cause:(KASCKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(message:cause:)"))) __attribute__((objc_designated_initializer));
+- (KASCKotlinArray *)getStackTrace __attribute__((swift_name("getStackTrace()")));
+- (void)printStackTrace __attribute__((swift_name("printStackTrace()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) KASCKotlinThrowable * _Nullable cause __attribute__((swift_name("cause")));
+@property (readonly) NSString * _Nullable message __attribute__((swift_name("message")));
+- (NSError *)asError __attribute__((swift_name("asError()")));
+@end
+
+__attribute__((swift_name("KotlinException")))
+@interface KASCKotlinException : KASCKotlinThrowable
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (instancetype)initWithMessage:(NSString * _Nullable)message __attribute__((swift_name("init(message:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)initWithMessage:(NSString * _Nullable)message cause:(KASCKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(message:cause:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)initWithCause:(KASCKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(cause:)"))) __attribute__((objc_designated_initializer));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("KangarooSdkNotInitializedException")))
+@interface KASCKangarooSdkNotInitializedException : KASCKotlinException
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (instancetype)initWithMessage:(NSString * _Nullable)message __attribute__((swift_name("init(message:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
+- (instancetype)initWithMessage:(NSString * _Nullable)message cause:(KASCKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(message:cause:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
+- (instancetype)initWithCause:(KASCKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(cause:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
+@property (readonly) NSString *message __attribute__((swift_name("message")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SdkContext")))
+@interface KASCSdkContext : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)sdkContext __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCSdkContext *shared __attribute__((swift_name("shared")));
+@property (readonly) KASCStately_concurrencyAtomicReference *applicationKey __attribute__((swift_name("applicationKey")));
+@property (readonly) KASCStately_concurrencyAtomicReference *clientId __attribute__((swift_name("clientId")));
+@property (readonly) KASCStately_concurrencyAtomicReference *clientSecret __attribute__((swift_name("clientSecret")));
+@property (readonly) KASCStately_concurrencyAtomicReference *environment __attribute__((swift_name("environment")));
+@property (readonly) KASCStately_concurrencyAtomicBoolean *sdkInit __attribute__((swift_name("sdkInit")));
+@property (readonly) KASCStately_concurrencyAtomicReference *tokenStore __attribute__((swift_name("tokenStore")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TokenStore")))
+@interface KASCTokenStore : KASCBase
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (NSString * _Nullable)getPreferredLanguage __attribute__((swift_name("getPreferredLanguage()")));
+- (KASCAuthenticationModel * _Nullable)getTokens __attribute__((swift_name("getTokens()")));
+- (void)storeTokensTokens:(KASCAuthenticationModel *)tokens __attribute__((swift_name("storeTokens(tokens:)")));
+@end
+
+__attribute__((swift_name("NetworkRequest")))
+@interface KASCNetworkRequest : KASCBase
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+@property (class, readonly, getter=companion) KASCNetworkRequestCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)deleteEndpoint:(id)endpoint fields:(KASCKotlinArray *)fields completionHandler:(void (^)(KASCModel * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("delete(endpoint:fields:completionHandler:)")));
+
+/**
+ * GET request
+ *
+ * @param fields Optional list of fields to send in the request.
+ *
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)getEndpoint:(id)endpoint fields:(KASCKotlinArray *)fields completionHandler:(void (^)(KASCModel * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("get(endpoint:fields:completionHandler:)")));
+
+/**
+ * PATCH body data
+ *
+ * @param requestBody Request body for this patch request
+ *
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+ * @note This method has protected visibility in Kotlin source and is intended only for use by subclasses.
+*/
+- (void)patchEndpoint:(id)endpoint headers:(NSArray *)headers queries:(NSArray *)queries fields:(NSArray *)fields requestBody:(id _Nullable)requestBody completionHandler:(void (^)(KASCModel * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("patch(endpoint:headers:queries:fields:requestBody:completionHandler:)")));
+
+/**
+ * POST body data
+ *
+ * @param requestBody Request body for this post request
+ *
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)postEndpoint:(id)endpoint headers:(NSArray *)headers queries:(NSArray *)queries fields:(NSArray *)fields requestBody:(id _Nullable)requestBody completionHandler:(void (^)(KASCModel * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("post(endpoint:headers:queries:fields:requestBody:completionHandler:)")));
+
+/**
+ * POST form data
+ *
+ * @param fields List of fields to send in the request. If you are required to post your data
+ * as a Json object, use post() instead of postForm()
+ *
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)postFormEndpoint:(id)endpoint fields:(KASCKotlinArray *)fields completionHandler:(void (^)(KASCModel * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("postForm(endpoint:fields:completionHandler:)")));
+
+/**
+ * PATCH body data
+ *
+ * @param requestBody Request body for this patch request
+ *
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+ * @note This method has protected visibility in Kotlin source and is intended only for use by subclasses.
+*/
+- (void)putEndpoint:(id)endpoint headers:(NSArray *)headers queries:(NSArray *)queries fields:(NSArray *)fields requestBody:(id _Nullable)requestBody completionHandler:(void (^)(KASCModel * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("put(endpoint:headers:queries:fields:requestBody:completionHandler:)")));
+
+/**
+ * Base network call that handles all errors. No exceptions should be thrown from this function;
+ * any errors and successes should be wrapped into a NetworkResult to be handled by the consumer.
+ *
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)safeNetworkCallCall:(id)call completionHandler:(void (^)(KASCIOResult * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("safeNetworkCall(call:completionHandler:)")));
+
+/**
+ * POST form data
+ *
+ * @param fields List of fields to send in the request. If you are required to post your data
+ * as a Json object, use post() instead of postForm()
+ *
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)submitRefreshTokensFormEndpoint:(id)endpoint fields:(KASCKotlinArray *)fields completionHandler:(void (^)(KASCModel * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("submitRefreshTokensForm(endpoint:fields:completionHandler:)")));
+- (void)buildPatchOrPostRequest:(KASCKtor_client_coreHttpRequestBuilder *)receiver endpoint:(id)endpoint headers:(NSArray *)headers queries:(NSArray *)queries fields:(NSArray *)fields requestBody:(id _Nullable)requestBody __attribute__((swift_name("buildPatchOrPostRequest(_:endpoint:headers:queries:fields:requestBody:)")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("NetworkRequest.Companion")))
+@interface KASCNetworkRequestCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCNetworkRequestCompanion *shared __attribute__((swift_name("shared")));
+@end
+
+
+/**
+ * Field class for requests that send Fields.
+ * Basic Key-Value pair structure
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Field")))
+@interface KASCField : KASCBase
+- (instancetype)initWithName:(NSString *)name value:(NSString *)value __attribute__((swift_name("init(name:value:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Field class for requests that send Fields.
+ * Basic Key-Value pair structure
+ */
+- (KASCField *)doCopyName:(NSString *)name value:(NSString *)value __attribute__((swift_name("doCopy(name:value:)")));
+
+/**
+ * Field class for requests that send Fields.
+ * Basic Key-Value pair structure
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Field class for requests that send Fields.
+ * Basic Key-Value pair structure
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Field class for requests that send Fields.
+ * Basic Key-Value pair structure
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *name __attribute__((swift_name("name")));
+@property (readonly) NSString *value __attribute__((swift_name("value")));
+@end
+
+
+/**
+ * FormField class used to build form requests
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("FormField")))
+@interface KASCFormField : KASCBase
+- (instancetype)initWithName:(NSString *)name value:(id _Nullable)value __attribute__((swift_name("init(name:value:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * FormField class used to build form requests
+ */
+- (KASCFormField *)doCopyName:(NSString *)name value:(id _Nullable)value __attribute__((swift_name("doCopy(name:value:)")));
+
+/**
+ * FormField class used to build form requests
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * FormField class used to build form requests
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * FormField class used to build form requests
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *name __attribute__((swift_name("name")));
+@property (readonly) id _Nullable value __attribute__((swift_name("value")));
+@end
+
+
+/**
+ * Header class used to build requests
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Header")))
+@interface KASCHeader : KASCBase
+- (instancetype)initWithName:(NSString *)name value:(id _Nullable)value __attribute__((swift_name("init(name:value:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Header class used to build requests
+ */
+- (KASCHeader *)doCopyName:(NSString *)name value:(id _Nullable)value __attribute__((swift_name("doCopy(name:value:)")));
+
+/**
+ * Header class used to build requests
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Header class used to build requests
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Header class used to build requests
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *name __attribute__((swift_name("name")));
+@property (readonly) id _Nullable value __attribute__((swift_name("value")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("KHttpClient")))
+@interface KASCKHttpClient : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)kHttpClient __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCKHttpClient *shared __attribute__((swift_name("shared")));
+
+/**
+ * Http client used for all http requests
+ */
+@property (readonly) KASCKtor_client_coreHttpClient *client __attribute__((swift_name("client")));
+@end
+
+
+/**
+ * Thrown when the device has no internet connection.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("NoConnectivityException")))
+@interface KASCNoConnectivityException : KASCKotlinException
+
+/**
+ * Thrown when the device has no internet connection.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Thrown when the device has no internet connection.
+ */
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (instancetype)initWithMessage:(NSString * _Nullable)message __attribute__((swift_name("init(message:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
+- (instancetype)initWithMessage:(NSString * _Nullable)message cause:(KASCKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(message:cause:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
+- (instancetype)initWithCause:(KASCKotlinThrowable * _Nullable)cause __attribute__((swift_name("init(cause:)"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
+@property (readonly) NSString *message __attribute__((swift_name("message")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("PathParameter")))
+@interface KASCPathParameter : KASCBase
+- (instancetype)initWithSubPath:(NSString *)subPath value:(id _Nullable)value __attribute__((swift_name("init(subPath:value:)"))) __attribute__((objc_designated_initializer));
+- (KASCPathParameter *)doCopySubPath:(NSString *)subPath value:(id _Nullable)value __attribute__((swift_name("doCopy(subPath:value:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *subPath __attribute__((swift_name("subPath")));
+@property (readonly) id _Nullable value __attribute__((swift_name("value")));
+@end
+
+
+/**
+ * Query class used to build requests
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Query")))
+@interface KASCQuery : KASCBase
+- (instancetype)initWithName:(NSString *)name value:(id _Nullable)value __attribute__((swift_name("init(name:value:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Query class used to build requests
+ */
+- (KASCQuery *)doCopyName:(NSString *)name value:(id _Nullable)value __attribute__((swift_name("doCopy(name:value:)")));
+
+/**
+ * Query class used to build requests
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Query class used to build requests
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Query class used to build requests
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *name __attribute__((swift_name("name")));
+@property (readonly) id _Nullable value __attribute__((swift_name("value")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserReAuthenticationModel")))
+@interface KASCUserReAuthenticationModel : KASCModel
+- (instancetype)initWithTokenType:(NSString * _Nullable)tokenType expiresIn:(KASCInt * _Nullable)expiresIn accessToken:(NSString * _Nullable)accessToken refreshToken:(NSString * _Nullable)refreshToken __attribute__((swift_name("init(tokenType:expiresIn:accessToken:refreshToken:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+@property (class, readonly, getter=companion) KASCUserReAuthenticationModelCompanion *companion __attribute__((swift_name("companion")));
+- (KASCUserReAuthenticationModel *)doCopyTokenType:(NSString * _Nullable)tokenType expiresIn:(KASCInt * _Nullable)expiresIn accessToken:(NSString * _Nullable)accessToken refreshToken:(NSString * _Nullable)refreshToken __attribute__((swift_name("doCopy(tokenType:expiresIn:accessToken:refreshToken:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString * _Nullable accessToken __attribute__((swift_name("accessToken")));
+@property (readonly) KASCInt * _Nullable expiresIn __attribute__((swift_name("expiresIn")));
+@property (readonly) NSString * _Nullable refreshToken __attribute__((swift_name("refreshToken")));
+@property (readonly) NSString * _Nullable tokenType __attribute__((swift_name("tokenType")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserReAuthenticationModel.Companion")))
+@interface KASCUserReAuthenticationModelCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserReAuthenticationModelCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@property (readonly) NSString *ACCESS_TOKEN __attribute__((swift_name("ACCESS_TOKEN")));
+@property (readonly) NSString *REFRESH_TOKEN __attribute__((swift_name("REFRESH_TOKEN")));
+@end
+
+
+/**
+ * Language feature for [HttpClient].
+ *
+ * @property language: value of Accept-Language header to set. Must conform to
+ * ISO 639-1 kangaroorewards.appsdk.core.utils.language code format.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Language")))
+@interface KASCLanguage : KASCBase
+- (instancetype)initWithLanguage:(NSString *)language __attribute__((swift_name("init(language:)"))) __attribute__((objc_designated_initializer));
+@end
+
+
+/**
+ * Base class for all Api classes in the SDK. Api classes are the
+ * gateway to all functionality in the sdk, and will throw an error
+ * if they are accessed before the sdk has been initialized.
+ */
+__attribute__((swift_name("Api")))
+@interface KASCApi : KASCBase
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+@end
+
+__attribute__((swift_name("ModelOld")))
+@interface KASCModelOld : KASCBase
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+@end
+
+__attribute__((swift_name("ModelList")))
+@interface KASCModelList : KASCModelOld
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+@property (readonly) NSArray *all __attribute__((swift_name("all")));
+@end
+
+
+/**
+ * Base result class returned from all [Api] calls.
+ * Result will wrap various states such as Success, Error, Loading, etc...
+ */
+__attribute__((swift_name("Result")))
+@interface KASCResult<__covariant T> : KASCBase
+@end
+
+
+/**
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ResultEmptyResponse")))
+@interface KASCResultEmptyResponse<__covariant T> : KASCResult
+- (instancetype)initWithBody:(NSString *)body __attribute__((swift_name("init(body:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCResultEmptyResponseCompanion *companion __attribute__((swift_name("companion")));
+- (KASCResultEmptyResponse *)doCopyBody:(NSString *)body __attribute__((swift_name("doCopy(body:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *body __attribute__((swift_name("body")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ResultEmptyResponseCompanion")))
+@interface KASCResultEmptyResponseCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCResultEmptyResponseCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializerTypeParamsSerializers:(KASCKotlinArray> *)typeParamsSerializers __attribute__((swift_name("serializer(typeParamsSerializers:)")));
+- (id)serializerTypeSerial0:(id)typeSerial0 __attribute__((swift_name("serializer(typeSerial0:)")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ResultIdle")))
+@interface KASCResultIdle<__covariant T> : KASCResult
+- (instancetype)initWithState:(KASCResultMetaData *)state __attribute__((swift_name("init(state:)"))) __attribute__((objc_designated_initializer));
+- (KASCResultIdle *)doCopyState:(KASCResultMetaData *)state __attribute__((swift_name("doCopy(state:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) KASCResultMetaData *state __attribute__((swift_name("state")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ResultLoading")))
+@interface KASCResultLoading<__covariant T> : KASCResult
+- (instancetype)initWithState:(KASCResultMetaData *)state __attribute__((swift_name("init(state:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCResultLoadingCompanion *companion __attribute__((swift_name("companion")));
+- (KASCResultLoading *)doCopyState:(KASCResultMetaData *)state __attribute__((swift_name("doCopy(state:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) KASCResultMetaData *state __attribute__((swift_name("state")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ResultLoadingCompanion")))
+@interface KASCResultLoadingCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCResultLoadingCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializerTypeParamsSerializers:(KASCKotlinArray> *)typeParamsSerializers __attribute__((swift_name("serializer(typeParamsSerializers:)")));
+- (id)serializerTypeSerial0:(id)typeSerial0 __attribute__((swift_name("serializer(typeSerial0:)")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ResultSuccess")))
+@interface KASCResultSuccess<__covariant T> : KASCResult
+- (instancetype)initWithData:(T)data __attribute__((swift_name("init(data:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCResultSuccessCompanion *companion __attribute__((swift_name("companion")));
+- (KASCResultSuccess *)doCopyData:(T)data __attribute__((swift_name("doCopy(data:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) T data __attribute__((swift_name("data")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ResultSuccessCompanion")))
+@interface KASCResultSuccessCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCResultSuccessCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializerTypeParamsSerializers:(KASCKotlinArray> *)typeParamsSerializers __attribute__((swift_name("serializer(typeParamsSerializers:)")));
+- (id)serializerTypeSerial0:(id)typeSerial0 __attribute__((swift_name("serializer(typeSerial0:)")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ResultUnauthorizedError")))
+@interface KASCResultUnauthorizedError<__covariant T> : KASCResult
+- (instancetype)initWithError:(KASCResultMetaData *)error __attribute__((swift_name("init(error:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCResultUnauthorizedErrorCompanion *companion __attribute__((swift_name("companion")));
+- (KASCResultUnauthorizedError *)doCopyError:(KASCResultMetaData *)error __attribute__((swift_name("doCopy(error:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) KASCResultMetaData *error __attribute__((swift_name("error")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ResultUnauthorizedErrorCompanion")))
+@interface KASCResultUnauthorizedErrorCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCResultUnauthorizedErrorCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializerTypeParamsSerializers:(KASCKotlinArray> *)typeParamsSerializers __attribute__((swift_name("serializer(typeParamsSerializers:)")));
+- (id)serializerTypeSerial0:(id)typeSerial0 __attribute__((swift_name("serializer(typeSerial0:)")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ResultUnknownError")))
+@interface KASCResultUnknownError<__covariant T> : KASCResult
+- (instancetype)initWithError:(KASCResultMetaData *)error __attribute__((swift_name("init(error:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCResultUnknownErrorCompanion *companion __attribute__((swift_name("companion")));
+- (KASCResultUnknownError *)doCopyError:(KASCResultMetaData *)error __attribute__((swift_name("doCopy(error:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) KASCResultMetaData *error __attribute__((swift_name("error")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ResultUnknownErrorCompanion")))
+@interface KASCResultUnknownErrorCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCResultUnknownErrorCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializerTypeParamsSerializers:(KASCKotlinArray> *)typeParamsSerializers __attribute__((swift_name("serializer(typeParamsSerializers:)")));
+- (id)serializerTypeSerial0:(id)typeSerial0 __attribute__((swift_name("serializer(typeSerial0:)")));
+@end
+
+
+/**
+ * Metadata class used to store serializable information
+ * about [Result] states. Any state that is not [Result.Success]
+ * should contain metadata.
+ *
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ResultMetaData")))
+@interface KASCResultMetaData : KASCBase
+- (instancetype)initWithType:(NSString *)type code:(int32_t)code msg:(NSString *)msg __attribute__((swift_name("init(type:code:msg:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCResultMetaDataCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Metadata class used to store serializable information
+ * about [Result] states. Any state that is not [Result.Success]
+ * should contain metadata.
+ */
+- (KASCResultMetaData *)doCopyType:(NSString *)type code:(int32_t)code msg:(NSString *)msg __attribute__((swift_name("doCopy(type:code:msg:)")));
+
+/**
+ * Metadata class used to store serializable information
+ * about [Result] states. Any state that is not [Result.Success]
+ * should contain metadata.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Metadata class used to store serializable information
+ * about [Result] states. Any state that is not [Result.Success]
+ * should contain metadata.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Metadata class used to store serializable information
+ * about [Result] states. Any state that is not [Result.Success]
+ * should contain metadata.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) int32_t code __attribute__((swift_name("code")));
+@property (readonly) NSString *msg __attribute__((swift_name("msg")));
+
+/** Must match the class name of the Error being returned eg "UnauthorizedError" */
+@property (readonly) NSString *type __attribute__((swift_name("type")));
+@end
+
+
+/**
+ * Metadata class used to store serializable information
+ * about [Result] states. Any state that is not [Result.Success]
+ * should contain metadata.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ResultMetaData.Companion")))
+@interface KASCResultMetaDataCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Metadata class used to store serializable information
+ * about [Result] states. Any state that is not [Result.Success]
+ * should contain metadata.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCResultMetaDataCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Metadata class used to store serializable information
+ * about [Result] states. Any state that is not [Result.Success]
+ * should contain metadata.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+*/
+__attribute__((swift_name("SerializedResult")))
+@interface KASCSerializedResult<__covariant T> : KASCBase
+@end
+
+
+/**
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SerializedResultEmptyResponse")))
+@interface KASCSerializedResultEmptyResponse : KASCSerializedResult
+- (instancetype)initWithBody:(NSString *)body __attribute__((swift_name("init(body:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCSerializedResultEmptyResponseCompanion *companion __attribute__((swift_name("companion")));
+- (KASCSerializedResultEmptyResponse *)doCopyBody:(NSString *)body __attribute__((swift_name("doCopy(body:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *body __attribute__((swift_name("body")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SerializedResultEmptyResponse.Companion")))
+@interface KASCSerializedResultEmptyResponseCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCSerializedResultEmptyResponseCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SerializedResultIdle")))
+@interface KASCSerializedResultIdle : KASCSerializedResult
+- (instancetype)initWithState:(NSString *)state __attribute__((swift_name("init(state:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCSerializedResultIdleCompanion *companion __attribute__((swift_name("companion")));
+- (KASCSerializedResultIdle *)doCopyState:(NSString *)state __attribute__((swift_name("doCopy(state:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *state __attribute__((swift_name("state")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SerializedResultIdle.Companion")))
+@interface KASCSerializedResultIdleCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCSerializedResultIdleCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SerializedResultLoading")))
+@interface KASCSerializedResultLoading : KASCSerializedResult
+- (instancetype)initWithState:(NSString *)state __attribute__((swift_name("init(state:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCSerializedResultLoadingCompanion *companion __attribute__((swift_name("companion")));
+- (KASCSerializedResultLoading *)doCopyState:(NSString *)state __attribute__((swift_name("doCopy(state:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *state __attribute__((swift_name("state")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SerializedResultLoading.Companion")))
+@interface KASCSerializedResultLoadingCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCSerializedResultLoadingCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SerializedResultSuccess")))
+@interface KASCSerializedResultSuccess : KASCSerializedResult
+- (instancetype)initWithData:(NSString *)data __attribute__((swift_name("init(data:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCSerializedResultSuccessCompanion *companion __attribute__((swift_name("companion")));
+- (KASCSerializedResultSuccess *)doCopyData:(NSString *)data __attribute__((swift_name("doCopy(data:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *data __attribute__((swift_name("data")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SerializedResultSuccess.Companion")))
+@interface KASCSerializedResultSuccessCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCSerializedResultSuccessCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SerializedResultUnauthorizedError")))
+@interface KASCSerializedResultUnauthorizedError : KASCSerializedResult
+- (instancetype)initWithError:(NSString *)error __attribute__((swift_name("init(error:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCSerializedResultUnauthorizedErrorCompanion *companion __attribute__((swift_name("companion")));
+- (KASCSerializedResultUnauthorizedError *)doCopyError:(NSString *)error __attribute__((swift_name("doCopy(error:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *error __attribute__((swift_name("error")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SerializedResultUnauthorizedError.Companion")))
+@interface KASCSerializedResultUnauthorizedErrorCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCSerializedResultUnauthorizedErrorCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SerializedResultUnknownError")))
+@interface KASCSerializedResultUnknownError : KASCSerializedResult
+- (instancetype)initWithError:(NSString *)error __attribute__((swift_name("init(error:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCSerializedResultUnknownErrorCompanion *companion __attribute__((swift_name("companion")));
+- (KASCSerializedResultUnknownError *)doCopyError:(NSString *)error __attribute__((swift_name("doCopy(error:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *error __attribute__((swift_name("error")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("SerializedResultUnknownError.Companion")))
+@interface KASCSerializedResultUnknownErrorCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCSerializedResultUnknownErrorCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Abstract class for a Use Case.
+ * This abstraction represents an execution unit for different use cases (this means that any use
+ * case in the application should implement this contract).
+ *
+ * By convention, each [UseCase] implementation will execute its job on a background thread
+ * (kotlin coroutine) and will post the result in the UI thread.
+ */
+__attribute__((swift_name("UseCase")))
+@interface KASCUseCase<__covariant T, __contravariant Params> : KASCBase
+
+/**
+ * Abstract class for a Use Case.
+ * This abstraction represents an execution unit for different use cases (this means that any use
+ * case in the application should implement this contract).
+ *
+ * By convention, each [UseCase] implementation will execute its job on a background thread
+ * (kotlin coroutine) and will post the result in the UI thread.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Abstract class for a Use Case.
+ * This abstraction represents an execution unit for different use cases (this means that any use
+ * case in the application should implement this contract).
+ *
+ * By convention, each [UseCase] implementation will execute its job on a background thread
+ * (kotlin coroutine) and will post the result in the UI thread.
+ */
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (void)invokeParams:(Params _Nullable)params onResult:(void (^)(KASCResult *))onResult __attribute__((swift_name("invoke(params:onResult:)")));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)runParams:(Params _Nullable)params completionHandler:(void (^)(KASCResult * _Nullable, NSError * _Nullable))completionHandler __attribute__((swift_name("run(params:completionHandler:)")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UseCaseNone")))
+@interface KASCUseCaseNone : KASCBase
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+@end
+
+__attribute__((swift_name("Kotlinx_coroutines_coreFlow")))
+@protocol KASCKotlinx_coroutines_coreFlow
+@required
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)collectCollector:(id)collector completionHandler:(void (^)(NSError * _Nullable))completionHandler __attribute__((swift_name("collect(collector:completionHandler:)")));
+@end
+
+
+/**
+ * Common Flow wrapper which can be observed from JVM and Native code
+ *
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("CFlow")))
+@interface KASCCFlow : KASCBase
+- (instancetype)initWithOrigin:(id)origin __attribute__((swift_name("init(origin:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * @note This method converts instances of CancellationException to errors.
+ * Other uncaught Kotlin exceptions are fatal.
+*/
+- (void)collectCollector:(id)collector completionHandler:(void (^)(NSError * _Nullable))completionHandler __attribute__((swift_name("collect(collector:completionHandler:)")));
+
+/**
+ * Observes the flow for value updates.
+ */
+- (id)observeBlock:(void (^)(T _Nullable))block __attribute__((swift_name("observe(block:)")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Configuration")))
+@interface KASCConfiguration : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)configuration __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCConfiguration *shared __attribute__((swift_name("shared")));
+- (NSString *)getBaseUrl __attribute__((swift_name("getBaseUrl()")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("MultiRequestApi")))
+@interface KASCMultiRequestApi : KASCBase
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+- (NSMutableArray *> *)sendMultiRequestFunctions:(KASCKotlinArray> *)functions __attribute__((swift_name("sendMultiRequest(functions:)")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Language_")))
+@interface KASCLanguage_ : KASCBase
+- (instancetype)initWithId:(int32_t)id code:(NSString *)code name:(NSString *)name __attribute__((swift_name("init(id:code:name:)"))) __attribute__((objc_designated_initializer));
+- (KASCLanguage_ *)doCopyId:(int32_t)id code:(NSString *)code name:(NSString *)name __attribute__((swift_name("doCopy(id:code:name:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *code __attribute__((swift_name("code")));
+@property (readonly) int32_t id __attribute__((swift_name("id")));
+@property (readonly) NSString *name __attribute__((swift_name("name")));
+@end
+
+__attribute__((swift_name("Translation")))
+@interface KASCTranslation : KASCModelOld
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+@property (readonly) KASCLanguage_ *language __attribute__((swift_name("language")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("RewardTranslation")))
+@interface KASCRewardTranslation : KASCTranslation
+- (instancetype)initWithTitle:(NSString *)title description:(NSString *)description termsAndConditions:(NSString *)termsAndConditions link:(NSString *)link language:(KASCLanguage_ *)language __attribute__((swift_name("init(title:description:termsAndConditions:link:language:)"))) __attribute__((objc_designated_initializer));
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+- (KASCRewardTranslation *)doCopyTitle:(NSString *)title description:(NSString *)description termsAndConditions:(NSString *)termsAndConditions link:(NSString *)link language:(KASCLanguage_ *)language __attribute__((swift_name("doCopy(title:description:termsAndConditions:link:language:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *description_ __attribute__((swift_name("description_")));
+@property (readonly) KASCLanguage_ *language __attribute__((swift_name("language")));
+@property (readonly) NSString *link __attribute__((swift_name("link")));
+@property (readonly) NSString *termsAndConditions __attribute__((swift_name("termsAndConditions")));
+@property (readonly) NSString *title __attribute__((swift_name("title")));
+@end
+
+
+/**
+ * Represents an empty response. This could be either a successful response
+ * or an error - it simply means the http response has no body.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("EmptyResponse")))
+@interface KASCEmptyResponse : KASCModel
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Represents an empty response. This could be either a successful response
+ * or an error - it simply means the http response has no body.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
++ (instancetype)emptyResponse __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCEmptyResponse *shared __attribute__((swift_name("shared")));
+
+/**
+ * Represents an empty response. This could be either a successful response
+ * or an error - it simply means the http response has no body.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+
+/**
+ * Represents an empty response. This could be either a successful response
+ * or an error - it simply means the http response has no body.
+ */
+- (id)serializerTypeParamsSerializers:(KASCKotlinArray> *)typeParamsSerializers __attribute__((swift_name("serializer(typeParamsSerializers:)")));
+@end
+
+__attribute__((swift_name("IOResult")))
+@interface KASCIOResult<__covariant T> : KASCBase
+@end
+
+__attribute__((swift_name("IOResultError")))
+@interface KASCIOResultError : KASCIOResult
+- (instancetype)initWithError:(KASCResultMetaData *)error __attribute__((swift_name("init(error:)"))) __attribute__((objc_designated_initializer));
+@property (readonly) KASCResultMetaData *error __attribute__((swift_name("error")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("IOResultConnectionError")))
+@interface KASCIOResultConnectionError : KASCIOResultError
+- (instancetype)initWithError:(KASCResultMetaData *)error __attribute__((swift_name("init(error:)"))) __attribute__((objc_designated_initializer));
+- (KASCIOResultConnectionError *)doCopyError:(KASCResultMetaData *)error __attribute__((swift_name("doCopy(error:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) KASCResultMetaData *error __attribute__((swift_name("error")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("IOResultEmptyResponse")))
+@interface KASCIOResultEmptyResponse : KASCIOResult
+- (instancetype)initWithBody:(NSString *)body __attribute__((swift_name("init(body:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCIOResultEmptyResponseCompanion *companion __attribute__((swift_name("companion")));
+- (KASCIOResultEmptyResponse *)doCopyBody:(NSString *)body __attribute__((swift_name("doCopy(body:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *body __attribute__((swift_name("body")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("IOResultEmptyResponse.Companion")))
+@interface KASCIOResultEmptyResponseCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCIOResultEmptyResponseCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("IOResultIdle")))
+@interface KASCIOResultIdle : KASCIOResult
+- (instancetype)initWithState:(KASCResultMetaData *)state __attribute__((swift_name("init(state:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCIOResultIdleCompanion *companion __attribute__((swift_name("companion")));
+- (KASCIOResultIdle *)doCopyState:(KASCResultMetaData *)state __attribute__((swift_name("doCopy(state:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) KASCResultMetaData *state __attribute__((swift_name("state")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("IOResultIdle.Companion")))
+@interface KASCIOResultIdleCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCIOResultIdleCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("IOResultLoading")))
+@interface KASCIOResultLoading : KASCIOResult
+- (instancetype)initWithState:(KASCResultMetaData *)state __attribute__((swift_name("init(state:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCIOResultLoadingCompanion *companion __attribute__((swift_name("companion")));
+@property (readonly) KASCResultMetaData *state __attribute__((swift_name("state")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("IOResultLoading.Companion")))
+@interface KASCIOResultLoadingCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCIOResultLoadingCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("IOResultSuccess")))
+@interface KASCIOResultSuccess<__covariant T> : KASCIOResult
+- (instancetype)initWithData:(T)data __attribute__((swift_name("init(data:)"))) __attribute__((objc_designated_initializer));
+- (KASCIOResultSuccess *)doCopyData:(T)data __attribute__((swift_name("doCopy(data:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) T data __attribute__((swift_name("data")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("IOResultTimeoutError")))
+@interface KASCIOResultTimeoutError : KASCIOResultError
+- (instancetype)initWithError:(KASCResultMetaData *)error __attribute__((swift_name("init(error:)"))) __attribute__((objc_designated_initializer));
+- (KASCIOResultTimeoutError *)doCopyError:(KASCResultMetaData *)error __attribute__((swift_name("doCopy(error:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) KASCResultMetaData *error __attribute__((swift_name("error")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("IOResultUnauthorizedError")))
+@interface KASCIOResultUnauthorizedError : KASCIOResultError
+- (instancetype)initWithError:(KASCResultMetaData *)error __attribute__((swift_name("init(error:)"))) __attribute__((objc_designated_initializer));
+- (KASCIOResultUnauthorizedError *)doCopyError:(KASCResultMetaData *)error __attribute__((swift_name("doCopy(error:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) KASCResultMetaData *error __attribute__((swift_name("error")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("IOResultUnknownError")))
+@interface KASCIOResultUnknownError : KASCIOResultError
+- (instancetype)initWithError:(KASCResultMetaData *)error __attribute__((swift_name("init(error:)"))) __attribute__((objc_designated_initializer));
+- (KASCIOResultUnknownError *)doCopyError:(KASCResultMetaData *)error __attribute__((swift_name("doCopy(error:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) KASCResultMetaData *error __attribute__((swift_name("error")));
+@end
+
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Model.Companion")))
+@interface KASCModelCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCModelCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (id)serializerTypeParamsSerializers:(KASCKotlinArray> *)typeParamsSerializers __attribute__((swift_name("serializer(typeParamsSerializers:)")));
+@end
+
+
+/**
+ * Get a users notification settings for a conglomerate business. [Api] class
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("GetConglomerateNotificationPreferencesApi")))
+@interface KASCGetConglomerateNotificationPreferencesApi : KASCApi
+
+/**
+ * Get a users notification settings for a conglomerate business. [Api] class
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Get a users notification settings for a conglomerate business. [Api] class
+ */
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+@property (class, readonly, getter=companion) KASCGetConglomerateNotificationPreferencesApiCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Get a users notification settings for a conglomerate business.
+ */
+- (KASCCFlow *> *)getConglomerateNotificationPreferences __attribute__((swift_name("getConglomerateNotificationPreferences()")));
+@property (readonly) KASCCFlow *> *getConglomerateNotificationPreferencesState __attribute__((swift_name("getConglomerateNotificationPreferencesState")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("GetConglomerateNotificationPreferencesApi.Companion")))
+@interface KASCGetConglomerateNotificationPreferencesApiCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCGetConglomerateNotificationPreferencesApiCompanion *shared __attribute__((swift_name("shared")));
+@end
+
+
+/**
+ * The business who these settings this affect. This is not required when updating notification settings.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("NotificationBusinessPayload")))
+@interface KASCNotificationBusinessPayload : KASCBase
+- (instancetype)initWithId:(NSString * _Nullable)id name:(NSString * _Nullable)name __attribute__((swift_name("init(id:name:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCNotificationBusinessPayloadCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * The business who these settings this affect. This is not required when updating notification settings.
+ */
+- (KASCNotificationBusinessPayload *)doCopyId:(NSString * _Nullable)id name:(NSString * _Nullable)name __attribute__((swift_name("doCopy(id:name:)")));
+
+/**
+ * The business who these settings this affect. This is not required when updating notification settings.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * The business who these settings this affect. This is not required when updating notification settings.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * The business who these settings this affect. This is not required when updating notification settings.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString * _Nullable id __attribute__((swift_name("id")));
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+@end
+
+
+/**
+ * The business who these settings this affect. This is not required when updating notification settings.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("NotificationBusinessPayload.Companion")))
+@interface KASCNotificationBusinessPayloadCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * The business who these settings this affect. This is not required when updating notification settings.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCNotificationBusinessPayloadCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * The business who these settings this affect. This is not required when updating notification settings.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("NotificationSettingsData")))
+@interface KASCNotificationSettingsData : KASCBase
+- (instancetype)initWithId:(NSString * _Nullable)id business:(KASCNotificationBusinessPayload * _Nullable)business allowEmail:(KASCBoolean * _Nullable)allowEmail allowSms:(KASCBoolean * _Nullable)allowSms allowPush:(KASCBoolean * _Nullable)allowPush __attribute__((swift_name("init(id:business:allowEmail:allowSms:allowPush:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCNotificationSettingsDataCompanion *companion __attribute__((swift_name("companion")));
+- (KASCNotificationSettingsData *)doCopyId:(NSString * _Nullable)id business:(KASCNotificationBusinessPayload * _Nullable)business allowEmail:(KASCBoolean * _Nullable)allowEmail allowSms:(KASCBoolean * _Nullable)allowSms allowPush:(KASCBoolean * _Nullable)allowPush __attribute__((swift_name("doCopy(id:business:allowEmail:allowSms:allowPush:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) KASCBoolean * _Nullable allowEmail __attribute__((swift_name("allowEmail")));
+@property (readonly) KASCBoolean * _Nullable allowPush __attribute__((swift_name("allowPush")));
+@property (readonly) KASCBoolean * _Nullable allowSms __attribute__((swift_name("allowSms")));
+@property (readonly) KASCNotificationBusinessPayload * _Nullable business __attribute__((swift_name("business")));
+
+/** The notification settings id. This is not required when updating notification settings. */
+@property (readonly) NSString * _Nullable id __attribute__((swift_name("id")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("NotificationSettingsData.Companion")))
+@interface KASCNotificationSettingsDataCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCNotificationSettingsDataCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("NotificationSettingsModel")))
+@interface KASCNotificationSettingsModel : KASCModel
+- (instancetype)initWithData:(NSArray * _Nullable)data __attribute__((swift_name("init(data:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+@property (class, readonly, getter=companion) KASCNotificationSettingsModelCompanion *companion __attribute__((swift_name("companion")));
+- (KASCNotificationSettingsModel *)doCopyData:(NSArray * _Nullable)data __attribute__((swift_name("doCopy(data:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSArray * _Nullable data __attribute__((swift_name("data")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("NotificationSettingsModel.Companion")))
+@interface KASCNotificationSettingsModelCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCNotificationSettingsModelCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Acquires information about the tier program. Users can move through different tiers if a business has activated their tier program. By acquire points, making purchases, and visiting the business, the user can be rewarded with different tier levels. [Api] class
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TiersApi")))
+@interface KASCTiersApi : KASCApi
+
+/**
+ * Acquires information about the tier program. Users can move through different tiers if a business has activated their tier program. By acquire points, making purchases, and visiting the business, the user can be rewarded with different tier levels. [Api] class
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Acquires information about the tier program. Users can move through different tiers if a business has activated their tier program. By acquire points, making purchases, and visiting the business, the user can be rewarded with different tier levels. [Api] class
+ */
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+@property (class, readonly, getter=companion) KASCTiersApiCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Acquires information about the tier program. Users can move through different tiers if a business has activated their tier program. By acquire points, making purchases, and visiting the business, the user can be rewarded with different tier levels.
+ */
+- (KASCCFlow *> *)getTiers __attribute__((swift_name("getTiers()")));
+@property (readonly) KASCCFlow *> *tiersState __attribute__((swift_name("tiersState")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TiersApi.Companion")))
+@interface KASCTiersApiCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTiersApiCompanion *shared __attribute__((swift_name("shared")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Language__")))
+@interface KASCLanguage__ : KASCBase
+- (instancetype)initWithId:(int32_t)id abbreviation:(NSString * _Nullable)abbreviation name:(NSString * _Nullable)name __attribute__((swift_name("init(id:abbreviation:name:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCLanguage__Companion *companion __attribute__((swift_name("companion")));
+- (KASCLanguage__ *)doCopyId:(int32_t)id abbreviation:(NSString * _Nullable)abbreviation name:(NSString * _Nullable)name __attribute__((swift_name("doCopy(id:abbreviation:name:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** A two letter abbreviation of this language. Follows ISO standards (en, fr, es) */
+@property (readonly) NSString * _Nullable abbreviation __attribute__((swift_name("abbreviation")));
+
+/** The Kangaroo ID of this language. */
+@property (readonly) int32_t id __attribute__((swift_name("id")));
+
+/** The full name of this language (English, French, Spanish) */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Language__.Companion")))
+@interface KASCLanguage__Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCLanguage__Companion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Tier")))
+@interface KASCTier : KASCBase
+- (instancetype)initWithId:(KASCLong * _Nullable)id tiersSequence:(NSArray * _Nullable)tiersSequence isCombined:(KASCBoolean * _Nullable)isCombined resetType:(KASCInt * _Nullable)resetType resetPeriodMonth:(KASCInt * _Nullable)resetPeriodMonth basePreviousPeriod:(KASCInt * _Nullable)basePreviousPeriod enabled:(KASCBoolean * _Nullable)enabled defaultTierIcon:(NSString * _Nullable)defaultTierIcon tierLevels:(NSArray * _Nullable)tierLevels resetByCustomerRegistrationMonth:(KASCBoolean * _Nullable)resetByCustomerRegistrationMonth gracePeriod:(NSString * _Nullable)gracePeriod __attribute__((swift_name("init(id:tiersSequence:isCombined:resetType:resetPeriodMonth:basePreviousPeriod:enabled:defaultTierIcon:tierLevels:resetByCustomerRegistrationMonth:gracePeriod:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierCompanion *companion __attribute__((swift_name("companion")));
+- (KASCTier *)doCopyId:(KASCLong * _Nullable)id tiersSequence:(NSArray * _Nullable)tiersSequence isCombined:(KASCBoolean * _Nullable)isCombined resetType:(KASCInt * _Nullable)resetType resetPeriodMonth:(KASCInt * _Nullable)resetPeriodMonth basePreviousPeriod:(KASCInt * _Nullable)basePreviousPeriod enabled:(KASCBoolean * _Nullable)enabled defaultTierIcon:(NSString * _Nullable)defaultTierIcon tierLevels:(NSArray * _Nullable)tierLevels resetByCustomerRegistrationMonth:(KASCBoolean * _Nullable)resetByCustomerRegistrationMonth gracePeriod:(NSString * _Nullable)gracePeriod __attribute__((swift_name("doCopy(id:tiersSequence:isCombined:resetType:resetPeriodMonth:basePreviousPeriod:enabled:defaultTierIcon:tierLevels:resetByCustomerRegistrationMonth:gracePeriod:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) KASCInt * _Nullable basePreviousPeriod __attribute__((swift_name("basePreviousPeriod")));
+
+/** Default icon to show in case the user has no current tier level. */
+@property (readonly) NSString * _Nullable defaultTierIcon __attribute__((swift_name("defaultTierIcon")));
+
+/** Whether this tier program is currently enabled or disabled. */
+@property (readonly) KASCBoolean * _Nullable enabled __attribute__((swift_name("enabled")));
+
+/** How many months after the reset month. */
+@property (readonly) NSString * _Nullable gracePeriod __attribute__((swift_name("gracePeriod")));
+
+/** The ID for this tier program. */
+@property (readonly) KASCLong * _Nullable id __attribute__((swift_name("id")));
+
+/** If the tier program is an 'and' or 'or' */
+@property (readonly) KASCBoolean * _Nullable isCombined __attribute__((swift_name("isCombined")));
+
+/** To control whether to use customer registration month for reset.. */
+@property (readonly) KASCBoolean * _Nullable resetByCustomerRegistrationMonth __attribute__((swift_name("resetByCustomerRegistrationMonth")));
+
+/** The month in which this tier program will reset. */
+@property (readonly) KASCInt * _Nullable resetPeriodMonth __attribute__((swift_name("resetPeriodMonth")));
+@property (readonly) KASCInt * _Nullable resetType __attribute__((swift_name("resetType")));
+
+/** The various tier levels within this tier program. */
+@property (readonly) NSArray * _Nullable tierLevels __attribute__((swift_name("tierLevels")));
+
+/** The sequence for this tier program. */
+@property (readonly) NSArray * _Nullable tiersSequence __attribute__((swift_name("tiersSequence")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Tier.Companion")))
+@interface KASCTierCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Represents a single tier level.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevel")))
+@interface KASCTierLevel : KASCBase
+- (instancetype)initWithId:(KASCLong * _Nullable)id name:(NSString * _Nullable)name reachSpend:(KASCFloat * _Nullable)reachSpend reachVisits:(KASCLong * _Nullable)reachVisits reachPoints:(KASCLong * _Nullable)reachPoints icon:(NSString * _Nullable)icon tierPerks:(NSArray * _Nullable)tierPerks languages:(NSArray * _Nullable)languages __attribute__((swift_name("init(id:name:reachSpend:reachVisits:reachPoints:icon:tierPerks:languages:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierLevelCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Represents a single tier level.
+ */
+- (KASCTierLevel *)doCopyId:(KASCLong * _Nullable)id name:(NSString * _Nullable)name reachSpend:(KASCFloat * _Nullable)reachSpend reachVisits:(KASCLong * _Nullable)reachVisits reachPoints:(KASCLong * _Nullable)reachPoints icon:(NSString * _Nullable)icon tierPerks:(NSArray * _Nullable)tierPerks languages:(NSArray * _Nullable)languages __attribute__((swift_name("doCopy(id:name:reachSpend:reachVisits:reachPoints:icon:tierPerks:languages:)")));
+
+/**
+ * Represents a single tier level.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Represents a single tier level.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Represents a single tier level.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The icon of this tier level. */
+@property (readonly) NSString * _Nullable icon __attribute__((swift_name("icon")));
+
+/** The ID for this tier. */
+@property (readonly) KASCLong * _Nullable id __attribute__((swift_name("id")));
+
+/** translation for each tier level. */
+@property (readonly) NSArray * _Nullable languages __attribute__((swift_name("languages")));
+
+/** The name of this tier level. */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+
+/** The amount of points acquired that is required to reach this tier. */
+@property (readonly) KASCLong * _Nullable reachPoints __attribute__((swift_name("reachPoints")));
+
+/** The amount of money spent required to reach this tier. */
+@property (readonly) KASCFloat * _Nullable reachSpend __attribute__((swift_name("reachSpend")));
+
+/** The amount of visits made to reach this tier. */
+@property (readonly) KASCLong * _Nullable reachVisits __attribute__((swift_name("reachVisits")));
+
+/** The perks related to this tier level. */
+@property (readonly) NSArray * _Nullable tierPerks __attribute__((swift_name("tierPerks")));
+@end
+
+
+/**
+ * Represents a single tier level.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevel.Companion")))
+@interface KASCTierLevelCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Represents a single tier level.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierLevelCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Represents a single tier level.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevelTranslation")))
+@interface KASCTierLevelTranslation : KASCBase
+- (instancetype)initWithLanguageId:(KASCLong * _Nullable)languageId name:(NSString * _Nullable)name description:(NSString * _Nullable)description language:(KASCLanguage__ * _Nullable)language __attribute__((swift_name("init(languageId:name:description:language:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierLevelTranslationCompanion *companion __attribute__((swift_name("companion")));
+- (KASCTierLevelTranslation *)doCopyLanguageId:(KASCLong * _Nullable)languageId name:(NSString * _Nullable)name description:(NSString * _Nullable)description language:(KASCLanguage__ * _Nullable)language __attribute__((swift_name("doCopy(languageId:name:description:language:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The description of this tier level as translated. */
+@property (readonly) NSString * _Nullable description_ __attribute__((swift_name("description_")));
+
+/** The language for which this translation applies. */
+@property (readonly) KASCLanguage__ * _Nullable language __attribute__((swift_name("language")));
+
+/** The ID of teh language. */
+@property (readonly) KASCLong * _Nullable languageId __attribute__((swift_name("languageId")));
+
+/** The name of this tier level as translated. */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevelTranslation.Companion")))
+@interface KASCTierLevelTranslationCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierLevelTranslationCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Represents a single tier perk for a tier level.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerk")))
+@interface KASCTierPerk : KASCBase
+- (instancetype)initWithId:(KASCLong * _Nullable)id title:(NSString * _Nullable)title tierId:(KASCLong * _Nullable)tierId offerId:(KASCLong * _Nullable)offerId punchItemId:(KASCLong * _Nullable)punchItemId enabled:(KASCBoolean * _Nullable)enabled isExpired:(KASCBoolean * _Nullable)isExpired languages:(NSArray * _Nullable)languages __attribute__((swift_name("init(id:title:tierId:offerId:punchItemId:enabled:isExpired:languages:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierPerkCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (KASCTierPerk *)doCopyId:(KASCLong * _Nullable)id title:(NSString * _Nullable)title tierId:(KASCLong * _Nullable)tierId offerId:(KASCLong * _Nullable)offerId punchItemId:(KASCLong * _Nullable)punchItemId enabled:(KASCBoolean * _Nullable)enabled isExpired:(KASCBoolean * _Nullable)isExpired languages:(NSArray * _Nullable)languages __attribute__((swift_name("doCopy(id:title:tierId:offerId:punchItemId:enabled:isExpired:languages:)")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** Whether this tier perk is currently enabled or disabled. */
+@property (readonly) KASCBoolean * _Nullable enabled __attribute__((swift_name("enabled")));
+
+/** The ID for this tier perk. */
+@property (readonly) KASCLong * _Nullable id __attribute__((swift_name("id")));
+
+/** Whether the offer this tier perk is currently attached to is expired or not. */
+@property (readonly) KASCBoolean * _Nullable isExpired __attribute__((swift_name("isExpired")));
+
+/** The perks related to this tier level. */
+@property (readonly) NSArray * _Nullable languages __attribute__((swift_name("languages")));
+@property (readonly) KASCLong * _Nullable offerId __attribute__((swift_name("offerId")));
+@property (readonly) KASCLong * _Nullable punchItemId __attribute__((swift_name("punchItemId")));
+
+/** The ID for the tier level this tier perk is related to. */
+@property (readonly) KASCLong * _Nullable tierId __attribute__((swift_name("tierId")));
+
+/** The title of this tier perk. */
+@property (readonly) NSString * _Nullable title __attribute__((swift_name("title")));
+@end
+
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerk.Companion")))
+@interface KASCTierPerkCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierPerkCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerkTranslation")))
+@interface KASCTierPerkTranslation : KASCBase
+- (instancetype)initWithLanguageId:(KASCLong * _Nullable)languageId title:(NSString * _Nullable)title language:(KASCLanguage__ * _Nullable)language __attribute__((swift_name("init(languageId:title:language:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierPerkTranslationCompanion *companion __attribute__((swift_name("companion")));
+- (KASCTierPerkTranslation *)doCopyLanguageId:(KASCLong * _Nullable)languageId title:(NSString * _Nullable)title language:(KASCLanguage__ * _Nullable)language __attribute__((swift_name("doCopy(languageId:title:language:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The language for which this translation applies. */
+@property (readonly) KASCLanguage__ * _Nullable language __attribute__((swift_name("language")));
+
+/** The ID of teh language. */
+@property (readonly) KASCLong * _Nullable languageId __attribute__((swift_name("languageId")));
+
+/** The name of this tier level as translated. */
+@property (readonly) NSString * _Nullable title __attribute__((swift_name("title")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerkTranslation.Companion")))
+@interface KASCTierPerkTranslationCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierPerkTranslationCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Information about the tier program. Users can move through different tiers if a business has activated their tier program. By acquire points, making purchases, and visiting the business, the user can be rewarded with different tier levels.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierProgramInclude")))
+@interface KASCTierProgramInclude : KASCBase
+- (instancetype)initWithTierLevel:(KASCUserTierLevel * _Nullable)tierLevel tiers:(NSArray * _Nullable)tiers tierProgress:(KASCTierProgress * _Nullable)tierProgress __attribute__((swift_name("init(tierLevel:tiers:tierProgress:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierProgramIncludeCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Information about the tier program. Users can move through different tiers if a business has activated their tier program. By acquire points, making purchases, and visiting the business, the user can be rewarded with different tier levels.
+ */
+- (KASCTierProgramInclude *)doCopyTierLevel:(KASCUserTierLevel * _Nullable)tierLevel tiers:(NSArray * _Nullable)tiers tierProgress:(KASCTierProgress * _Nullable)tierProgress __attribute__((swift_name("doCopy(tierLevel:tiers:tierProgress:)")));
+
+/**
+ * Information about the tier program. Users can move through different tiers if a business has activated their tier program. By acquire points, making purchases, and visiting the business, the user can be rewarded with different tier levels.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Information about the tier program. Users can move through different tiers if a business has activated their tier program. By acquire points, making purchases, and visiting the business, the user can be rewarded with different tier levels.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Information about the tier program. Users can move through different tiers if a business has activated their tier program. By acquire points, making purchases, and visiting the business, the user can be rewarded with different tier levels.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** User's tier status. */
+@property (readonly) KASCUserTierLevel * _Nullable tierLevel __attribute__((swift_name("tierLevel")));
+
+/** User's tier progress and status. If a user's tier status is statically fixed, this will be null as they do not progress from tier to tier. */
+@property (readonly) KASCTierProgress * _Nullable tierProgress __attribute__((swift_name("tierProgress")));
+
+/** Information about the tier program. Users can move through different tiers if a business has activated their tier program. By acquire points, making purchases, and visiting the business, the user can be rewarded with different tier levels. */
+@property (readonly) NSArray * _Nullable tiers __attribute__((swift_name("tiers")));
+@end
+
+
+/**
+ * Information about the tier program. Users can move through different tiers if a business has activated their tier program. By acquire points, making purchases, and visiting the business, the user can be rewarded with different tier levels.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierProgramInclude.Companion")))
+@interface KASCTierProgramIncludeCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Information about the tier program. Users can move through different tiers if a business has activated their tier program. By acquire points, making purchases, and visiting the business, the user can be rewarded with different tier levels.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierProgramIncludeCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Information about the tier program. Users can move through different tiers if a business has activated their tier program. By acquire points, making purchases, and visiting the business, the user can be rewarded with different tier levels.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierProgress")))
+@interface KASCTierProgress : KASCBase
+- (instancetype)initWithStartDate:(NSString * _Nullable)startDate endDate:(NSString * _Nullable)endDate tierLevel:(NSString * _Nullable)tierLevel tierLevelLive:(NSString * _Nullable)tierLevelLive nextTierLevel:(NSString * _Nullable)nextTierLevel tierProgress:(KASCFloat * _Nullable)tierProgress leftPoints:(KASCLong * _Nullable)leftPoints leftAmount:(KASCFloat * _Nullable)leftAmount leftVisits:(KASCLong * _Nullable)leftVisits totalPoints:(KASCLong * _Nullable)totalPoints totalAmount:(KASCFloat * _Nullable)totalAmount totalVisits:(KASCLong * _Nullable)totalVisits __attribute__((swift_name("init(startDate:endDate:tierLevel:tierLevelLive:nextTierLevel:tierProgress:leftPoints:leftAmount:leftVisits:totalPoints:totalAmount:totalVisits:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierProgressCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (KASCTierProgress *)doCopyStartDate:(NSString * _Nullable)startDate endDate:(NSString * _Nullable)endDate tierLevel:(NSString * _Nullable)tierLevel tierLevelLive:(NSString * _Nullable)tierLevelLive nextTierLevel:(NSString * _Nullable)nextTierLevel tierProgress:(KASCFloat * _Nullable)tierProgress leftPoints:(KASCLong * _Nullable)leftPoints leftAmount:(KASCFloat * _Nullable)leftAmount leftVisits:(KASCLong * _Nullable)leftVisits totalPoints:(KASCLong * _Nullable)totalPoints totalAmount:(KASCFloat * _Nullable)totalAmount totalVisits:(KASCLong * _Nullable)totalVisits __attribute__((swift_name("doCopy(startDate:endDate:tierLevel:tierLevelLive:nextTierLevel:tierProgress:leftPoints:leftAmount:leftVisits:totalPoints:totalAmount:totalVisits:)")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The end date for this tier session. The tier will be reset once this date is reached. */
+@property (readonly) NSString * _Nullable endDate __attribute__((swift_name("endDate")));
+
+/** The amount of spend left in the user's current tier progress. Once they have acquired this many more amount of spend, they will be moved into the next tier. */
+@property (readonly) KASCFloat * _Nullable leftAmount __attribute__((swift_name("leftAmount")));
+
+/** The amount of points left in the user's current tier progress. Once they have acquired this many more amount of points, they will be moved into the next tier. */
+@property (readonly) KASCLong * _Nullable leftPoints __attribute__((swift_name("leftPoints")));
+
+/** The amount of visits left in the user's current tier progress. Once they have acquired this many more amount of visits, they will be moved into the next tier. */
+@property (readonly) KASCLong * _Nullable leftVisits __attribute__((swift_name("leftVisits")));
+
+/** The name of the user's next tier level. */
+@property (readonly) NSString * _Nullable nextTierLevel __attribute__((swift_name("nextTierLevel")));
+
+/** The start date for this tier session. */
+@property (readonly) NSString * _Nullable startDate __attribute__((swift_name("startDate")));
+
+/** The name of the user's current tier level */
+@property (readonly) NSString * _Nullable tierLevel __attribute__((swift_name("tierLevel")));
+
+/** The name of the user's current tier level. Tiers are recalculated once per day, as such \"tier_level\" may not be completely up to date. */
+@property (readonly) NSString * _Nullable tierLevelLive __attribute__((swift_name("tierLevelLive")));
+
+/** The users current tier progress in their \"tier_level\". This will be a number between 0 and 1. A tier progress of 0.5 means that the user has made 50% progress in their current tier. */
+@property (readonly) KASCFloat * _Nullable tierProgress __attribute__((swift_name("tierProgress")));
+
+/** Purchase amount between start_date and end_date. */
+@property (readonly) KASCFloat * _Nullable totalAmount __attribute__((swift_name("totalAmount")));
+
+/** Purchase points between start_date and end_date. */
+@property (readonly) KASCLong * _Nullable totalPoints __attribute__((swift_name("totalPoints")));
+
+/** Purchase visits between start_date and end_date. */
+@property (readonly) KASCLong * _Nullable totalVisits __attribute__((swift_name("totalVisits")));
+@end
+
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierProgress.Companion")))
+@interface KASCTierProgressCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierProgressCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * User Profile model class containing user data
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileDataModel")))
+@interface KASCUserProfileDataModel : KASCModel
+- (instancetype)initWithId:(NSString * _Nullable)id email:(NSString * _Nullable)email phone:(NSString * _Nullable)phone firstName:(NSString * _Nullable)firstName lastName:(NSString * _Nullable)lastName qrcode:(NSString * _Nullable)qrcode gender:(NSString * _Nullable)gender birthDate:(NSString * _Nullable)birthDate language:(NSString * _Nullable)language countryCode:(NSString * _Nullable)countryCode profilePhoto:(NSString * _Nullable)profilePhoto createdAt:(NSString * _Nullable)createdAt updatedAt:(NSString * _Nullable)updatedAt enabled:(KASCBoolean * _Nullable)enabled emailVerified:(KASCBoolean * _Nullable)emailVerified phoneVerified:(KASCBoolean * _Nullable)phoneVerified __attribute__((swift_name("init(id:email:phone:firstName:lastName:qrcode:gender:birthDate:language:countryCode:profilePhoto:createdAt:updatedAt:enabled:emailVerified:phoneVerified:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+@property (class, readonly, getter=companion) KASCUserProfileDataModelCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (KASCUserProfileDataModel *)doCopyId:(NSString * _Nullable)id email:(NSString * _Nullable)email phone:(NSString * _Nullable)phone firstName:(NSString * _Nullable)firstName lastName:(NSString * _Nullable)lastName qrcode:(NSString * _Nullable)qrcode gender:(NSString * _Nullable)gender birthDate:(NSString * _Nullable)birthDate language:(NSString * _Nullable)language countryCode:(NSString * _Nullable)countryCode profilePhoto:(NSString * _Nullable)profilePhoto createdAt:(NSString * _Nullable)createdAt updatedAt:(NSString * _Nullable)updatedAt enabled:(KASCBoolean * _Nullable)enabled emailVerified:(KASCBoolean * _Nullable)emailVerified phoneVerified:(KASCBoolean * _Nullable)phoneVerified __attribute__((swift_name("doCopy(id:email:phone:firstName:lastName:qrcode:gender:birthDate:language:countryCode:profilePhoto:createdAt:updatedAt:enabled:emailVerified:phoneVerified:)")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** Date of birth associated with this user. */
+@property (readonly) NSString * _Nullable birthDate __attribute__((swift_name("birthDate")));
+
+/** Country code associated with this user. */
+@property (readonly) NSString * _Nullable countryCode __attribute__((swift_name("countryCode")));
+
+/** Date the account for this user was created. */
+@property (readonly) NSString * _Nullable createdAt __attribute__((swift_name("createdAt")));
+
+/** Email address identifying this user. */
+@property (readonly) NSString * _Nullable email __attribute__((swift_name("email")));
+
+/** Denotes whether the email address for this user has been verified. */
+@property (readonly) KASCBoolean * _Nullable emailVerified __attribute__((swift_name("emailVerified")));
+
+/** Denotes whether this account has been enabled. */
+@property (readonly) KASCBoolean * _Nullable enabled __attribute__((swift_name("enabled")));
+
+/** First name associated with this user. */
+@property (readonly) NSString * _Nullable firstName __attribute__((swift_name("firstName")));
+
+/** Gender associated with this user. */
+@property (readonly) NSString * _Nullable gender __attribute__((swift_name("gender")));
+
+/** Unique user ID. */
+@property (readonly) NSString * _Nullable id __attribute__((swift_name("id")));
+
+/** Primary language assocaited with this user. */
+@property (readonly) NSString * _Nullable language __attribute__((swift_name("language")));
+
+/** Last name associated with this user. */
+@property (readonly) NSString * _Nullable lastName __attribute__((swift_name("lastName")));
+
+/** Phone number associated with this user. */
+@property (readonly) NSString * _Nullable phone __attribute__((swift_name("phone")));
+
+/** Denotes whether the phone number for this user has been verified. */
+@property (readonly) KASCBoolean * _Nullable phoneVerified __attribute__((swift_name("phoneVerified")));
+
+/** Profile photo url associated with this user. */
+@property (readonly) NSString * _Nullable profilePhoto __attribute__((swift_name("profilePhoto")));
+
+/** Unique QR code identifying this user. */
+@property (readonly) NSString * _Nullable qrcode __attribute__((swift_name("qrcode")));
+
+/** Date the account for this user was last updated. */
+@property (readonly) NSString * _Nullable updatedAt __attribute__((swift_name("updatedAt")));
+@end
+
+
+/**
+ * User Profile model class containing user data
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileDataModel.Companion")))
+@interface KASCUserProfileDataModelCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * User Profile model class containing user data
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserProfileDataModelCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * User Profile model class containing user data and tier program data
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileWithTierProgram")))
+@interface KASCUserProfileWithTierProgram : KASCModel
+- (instancetype)initWithData:(KASCUserProfileDataModel * _Nullable)data included:(KASCTierProgramInclude * _Nullable)included __attribute__((swift_name("init(data:included:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+@property (class, readonly, getter=companion) KASCUserProfileWithTierProgramCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * User Profile model class containing user data and tier program data
+ */
+- (KASCUserProfileWithTierProgram *)doCopyData:(KASCUserProfileDataModel * _Nullable)data included:(KASCTierProgramInclude * _Nullable)included __attribute__((swift_name("doCopy(data:included:)")));
+
+/**
+ * User Profile model class containing user data and tier program data
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * User Profile model class containing user data and tier program data
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * User Profile model class containing user data and tier program data
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** Contains all user profile data */
+@property (readonly) KASCUserProfileDataModel * _Nullable data __attribute__((swift_name("data")));
+
+/** Contains user balance data */
+@property (readonly) KASCTierProgramInclude * _Nullable included __attribute__((swift_name("included")));
+@end
+
+
+/**
+ * User Profile model class containing user data and tier program data
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileWithTierProgram.Companion")))
+@interface KASCUserProfileWithTierProgramCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * User Profile model class containing user data and tier program data
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserProfileWithTierProgramCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * User Profile model class containing user data and tier program data
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Represents the user's current tier level.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserTierLevel")))
+@interface KASCUserTierLevel : KASCBase
+- (instancetype)initWithId:(KASCLong * _Nullable)id name:(NSString * _Nullable)name reachSpend:(KASCLong * _Nullable)reachSpend reachVisits:(KASCLong * _Nullable)reachVisits reachPoints:(KASCLong * _Nullable)reachPoints __attribute__((swift_name("init(id:name:reachSpend:reachVisits:reachPoints:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCUserTierLevelCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Represents the user's current tier level.
+ */
+- (KASCUserTierLevel *)doCopyId:(KASCLong * _Nullable)id name:(NSString * _Nullable)name reachSpend:(KASCLong * _Nullable)reachSpend reachVisits:(KASCLong * _Nullable)reachVisits reachPoints:(KASCLong * _Nullable)reachPoints __attribute__((swift_name("doCopy(id:name:reachSpend:reachVisits:reachPoints:)")));
+
+/**
+ * Represents the user's current tier level.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Represents the user's current tier level.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Represents the user's current tier level.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The ID for this tier. */
+@property (readonly) KASCLong * _Nullable id __attribute__((swift_name("id")));
+
+/** The name of this tier level. */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+
+/** The amount of points acquired that is required to reach this tier. */
+@property (readonly) KASCLong * _Nullable reachPoints __attribute__((swift_name("reachPoints")));
+
+/** The amount of money spent required to reach this tier. */
+@property (readonly) KASCLong * _Nullable reachSpend __attribute__((swift_name("reachSpend")));
+
+/** The amount of visits made to reach this tier. */
+@property (readonly) KASCLong * _Nullable reachVisits __attribute__((swift_name("reachVisits")));
+@end
+
+
+/**
+ * Represents the user's current tier level.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserTierLevel.Companion")))
+@interface KASCUserTierLevelCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Represents the user's current tier level.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserTierLevelCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Represents the user's current tier level.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Get user profile data for this user for specific business. [Api] class
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserBusinessProfileApi")))
+@interface KASCUserBusinessProfileApi : KASCApi
+
+/**
+ * Get user profile data for this user for specific business. [Api] class
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Get user profile data for this user for specific business. [Api] class
+ */
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+@property (class, readonly, getter=companion) KASCUserBusinessProfileApiCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Get user profile data for this user for specific business.
+ */
+- (KASCCFlow *> *)getUserBusinessProfileBusinessId:(NSString *)businessId __attribute__((swift_name("getUserBusinessProfile(businessId:)")));
+@property (readonly) KASCCFlow *> *userBusinessProfileState __attribute__((swift_name("userBusinessProfileState")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserBusinessProfileApi.Companion")))
+@interface KASCUserBusinessProfileApiCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserBusinessProfileApiCompanion *shared __attribute__((swift_name("shared")));
+@end
+
+
+/**
+ * Details about this business' category. This can be something like cafe, boutique, etc...
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("BusinessCategory")))
+@interface KASCBusinessCategory : KASCBase
+- (instancetype)initWithName:(NSString * _Nullable)name icon:(NSString * _Nullable)icon code:(NSString * _Nullable)code __attribute__((swift_name("init(name:icon:code:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCBusinessCategoryCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Details about this business' category. This can be something like cafe, boutique, etc...
+ */
+- (KASCBusinessCategory *)doCopyName:(NSString * _Nullable)name icon:(NSString * _Nullable)icon code:(NSString * _Nullable)code __attribute__((swift_name("doCopy(name:icon:code:)")));
+
+/**
+ * Details about this business' category. This can be something like cafe, boutique, etc...
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Details about this business' category. This can be something like cafe, boutique, etc...
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Details about this business' category. This can be something like cafe, boutique, etc...
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** Unique ategory code for this category */
+@property (readonly) NSString * _Nullable code __attribute__((swift_name("code")));
+
+/** Url to this category's icon */
+@property (readonly) NSString * _Nullable icon __attribute__((swift_name("icon")));
+
+/** Name of this category */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+@end
+
+
+/**
+ * Details about this business' category. This can be something like cafe, boutique, etc...
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("BusinessCategory.Companion")))
+@interface KASCBusinessCategoryCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Details about this business' category. This can be something like cafe, boutique, etc...
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCBusinessCategoryCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Details about this business' category. This can be something like cafe, boutique, etc...
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Business profile data
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("BusinessData")))
+@interface KASCBusinessData : KASCBase
+- (instancetype)initWithId:(NSString * _Nullable)id name:(NSString * _Nullable)name loyaltyType:(NSString * _Nullable)loyaltyType conglomerate:(NSString * _Nullable)conglomerate whiteLabel:(NSString * _Nullable)whiteLabel about:(NSString * _Nullable)about logo:(KASCImage * _Nullable)logo logoTransparentBackground:(KASCImage * _Nullable)logoTransparentBackground coverPhoto:(KASCImage * _Nullable)coverPhoto category:(KASCBusinessCategory * _Nullable)category __attribute__((swift_name("init(id:name:loyaltyType:conglomerate:whiteLabel:about:logo:logoTransparentBackground:coverPhoto:category:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCBusinessDataCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Business profile data
+ */
+- (KASCBusinessData *)doCopyId:(NSString * _Nullable)id name:(NSString * _Nullable)name loyaltyType:(NSString * _Nullable)loyaltyType conglomerate:(NSString * _Nullable)conglomerate whiteLabel:(NSString * _Nullable)whiteLabel about:(NSString * _Nullable)about logo:(KASCImage * _Nullable)logo logoTransparentBackground:(KASCImage * _Nullable)logoTransparentBackground coverPhoto:(KASCImage * _Nullable)coverPhoto category:(KASCBusinessCategory * _Nullable)category __attribute__((swift_name("doCopy(id:name:loyaltyType:conglomerate:whiteLabel:about:logo:logoTransparentBackground:coverPhoto:category:)")));
+
+/**
+ * Business profile data
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Business profile data
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Business profile data
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** General about text for the business */
+@property (readonly) NSString * _Nullable about __attribute__((swift_name("about")));
+@property (readonly) KASCBusinessCategory * _Nullable category __attribute__((swift_name("category")));
+
+/** Whether this is a conglomerate business. Conglomerate businesses are umbrellas for multiple business' in Kangaroo */
+@property (readonly) NSString * _Nullable conglomerate __attribute__((swift_name("conglomerate")));
+@property (readonly) KASCImage * _Nullable coverPhoto __attribute__((swift_name("coverPhoto")));
+
+/** Unique business ID. */
+@property (readonly) NSString * _Nullable id __attribute__((swift_name("id")));
+@property (readonly) KASCImage * _Nullable logo __attribute__((swift_name("logo")));
+@property (readonly) KASCImage * _Nullable logoTransparentBackground __attribute__((swift_name("logoTransparentBackground")));
+
+/** The manner in which this business rewards its customers. This can be by purchase amount of by visit to the store */
+@property (readonly) NSString * _Nullable loyaltyType __attribute__((swift_name("loyaltyType")));
+
+/** The name of this business */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+
+/** Whether this is a white label business. White label business' don't appear in the Kangaroo Mobile Customer app, as they usually have their own app. */
+@property (readonly) NSString * _Nullable whiteLabel __attribute__((swift_name("whiteLabel")));
+@end
+
+
+/**
+ * Business profile data
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("BusinessData.Companion")))
+@interface KASCBusinessDataCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Business profile data
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCBusinessDataCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Business profile data
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Image")))
+@interface KASCImage : KASCBase
+- (instancetype)initWithLarge:(NSString * _Nullable)large medium:(NSString * _Nullable)medium thumbnail:(NSString * _Nullable)thumbnail default:(KASCBoolean * _Nullable)default_ __attribute__((swift_name("init(large:medium:thumbnail:default:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCImageCompanion *companion __attribute__((swift_name("companion")));
+- (KASCImage *)doCopyLarge:(NSString * _Nullable)large medium:(NSString * _Nullable)medium thumbnail:(NSString * _Nullable)thumbnail default:(KASCBoolean * _Nullable)default_ __attribute__((swift_name("doCopy(large:medium:thumbnail:default:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly, getter=default) KASCBoolean * _Nullable default_ __attribute__((swift_name("default_")));
+@property (readonly) NSString * _Nullable large __attribute__((swift_name("large")));
+@property (readonly) NSString * _Nullable medium __attribute__((swift_name("medium")));
+@property (readonly) NSString * _Nullable thumbnail __attribute__((swift_name("thumbnail")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Image.Companion")))
+@interface KASCImageCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCImageCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Language___")))
+@interface KASCLanguage___ : KASCBase
+- (instancetype)initWithId:(int32_t)id abbreviation:(NSString * _Nullable)abbreviation name:(NSString * _Nullable)name __attribute__((swift_name("init(id:abbreviation:name:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCLanguage___Companion *companion __attribute__((swift_name("companion")));
+- (KASCLanguage___ *)doCopyId:(int32_t)id abbreviation:(NSString * _Nullable)abbreviation name:(NSString * _Nullable)name __attribute__((swift_name("doCopy(id:abbreviation:name:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** A two letter abbreviation of this language. Follows ISO standards (en, fr, es) */
+@property (readonly) NSString * _Nullable abbreviation __attribute__((swift_name("abbreviation")));
+
+/** The Kangaroo ID of this language. */
+@property (readonly) int32_t id __attribute__((swift_name("id")));
+
+/** The full name of this language (English, French, Spanish) */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Language___.Companion")))
+@interface KASCLanguage___Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCLanguage___Companion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * A referral program
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ReferralProgram")))
+@interface KASCReferralProgram : KASCBase
+- (instancetype)initWithId:(KASCLong * _Nullable)id ruleName:(NSString * _Nullable)ruleName condMinAmount:(KASCDouble * _Nullable)condMinAmount refereeEarns:(KASCLong * _Nullable)refereeEarns refererEarns:(KASCLong * _Nullable)refererEarns expiresIn:(KASCLong * _Nullable)expiresIn enabled:(KASCBoolean * _Nullable)enabled linkReferralEnabled:(KASCBoolean * _Nullable)linkReferralEnabled referralLink:(NSString * _Nullable)referralLink __attribute__((swift_name("init(id:ruleName:condMinAmount:refereeEarns:refererEarns:expiresIn:enabled:linkReferralEnabled:referralLink:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCReferralProgramCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * A referral program
+ */
+- (KASCReferralProgram *)doCopyId:(KASCLong * _Nullable)id ruleName:(NSString * _Nullable)ruleName condMinAmount:(KASCDouble * _Nullable)condMinAmount refereeEarns:(KASCLong * _Nullable)refereeEarns refererEarns:(KASCLong * _Nullable)refererEarns expiresIn:(KASCLong * _Nullable)expiresIn enabled:(KASCBoolean * _Nullable)enabled linkReferralEnabled:(KASCBoolean * _Nullable)linkReferralEnabled referralLink:(NSString * _Nullable)referralLink __attribute__((swift_name("doCopy(id:ruleName:condMinAmount:refereeEarns:refererEarns:expiresIn:enabled:linkReferralEnabled:referralLink:)")));
+
+/**
+ * A referral program
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * A referral program
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * A referral program
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The minimum purchawe amount required for a succesful referral. */
+@property (readonly) KASCDouble * _Nullable condMinAmount __attribute__((swift_name("condMinAmount")));
+
+/** Denotes whether this referral program is currently active. */
+@property (readonly) KASCBoolean * _Nullable enabled __attribute__((swift_name("enabled")));
+
+/** The number of days the new customer has to sign up in order for a referral to be sucessful. */
+@property (readonly) KASCLong * _Nullable expiresIn __attribute__((swift_name("expiresIn")));
+
+/** The unique id of this referral program. */
+@property (readonly) KASCLong * _Nullable id __attribute__((swift_name("id")));
+
+/** Denotes whether this referral program has enabled share links. Referral share links are links that the customer can send to prospective referrals. A User can sign up to the business through this link in order to complete the referral. */
+@property (readonly) KASCBoolean * _Nullable linkReferralEnabled __attribute__((swift_name("linkReferralEnabled")));
+
+/** The number of points the new customer will earn. */
+@property (readonly) KASCLong * _Nullable refereeEarns __attribute__((swift_name("refereeEarns")));
+
+/** The number of points the new customer who made the referral will earn. */
+@property (readonly) KASCLong * _Nullable refererEarns __attribute__((swift_name("refererEarns")));
+
+/** A link that can be shared to prospective referrals. */
+@property (readonly) NSString * _Nullable referralLink __attribute__((swift_name("referralLink")));
+@property (readonly) NSString * _Nullable ruleName __attribute__((swift_name("ruleName")));
+@end
+
+
+/**
+ * A referral program
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ReferralProgram.Companion")))
+@interface KASCReferralProgramCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * A referral program
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCReferralProgramCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * A referral program
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Represents a single tier level.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevel_")))
+@interface KASCTierLevel_ : KASCBase
+- (instancetype)initWithId:(KASCLong * _Nullable)id name:(NSString * _Nullable)name reachSpend:(KASCFloat * _Nullable)reachSpend reachVisits:(KASCLong * _Nullable)reachVisits reachPoints:(KASCLong * _Nullable)reachPoints icon:(NSString * _Nullable)icon tierPerks:(NSArray * _Nullable)tierPerks languages:(NSArray * _Nullable)languages __attribute__((swift_name("init(id:name:reachSpend:reachVisits:reachPoints:icon:tierPerks:languages:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierLevel_Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Represents a single tier level.
+ */
+- (KASCTierLevel_ *)doCopyId:(KASCLong * _Nullable)id name:(NSString * _Nullable)name reachSpend:(KASCFloat * _Nullable)reachSpend reachVisits:(KASCLong * _Nullable)reachVisits reachPoints:(KASCLong * _Nullable)reachPoints icon:(NSString * _Nullable)icon tierPerks:(NSArray * _Nullable)tierPerks languages:(NSArray * _Nullable)languages __attribute__((swift_name("doCopy(id:name:reachSpend:reachVisits:reachPoints:icon:tierPerks:languages:)")));
+
+/**
+ * Represents a single tier level.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Represents a single tier level.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Represents a single tier level.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The icon of this tier level. */
+@property (readonly) NSString * _Nullable icon __attribute__((swift_name("icon")));
+
+/** The ID for this tier. */
+@property (readonly) KASCLong * _Nullable id __attribute__((swift_name("id")));
+
+/** translation for each tier level. */
+@property (readonly) NSArray * _Nullable languages __attribute__((swift_name("languages")));
+
+/** The name of this tier level. */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+
+/** The amount of points acquired that is required to reach this tier. */
+@property (readonly) KASCLong * _Nullable reachPoints __attribute__((swift_name("reachPoints")));
+
+/** The amount of money spent required to reach this tier. */
+@property (readonly) KASCFloat * _Nullable reachSpend __attribute__((swift_name("reachSpend")));
+
+/** The amount of visits made to reach this tier. */
+@property (readonly) KASCLong * _Nullable reachVisits __attribute__((swift_name("reachVisits")));
+
+/** The perks related to this tier level. */
+@property (readonly) NSArray * _Nullable tierPerks __attribute__((swift_name("tierPerks")));
+@end
+
+
+/**
+ * Represents a single tier level.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevel_.Companion")))
+@interface KASCTierLevel_Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Represents a single tier level.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierLevel_Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Represents a single tier level.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevelTranslation_")))
+@interface KASCTierLevelTranslation_ : KASCBase
+- (instancetype)initWithLanguageId:(KASCLong * _Nullable)languageId name:(NSString * _Nullable)name description:(NSString * _Nullable)description language:(KASCLanguage___ * _Nullable)language __attribute__((swift_name("init(languageId:name:description:language:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierLevelTranslation_Companion *companion __attribute__((swift_name("companion")));
+- (KASCTierLevelTranslation_ *)doCopyLanguageId:(KASCLong * _Nullable)languageId name:(NSString * _Nullable)name description:(NSString * _Nullable)description language:(KASCLanguage___ * _Nullable)language __attribute__((swift_name("doCopy(languageId:name:description:language:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The description of this tier level as translated. */
+@property (readonly) NSString * _Nullable description_ __attribute__((swift_name("description_")));
+
+/** The language for which this translation applies. */
+@property (readonly) KASCLanguage___ * _Nullable language __attribute__((swift_name("language")));
+
+/** The ID of teh language. */
+@property (readonly) KASCLong * _Nullable languageId __attribute__((swift_name("languageId")));
+
+/** The name of this tier level as translated. */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevelTranslation_.Companion")))
+@interface KASCTierLevelTranslation_Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierLevelTranslation_Companion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Represents a single tier perk for a tier level.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerk_")))
+@interface KASCTierPerk_ : KASCBase
+- (instancetype)initWithId:(KASCLong * _Nullable)id title:(NSString * _Nullable)title tierId:(KASCLong * _Nullable)tierId offerId:(KASCLong * _Nullable)offerId punchItemId:(KASCLong * _Nullable)punchItemId enabled:(KASCBoolean * _Nullable)enabled isExpired:(KASCBoolean * _Nullable)isExpired languages:(NSArray * _Nullable)languages __attribute__((swift_name("init(id:title:tierId:offerId:punchItemId:enabled:isExpired:languages:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierPerk_Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (KASCTierPerk_ *)doCopyId:(KASCLong * _Nullable)id title:(NSString * _Nullable)title tierId:(KASCLong * _Nullable)tierId offerId:(KASCLong * _Nullable)offerId punchItemId:(KASCLong * _Nullable)punchItemId enabled:(KASCBoolean * _Nullable)enabled isExpired:(KASCBoolean * _Nullable)isExpired languages:(NSArray * _Nullable)languages __attribute__((swift_name("doCopy(id:title:tierId:offerId:punchItemId:enabled:isExpired:languages:)")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** Whether this tier perk is currently enabled or disabled. */
+@property (readonly) KASCBoolean * _Nullable enabled __attribute__((swift_name("enabled")));
+
+/** The ID for this tier perk. */
+@property (readonly) KASCLong * _Nullable id __attribute__((swift_name("id")));
+
+/** Whether the offer this tier perk is currently attached to is expired or not. */
+@property (readonly) KASCBoolean * _Nullable isExpired __attribute__((swift_name("isExpired")));
+
+/** The perks related to this tier level. */
+@property (readonly) NSArray * _Nullable languages __attribute__((swift_name("languages")));
+@property (readonly) KASCLong * _Nullable offerId __attribute__((swift_name("offerId")));
+@property (readonly) KASCLong * _Nullable punchItemId __attribute__((swift_name("punchItemId")));
+
+/** The ID for the tier level this tier perk is related to. */
+@property (readonly) KASCLong * _Nullable tierId __attribute__((swift_name("tierId")));
+
+/** The title of this tier perk. */
+@property (readonly) NSString * _Nullable title __attribute__((swift_name("title")));
+@end
+
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerk_.Companion")))
+@interface KASCTierPerk_Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierPerk_Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerkTranslation_")))
+@interface KASCTierPerkTranslation_ : KASCBase
+- (instancetype)initWithLanguageId:(KASCLong * _Nullable)languageId title:(NSString * _Nullable)title language:(KASCLanguage___ * _Nullable)language __attribute__((swift_name("init(languageId:title:language:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierPerkTranslation_Companion *companion __attribute__((swift_name("companion")));
+- (KASCTierPerkTranslation_ *)doCopyLanguageId:(KASCLong * _Nullable)languageId title:(NSString * _Nullable)title language:(KASCLanguage___ * _Nullable)language __attribute__((swift_name("doCopy(languageId:title:language:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The language for which this translation applies. */
+@property (readonly) KASCLanguage___ * _Nullable language __attribute__((swift_name("language")));
+
+/** The ID of teh language. */
+@property (readonly) KASCLong * _Nullable languageId __attribute__((swift_name("languageId")));
+
+/** The name of this tier level as translated. */
+@property (readonly) NSString * _Nullable title __attribute__((swift_name("title")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerkTranslation_.Companion")))
+@interface KASCTierPerkTranslation_Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierPerkTranslation_Companion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierProgress_")))
+@interface KASCTierProgress_ : KASCBase
+- (instancetype)initWithStartDate:(NSString * _Nullable)startDate endDate:(NSString * _Nullable)endDate tierLevel:(NSString * _Nullable)tierLevel tierLevelLive:(NSString * _Nullable)tierLevelLive nextTierLevel:(NSString * _Nullable)nextTierLevel tierProgress:(KASCFloat * _Nullable)tierProgress leftPoints:(KASCLong * _Nullable)leftPoints leftAmount:(KASCFloat * _Nullable)leftAmount leftVisits:(KASCLong * _Nullable)leftVisits totalPoints:(KASCLong * _Nullable)totalPoints totalAmount:(KASCFloat * _Nullable)totalAmount totalVisits:(KASCLong * _Nullable)totalVisits __attribute__((swift_name("init(startDate:endDate:tierLevel:tierLevelLive:nextTierLevel:tierProgress:leftPoints:leftAmount:leftVisits:totalPoints:totalAmount:totalVisits:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierProgress_Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (KASCTierProgress_ *)doCopyStartDate:(NSString * _Nullable)startDate endDate:(NSString * _Nullable)endDate tierLevel:(NSString * _Nullable)tierLevel tierLevelLive:(NSString * _Nullable)tierLevelLive nextTierLevel:(NSString * _Nullable)nextTierLevel tierProgress:(KASCFloat * _Nullable)tierProgress leftPoints:(KASCLong * _Nullable)leftPoints leftAmount:(KASCFloat * _Nullable)leftAmount leftVisits:(KASCLong * _Nullable)leftVisits totalPoints:(KASCLong * _Nullable)totalPoints totalAmount:(KASCFloat * _Nullable)totalAmount totalVisits:(KASCLong * _Nullable)totalVisits __attribute__((swift_name("doCopy(startDate:endDate:tierLevel:tierLevelLive:nextTierLevel:tierProgress:leftPoints:leftAmount:leftVisits:totalPoints:totalAmount:totalVisits:)")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The end date for this tier session. The tier will be reset once this date is reached. */
+@property (readonly) NSString * _Nullable endDate __attribute__((swift_name("endDate")));
+
+/** The amount of spend left in the user's current tier progress. Once they have acquired this many more amount of spend, they will be moved into the next tier. */
+@property (readonly) KASCFloat * _Nullable leftAmount __attribute__((swift_name("leftAmount")));
+
+/** The amount of points left in the user's current tier progress. Once they have acquired this many more amount of points, they will be moved into the next tier. */
+@property (readonly) KASCLong * _Nullable leftPoints __attribute__((swift_name("leftPoints")));
+
+/** The amount of visits left in the user's current tier progress. Once they have acquired this many more amount of visits, they will be moved into the next tier. */
+@property (readonly) KASCLong * _Nullable leftVisits __attribute__((swift_name("leftVisits")));
+
+/** The name of the user's next tier level. */
+@property (readonly) NSString * _Nullable nextTierLevel __attribute__((swift_name("nextTierLevel")));
+
+/** The start date for this tier session. */
+@property (readonly) NSString * _Nullable startDate __attribute__((swift_name("startDate")));
+
+/** The name of the user's current tier level */
+@property (readonly) NSString * _Nullable tierLevel __attribute__((swift_name("tierLevel")));
+
+/** The name of the user's current tier level. Tiers are recalculated once per day, as such \"tier_level\" may not be completely up to date. */
+@property (readonly) NSString * _Nullable tierLevelLive __attribute__((swift_name("tierLevelLive")));
+
+/** The users current tier progress in their \"tier_level\". This will be a number between 0 and 1. A tier progress of 0.5 means that the user has made 50% progress in their current tier. */
+@property (readonly) KASCFloat * _Nullable tierProgress __attribute__((swift_name("tierProgress")));
+
+/** Purchase amount between start_date and end_date. */
+@property (readonly) KASCFloat * _Nullable totalAmount __attribute__((swift_name("totalAmount")));
+
+/** Purchase points between start_date and end_date. */
+@property (readonly) KASCLong * _Nullable totalPoints __attribute__((swift_name("totalPoints")));
+
+/** Purchase visits between start_date and end_date. */
+@property (readonly) KASCLong * _Nullable totalVisits __attribute__((swift_name("totalVisits")));
+@end
+
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierProgress_.Companion")))
+@interface KASCTierProgress_Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierProgress_Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * User Profile balance data.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserBalance")))
+@interface KASCUserBalance : KASCBase
+- (instancetype)initWithPoints:(KASCLong * _Nullable)points giftcard:(KASCDouble * _Nullable)giftcard __attribute__((swift_name("init(points:giftcard:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCUserBalanceCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * User Profile balance data.
+ */
+- (KASCUserBalance *)doCopyPoints:(KASCLong * _Nullable)points giftcard:(KASCDouble * _Nullable)giftcard __attribute__((swift_name("doCopy(points:giftcard:)")));
+
+/**
+ * User Profile balance data.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * User Profile balance data.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * User Profile balance data.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The amount of store credit in the users' e-wallet. */
+@property (readonly) KASCDouble * _Nullable giftcard __attribute__((swift_name("giftcard")));
+
+/** The number of points this user currently has. */
+@property (readonly) KASCLong * _Nullable points __attribute__((swift_name("points")));
+@end
+
+
+/**
+ * User Profile balance data.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserBalance.Companion")))
+@interface KASCUserBalanceCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * User Profile balance data.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserBalanceCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * User Profile balance data.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * User Profile model class containing user data for specific business
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserBusinessProfileModel")))
+@interface KASCUserBusinessProfileModel : KASCModel
+- (instancetype)initWithData:(KASCBusinessData * _Nullable)data included:(KASCUserProfileInclude * _Nullable)included __attribute__((swift_name("init(data:included:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+@property (class, readonly, getter=companion) KASCUserBusinessProfileModelCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * User Profile model class containing user data for specific business
+ */
+- (KASCUserBusinessProfileModel *)doCopyData:(KASCBusinessData * _Nullable)data included:(KASCUserProfileInclude * _Nullable)included __attribute__((swift_name("doCopy(data:included:)")));
+
+/**
+ * User Profile model class containing user data for specific business
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * User Profile model class containing user data for specific business
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * User Profile model class containing user data for specific business
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** Contains business data */
+@property (readonly) KASCBusinessData * _Nullable data __attribute__((swift_name("data")));
+
+/** Contains user balance data */
+@property (readonly) KASCUserProfileInclude * _Nullable included __attribute__((swift_name("included")));
+@end
+
+
+/**
+ * User Profile model class containing user data for specific business
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserBusinessProfileModel.Companion")))
+@interface KASCUserBusinessProfileModelCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * User Profile model class containing user data for specific business
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserBusinessProfileModelCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * User Profile model class containing user data for specific business
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Extra user profile data
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileInclude")))
+@interface KASCUserProfileInclude : KASCBase
+- (instancetype)initWithBalance:(KASCUserBalance * _Nullable)balance tierLevel:(KASCTierLevel_ * _Nullable)tierLevel tierProgress:(KASCTierProgress_ * _Nullable)tierProgress referralPrograms:(NSArray * _Nullable)referralPrograms __attribute__((swift_name("init(balance:tierLevel:tierProgress:referralPrograms:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCUserProfileIncludeCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Extra user profile data
+ */
+- (KASCUserProfileInclude *)doCopyBalance:(KASCUserBalance * _Nullable)balance tierLevel:(KASCTierLevel_ * _Nullable)tierLevel tierProgress:(KASCTierProgress_ * _Nullable)tierProgress referralPrograms:(NSArray * _Nullable)referralPrograms __attribute__((swift_name("doCopy(balance:tierLevel:tierProgress:referralPrograms:)")));
+
+/**
+ * Extra user profile data
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Extra user profile data
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Extra user profile data
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** User Profile balance data. */
+@property (readonly) KASCUserBalance * _Nullable balance __attribute__((swift_name("balance")));
+
+/** A list of referral programs the user has access to. */
+@property (readonly) NSArray * _Nullable referralPrograms __attribute__((swift_name("referralPrograms")));
+
+/** User's tier status. */
+@property (readonly) KASCTierLevel_ * _Nullable tierLevel __attribute__((swift_name("tierLevel")));
+
+/** User's tier progress and status. If a user's tier status is statically fixed, this will be null as they do not progress from tier to tier. */
+@property (readonly) KASCTierProgress_ * _Nullable tierProgress __attribute__((swift_name("tierProgress")));
+@end
+
+
+/**
+ * Extra user profile data
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileInclude.Companion")))
+@interface KASCUserProfileIncludeCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Extra user profile data
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserProfileIncludeCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Extra user profile data
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Notify Kangaroo that an offer has been shared to facebook [Api] class
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("OfferFacebookShareApi")))
+@interface KASCOfferFacebookShareApi : KASCApi
+
+/**
+ * Notify Kangaroo that an offer has been shared to facebook [Api] class
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Notify Kangaroo that an offer has been shared to facebook [Api] class
+ */
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+@property (class, readonly, getter=companion) KASCOfferFacebookShareApiCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Notify Kangaroo that an offer has been shared to facebook
+ */
+- (KASCCFlow *> *)postOfferFacebookShareOfferId:(NSString *)offerId include:(NSString *)include facebookUserId:(NSString *)facebookUserId type:(NSString *)type friendsCount:(NSString *)friendsCount __attribute__((swift_name("postOfferFacebookShare(offerId:include:facebookUserId:type:friendsCount:)")));
+@property (readonly) KASCCFlow *> *offerFacebookShareState __attribute__((swift_name("offerFacebookShareState")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("OfferFacebookShareApi.Companion")))
+@interface KASCOfferFacebookShareApiCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCOfferFacebookShareApiCompanion *shared __attribute__((swift_name("shared")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Language____")))
+@interface KASCLanguage____ : KASCBase
+- (instancetype)initWithId:(int32_t)id abbreviation:(NSString * _Nullable)abbreviation name:(NSString * _Nullable)name __attribute__((swift_name("init(id:abbreviation:name:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCLanguage____Companion *companion __attribute__((swift_name("companion")));
+- (KASCLanguage____ *)doCopyId:(int32_t)id abbreviation:(NSString * _Nullable)abbreviation name:(NSString * _Nullable)name __attribute__((swift_name("doCopy(id:abbreviation:name:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** A two letter abbreviation of this language. Follows ISO standards (en, fr, es) */
+@property (readonly) NSString * _Nullable abbreviation __attribute__((swift_name("abbreviation")));
+
+/** The Kangaroo ID of this language. */
+@property (readonly) int32_t id __attribute__((swift_name("id")));
+
+/** The full name of this language (English, French, Spanish) */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Language____.Companion")))
+@interface KASCLanguage____Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCLanguage____Companion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * A referral program
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ReferralProgram_")))
+@interface KASCReferralProgram_ : KASCBase
+- (instancetype)initWithId:(KASCLong * _Nullable)id ruleName:(NSString * _Nullable)ruleName condMinAmount:(KASCDouble * _Nullable)condMinAmount refereeEarns:(KASCLong * _Nullable)refereeEarns refererEarns:(KASCLong * _Nullable)refererEarns expiresIn:(KASCLong * _Nullable)expiresIn enabled:(KASCBoolean * _Nullable)enabled linkReferralEnabled:(KASCBoolean * _Nullable)linkReferralEnabled referralLink:(NSString * _Nullable)referralLink __attribute__((swift_name("init(id:ruleName:condMinAmount:refereeEarns:refererEarns:expiresIn:enabled:linkReferralEnabled:referralLink:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCReferralProgram_Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * A referral program
+ */
+- (KASCReferralProgram_ *)doCopyId:(KASCLong * _Nullable)id ruleName:(NSString * _Nullable)ruleName condMinAmount:(KASCDouble * _Nullable)condMinAmount refereeEarns:(KASCLong * _Nullable)refereeEarns refererEarns:(KASCLong * _Nullable)refererEarns expiresIn:(KASCLong * _Nullable)expiresIn enabled:(KASCBoolean * _Nullable)enabled linkReferralEnabled:(KASCBoolean * _Nullable)linkReferralEnabled referralLink:(NSString * _Nullable)referralLink __attribute__((swift_name("doCopy(id:ruleName:condMinAmount:refereeEarns:refererEarns:expiresIn:enabled:linkReferralEnabled:referralLink:)")));
+
+/**
+ * A referral program
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * A referral program
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * A referral program
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The minimum purchawe amount required for a succesful referral. */
+@property (readonly) KASCDouble * _Nullable condMinAmount __attribute__((swift_name("condMinAmount")));
+
+/** Denotes whether this referral program is currently active. */
+@property (readonly) KASCBoolean * _Nullable enabled __attribute__((swift_name("enabled")));
+
+/** The number of days the new customer has to sign up in order for a referral to be sucessful. */
+@property (readonly) KASCLong * _Nullable expiresIn __attribute__((swift_name("expiresIn")));
+
+/** The unique id of this referral program. */
+@property (readonly) KASCLong * _Nullable id __attribute__((swift_name("id")));
+
+/** Denotes whether this referral program has enabled share links. Referral share links are links that the customer can send to prospective referrals. A User can sign up to the business through this link in order to complete the referral. */
+@property (readonly) KASCBoolean * _Nullable linkReferralEnabled __attribute__((swift_name("linkReferralEnabled")));
+
+/** The number of points the new customer will earn. */
+@property (readonly) KASCLong * _Nullable refereeEarns __attribute__((swift_name("refereeEarns")));
+
+/** The number of points the new customer who made the referral will earn. */
+@property (readonly) KASCLong * _Nullable refererEarns __attribute__((swift_name("refererEarns")));
+
+/** A link that can be shared to prospective referrals. */
+@property (readonly) NSString * _Nullable referralLink __attribute__((swift_name("referralLink")));
+@property (readonly) NSString * _Nullable ruleName __attribute__((swift_name("ruleName")));
+@end
+
+
+/**
+ * A referral program
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ReferralProgram_.Companion")))
+@interface KASCReferralProgram_Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * A referral program
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCReferralProgram_Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * A referral program
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Represents a single tier level.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevel__")))
+@interface KASCTierLevel__ : KASCBase
+- (instancetype)initWithId:(KASCLong * _Nullable)id name:(NSString * _Nullable)name reachSpend:(KASCFloat * _Nullable)reachSpend reachVisits:(KASCLong * _Nullable)reachVisits reachPoints:(KASCLong * _Nullable)reachPoints icon:(NSString * _Nullable)icon tierPerks:(NSArray * _Nullable)tierPerks languages:(NSArray * _Nullable)languages __attribute__((swift_name("init(id:name:reachSpend:reachVisits:reachPoints:icon:tierPerks:languages:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierLevel__Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Represents a single tier level.
+ */
+- (KASCTierLevel__ *)doCopyId:(KASCLong * _Nullable)id name:(NSString * _Nullable)name reachSpend:(KASCFloat * _Nullable)reachSpend reachVisits:(KASCLong * _Nullable)reachVisits reachPoints:(KASCLong * _Nullable)reachPoints icon:(NSString * _Nullable)icon tierPerks:(NSArray * _Nullable)tierPerks languages:(NSArray * _Nullable)languages __attribute__((swift_name("doCopy(id:name:reachSpend:reachVisits:reachPoints:icon:tierPerks:languages:)")));
+
+/**
+ * Represents a single tier level.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Represents a single tier level.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Represents a single tier level.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The icon of this tier level. */
+@property (readonly) NSString * _Nullable icon __attribute__((swift_name("icon")));
+
+/** The ID for this tier. */
+@property (readonly) KASCLong * _Nullable id __attribute__((swift_name("id")));
+
+/** translation for each tier level. */
+@property (readonly) NSArray * _Nullable languages __attribute__((swift_name("languages")));
+
+/** The name of this tier level. */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+
+/** The amount of points acquired that is required to reach this tier. */
+@property (readonly) KASCLong * _Nullable reachPoints __attribute__((swift_name("reachPoints")));
+
+/** The amount of money spent required to reach this tier. */
+@property (readonly) KASCFloat * _Nullable reachSpend __attribute__((swift_name("reachSpend")));
+
+/** The amount of visits made to reach this tier. */
+@property (readonly) KASCLong * _Nullable reachVisits __attribute__((swift_name("reachVisits")));
+
+/** The perks related to this tier level. */
+@property (readonly) NSArray * _Nullable tierPerks __attribute__((swift_name("tierPerks")));
+@end
+
+
+/**
+ * Represents a single tier level.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevel__.Companion")))
+@interface KASCTierLevel__Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Represents a single tier level.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierLevel__Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Represents a single tier level.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevelTranslation__")))
+@interface KASCTierLevelTranslation__ : KASCBase
+- (instancetype)initWithLanguageId:(KASCLong * _Nullable)languageId name:(NSString * _Nullable)name description:(NSString * _Nullable)description language:(KASCLanguage____ * _Nullable)language __attribute__((swift_name("init(languageId:name:description:language:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierLevelTranslation__Companion *companion __attribute__((swift_name("companion")));
+- (KASCTierLevelTranslation__ *)doCopyLanguageId:(KASCLong * _Nullable)languageId name:(NSString * _Nullable)name description:(NSString * _Nullable)description language:(KASCLanguage____ * _Nullable)language __attribute__((swift_name("doCopy(languageId:name:description:language:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The description of this tier level as translated. */
+@property (readonly) NSString * _Nullable description_ __attribute__((swift_name("description_")));
+
+/** The language for which this translation applies. */
+@property (readonly) KASCLanguage____ * _Nullable language __attribute__((swift_name("language")));
+
+/** The ID of teh language. */
+@property (readonly) KASCLong * _Nullable languageId __attribute__((swift_name("languageId")));
+
+/** The name of this tier level as translated. */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevelTranslation__.Companion")))
+@interface KASCTierLevelTranslation__Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierLevelTranslation__Companion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Represents a single tier perk for a tier level.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerk__")))
+@interface KASCTierPerk__ : KASCBase
+- (instancetype)initWithId:(KASCLong * _Nullable)id title:(NSString * _Nullable)title tierId:(KASCLong * _Nullable)tierId offerId:(KASCLong * _Nullable)offerId punchItemId:(KASCLong * _Nullable)punchItemId enabled:(KASCBoolean * _Nullable)enabled isExpired:(KASCBoolean * _Nullable)isExpired languages:(NSArray * _Nullable)languages __attribute__((swift_name("init(id:title:tierId:offerId:punchItemId:enabled:isExpired:languages:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierPerk__Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (KASCTierPerk__ *)doCopyId:(KASCLong * _Nullable)id title:(NSString * _Nullable)title tierId:(KASCLong * _Nullable)tierId offerId:(KASCLong * _Nullable)offerId punchItemId:(KASCLong * _Nullable)punchItemId enabled:(KASCBoolean * _Nullable)enabled isExpired:(KASCBoolean * _Nullable)isExpired languages:(NSArray * _Nullable)languages __attribute__((swift_name("doCopy(id:title:tierId:offerId:punchItemId:enabled:isExpired:languages:)")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** Whether this tier perk is currently enabled or disabled. */
+@property (readonly) KASCBoolean * _Nullable enabled __attribute__((swift_name("enabled")));
+
+/** The ID for this tier perk. */
+@property (readonly) KASCLong * _Nullable id __attribute__((swift_name("id")));
+
+/** Whether the offer this tier perk is currently attached to is expired or not. */
+@property (readonly) KASCBoolean * _Nullable isExpired __attribute__((swift_name("isExpired")));
+
+/** The perks related to this tier level. */
+@property (readonly) NSArray * _Nullable languages __attribute__((swift_name("languages")));
+@property (readonly) KASCLong * _Nullable offerId __attribute__((swift_name("offerId")));
+@property (readonly) KASCLong * _Nullable punchItemId __attribute__((swift_name("punchItemId")));
+
+/** The ID for the tier level this tier perk is related to. */
+@property (readonly) KASCLong * _Nullable tierId __attribute__((swift_name("tierId")));
+
+/** The title of this tier perk. */
+@property (readonly) NSString * _Nullable title __attribute__((swift_name("title")));
+@end
+
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerk__.Companion")))
+@interface KASCTierPerk__Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierPerk__Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerkTranslation__")))
+@interface KASCTierPerkTranslation__ : KASCBase
+- (instancetype)initWithLanguageId:(KASCLong * _Nullable)languageId title:(NSString * _Nullable)title language:(KASCLanguage____ * _Nullable)language __attribute__((swift_name("init(languageId:title:language:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierPerkTranslation__Companion *companion __attribute__((swift_name("companion")));
+- (KASCTierPerkTranslation__ *)doCopyLanguageId:(KASCLong * _Nullable)languageId title:(NSString * _Nullable)title language:(KASCLanguage____ * _Nullable)language __attribute__((swift_name("doCopy(languageId:title:language:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The language for which this translation applies. */
+@property (readonly) KASCLanguage____ * _Nullable language __attribute__((swift_name("language")));
+
+/** The ID of teh language. */
+@property (readonly) KASCLong * _Nullable languageId __attribute__((swift_name("languageId")));
+
+/** The name of this tier level as translated. */
+@property (readonly) NSString * _Nullable title __attribute__((swift_name("title")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerkTranslation__.Companion")))
+@interface KASCTierPerkTranslation__Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierPerkTranslation__Companion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierProgress__")))
+@interface KASCTierProgress__ : KASCBase
+- (instancetype)initWithStartDate:(NSString * _Nullable)startDate endDate:(NSString * _Nullable)endDate tierLevel:(NSString * _Nullable)tierLevel tierLevelLive:(NSString * _Nullable)tierLevelLive nextTierLevel:(NSString * _Nullable)nextTierLevel tierProgress:(KASCFloat * _Nullable)tierProgress leftPoints:(KASCLong * _Nullable)leftPoints leftAmount:(KASCFloat * _Nullable)leftAmount leftVisits:(KASCLong * _Nullable)leftVisits totalPoints:(KASCLong * _Nullable)totalPoints totalAmount:(KASCFloat * _Nullable)totalAmount totalVisits:(KASCLong * _Nullable)totalVisits __attribute__((swift_name("init(startDate:endDate:tierLevel:tierLevelLive:nextTierLevel:tierProgress:leftPoints:leftAmount:leftVisits:totalPoints:totalAmount:totalVisits:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierProgress__Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (KASCTierProgress__ *)doCopyStartDate:(NSString * _Nullable)startDate endDate:(NSString * _Nullable)endDate tierLevel:(NSString * _Nullable)tierLevel tierLevelLive:(NSString * _Nullable)tierLevelLive nextTierLevel:(NSString * _Nullable)nextTierLevel tierProgress:(KASCFloat * _Nullable)tierProgress leftPoints:(KASCLong * _Nullable)leftPoints leftAmount:(KASCFloat * _Nullable)leftAmount leftVisits:(KASCLong * _Nullable)leftVisits totalPoints:(KASCLong * _Nullable)totalPoints totalAmount:(KASCFloat * _Nullable)totalAmount totalVisits:(KASCLong * _Nullable)totalVisits __attribute__((swift_name("doCopy(startDate:endDate:tierLevel:tierLevelLive:nextTierLevel:tierProgress:leftPoints:leftAmount:leftVisits:totalPoints:totalAmount:totalVisits:)")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The end date for this tier session. The tier will be reset once this date is reached. */
+@property (readonly) NSString * _Nullable endDate __attribute__((swift_name("endDate")));
+
+/** The amount of spend left in the user's current tier progress. Once they have acquired this many more amount of spend, they will be moved into the next tier. */
+@property (readonly) KASCFloat * _Nullable leftAmount __attribute__((swift_name("leftAmount")));
+
+/** The amount of points left in the user's current tier progress. Once they have acquired this many more amount of points, they will be moved into the next tier. */
+@property (readonly) KASCLong * _Nullable leftPoints __attribute__((swift_name("leftPoints")));
+
+/** The amount of visits left in the user's current tier progress. Once they have acquired this many more amount of visits, they will be moved into the next tier. */
+@property (readonly) KASCLong * _Nullable leftVisits __attribute__((swift_name("leftVisits")));
+
+/** The name of the user's next tier level. */
+@property (readonly) NSString * _Nullable nextTierLevel __attribute__((swift_name("nextTierLevel")));
+
+/** The start date for this tier session. */
+@property (readonly) NSString * _Nullable startDate __attribute__((swift_name("startDate")));
+
+/** The name of the user's current tier level */
+@property (readonly) NSString * _Nullable tierLevel __attribute__((swift_name("tierLevel")));
+
+/** The name of the user's current tier level. Tiers are recalculated once per day, as such \"tier_level\" may not be completely up to date. */
+@property (readonly) NSString * _Nullable tierLevelLive __attribute__((swift_name("tierLevelLive")));
+
+/** The users current tier progress in their \"tier_level\". This will be a number between 0 and 1. A tier progress of 0.5 means that the user has made 50% progress in their current tier. */
+@property (readonly) KASCFloat * _Nullable tierProgress __attribute__((swift_name("tierProgress")));
+
+/** Purchase amount between start_date and end_date. */
+@property (readonly) KASCFloat * _Nullable totalAmount __attribute__((swift_name("totalAmount")));
+
+/** Purchase points between start_date and end_date. */
+@property (readonly) KASCLong * _Nullable totalPoints __attribute__((swift_name("totalPoints")));
+
+/** Purchase visits between start_date and end_date. */
+@property (readonly) KASCLong * _Nullable totalVisits __attribute__((swift_name("totalVisits")));
+@end
+
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierProgress__.Companion")))
+@interface KASCTierProgress__Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierProgress__Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * User Profile balance data.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserBalance_")))
+@interface KASCUserBalance_ : KASCBase
+- (instancetype)initWithPoints:(KASCLong * _Nullable)points giftcard:(KASCDouble * _Nullable)giftcard __attribute__((swift_name("init(points:giftcard:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCUserBalance_Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * User Profile balance data.
+ */
+- (KASCUserBalance_ *)doCopyPoints:(KASCLong * _Nullable)points giftcard:(KASCDouble * _Nullable)giftcard __attribute__((swift_name("doCopy(points:giftcard:)")));
+
+/**
+ * User Profile balance data.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * User Profile balance data.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * User Profile balance data.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The amount of store credit in the users' e-wallet. */
+@property (readonly) KASCDouble * _Nullable giftcard __attribute__((swift_name("giftcard")));
+
+/** The number of points this user currently has. */
+@property (readonly) KASCLong * _Nullable points __attribute__((swift_name("points")));
+@end
+
+
+/**
+ * User Profile balance data.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserBalance_.Companion")))
+@interface KASCUserBalance_Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * User Profile balance data.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserBalance_Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * User Profile balance data.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * User Profile model class containing user data
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileDataModel_")))
+@interface KASCUserProfileDataModel_ : KASCModel
+- (instancetype)initWithId:(NSString * _Nullable)id email:(NSString * _Nullable)email phone:(NSString * _Nullable)phone firstName:(NSString * _Nullable)firstName lastName:(NSString * _Nullable)lastName qrcode:(NSString * _Nullable)qrcode gender:(NSString * _Nullable)gender birthDate:(NSString * _Nullable)birthDate language:(NSString * _Nullable)language countryCode:(NSString * _Nullable)countryCode profilePhoto:(NSString * _Nullable)profilePhoto createdAt:(NSString * _Nullable)createdAt updatedAt:(NSString * _Nullable)updatedAt enabled:(KASCBoolean * _Nullable)enabled emailVerified:(KASCBoolean * _Nullable)emailVerified phoneVerified:(KASCBoolean * _Nullable)phoneVerified __attribute__((swift_name("init(id:email:phone:firstName:lastName:qrcode:gender:birthDate:language:countryCode:profilePhoto:createdAt:updatedAt:enabled:emailVerified:phoneVerified:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+@property (class, readonly, getter=companion) KASCUserProfileDataModel_Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (KASCUserProfileDataModel_ *)doCopyId:(NSString * _Nullable)id email:(NSString * _Nullable)email phone:(NSString * _Nullable)phone firstName:(NSString * _Nullable)firstName lastName:(NSString * _Nullable)lastName qrcode:(NSString * _Nullable)qrcode gender:(NSString * _Nullable)gender birthDate:(NSString * _Nullable)birthDate language:(NSString * _Nullable)language countryCode:(NSString * _Nullable)countryCode profilePhoto:(NSString * _Nullable)profilePhoto createdAt:(NSString * _Nullable)createdAt updatedAt:(NSString * _Nullable)updatedAt enabled:(KASCBoolean * _Nullable)enabled emailVerified:(KASCBoolean * _Nullable)emailVerified phoneVerified:(KASCBoolean * _Nullable)phoneVerified __attribute__((swift_name("doCopy(id:email:phone:firstName:lastName:qrcode:gender:birthDate:language:countryCode:profilePhoto:createdAt:updatedAt:enabled:emailVerified:phoneVerified:)")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** Date of birth associated with this user. */
+@property (readonly) NSString * _Nullable birthDate __attribute__((swift_name("birthDate")));
+
+/** Country code associated with this user. */
+@property (readonly) NSString * _Nullable countryCode __attribute__((swift_name("countryCode")));
+
+/** Date the account for this user was created. */
+@property (readonly) NSString * _Nullable createdAt __attribute__((swift_name("createdAt")));
+
+/** Email address identifying this user. */
+@property (readonly) NSString * _Nullable email __attribute__((swift_name("email")));
+
+/** Denotes whether the email address for this user has been verified. */
+@property (readonly) KASCBoolean * _Nullable emailVerified __attribute__((swift_name("emailVerified")));
+
+/** Denotes whether this account has been enabled. */
+@property (readonly) KASCBoolean * _Nullable enabled __attribute__((swift_name("enabled")));
+
+/** First name associated with this user. */
+@property (readonly) NSString * _Nullable firstName __attribute__((swift_name("firstName")));
+
+/** Gender associated with this user. */
+@property (readonly) NSString * _Nullable gender __attribute__((swift_name("gender")));
+
+/** Unique user ID. */
+@property (readonly) NSString * _Nullable id __attribute__((swift_name("id")));
+
+/** Primary language assocaited with this user. */
+@property (readonly) NSString * _Nullable language __attribute__((swift_name("language")));
+
+/** Last name associated with this user. */
+@property (readonly) NSString * _Nullable lastName __attribute__((swift_name("lastName")));
+
+/** Phone number associated with this user. */
+@property (readonly) NSString * _Nullable phone __attribute__((swift_name("phone")));
+
+/** Denotes whether the phone number for this user has been verified. */
+@property (readonly) KASCBoolean * _Nullable phoneVerified __attribute__((swift_name("phoneVerified")));
+
+/** Profile photo url associated with this user. */
+@property (readonly) NSString * _Nullable profilePhoto __attribute__((swift_name("profilePhoto")));
+
+/** Unique QR code identifying this user. */
+@property (readonly) NSString * _Nullable qrcode __attribute__((swift_name("qrcode")));
+
+/** Date the account for this user was last updated. */
+@property (readonly) NSString * _Nullable updatedAt __attribute__((swift_name("updatedAt")));
+@end
+
+
+/**
+ * User Profile model class containing user data
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileDataModel_.Companion")))
+@interface KASCUserProfileDataModel_Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * User Profile model class containing user data
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserProfileDataModel_Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Extra user profile data
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileInclude_")))
+@interface KASCUserProfileInclude_ : KASCBase
+- (instancetype)initWithBalance:(KASCUserBalance_ * _Nullable)balance tierLevel:(KASCTierLevel__ * _Nullable)tierLevel tierProgress:(KASCTierProgress__ * _Nullable)tierProgress referralPrograms:(NSArray * _Nullable)referralPrograms __attribute__((swift_name("init(balance:tierLevel:tierProgress:referralPrograms:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCUserProfileInclude_Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Extra user profile data
+ */
+- (KASCUserProfileInclude_ *)doCopyBalance:(KASCUserBalance_ * _Nullable)balance tierLevel:(KASCTierLevel__ * _Nullable)tierLevel tierProgress:(KASCTierProgress__ * _Nullable)tierProgress referralPrograms:(NSArray * _Nullable)referralPrograms __attribute__((swift_name("doCopy(balance:tierLevel:tierProgress:referralPrograms:)")));
+
+/**
+ * Extra user profile data
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Extra user profile data
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Extra user profile data
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** User Profile balance data. */
+@property (readonly) KASCUserBalance_ * _Nullable balance __attribute__((swift_name("balance")));
+
+/** A list of referral programs the user has access to. */
+@property (readonly) NSArray * _Nullable referralPrograms __attribute__((swift_name("referralPrograms")));
+
+/** User's tier status. */
+@property (readonly) KASCTierLevel__ * _Nullable tierLevel __attribute__((swift_name("tierLevel")));
+
+/** User's tier progress and status. If a user's tier status is statically fixed, this will be null as they do not progress from tier to tier. */
+@property (readonly) KASCTierProgress__ * _Nullable tierProgress __attribute__((swift_name("tierProgress")));
+@end
+
+
+/**
+ * Extra user profile data
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileInclude_.Companion")))
+@interface KASCUserProfileInclude_Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Extra user profile data
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserProfileInclude_Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Extra user profile data
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * User Profile model class containing user data
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileModel")))
+@interface KASCUserProfileModel : KASCModel
+- (instancetype)initWithData:(KASCUserProfileDataModel_ * _Nullable)data included:(KASCUserProfileInclude_ * _Nullable)included __attribute__((swift_name("init(data:included:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+@property (class, readonly, getter=companion) KASCUserProfileModelCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (KASCUserProfileModel *)doCopyData:(KASCUserProfileDataModel_ * _Nullable)data included:(KASCUserProfileInclude_ * _Nullable)included __attribute__((swift_name("doCopy(data:included:)")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** Contains all user profile data */
+@property (readonly) KASCUserProfileDataModel_ * _Nullable data __attribute__((swift_name("data")));
+
+/** Contains user balance data */
+@property (readonly) KASCUserProfileInclude_ * _Nullable included __attribute__((swift_name("included")));
+@end
+
+
+/**
+ * User Profile model class containing user data
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileModel.Companion")))
+@interface KASCUserProfileModelCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * User Profile model class containing user data
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserProfileModelCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Get user profile data for this user. [Api] class
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileApi")))
+@interface KASCUserProfileApi : KASCApi
+
+/**
+ * Get user profile data for this user. [Api] class
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Get user profile data for this user. [Api] class
+ */
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+@property (class, readonly, getter=companion) KASCUserProfileApiCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Get user profile data for this user.
+ */
+- (KASCCFlow *> *)getUserProfile __attribute__((swift_name("getUserProfile()")));
+@property (readonly) KASCCFlow *> *userProfileState __attribute__((swift_name("userProfileState")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileApi.Companion")))
+@interface KASCUserProfileApiCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserProfileApiCompanion *shared __attribute__((swift_name("shared")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Language_____")))
+@interface KASCLanguage_____ : KASCBase
+- (instancetype)initWithId:(int32_t)id abbreviation:(NSString * _Nullable)abbreviation name:(NSString * _Nullable)name __attribute__((swift_name("init(id:abbreviation:name:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCLanguage_____Companion *companion __attribute__((swift_name("companion")));
+- (KASCLanguage_____ *)doCopyId:(int32_t)id abbreviation:(NSString * _Nullable)abbreviation name:(NSString * _Nullable)name __attribute__((swift_name("doCopy(id:abbreviation:name:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** A two letter abbreviation of this language. Follows ISO standards (en, fr, es) */
+@property (readonly) NSString * _Nullable abbreviation __attribute__((swift_name("abbreviation")));
+
+/** The Kangaroo ID of this language. */
+@property (readonly) int32_t id __attribute__((swift_name("id")));
+
+/** The full name of this language (English, French, Spanish) */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Language_____.Companion")))
+@interface KASCLanguage_____Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCLanguage_____Companion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * A referral program
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ReferralProgram__")))
+@interface KASCReferralProgram__ : KASCBase
+- (instancetype)initWithId:(KASCLong * _Nullable)id ruleName:(NSString * _Nullable)ruleName condMinAmount:(KASCDouble * _Nullable)condMinAmount refereeEarns:(KASCLong * _Nullable)refereeEarns refererEarns:(KASCLong * _Nullable)refererEarns expiresIn:(KASCLong * _Nullable)expiresIn enabled:(KASCBoolean * _Nullable)enabled linkReferralEnabled:(KASCBoolean * _Nullable)linkReferralEnabled referralLink:(NSString * _Nullable)referralLink __attribute__((swift_name("init(id:ruleName:condMinAmount:refereeEarns:refererEarns:expiresIn:enabled:linkReferralEnabled:referralLink:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCReferralProgram__Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * A referral program
+ */
+- (KASCReferralProgram__ *)doCopyId:(KASCLong * _Nullable)id ruleName:(NSString * _Nullable)ruleName condMinAmount:(KASCDouble * _Nullable)condMinAmount refereeEarns:(KASCLong * _Nullable)refereeEarns refererEarns:(KASCLong * _Nullable)refererEarns expiresIn:(KASCLong * _Nullable)expiresIn enabled:(KASCBoolean * _Nullable)enabled linkReferralEnabled:(KASCBoolean * _Nullable)linkReferralEnabled referralLink:(NSString * _Nullable)referralLink __attribute__((swift_name("doCopy(id:ruleName:condMinAmount:refereeEarns:refererEarns:expiresIn:enabled:linkReferralEnabled:referralLink:)")));
+
+/**
+ * A referral program
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * A referral program
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * A referral program
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The minimum purchawe amount required for a succesful referral. */
+@property (readonly) KASCDouble * _Nullable condMinAmount __attribute__((swift_name("condMinAmount")));
+
+/** Denotes whether this referral program is currently active. */
+@property (readonly) KASCBoolean * _Nullable enabled __attribute__((swift_name("enabled")));
+
+/** The number of days the new customer has to sign up in order for a referral to be sucessful. */
+@property (readonly) KASCLong * _Nullable expiresIn __attribute__((swift_name("expiresIn")));
+
+/** The unique id of this referral program. */
+@property (readonly) KASCLong * _Nullable id __attribute__((swift_name("id")));
+
+/** Denotes whether this referral program has enabled share links. Referral share links are links that the customer can send to prospective referrals. A User can sign up to the business through this link in order to complete the referral. */
+@property (readonly) KASCBoolean * _Nullable linkReferralEnabled __attribute__((swift_name("linkReferralEnabled")));
+
+/** The number of points the new customer will earn. */
+@property (readonly) KASCLong * _Nullable refereeEarns __attribute__((swift_name("refereeEarns")));
+
+/** The number of points the new customer who made the referral will earn. */
+@property (readonly) KASCLong * _Nullable refererEarns __attribute__((swift_name("refererEarns")));
+
+/** A link that can be shared to prospective referrals. */
+@property (readonly) NSString * _Nullable referralLink __attribute__((swift_name("referralLink")));
+@property (readonly) NSString * _Nullable ruleName __attribute__((swift_name("ruleName")));
+@end
+
+
+/**
+ * A referral program
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("ReferralProgram__.Companion")))
+@interface KASCReferralProgram__Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * A referral program
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCReferralProgram__Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * A referral program
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Represents a single tier level.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevel___")))
+@interface KASCTierLevel___ : KASCBase
+- (instancetype)initWithId:(KASCLong * _Nullable)id name:(NSString * _Nullable)name reachSpend:(KASCFloat * _Nullable)reachSpend reachVisits:(KASCLong * _Nullable)reachVisits reachPoints:(KASCLong * _Nullable)reachPoints icon:(NSString * _Nullable)icon tierPerks:(NSArray * _Nullable)tierPerks languages:(NSArray * _Nullable)languages __attribute__((swift_name("init(id:name:reachSpend:reachVisits:reachPoints:icon:tierPerks:languages:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierLevel___Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Represents a single tier level.
+ */
+- (KASCTierLevel___ *)doCopyId:(KASCLong * _Nullable)id name:(NSString * _Nullable)name reachSpend:(KASCFloat * _Nullable)reachSpend reachVisits:(KASCLong * _Nullable)reachVisits reachPoints:(KASCLong * _Nullable)reachPoints icon:(NSString * _Nullable)icon tierPerks:(NSArray * _Nullable)tierPerks languages:(NSArray * _Nullable)languages __attribute__((swift_name("doCopy(id:name:reachSpend:reachVisits:reachPoints:icon:tierPerks:languages:)")));
+
+/**
+ * Represents a single tier level.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Represents a single tier level.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Represents a single tier level.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The icon of this tier level. */
+@property (readonly) NSString * _Nullable icon __attribute__((swift_name("icon")));
+
+/** The ID for this tier. */
+@property (readonly) KASCLong * _Nullable id __attribute__((swift_name("id")));
+
+/** translation for each tier level. */
+@property (readonly) NSArray * _Nullable languages __attribute__((swift_name("languages")));
+
+/** The name of this tier level. */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+
+/** The amount of points acquired that is required to reach this tier. */
+@property (readonly) KASCLong * _Nullable reachPoints __attribute__((swift_name("reachPoints")));
+
+/** The amount of money spent required to reach this tier. */
+@property (readonly) KASCFloat * _Nullable reachSpend __attribute__((swift_name("reachSpend")));
+
+/** The amount of visits made to reach this tier. */
+@property (readonly) KASCLong * _Nullable reachVisits __attribute__((swift_name("reachVisits")));
+
+/** The perks related to this tier level. */
+@property (readonly) NSArray * _Nullable tierPerks __attribute__((swift_name("tierPerks")));
+@end
+
+
+/**
+ * Represents a single tier level.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevel___.Companion")))
+@interface KASCTierLevel___Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Represents a single tier level.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierLevel___Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Represents a single tier level.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevelTranslation___")))
+@interface KASCTierLevelTranslation___ : KASCBase
+- (instancetype)initWithLanguageId:(KASCLong * _Nullable)languageId name:(NSString * _Nullable)name description:(NSString * _Nullable)description language:(KASCLanguage_____ * _Nullable)language __attribute__((swift_name("init(languageId:name:description:language:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierLevelTranslation___Companion *companion __attribute__((swift_name("companion")));
+- (KASCTierLevelTranslation___ *)doCopyLanguageId:(KASCLong * _Nullable)languageId name:(NSString * _Nullable)name description:(NSString * _Nullable)description language:(KASCLanguage_____ * _Nullable)language __attribute__((swift_name("doCopy(languageId:name:description:language:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The description of this tier level as translated. */
+@property (readonly) NSString * _Nullable description_ __attribute__((swift_name("description_")));
+
+/** The language for which this translation applies. */
+@property (readonly) KASCLanguage_____ * _Nullable language __attribute__((swift_name("language")));
+
+/** The ID of teh language. */
+@property (readonly) KASCLong * _Nullable languageId __attribute__((swift_name("languageId")));
+
+/** The name of this tier level as translated. */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierLevelTranslation___.Companion")))
+@interface KASCTierLevelTranslation___Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierLevelTranslation___Companion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Represents a single tier perk for a tier level.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerk___")))
+@interface KASCTierPerk___ : KASCBase
+- (instancetype)initWithId:(KASCLong * _Nullable)id title:(NSString * _Nullable)title tierId:(KASCLong * _Nullable)tierId offerId:(KASCLong * _Nullable)offerId punchItemId:(KASCLong * _Nullable)punchItemId enabled:(KASCBoolean * _Nullable)enabled isExpired:(KASCBoolean * _Nullable)isExpired languages:(NSArray * _Nullable)languages __attribute__((swift_name("init(id:title:tierId:offerId:punchItemId:enabled:isExpired:languages:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierPerk___Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (KASCTierPerk___ *)doCopyId:(KASCLong * _Nullable)id title:(NSString * _Nullable)title tierId:(KASCLong * _Nullable)tierId offerId:(KASCLong * _Nullable)offerId punchItemId:(KASCLong * _Nullable)punchItemId enabled:(KASCBoolean * _Nullable)enabled isExpired:(KASCBoolean * _Nullable)isExpired languages:(NSArray * _Nullable)languages __attribute__((swift_name("doCopy(id:title:tierId:offerId:punchItemId:enabled:isExpired:languages:)")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** Whether this tier perk is currently enabled or disabled. */
+@property (readonly) KASCBoolean * _Nullable enabled __attribute__((swift_name("enabled")));
+
+/** The ID for this tier perk. */
+@property (readonly) KASCLong * _Nullable id __attribute__((swift_name("id")));
+
+/** Whether the offer this tier perk is currently attached to is expired or not. */
+@property (readonly) KASCBoolean * _Nullable isExpired __attribute__((swift_name("isExpired")));
+
+/** The perks related to this tier level. */
+@property (readonly) NSArray * _Nullable languages __attribute__((swift_name("languages")));
+@property (readonly) KASCLong * _Nullable offerId __attribute__((swift_name("offerId")));
+@property (readonly) KASCLong * _Nullable punchItemId __attribute__((swift_name("punchItemId")));
+
+/** The ID for the tier level this tier perk is related to. */
+@property (readonly) KASCLong * _Nullable tierId __attribute__((swift_name("tierId")));
+
+/** The title of this tier perk. */
+@property (readonly) NSString * _Nullable title __attribute__((swift_name("title")));
+@end
+
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerk___.Companion")))
+@interface KASCTierPerk___Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierPerk___Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Represents a single tier perk for a tier level.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerkTranslation___")))
+@interface KASCTierPerkTranslation___ : KASCBase
+- (instancetype)initWithLanguageId:(KASCLong * _Nullable)languageId title:(NSString * _Nullable)title language:(KASCLanguage_____ * _Nullable)language __attribute__((swift_name("init(languageId:title:language:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierPerkTranslation___Companion *companion __attribute__((swift_name("companion")));
+- (KASCTierPerkTranslation___ *)doCopyLanguageId:(KASCLong * _Nullable)languageId title:(NSString * _Nullable)title language:(KASCLanguage_____ * _Nullable)language __attribute__((swift_name("doCopy(languageId:title:language:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The language for which this translation applies. */
+@property (readonly) KASCLanguage_____ * _Nullable language __attribute__((swift_name("language")));
+
+/** The ID of teh language. */
+@property (readonly) KASCLong * _Nullable languageId __attribute__((swift_name("languageId")));
+
+/** The name of this tier level as translated. */
+@property (readonly) NSString * _Nullable title __attribute__((swift_name("title")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierPerkTranslation___.Companion")))
+@interface KASCTierPerkTranslation___Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierPerkTranslation___Companion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierProgress___")))
+@interface KASCTierProgress___ : KASCBase
+- (instancetype)initWithStartDate:(NSString * _Nullable)startDate endDate:(NSString * _Nullable)endDate tierLevel:(NSString * _Nullable)tierLevel tierLevelLive:(NSString * _Nullable)tierLevelLive nextTierLevel:(NSString * _Nullable)nextTierLevel tierProgress:(KASCFloat * _Nullable)tierProgress leftPoints:(KASCLong * _Nullable)leftPoints leftAmount:(KASCFloat * _Nullable)leftAmount leftVisits:(KASCLong * _Nullable)leftVisits totalPoints:(KASCLong * _Nullable)totalPoints totalAmount:(KASCFloat * _Nullable)totalAmount totalVisits:(KASCLong * _Nullable)totalVisits __attribute__((swift_name("init(startDate:endDate:tierLevel:tierLevelLive:nextTierLevel:tierProgress:leftPoints:leftAmount:leftVisits:totalPoints:totalAmount:totalVisits:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCTierProgress___Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (KASCTierProgress___ *)doCopyStartDate:(NSString * _Nullable)startDate endDate:(NSString * _Nullable)endDate tierLevel:(NSString * _Nullable)tierLevel tierLevelLive:(NSString * _Nullable)tierLevelLive nextTierLevel:(NSString * _Nullable)nextTierLevel tierProgress:(KASCFloat * _Nullable)tierProgress leftPoints:(KASCLong * _Nullable)leftPoints leftAmount:(KASCFloat * _Nullable)leftAmount leftVisits:(KASCLong * _Nullable)leftVisits totalPoints:(KASCLong * _Nullable)totalPoints totalAmount:(KASCFloat * _Nullable)totalAmount totalVisits:(KASCLong * _Nullable)totalVisits __attribute__((swift_name("doCopy(startDate:endDate:tierLevel:tierLevelLive:nextTierLevel:tierProgress:leftPoints:leftAmount:leftVisits:totalPoints:totalAmount:totalVisits:)")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The end date for this tier session. The tier will be reset once this date is reached. */
+@property (readonly) NSString * _Nullable endDate __attribute__((swift_name("endDate")));
+
+/** The amount of spend left in the user's current tier progress. Once they have acquired this many more amount of spend, they will be moved into the next tier. */
+@property (readonly) KASCFloat * _Nullable leftAmount __attribute__((swift_name("leftAmount")));
+
+/** The amount of points left in the user's current tier progress. Once they have acquired this many more amount of points, they will be moved into the next tier. */
+@property (readonly) KASCLong * _Nullable leftPoints __attribute__((swift_name("leftPoints")));
+
+/** The amount of visits left in the user's current tier progress. Once they have acquired this many more amount of visits, they will be moved into the next tier. */
+@property (readonly) KASCLong * _Nullable leftVisits __attribute__((swift_name("leftVisits")));
+
+/** The name of the user's next tier level. */
+@property (readonly) NSString * _Nullable nextTierLevel __attribute__((swift_name("nextTierLevel")));
+
+/** The start date for this tier session. */
+@property (readonly) NSString * _Nullable startDate __attribute__((swift_name("startDate")));
+
+/** The name of the user's current tier level */
+@property (readonly) NSString * _Nullable tierLevel __attribute__((swift_name("tierLevel")));
+
+/** The name of the user's current tier level. Tiers are recalculated once per day, as such \"tier_level\" may not be completely up to date. */
+@property (readonly) NSString * _Nullable tierLevelLive __attribute__((swift_name("tierLevelLive")));
+
+/** The users current tier progress in their \"tier_level\". This will be a number between 0 and 1. A tier progress of 0.5 means that the user has made 50% progress in their current tier. */
+@property (readonly) KASCFloat * _Nullable tierProgress __attribute__((swift_name("tierProgress")));
+
+/** Purchase amount between start_date and end_date. */
+@property (readonly) KASCFloat * _Nullable totalAmount __attribute__((swift_name("totalAmount")));
+
+/** Purchase points between start_date and end_date. */
+@property (readonly) KASCLong * _Nullable totalPoints __attribute__((swift_name("totalPoints")));
+
+/** Purchase visits between start_date and end_date. */
+@property (readonly) KASCLong * _Nullable totalVisits __attribute__((swift_name("totalVisits")));
+@end
+
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("TierProgress___.Companion")))
+@interface KASCTierProgress___Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCTierProgress___Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Represents a users' tier progress within their current tier. This also includes other useful information about the tier such as start and end dates, as well as the next tier the user will reach.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * User Profile balance data.
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserBalance__")))
+@interface KASCUserBalance__ : KASCBase
+- (instancetype)initWithPoints:(KASCLong * _Nullable)points giftcard:(KASCDouble * _Nullable)giftcard __attribute__((swift_name("init(points:giftcard:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCUserBalance__Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * User Profile balance data.
+ */
+- (KASCUserBalance__ *)doCopyPoints:(KASCLong * _Nullable)points giftcard:(KASCDouble * _Nullable)giftcard __attribute__((swift_name("doCopy(points:giftcard:)")));
+
+/**
+ * User Profile balance data.
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * User Profile balance data.
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * User Profile balance data.
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** The amount of store credit in the users' e-wallet. */
+@property (readonly) KASCDouble * _Nullable giftcard __attribute__((swift_name("giftcard")));
+
+/** The number of points this user currently has. */
+@property (readonly) KASCLong * _Nullable points __attribute__((swift_name("points")));
+@end
+
+
+/**
+ * User Profile balance data.
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserBalance__.Companion")))
+@interface KASCUserBalance__Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * User Profile balance data.
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserBalance__Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * User Profile balance data.
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * User Profile model class containing user data
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileDataModel__")))
+@interface KASCUserProfileDataModel__ : KASCModel
+- (instancetype)initWithId:(NSString * _Nullable)id email:(NSString * _Nullable)email phone:(NSString * _Nullable)phone firstName:(NSString * _Nullable)firstName lastName:(NSString * _Nullable)lastName qrcode:(NSString * _Nullable)qrcode gender:(NSString * _Nullable)gender birthDate:(NSString * _Nullable)birthDate language:(NSString * _Nullable)language countryCode:(NSString * _Nullable)countryCode profilePhoto:(NSString * _Nullable)profilePhoto createdAt:(NSString * _Nullable)createdAt updatedAt:(NSString * _Nullable)updatedAt enabled:(KASCBoolean * _Nullable)enabled emailVerified:(KASCBoolean * _Nullable)emailVerified phoneVerified:(KASCBoolean * _Nullable)phoneVerified __attribute__((swift_name("init(id:email:phone:firstName:lastName:qrcode:gender:birthDate:language:countryCode:profilePhoto:createdAt:updatedAt:enabled:emailVerified:phoneVerified:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+@property (class, readonly, getter=companion) KASCUserProfileDataModel__Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (KASCUserProfileDataModel__ *)doCopyId:(NSString * _Nullable)id email:(NSString * _Nullable)email phone:(NSString * _Nullable)phone firstName:(NSString * _Nullable)firstName lastName:(NSString * _Nullable)lastName qrcode:(NSString * _Nullable)qrcode gender:(NSString * _Nullable)gender birthDate:(NSString * _Nullable)birthDate language:(NSString * _Nullable)language countryCode:(NSString * _Nullable)countryCode profilePhoto:(NSString * _Nullable)profilePhoto createdAt:(NSString * _Nullable)createdAt updatedAt:(NSString * _Nullable)updatedAt enabled:(KASCBoolean * _Nullable)enabled emailVerified:(KASCBoolean * _Nullable)emailVerified phoneVerified:(KASCBoolean * _Nullable)phoneVerified __attribute__((swift_name("doCopy(id:email:phone:firstName:lastName:qrcode:gender:birthDate:language:countryCode:profilePhoto:createdAt:updatedAt:enabled:emailVerified:phoneVerified:)")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** Date of birth associated with this user. */
+@property (readonly) NSString * _Nullable birthDate __attribute__((swift_name("birthDate")));
+
+/** Country code associated with this user. */
+@property (readonly) NSString * _Nullable countryCode __attribute__((swift_name("countryCode")));
+
+/** Date the account for this user was created. */
+@property (readonly) NSString * _Nullable createdAt __attribute__((swift_name("createdAt")));
+
+/** Email address identifying this user. */
+@property (readonly) NSString * _Nullable email __attribute__((swift_name("email")));
+
+/** Denotes whether the email address for this user has been verified. */
+@property (readonly) KASCBoolean * _Nullable emailVerified __attribute__((swift_name("emailVerified")));
+
+/** Denotes whether this account has been enabled. */
+@property (readonly) KASCBoolean * _Nullable enabled __attribute__((swift_name("enabled")));
+
+/** First name associated with this user. */
+@property (readonly) NSString * _Nullable firstName __attribute__((swift_name("firstName")));
+
+/** Gender associated with this user. */
+@property (readonly) NSString * _Nullable gender __attribute__((swift_name("gender")));
+
+/** Unique user ID. */
+@property (readonly) NSString * _Nullable id __attribute__((swift_name("id")));
+
+/** Primary language assocaited with this user. */
+@property (readonly) NSString * _Nullable language __attribute__((swift_name("language")));
+
+/** Last name associated with this user. */
+@property (readonly) NSString * _Nullable lastName __attribute__((swift_name("lastName")));
+
+/** Phone number associated with this user. */
+@property (readonly) NSString * _Nullable phone __attribute__((swift_name("phone")));
+
+/** Denotes whether the phone number for this user has been verified. */
+@property (readonly) KASCBoolean * _Nullable phoneVerified __attribute__((swift_name("phoneVerified")));
+
+/** Profile photo url associated with this user. */
+@property (readonly) NSString * _Nullable profilePhoto __attribute__((swift_name("profilePhoto")));
+
+/** Unique QR code identifying this user. */
+@property (readonly) NSString * _Nullable qrcode __attribute__((swift_name("qrcode")));
+
+/** Date the account for this user was last updated. */
+@property (readonly) NSString * _Nullable updatedAt __attribute__((swift_name("updatedAt")));
+@end
+
+
+/**
+ * User Profile model class containing user data
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileDataModel__.Companion")))
+@interface KASCUserProfileDataModel__Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * User Profile model class containing user data
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserProfileDataModel__Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Extra user profile data
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileInclude__")))
+@interface KASCUserProfileInclude__ : KASCBase
+- (instancetype)initWithBalance:(KASCUserBalance__ * _Nullable)balance tierLevel:(KASCTierLevel___ * _Nullable)tierLevel tierProgress:(KASCTierProgress___ * _Nullable)tierProgress referralPrograms:(NSArray * _Nullable)referralPrograms __attribute__((swift_name("init(balance:tierLevel:tierProgress:referralPrograms:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCUserProfileInclude__Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Extra user profile data
+ */
+- (KASCUserProfileInclude__ *)doCopyBalance:(KASCUserBalance__ * _Nullable)balance tierLevel:(KASCTierLevel___ * _Nullable)tierLevel tierProgress:(KASCTierProgress___ * _Nullable)tierProgress referralPrograms:(NSArray * _Nullable)referralPrograms __attribute__((swift_name("doCopy(balance:tierLevel:tierProgress:referralPrograms:)")));
+
+/**
+ * Extra user profile data
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * Extra user profile data
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * Extra user profile data
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** User Profile balance data. */
+@property (readonly) KASCUserBalance__ * _Nullable balance __attribute__((swift_name("balance")));
+
+/** A list of referral programs the user has access to. */
+@property (readonly) NSArray * _Nullable referralPrograms __attribute__((swift_name("referralPrograms")));
+
+/** User's tier status. */
+@property (readonly) KASCTierLevel___ * _Nullable tierLevel __attribute__((swift_name("tierLevel")));
+
+/** User's tier progress and status. If a user's tier status is statically fixed, this will be null as they do not progress from tier to tier. */
+@property (readonly) KASCTierProgress___ * _Nullable tierProgress __attribute__((swift_name("tierProgress")));
+@end
+
+
+/**
+ * Extra user profile data
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileInclude__.Companion")))
+@interface KASCUserProfileInclude__Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * Extra user profile data
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserProfileInclude__Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * Extra user profile data
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * User Profile model class containing user data
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileModel_")))
+@interface KASCUserProfileModel_ : KASCModel
+- (instancetype)initWithData:(KASCUserProfileDataModel__ * _Nullable)data included:(KASCUserProfileInclude__ * _Nullable)included __attribute__((swift_name("init(data:included:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+@property (class, readonly, getter=companion) KASCUserProfileModel_Companion *companion __attribute__((swift_name("companion")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (KASCUserProfileModel_ *)doCopyData:(KASCUserProfileDataModel__ * _Nullable)data included:(KASCUserProfileInclude__ * _Nullable)included __attribute__((swift_name("doCopy(data:included:)")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** Contains all user profile data */
+@property (readonly) KASCUserProfileDataModel__ * _Nullable data __attribute__((swift_name("data")));
+
+/** Contains user balance data */
+@property (readonly) KASCUserProfileInclude__ * _Nullable included __attribute__((swift_name("included")));
+@end
+
+
+/**
+ * User Profile model class containing user data
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserProfileModel_.Companion")))
+@interface KASCUserProfileModel_Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * User Profile model class containing user data
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserProfileModel_Companion *shared __attribute__((swift_name("shared")));
+
+/**
+ * User Profile model class containing user data
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Check in with a business. The user may be rewarded for this action according to rules set in the business portal on Kangaroo. [Api] class
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserCheckInApi")))
+@interface KASCUserCheckInApi : KASCApi
+
+/**
+ * Check in with a business. The user may be rewarded for this action according to rules set in the business portal on Kangaroo. [Api] class
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Check in with a business. The user may be rewarded for this action according to rules set in the business portal on Kangaroo. [Api] class
+ */
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+@property (class, readonly, getter=companion) KASCUserCheckInApiCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Check in with a business. The user may be rewarded for this action according to rules set in the business portal on Kangaroo.
+ */
+- (KASCCFlow *> *)userCheckInCheckInRequest:(KASCCheckInRequest *)checkInRequest __attribute__((swift_name("userCheckIn(checkInRequest:)")));
+
+/**
+ * Check in with a business. The user may be rewarded for this action according to rules set in the business portal on Kangaroo.
+ *
+ * This method is used by the Native artifact when dealing with object body params
+ */
+- (KASCCFlow *> *)userCheckInMethods:(NSDictionary *)methods __attribute__((swift_name("userCheckIn(methods:)")));
+@property (readonly) KASCCFlow *> *userCheckInState __attribute__((swift_name("userCheckInState")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("UserCheckInApi.Companion")))
+@interface KASCUserCheckInApiCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCUserCheckInApiCompanion *shared __attribute__((swift_name("shared")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("CheckInDataModel")))
+@interface KASCCheckInDataModel : KASCModel
+- (instancetype)initWithId:(KASCInt * _Nullable)id amount:(KASCDouble * _Nullable)amount points:(KASCInt * _Nullable)points name:(NSString * _Nullable)name createdAt:(NSString * _Nullable)createdAt updatedAt:(NSString * _Nullable)updatedAt __attribute__((swift_name("init(id:amount:points:name:createdAt:updatedAt:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+@property (class, readonly, getter=companion) KASCCheckInDataModelCompanion *companion __attribute__((swift_name("companion")));
+- (KASCCheckInDataModel *)doCopyId:(KASCInt * _Nullable)id amount:(KASCDouble * _Nullable)amount points:(KASCInt * _Nullable)points name:(NSString * _Nullable)name createdAt:(NSString * _Nullable)createdAt updatedAt:(NSString * _Nullable)updatedAt __attribute__((swift_name("doCopy(id:amount:points:name:createdAt:updatedAt:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) KASCDouble * _Nullable amount __attribute__((swift_name("amount")));
+@property (readonly) NSString * _Nullable createdAt __attribute__((swift_name("createdAt")));
+@property (readonly) KASCInt * _Nullable id __attribute__((swift_name("id")));
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+@property (readonly) KASCInt * _Nullable points __attribute__((swift_name("points")));
+@property (readonly) NSString * _Nullable updatedAt __attribute__((swift_name("updatedAt")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("CheckInDataModel.Companion")))
+@interface KASCCheckInDataModelCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCCheckInDataModelCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("CheckInRequest")))
+@interface KASCCheckInRequest : KASCBase
+- (instancetype)initWithBranchId:(NSString *)branchId intent:(NSString *)intent __attribute__((swift_name("init(branchId:intent:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCCheckInRequestCompanion *companion __attribute__((swift_name("companion")));
+- (KASCCheckInRequest *)doCopyBranchId:(NSString *)branchId intent:(NSString *)intent __attribute__((swift_name("doCopy(branchId:intent:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString *branchId __attribute__((swift_name("branchId")));
+@property (readonly) NSString *intent __attribute__((swift_name("intent")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("CheckInRequest.Companion")))
+@interface KASCCheckInRequestCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCCheckInRequestCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("CheckInResponseModel")))
+@interface KASCCheckInResponseModel : KASCModel
+- (instancetype)initWithData:(KASCCheckInDataModel * _Nullable)data __attribute__((swift_name("init(data:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+@property (class, readonly, getter=companion) KASCCheckInResponseModelCompanion *companion __attribute__((swift_name("companion")));
+- (KASCCheckInResponseModel *)doCopyData:(KASCCheckInDataModel * _Nullable)data __attribute__((swift_name("doCopy(data:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** Contains all user profile data */
+@property (readonly) KASCCheckInDataModel * _Nullable data __attribute__((swift_name("data")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("CheckInResponseModel.Companion")))
+@interface KASCCheckInResponseModelCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCCheckInResponseModelCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * Get user A la carte list [Api] class
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("AlaCarteProductsApi")))
+@interface KASCAlaCarteProductsApi : KASCApi
+
+/**
+ * Get user A la carte list [Api] class
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Get user A la carte list [Api] class
+ */
++ (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead")));
+@property (class, readonly, getter=companion) KASCAlaCarteProductsApiCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * Get user A la carte list
+ */
+- (KASCCFlow *> *)getAlaCarteProducts __attribute__((swift_name("getAlaCarteProducts()")));
+@property (readonly) KASCCFlow *> *alaCarteProductsState __attribute__((swift_name("alaCarteProductsState")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("AlaCarteProductsApi.Companion")))
+@interface KASCAlaCarteProductsApiCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCAlaCarteProductsApiCompanion *shared __attribute__((swift_name("shared")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("AlaCarteItemModel")))
+@interface KASCAlaCarteItemModel : KASCModel
+- (instancetype)initWithId:(KASCInt * _Nullable)id points:(KASCInt * _Nullable)points product:(KASCProduct * _Nullable)product __attribute__((swift_name("init(id:points:product:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+@property (class, readonly, getter=companion) KASCAlaCarteItemModelCompanion *companion __attribute__((swift_name("companion")));
+- (KASCAlaCarteItemModel *)doCopyId:(KASCInt * _Nullable)id points:(KASCInt * _Nullable)points product:(KASCProduct * _Nullable)product __attribute__((swift_name("doCopy(id:points:product:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) KASCInt * _Nullable id __attribute__((swift_name("id")));
+@property (readonly) KASCInt * _Nullable points __attribute__((swift_name("points")));
+@property (readonly) KASCProduct * _Nullable product __attribute__((swift_name("product")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("AlaCarteItemModel.Companion")))
+@interface KASCAlaCarteItemModelCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCAlaCarteItemModelCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * User A la carte products model class containing user A la carte list
+ *
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("AlaCarteProductsModel")))
+@interface KASCAlaCarteProductsModel : KASCModel
+- (instancetype)initWithData:(KASCUserProfileDataModel___ * _Nullable)data included:(KASCUserAlaCarteIncluded * _Nullable)included __attribute__((swift_name("init(data:included:)"))) __attribute__((objc_designated_initializer));
+
+/**
+ * Base DAO object returned from Network results and Database queries.
+ * Should be Serializable.
+ */
+- (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)) __attribute__((unavailable));
++ (instancetype)new __attribute__((unavailable));
+@property (class, readonly, getter=companion) KASCAlaCarteProductsModelCompanion *companion __attribute__((swift_name("companion")));
+
+/**
+ * User A la carte products model class containing user A la carte list
+ */
+- (KASCAlaCarteProductsModel *)doCopyData:(KASCUserProfileDataModel___ * _Nullable)data included:(KASCUserAlaCarteIncluded * _Nullable)included __attribute__((swift_name("doCopy(data:included:)")));
+
+/**
+ * User A la carte products model class containing user A la carte list
+ */
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+
+/**
+ * User A la carte products model class containing user A la carte list
+ */
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+
+/**
+ * User A la carte products model class containing user A la carte list
+ */
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** Contains all user data */
+@property (readonly) KASCUserProfileDataModel___ * _Nullable data __attribute__((swift_name("data")));
+
+/** Contains all A la carte items */
+@property (readonly) KASCUserAlaCarteIncluded * _Nullable included __attribute__((swift_name("included")));
+@end
+
+
+/**
+ * User A la carte products model class containing user A la carte list
+ */
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("AlaCarteProductsModel.Companion")))
+@interface KASCAlaCarteProductsModelCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
+
+/**
+ * User A la carte products model class containing user A la carte list
+ */
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCAlaCarteProductsModelCompanion *shared __attribute__((swift_name("shared")));
+
+/**
+ * User A la carte products model class containing user A la carte list
+ */
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Images")))
+@interface KASCImages : KASCBase
+- (instancetype)initWithPath:(NSString * _Nullable)path large:(NSString * _Nullable)large medium:(NSString * _Nullable)medium thumbnail:(NSString * _Nullable)thumbnail default:(KASCBoolean * _Nullable)default_ __attribute__((swift_name("init(path:large:medium:thumbnail:default:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCImagesCompanion *companion __attribute__((swift_name("companion")));
+- (KASCImages *)doCopyPath:(NSString * _Nullable)path large:(NSString * _Nullable)large medium:(NSString * _Nullable)medium thumbnail:(NSString * _Nullable)thumbnail default:(KASCBoolean * _Nullable)default_ __attribute__((swift_name("doCopy(path:large:medium:thumbnail:default:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly, getter=default) KASCBoolean * _Nullable default_ __attribute__((swift_name("default_")));
+@property (readonly) NSString * _Nullable large __attribute__((swift_name("large")));
+@property (readonly) NSString * _Nullable medium __attribute__((swift_name("medium")));
+@property (readonly) NSString * _Nullable path __attribute__((swift_name("path")));
+@property (readonly) NSString * _Nullable thumbnail __attribute__((swift_name("thumbnail")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Images.Companion")))
+@interface KASCImagesCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCImagesCompanion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Language______")))
+@interface KASCLanguage______ : KASCBase
+- (instancetype)initWithId:(int32_t)id abbreviation:(NSString * _Nullable)abbreviation name:(NSString * _Nullable)name __attribute__((swift_name("init(id:abbreviation:name:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCLanguage______Companion *companion __attribute__((swift_name("companion")));
+- (KASCLanguage______ *)doCopyId:(int32_t)id abbreviation:(NSString * _Nullable)abbreviation name:(NSString * _Nullable)name __attribute__((swift_name("doCopy(id:abbreviation:name:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+
+/** A two letter abbreviation of this language. Follows ISO standards (en, fr, es) */
+@property (readonly) NSString * _Nullable abbreviation __attribute__((swift_name("abbreviation")));
+
+/** The Kangaroo ID of this language. */
+@property (readonly) int32_t id __attribute__((swift_name("id")));
+
+/** The full name of this language (English, French, Spanish) */
+@property (readonly) NSString * _Nullable name __attribute__((swift_name("name")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Language______.Companion")))
+@interface KASCLanguage______Companion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCLanguage______Companion *shared __attribute__((swift_name("shared")));
+- (id)serializer __attribute__((swift_name("serializer()")));
+@end
+
+
+/**
+ * @note annotations
+ * kotlin.js.ExperimentalJsExport
+ * kotlinx.serialization.Serializable
+*/
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Languages")))
+@interface KASCLanguages : KASCBase
+- (instancetype)initWithLanguageId:(KASCInt * _Nullable)languageId title:(NSString * _Nullable)title description:(NSString * _Nullable)description language:(KASCLanguage______ * _Nullable)language __attribute__((swift_name("init(languageId:title:description:language:)"))) __attribute__((objc_designated_initializer));
+@property (class, readonly, getter=companion) KASCLanguagesCompanion *companion __attribute__((swift_name("companion")));
+- (KASCLanguages *)doCopyLanguageId:(KASCInt * _Nullable)languageId title:(NSString * _Nullable)title description:(NSString * _Nullable)description language:(KASCLanguage______ * _Nullable)language __attribute__((swift_name("doCopy(languageId:title:description:language:)")));
+- (BOOL)isEqual:(id _Nullable)other __attribute__((swift_name("isEqual(_:)")));
+- (NSUInteger)hash __attribute__((swift_name("hash()")));
+- (NSString *)description __attribute__((swift_name("description()")));
+@property (readonly) NSString * _Nullable description_ __attribute__((swift_name("description_")));
+@property (readonly) KASCLanguage______ * _Nullable language __attribute__((swift_name("language")));
+@property (readonly) KASCInt * _Nullable languageId __attribute__((swift_name("languageId")));
+@property (readonly) NSString * _Nullable title __attribute__((swift_name("title")));
+@end
+
+__attribute__((objc_subclassing_restricted))
+__attribute__((swift_name("Languages.Companion")))
+@interface KASCLanguagesCompanion : KASCBase
++ (instancetype)alloc __attribute__((unavailable));
++ (instancetype)allocWithZone:(struct _NSZone *)zone __attribute__((unavailable));
++ (instancetype)companion __attribute__((swift_name("init()")));
+@property (class, readonly, getter=shared) KASCLanguagesCompanion *shared __attribute__((swift_name("shared")));
+- (id