@oxyhq/services 5.26.3 → 5.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/dist/web/oxy-services.esm.js +2 -0
  2. package/dist/web/oxy-services.esm.js.map +1 -0
  3. package/dist/web/types/assets/icons/OxyServices.d.ts +28 -0
  4. package/dist/web/types/assets/illustrations/HighFive.d.ts +8 -0
  5. package/dist/web/types/constants/version.d.ts +13 -0
  6. package/dist/web/types/core/AuthManager.d.ts +143 -0
  7. package/dist/web/types/core/CrossDomainAuth.d.ts +160 -0
  8. package/dist/web/types/core/HttpService.d.ts +163 -0
  9. package/dist/web/types/core/OxyServices.base.d.ts +126 -0
  10. package/dist/web/types/core/OxyServices.d.ts +81 -0
  11. package/dist/web/types/core/OxyServices.errors.d.ts +11 -0
  12. package/dist/web/types/core/index.d.ts +20 -0
  13. package/dist/web/types/core/mixins/OxyServices.analytics.d.ts +66 -0
  14. package/dist/web/types/core/mixins/OxyServices.assets.d.ts +135 -0
  15. package/dist/web/types/core/mixins/OxyServices.auth.d.ts +186 -0
  16. package/dist/web/types/core/mixins/OxyServices.developer.d.ts +99 -0
  17. package/dist/web/types/core/mixins/OxyServices.devices.d.ts +96 -0
  18. package/dist/web/types/core/mixins/OxyServices.features.d.ts +228 -0
  19. package/dist/web/types/core/mixins/OxyServices.fedcm.d.ts +200 -0
  20. package/dist/web/types/core/mixins/OxyServices.karma.d.ts +85 -0
  21. package/dist/web/types/core/mixins/OxyServices.language.d.ts +81 -0
  22. package/dist/web/types/core/mixins/OxyServices.location.d.ts +64 -0
  23. package/dist/web/types/core/mixins/OxyServices.payment.d.ts +111 -0
  24. package/dist/web/types/core/mixins/OxyServices.popup.d.ts +205 -0
  25. package/dist/web/types/core/mixins/OxyServices.privacy.d.ts +122 -0
  26. package/dist/web/types/core/mixins/OxyServices.redirect.d.ts +245 -0
  27. package/dist/web/types/core/mixins/OxyServices.security.d.ts +78 -0
  28. package/dist/web/types/core/mixins/OxyServices.user.d.ts +184 -0
  29. package/dist/web/types/core/mixins/OxyServices.utility.d.ts +93 -0
  30. package/dist/web/types/core/mixins/index.d.ts +30 -0
  31. package/dist/web/types/core/mixins/mixinHelpers.d.ts +31 -0
  32. package/dist/web/types/crypto/index.d.ts +11 -0
  33. package/dist/web/types/crypto/keyManager.d.ts +189 -0
  34. package/dist/web/types/crypto/polyfill.d.ts +12 -0
  35. package/dist/web/types/crypto/recoveryPhrase.d.ts +58 -0
  36. package/dist/web/types/crypto/signatureService.d.ts +86 -0
  37. package/dist/web/types/i18n/index.d.ts +3 -0
  38. package/dist/web/types/index.d.ts +62 -0
  39. package/dist/web/types/lib/sonner-safe.d.ts +8 -0
  40. package/dist/web/types/lib/sonner.d.ts +11 -0
  41. package/dist/web/types/lib/sonner.web.d.ts +14 -0
  42. package/dist/web/types/models/interfaces.d.ts +415 -0
  43. package/dist/web/types/models/session.d.ts +27 -0
  44. package/dist/web/types/node/index.d.ts +9 -0
  45. package/dist/web/types/shared/index.d.ts +28 -0
  46. package/dist/web/types/shared/utils/colorUtils.d.ts +104 -0
  47. package/dist/web/types/shared/utils/debugUtils.d.ts +48 -0
  48. package/dist/web/types/shared/utils/errorUtils.d.ts +97 -0
  49. package/dist/web/types/shared/utils/index.d.ts +13 -0
  50. package/dist/web/types/shared/utils/networkUtils.d.ts +139 -0
  51. package/dist/web/types/shared/utils/themeUtils.d.ts +90 -0
  52. package/dist/web/types/ui/client.d.ts +33 -0
  53. package/dist/web/types/ui/components/ActivityIndicator.d.ts +44 -0
  54. package/dist/web/types/ui/components/AnimationExample.d.ts +3 -0
  55. package/dist/web/types/ui/components/AutoHeightScrollView.d.ts +22 -0
  56. package/dist/web/types/ui/components/Avatar.d.ts +60 -0
  57. package/dist/web/types/ui/components/BottomSheet.d.ts +28 -0
  58. package/dist/web/types/ui/components/BottomSheetRouter.d.ts +8 -0
  59. package/dist/web/types/ui/components/CrossFadeIcon.d.ts +26 -0
  60. package/dist/web/types/ui/components/EmptyState.d.ts +7 -0
  61. package/dist/web/types/ui/components/ErrorBoundary.d.ts +30 -0
  62. package/dist/web/types/ui/components/FollowButton.d.ts +17 -0
  63. package/dist/web/types/ui/components/FontLoader.d.ts +14 -0
  64. package/dist/web/types/ui/components/GroupedItem.d.ts +23 -0
  65. package/dist/web/types/ui/components/GroupedSection.d.ts +24 -0
  66. package/dist/web/types/ui/components/Header.d.ts +37 -0
  67. package/dist/web/types/ui/components/HelperText.d.ts +46 -0
  68. package/dist/web/types/ui/components/Icon.d.ts +59 -0
  69. package/dist/web/types/ui/components/IconButton/IconButton.d.ts +98 -0
  70. package/dist/web/types/ui/components/IconButton/utils.d.ts +18 -0
  71. package/dist/web/types/ui/components/LoadingState.d.ts +8 -0
  72. package/dist/web/types/ui/components/OxyLogo.d.ts +28 -0
  73. package/dist/web/types/ui/components/OxyPayButton.d.ts +28 -0
  74. package/dist/web/types/ui/components/OxyProvider.d.ts +33 -0
  75. package/dist/web/types/ui/components/OxySignInButton.d.ts +64 -0
  76. package/dist/web/types/ui/components/ProfileCard.d.ts +17 -0
  77. package/dist/web/types/ui/components/QuickActions.d.ts +14 -0
  78. package/dist/web/types/ui/components/Section.d.ts +11 -0
  79. package/dist/web/types/ui/components/SectionTitle.d.ts +9 -0
  80. package/dist/web/types/ui/components/SettingRow.d.ts +19 -0
  81. package/dist/web/types/ui/components/SignInModal.d.ts +17 -0
  82. package/dist/web/types/ui/components/StepBasedScreen.d.ts +25 -0
  83. package/dist/web/types/ui/components/Surface.d.ts +75 -0
  84. package/dist/web/types/ui/components/TextField/Addons/Outline.d.ts +15 -0
  85. package/dist/web/types/ui/components/TextField/Addons/Underline.d.ts +18 -0
  86. package/dist/web/types/ui/components/TextField/Adornment/TextFieldAdornment.d.ts +44 -0
  87. package/dist/web/types/ui/components/TextField/Adornment/TextFieldAffix.d.ts +72 -0
  88. package/dist/web/types/ui/components/TextField/Adornment/TextFieldIcon.d.ts +77 -0
  89. package/dist/web/types/ui/components/TextField/Adornment/enums.d.ts +12 -0
  90. package/dist/web/types/ui/components/TextField/Adornment/types.d.ts +11 -0
  91. package/dist/web/types/ui/components/TextField/Adornment/utils.d.ts +11 -0
  92. package/dist/web/types/ui/components/TextField/Label/InputLabel.d.ts +4 -0
  93. package/dist/web/types/ui/components/TextField/Label/LabelBackground.d.ts +3 -0
  94. package/dist/web/types/ui/components/TextField/TextFieldFlat.d.ts +3 -0
  95. package/dist/web/types/ui/components/TextField/TextFieldOutlined.d.ts +3 -0
  96. package/dist/web/types/ui/components/TextField/constants.d.ts +31 -0
  97. package/dist/web/types/ui/components/TextField/helpers.d.ts +96 -0
  98. package/dist/web/types/ui/components/TextField/types.d.ts +155 -0
  99. package/dist/web/types/ui/components/TextField.d.ts +191 -0
  100. package/dist/web/types/ui/components/TouchableRipple/Pressable.d.ts +12 -0
  101. package/dist/web/types/ui/components/TouchableRipple/TouchableRipple.d.ts +61 -0
  102. package/dist/web/types/ui/components/TouchableRipple/utils.d.ts +10 -0
  103. package/dist/web/types/ui/components/Typography/AnimatedText.d.ts +34 -0
  104. package/dist/web/types/ui/components/Typography/types.d.ts +18 -0
  105. package/dist/web/types/ui/components/WebOxyProvider.d.ts +51 -0
  106. package/dist/web/types/ui/components/feedback/FormInput.d.ts +19 -0
  107. package/dist/web/types/ui/components/feedback/ProgressIndicator.d.ts +10 -0
  108. package/dist/web/types/ui/components/feedback/constants.d.ts +4 -0
  109. package/dist/web/types/ui/components/feedback/feedbackStyles.d.ts +279 -0
  110. package/dist/web/types/ui/components/feedback/index.d.ts +6 -0
  111. package/dist/web/types/ui/components/feedback/types.d.ts +45 -0
  112. package/dist/web/types/ui/components/feedback/useFeedbackForm.d.ts +8 -0
  113. package/dist/web/types/ui/components/fileManagement/AnimatedButton.d.ts +15 -0
  114. package/dist/web/types/ui/components/fileManagement/FileDetailsModal.d.ts +14 -0
  115. package/dist/web/types/ui/components/fileManagement/FileViewer.d.ts +17 -0
  116. package/dist/web/types/ui/components/fileManagement/UploadPreview.d.ts +20 -0
  117. package/dist/web/types/ui/components/fileManagement/styles.d.ts +859 -0
  118. package/dist/web/types/ui/components/icon/FAIRWalletIcon.d.ts +8 -0
  119. package/dist/web/types/ui/components/icon/OxyIcon.d.ts +9 -0
  120. package/dist/web/types/ui/components/icon/index.d.ts +3 -0
  121. package/dist/web/types/ui/components/index.d.ts +16 -0
  122. package/dist/web/types/ui/components/internal/GroupedPillButtons.d.ts +17 -0
  123. package/dist/web/types/ui/components/internal/PinInput.d.ts +22 -0
  124. package/dist/web/types/ui/components/modals/DeleteAccountModal.d.ts +18 -0
  125. package/dist/web/types/ui/components/modals/index.d.ts +1 -0
  126. package/dist/web/types/ui/components/payment/PaymentDetailsStep.d.ts +20 -0
  127. package/dist/web/types/ui/components/payment/PaymentMethodStep.d.ts +13 -0
  128. package/dist/web/types/ui/components/payment/PaymentReviewStep.d.ts +15 -0
  129. package/dist/web/types/ui/components/payment/PaymentSuccessStep.d.ts +9 -0
  130. package/dist/web/types/ui/components/payment/PaymentSummaryStep.d.ts +14 -0
  131. package/dist/web/types/ui/components/payment/constants.d.ts +6 -0
  132. package/dist/web/types/ui/components/payment/index.d.ts +8 -0
  133. package/dist/web/types/ui/components/payment/paymentStyles.d.ts +395 -0
  134. package/dist/web/types/ui/components/payment/types.d.ts +39 -0
  135. package/dist/web/types/ui/components/photogrid/JustifiedPhotoGrid.d.ts +26 -0
  136. package/dist/web/types/ui/components/styles/overlay.d.ts +3 -0
  137. package/dist/web/types/ui/components/styles/shadow.d.ts +2 -0
  138. package/dist/web/types/ui/components/theming.d.ts +7 -0
  139. package/dist/web/types/ui/components/types.d.ts +79 -0
  140. package/dist/web/types/ui/components/utils/forwardRef.d.ts +11 -0
  141. package/dist/web/types/ui/components/utils/hasTouchHandler.d.ts +5 -0
  142. package/dist/web/types/ui/components/utils/roundLayoutSize.d.ts +1 -0
  143. package/dist/web/types/ui/components/utils/splitStyles.d.ts +19 -0
  144. package/dist/web/types/ui/constants/iconColors.d.ts +129 -0
  145. package/dist/web/types/ui/constants/spacing.d.ts +32 -0
  146. package/dist/web/types/ui/constants/theme.d.ts +96 -0
  147. package/dist/web/types/ui/context/OxyContext.d.ts +74 -0
  148. package/dist/web/types/ui/context/ThemeContext.d.ts +18 -0
  149. package/dist/web/types/ui/context/hooks/useAuthOperations.d.ts +39 -0
  150. package/dist/web/types/ui/context/hooks/useDeviceManagement.d.ts +26 -0
  151. package/dist/web/types/ui/context/hooks/useLanguageManagement.d.ts +24 -0
  152. package/dist/web/types/ui/context/hooks/useSessionManagement.d.ts +40 -0
  153. package/dist/web/types/ui/hooks/index.d.ts +6 -0
  154. package/dist/web/types/ui/hooks/mutations/index.d.ts +8 -0
  155. package/dist/web/types/ui/hooks/mutations/mutationFactory.d.ts +75 -0
  156. package/dist/web/types/ui/hooks/mutations/useAccountMutations.d.ts +68 -0
  157. package/dist/web/types/ui/hooks/mutations/useServicesMutations.d.ts +22 -0
  158. package/dist/web/types/ui/hooks/queries/index.d.ts +10 -0
  159. package/dist/web/types/ui/hooks/queries/queryKeys.d.ts +64 -0
  160. package/dist/web/types/ui/hooks/queries/useAccountQueries.d.ts +42 -0
  161. package/dist/web/types/ui/hooks/queries/useSecurityQueries.d.ts +14 -0
  162. package/dist/web/types/ui/hooks/queries/useServicesQueries.d.ts +31 -0
  163. package/dist/web/types/ui/hooks/queryClient.d.ts +18 -0
  164. package/dist/web/types/ui/hooks/useAssets.d.ts +34 -0
  165. package/dist/web/types/ui/hooks/useAsyncAction.d.ts +50 -0
  166. package/dist/web/types/ui/hooks/useAuth.d.ts +73 -0
  167. package/dist/web/types/ui/hooks/useColorScheme.d.ts +7 -0
  168. package/dist/web/types/ui/hooks/useDeviceManagement.d.ts +26 -0
  169. package/dist/web/types/ui/hooks/useFileDownloadUrl.d.ts +18 -0
  170. package/dist/web/types/ui/hooks/useFileFiltering.d.ts +28 -0
  171. package/dist/web/types/ui/hooks/useFollow.d.ts +61 -0
  172. package/dist/web/types/ui/hooks/useFollow.types.d.ts +32 -0
  173. package/dist/web/types/ui/hooks/useI18n.d.ts +4 -0
  174. package/dist/web/types/ui/hooks/useLanguageManagement.d.ts +24 -0
  175. package/dist/web/types/ui/hooks/useProfileEditing.d.ts +35 -0
  176. package/dist/web/types/ui/hooks/useQueryClient.d.ts +6 -0
  177. package/dist/web/types/ui/hooks/useSessionManagement.d.ts +40 -0
  178. package/dist/web/types/ui/hooks/useSessionSocket.d.ts +13 -0
  179. package/dist/web/types/ui/hooks/useSettingToggle.d.ts +56 -0
  180. package/dist/web/types/ui/hooks/useStorage.d.ts +15 -0
  181. package/dist/web/types/ui/hooks/useThemeColors.d.ts +93 -0
  182. package/dist/web/types/ui/hooks/useThemeStyles.d.ts +44 -0
  183. package/dist/web/types/ui/hooks/useWebSSO.d.ts +57 -0
  184. package/dist/web/types/ui/index.d.ts +7 -0
  185. package/dist/web/types/ui/isFrontend.d.ts +2 -0
  186. package/dist/web/types/ui/navigation/bottomSheetManager.d.ts +26 -0
  187. package/dist/web/types/ui/navigation/routes.d.ts +5 -0
  188. package/dist/web/types/ui/screens/AccountCenterScreen.d.ts +4 -0
  189. package/dist/web/types/ui/screens/AccountOverviewScreen.d.ts +4 -0
  190. package/dist/web/types/ui/screens/AccountSettingsScreen.d.ts +7 -0
  191. package/dist/web/types/ui/screens/AccountSwitcherScreen.d.ts +4 -0
  192. package/dist/web/types/ui/screens/AccountVerificationScreen.d.ts +4 -0
  193. package/dist/web/types/ui/screens/AppInfoScreen.d.ts +4 -0
  194. package/dist/web/types/ui/screens/EditProfileFieldScreen.d.ts +12 -0
  195. package/dist/web/types/ui/screens/FAQScreen.d.ts +4 -0
  196. package/dist/web/types/ui/screens/FeedbackScreen.d.ts +4 -0
  197. package/dist/web/types/ui/screens/FileManagementScreen.d.ts +4 -0
  198. package/dist/web/types/ui/screens/FollowersListScreen.d.ts +8 -0
  199. package/dist/web/types/ui/screens/FollowingListScreen.d.ts +8 -0
  200. package/dist/web/types/ui/screens/HelpSupportScreen.d.ts +4 -0
  201. package/dist/web/types/ui/screens/HistoryViewScreen.d.ts +4 -0
  202. package/dist/web/types/ui/screens/LanguageSelectorScreen.d.ts +6 -0
  203. package/dist/web/types/ui/screens/LearnMoreUsernamesScreen.d.ts +4 -0
  204. package/dist/web/types/ui/screens/LegalDocumentsScreen.d.ts +4 -0
  205. package/dist/web/types/ui/screens/OxyAuthScreen.d.ts +16 -0
  206. package/dist/web/types/ui/screens/PaymentGatewayScreen.d.ts +14 -0
  207. package/dist/web/types/ui/screens/PremiumSubscriptionScreen.d.ts +4 -0
  208. package/dist/web/types/ui/screens/PrivacySettingsScreen.d.ts +4 -0
  209. package/dist/web/types/ui/screens/ProfileScreen.d.ts +8 -0
  210. package/dist/web/types/ui/screens/SavesCollectionsScreen.d.ts +4 -0
  211. package/dist/web/types/ui/screens/SearchSettingsScreen.d.ts +4 -0
  212. package/dist/web/types/ui/screens/SessionManagementScreen.d.ts +4 -0
  213. package/dist/web/types/ui/screens/UserLinksScreen.d.ts +14 -0
  214. package/dist/web/types/ui/screens/UserListScreen.d.ts +10 -0
  215. package/dist/web/types/ui/screens/WelcomeNewUserScreen.d.ts +12 -0
  216. package/dist/web/types/ui/screens/karma/KarmaAboutScreen.d.ts +4 -0
  217. package/dist/web/types/ui/screens/karma/KarmaCenterScreen.d.ts +4 -0
  218. package/dist/web/types/ui/screens/karma/KarmaFAQScreen.d.ts +4 -0
  219. package/dist/web/types/ui/screens/karma/KarmaLeaderboardScreen.d.ts +4 -0
  220. package/dist/web/types/ui/screens/karma/KarmaRewardsScreen.d.ts +4 -0
  221. package/dist/web/types/ui/screens/karma/KarmaRulesScreen.d.ts +4 -0
  222. package/dist/web/types/ui/server.d.ts +42 -0
  223. package/dist/web/types/ui/stores/accountStore.d.ts +33 -0
  224. package/dist/web/types/ui/stores/assetStore.d.ts +53 -0
  225. package/dist/web/types/ui/stores/authStore.d.ts +16 -0
  226. package/dist/web/types/ui/stores/fileStore.d.ts +30 -0
  227. package/dist/web/types/ui/stores/followStore.d.ts +24 -0
  228. package/dist/web/types/ui/styles/authStyles.d.ts +331 -0
  229. package/dist/web/types/ui/styles/fonts.d.ts +20 -0
  230. package/dist/web/types/ui/styles/index.d.ts +4 -0
  231. package/dist/web/types/ui/styles/spacing.d.ts +48 -0
  232. package/dist/web/types/ui/styles/theme.d.ts +67 -0
  233. package/dist/web/types/ui/types/fileManagement.d.ts +40 -0
  234. package/dist/web/types/ui/types/navigation.d.ts +36 -0
  235. package/dist/web/types/ui/utils/authHelpers.d.ts +98 -0
  236. package/dist/web/types/ui/utils/avatarUtils.d.ts +33 -0
  237. package/dist/web/types/ui/utils/colorUtils.d.ts +9 -0
  238. package/dist/web/types/ui/utils/confirmAction.d.ts +6 -0
  239. package/dist/web/types/ui/utils/errorHandlers.d.ts +34 -0
  240. package/dist/web/types/ui/utils/fileManagement.d.ts +86 -0
  241. package/dist/web/types/ui/utils/iconNames.d.ts +111 -0
  242. package/dist/web/types/ui/utils/sessionHelpers.d.ts +63 -0
  243. package/dist/web/types/ui/utils/storageHelpers.d.ts +27 -0
  244. package/dist/web/types/ui/utils/themeUtils.d.ts +10 -0
  245. package/dist/web/types/ui/utils/userUtils.d.ts +28 -0
  246. package/dist/web/types/utils/apiUtils.d.ts +53 -0
  247. package/dist/web/types/utils/asyncUtils.d.ts +58 -0
  248. package/dist/web/types/utils/cache.d.ts +127 -0
  249. package/dist/web/types/utils/deviceManager.d.ts +65 -0
  250. package/dist/web/types/utils/errorUtils.d.ts +46 -0
  251. package/dist/web/types/utils/hookUtils.d.ts +101 -0
  252. package/dist/web/types/utils/index.d.ts +6 -0
  253. package/dist/web/types/utils/languageUtils.d.ts +37 -0
  254. package/dist/web/types/utils/loggerUtils.d.ts +48 -0
  255. package/dist/web/types/utils/platform.d.ts +40 -0
  256. package/dist/web/types/utils/platformInit.d.ts +8 -0
  257. package/dist/web/types/utils/requestUtils.d.ts +123 -0
  258. package/dist/web/types/utils/sessionUtils.d.ts +54 -0
  259. package/dist/web/types/utils/validationUtils.d.ts +85 -0
  260. package/dist/web/types/web/WebOxyContext.d.ts +151 -0
  261. package/dist/web/types/web/index.d.ts +52 -0
  262. package/dist/web/types/web.d.ts +53 -0
  263. package/package.json +77 -35
@@ -0,0 +1,32 @@
1
+ export type SingleFollowResult = {
2
+ isFollowing: boolean;
3
+ isLoading: boolean;
4
+ error: string | null;
5
+ toggleFollow: () => Promise<void>;
6
+ setFollowStatus: (following: boolean) => void;
7
+ fetchStatus: () => Promise<void>;
8
+ clearError: () => void;
9
+ followerCount: number | null;
10
+ followingCount: number | null;
11
+ isLoadingCounts: boolean;
12
+ fetchUserCounts: () => Promise<void>;
13
+ setFollowerCount: (count: number) => void;
14
+ setFollowingCount: (count: number) => void;
15
+ };
16
+ export type MultiFollowResult = {
17
+ followData: Record<string, {
18
+ isFollowing: boolean;
19
+ isLoading: boolean;
20
+ error: string | null;
21
+ }>;
22
+ toggleFollowForUser: (userId: string) => Promise<void>;
23
+ setFollowStatusForUser: (userId: string, following: boolean) => void;
24
+ fetchStatusForUser: (userId: string) => Promise<void>;
25
+ fetchAllStatuses: () => Promise<void>;
26
+ clearErrorForUser: (userId: string) => void;
27
+ isAnyLoading: boolean;
28
+ hasAnyError: boolean;
29
+ allFollowing: boolean;
30
+ allNotFollowing: boolean;
31
+ };
32
+ export type UseFollowHook = (userId?: string | string[]) => SingleFollowResult | MultiFollowResult;
@@ -0,0 +1,4 @@
1
+ export declare function useI18n(): {
2
+ t: (key: string, vars?: Record<string, string | number>) => string;
3
+ locale: string;
4
+ };
@@ -0,0 +1,24 @@
1
+ import type { ApiError, User } from '../../models/interfaces';
2
+ import { type LanguageMetadata } from '../../utils/languageUtils';
3
+ import type { StorageInterface } from '../utils/storageHelpers';
4
+ export interface UseLanguageManagementOptions {
5
+ storage: StorageInterface | null;
6
+ languageKey: string;
7
+ onError?: (error: ApiError) => void;
8
+ logger?: (message: string, error?: unknown) => void;
9
+ }
10
+ export interface UseLanguageManagementResult {
11
+ currentLanguage: string;
12
+ metadata: LanguageMetadata | null;
13
+ languageName: string;
14
+ nativeLanguageName: string;
15
+ setLanguage: (languageId: string) => Promise<void>;
16
+ applyLanguagePreference: (user: User | null) => Promise<void>;
17
+ hydrateLanguage: () => Promise<void>;
18
+ }
19
+ /**
20
+ * Manage UI language state, persistence, and metadata derivation.
21
+ *
22
+ * @param options - Configuration for storage access and error reporting
23
+ */
24
+ export declare const useLanguageManagement: ({ storage, languageKey, onError, logger, }: UseLanguageManagementOptions) => UseLanguageManagementResult;
@@ -0,0 +1,35 @@
1
+ export interface ProfileUpdateData {
2
+ displayName?: string;
3
+ lastName?: string;
4
+ username?: string;
5
+ email?: string;
6
+ bio?: string;
7
+ location?: string;
8
+ locations?: Array<{
9
+ id: string;
10
+ name: string;
11
+ label?: string;
12
+ coordinates?: {
13
+ lat: number;
14
+ lon: number;
15
+ };
16
+ }>;
17
+ links?: string[];
18
+ linksMetadata?: Array<{
19
+ url: string;
20
+ title?: string;
21
+ description?: string;
22
+ image?: string;
23
+ id: string;
24
+ }>;
25
+ avatar?: string;
26
+ }
27
+ /**
28
+ * Hook for managing profile editing operations
29
+ * Provides functions to update profile fields and handle saving
30
+ */
31
+ export declare const useProfileEditing: () => {
32
+ saveProfile: (updates: ProfileUpdateData) => Promise<boolean>;
33
+ updateField: (field: string, value: any) => Promise<boolean>;
34
+ isSaving: boolean;
35
+ };
@@ -0,0 +1,6 @@
1
+ import type { QueryClient } from '@tanstack/react-query';
2
+ /**
3
+ * Custom hook to access the QueryClient
4
+ * Provides type safety and ensures client is available
5
+ */
6
+ export declare const useQueryClient: () => QueryClient;
@@ -0,0 +1,40 @@
1
+ import type { ApiError, User } from '../../models/interfaces';
2
+ import type { ClientSession } from '../../models/session';
3
+ import { getStorageKeys, type StorageInterface } from '../utils/storageHelpers';
4
+ import type { OxyServices } from '../../core';
5
+ import type { QueryClient } from '@tanstack/react-query';
6
+ export interface UseSessionManagementOptions {
7
+ oxyServices: OxyServices;
8
+ storage: StorageInterface | null;
9
+ storageKeyPrefix?: string;
10
+ loginSuccess: (user: User) => void;
11
+ logoutStore: () => void;
12
+ applyLanguagePreference: (user: User) => Promise<void>;
13
+ onAuthStateChange?: (user: User | null) => void;
14
+ onError?: (error: ApiError) => void;
15
+ setAuthError?: (message: string | null) => void;
16
+ logger?: (message: string, error?: unknown) => void;
17
+ setTokenReady?: (ready: boolean) => void;
18
+ queryClient?: QueryClient | null;
19
+ }
20
+ export interface UseSessionManagementResult {
21
+ sessions: ClientSession[];
22
+ activeSessionId: string | null;
23
+ setActiveSessionId: (sessionId: string | null) => void;
24
+ updateSessions: (incoming: ClientSession[], options?: {
25
+ merge?: boolean;
26
+ }) => void;
27
+ switchSession: (sessionId: string) => Promise<User>;
28
+ refreshSessions: (activeUserId?: string) => Promise<void>;
29
+ clearSessionState: () => Promise<void>;
30
+ saveActiveSessionId: (sessionId: string) => Promise<void>;
31
+ trackRemovedSession: (sessionId: string) => void;
32
+ storageKeys: ReturnType<typeof getStorageKeys>;
33
+ isRefreshInFlight: boolean;
34
+ }
35
+ /**
36
+ * Manage session state, persistence, and high-level multi-session operations.
37
+ *
38
+ * @param options - Session management configuration
39
+ */
40
+ export declare const useSessionManagement: ({ oxyServices, storage, storageKeyPrefix, loginSuccess, logoutStore, applyLanguagePreference, onAuthStateChange, onError, setAuthError, logger, setTokenReady, queryClient, }: UseSessionManagementOptions) => UseSessionManagementResult;
@@ -0,0 +1,13 @@
1
+ interface UseSessionSocketProps {
2
+ userId: string | null | undefined;
3
+ activeSessionId: string | null | undefined;
4
+ currentDeviceId: string | null | undefined;
5
+ refreshSessions: () => Promise<void>;
6
+ logout: () => Promise<void>;
7
+ clearSessionState: () => Promise<void>;
8
+ baseURL: string;
9
+ onRemoteSignOut?: () => void;
10
+ onSessionRemoved?: (sessionId: string) => void;
11
+ }
12
+ export declare function useSessionSocket({ userId, activeSessionId, currentDeviceId, refreshSessions, logout, clearSessionState, baseURL, onRemoteSignOut, onSessionRemoved }: UseSessionSocketProps): void;
13
+ export {};
@@ -0,0 +1,56 @@
1
+ interface UseSettingToggleOptions {
2
+ /** Initial value of the setting */
3
+ initialValue: boolean;
4
+ /** Function to save the setting to the server */
5
+ onSave: (value: boolean) => Promise<void>;
6
+ /** Success message when saving */
7
+ successMessage?: string;
8
+ /** Error message when save fails */
9
+ errorMessage?: string;
10
+ /** Whether to revert on error (default: true) */
11
+ revertOnError?: boolean;
12
+ /** Whether to show success toast (default: false) */
13
+ showSuccessToast?: boolean;
14
+ }
15
+ interface UseSettingToggleReturn {
16
+ /** Current value */
17
+ value: boolean;
18
+ /** Whether the setting is being saved */
19
+ isSaving: boolean;
20
+ /** Toggle the setting (optimistic update with revert on error) */
21
+ toggle: () => Promise<void>;
22
+ /** Set the value directly */
23
+ setValue: (value: boolean) => void;
24
+ }
25
+ /**
26
+ * Hook for handling boolean toggle settings with optimistic updates.
27
+ * Automatically reverts to the previous value if the save fails.
28
+ *
29
+ * @example
30
+ * const { value, toggle, isSaving } = useSettingToggle({
31
+ * initialValue: user.notificationsEnabled,
32
+ * onSave: (value) => api.updateNotifications(value),
33
+ * errorMessage: 'Failed to update notifications',
34
+ * });
35
+ *
36
+ * <Switch value={value} onValueChange={toggle} disabled={isSaving} />
37
+ */
38
+ export declare function useSettingToggle(options: UseSettingToggleOptions): UseSettingToggleReturn;
39
+ /**
40
+ * Hook for managing multiple toggle settings at once.
41
+ * Useful when you have several related boolean settings.
42
+ */
43
+ export declare function useSettingToggles<T extends {
44
+ [K in keyof T]: boolean;
45
+ }>(options: {
46
+ initialValues: T;
47
+ onSave: (key: keyof T, value: boolean) => Promise<void>;
48
+ errorMessage?: string | ((key: keyof T) => string);
49
+ revertOnError?: boolean;
50
+ }): {
51
+ values: T;
52
+ savingKeys: Set<keyof T>;
53
+ toggle: (key: keyof T) => Promise<void>;
54
+ setValues: (values: Partial<T>) => void;
55
+ };
56
+ export default useSettingToggle;
@@ -0,0 +1,15 @@
1
+ import type { ApiError } from '../../models/interfaces';
2
+ import { type StorageInterface } from '../utils/storageHelpers';
3
+ export interface UseStorageOptions {
4
+ onError?: (error: ApiError) => void;
5
+ logger?: (message: string, error?: unknown) => void;
6
+ }
7
+ export interface UseStorageResult {
8
+ storage: StorageInterface | null;
9
+ isReady: boolean;
10
+ }
11
+ /**
12
+ * Simple React hook that initializes platform-appropriate storage.
13
+ * Returns storage instance once ready, or null if initialization failed.
14
+ */
15
+ export declare const useStorage: ({ onError, logger, }?: UseStorageOptions) => UseStorageResult;
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Reusable hook to get theme colors based on current color scheme
3
+ * Returns the Colors object for the current theme (light or dark)
4
+ *
5
+ * @returns Colors object for the current color scheme
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * const colors = useThemeColors();
10
+ * <View style={{ backgroundColor: colors.background }}>
11
+ * <Text style={{ color: colors.text }}>Hello</Text>
12
+ * </View>
13
+ * ```
14
+ */
15
+ export declare const useThemeColors: () => {
16
+ text: string;
17
+ background: string;
18
+ inputBackground: string;
19
+ tint: string;
20
+ icon: string;
21
+ tabIconDefault: string;
22
+ tabIconSelected: string;
23
+ card: string;
24
+ border: string;
25
+ secondaryText: string;
26
+ avatarBackground: string;
27
+ avatarText: string;
28
+ sidebarBackground: string;
29
+ sidebarItemActiveBackground: string;
30
+ sidebarItemActiveText: string;
31
+ sidebarIconHome: string;
32
+ sidebarIconPersonalInfo: string;
33
+ sidebarIconSecurity: string;
34
+ sidebarIconPassword: string;
35
+ sidebarIconDevices: string;
36
+ sidebarIconData: string;
37
+ sidebarIconSharing: string;
38
+ sidebarIconFamily: string;
39
+ sidebarIconPayments: string;
40
+ sidebarIconStorage: string;
41
+ iconHome: string;
42
+ iconPrimary: string;
43
+ iconPersonalInfo: string;
44
+ iconSuccess: string;
45
+ iconSecurity: string;
46
+ iconData: string;
47
+ iconPurple: string;
48
+ iconSharing: string;
49
+ iconRed: string;
50
+ iconPayments: string;
51
+ iconGold: string;
52
+ iconStorage: string;
53
+ iconOrange: string;
54
+ } | {
55
+ text: string;
56
+ background: string;
57
+ inputBackground: string;
58
+ tint: string;
59
+ icon: string;
60
+ tabIconDefault: string;
61
+ tabIconSelected: string;
62
+ card: string;
63
+ border: string;
64
+ secondaryText: string;
65
+ avatarBackground: string;
66
+ avatarText: string;
67
+ sidebarBackground: string;
68
+ sidebarItemActiveBackground: string;
69
+ sidebarItemActiveText: string;
70
+ sidebarIconHome: string;
71
+ sidebarIconPersonalInfo: string;
72
+ sidebarIconSecurity: string;
73
+ sidebarIconPassword: string;
74
+ sidebarIconDevices: string;
75
+ sidebarIconData: string;
76
+ sidebarIconSharing: string;
77
+ sidebarIconFamily: string;
78
+ sidebarIconPayments: string;
79
+ sidebarIconStorage: string;
80
+ iconHome: string;
81
+ iconPrimary: string;
82
+ iconPersonalInfo: string;
83
+ iconSuccess: string;
84
+ iconSecurity: string;
85
+ iconData: string;
86
+ iconPurple: string;
87
+ iconSharing: string;
88
+ iconRed: string;
89
+ iconPayments: string;
90
+ iconGold: string;
91
+ iconStorage: string;
92
+ iconOrange: string;
93
+ };
@@ -0,0 +1,44 @@
1
+ import { Colors } from '../constants/theme';
2
+ export interface ThemeStyles {
3
+ textColor: string;
4
+ backgroundColor: string;
5
+ secondaryBackgroundColor: string;
6
+ borderColor: string;
7
+ mutedTextColor: string;
8
+ isDarkTheme: boolean;
9
+ primaryColor: string;
10
+ dangerColor: string;
11
+ successColor: string;
12
+ colorScheme: 'light' | 'dark';
13
+ colors: typeof Colors.light;
14
+ }
15
+ /**
16
+ * Reusable hook for theme styles
17
+ * Replaces duplicated themeStyles useMemo pattern across multiple screens
18
+ *
19
+ * Provides consistent theme colors across all service screens:
20
+ * - Base colors (text, background, borders)
21
+ * - Semantic colors (primary, danger, success)
22
+ * - Theme-aware calculations
23
+ * - Normalized color scheme and Colors object
24
+ *
25
+ * @param theme - Theme string ('light' | 'dark')
26
+ * @param colorSchemeFromHook - Optional color scheme from useColorScheme() hook. If not provided, will call useColorScheme() internally.
27
+ * @returns ThemeStyles object with consistent color values
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * const themeStyles = useThemeStyles(theme);
32
+ * <View style={{ backgroundColor: themeStyles.backgroundColor }}>
33
+ * <Text style={{ color: themeStyles.textColor }}>Hello</Text>
34
+ * </View>
35
+ * ```
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * const colorScheme = useColorScheme();
40
+ * const themeStyles = useThemeStyles(theme, colorScheme);
41
+ * const iconColor = themeStyles.colors.iconSecurity;
42
+ * ```
43
+ */
44
+ export declare const useThemeStyles: (theme: string, colorSchemeFromHook?: string | null) => ThemeStyles;
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Web SSO Hook
3
+ *
4
+ * Handles cross-domain SSO for web apps using FedCM (Federated Credential Management).
5
+ *
6
+ * FedCM is the modern, privacy-preserving standard for cross-domain identity federation.
7
+ * It works across completely different TLDs (alia.onl, mention.earth, homiio.com, etc.)
8
+ * without relying on third-party cookies.
9
+ *
10
+ * For browsers without FedCM support, users will need to click a sign-in button
11
+ * which triggers a popup-based authentication flow.
12
+ *
13
+ * This is called automatically by OxyContext on web platforms.
14
+ *
15
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/FedCM_API
16
+ */
17
+ import type { OxyServices } from '../../core/OxyServices';
18
+ import type { SessionLoginResponse } from '../../models/session';
19
+ interface UseWebSSOOptions {
20
+ oxyServices: OxyServices;
21
+ onSessionFound: (session: SessionLoginResponse) => Promise<void>;
22
+ onSSOUnavailable?: () => void;
23
+ onError?: (error: Error) => void;
24
+ enabled?: boolean;
25
+ }
26
+ interface UseWebSSOResult {
27
+ /** Manually trigger SSO check */
28
+ checkSSO: () => Promise<SessionLoginResponse | null>;
29
+ /** Trigger interactive FedCM sign-in (shows browser UI) */
30
+ signInWithFedCM: () => Promise<SessionLoginResponse | null>;
31
+ /** Whether SSO check is in progress */
32
+ isChecking: boolean;
33
+ /** Whether FedCM is supported in this browser */
34
+ isFedCMSupported: boolean;
35
+ }
36
+ /**
37
+ * Check if we're running in a web browser environment (not React Native)
38
+ */
39
+ declare function isWebBrowser(): boolean;
40
+ /**
41
+ * Hook for automatic cross-domain web SSO
42
+ *
43
+ * Uses FedCM (Federated Credential Management) - the modern browser-native
44
+ * identity federation API. This is the same technology that powers
45
+ * Google's cross-domain SSO (YouTube, Gmail, Maps, etc.).
46
+ *
47
+ * Key benefits:
48
+ * - Works across different TLDs (alia.onl ↔ mention.earth ↔ homiio.com)
49
+ * - No third-party cookies required
50
+ * - Privacy-preserving (browser mediates identity, IdP can't track)
51
+ * - Automatic silent sign-in after initial authentication
52
+ *
53
+ * For browsers without FedCM (Firefox, older browsers), automatic SSO
54
+ * is not possible. Users will see a sign-in button instead.
55
+ */
56
+ export declare function useWebSSO({ oxyServices, onSessionFound, onSSOUnavailable, onError, enabled, }: UseWebSSOOptions): UseWebSSOResult;
57
+ export { isWebBrowser };
@@ -0,0 +1,7 @@
1
+ declare let OxyProvider: any, OxySignInButton: any, OxyLogo: any, Avatar: any, FollowButton: any, OxyPayButton: any, FontLoader: any, setupFonts: any, OxyIcon: any, useOxy: any, useAuth: any, useFollow: any, ProfileScreen: any, useAuthStore: any, useAccountStore: any, fontFamilies: any, fontStyles: any, toast: any, useStorage: any;
2
+ export { OxyProvider, OxySignInButton, OxyLogo, Avatar, FollowButton, OxyPayButton, FontLoader, setupFonts, OxyIcon, useOxy, useAuth, useFollow, ProfileScreen, useAuthStore, useAccountStore, fontFamilies, fontStyles, toast, useStorage, };
3
+ export { OxyServices } from '../core';
4
+ export type { User, LoginResponse, ApiError } from '../models/interfaces';
5
+ export { handleAuthError, isInvalidSessionError, isTimeoutOrNetworkError, extractErrorMessage, } from './utils/errorHandlers';
6
+ export type { HandleAuthErrorOptions } from './utils/errorHandlers';
7
+ export type { UseStorageOptions, UseStorageResult } from './hooks/useStorage';
@@ -0,0 +1,2 @@
1
+ declare const isFrontend: boolean;
2
+ export default isFrontend;
@@ -0,0 +1,26 @@
1
+ import type { RouteName } from './routes';
2
+ /**
3
+ * Bottom Sheet State Manager
4
+ */
5
+ export interface BottomSheetState {
6
+ currentScreen: RouteName | null;
7
+ screenProps: Record<string, unknown>;
8
+ currentStep?: number;
9
+ history: Array<{
10
+ screen: RouteName;
11
+ props: Record<string, unknown>;
12
+ step?: number;
13
+ }>;
14
+ isOpen: boolean;
15
+ fullScreen: boolean;
16
+ }
17
+ export declare const bottomSheetStore: import("zustand").StoreApi<BottomSheetState>;
18
+ export declare const getState: () => BottomSheetState;
19
+ export declare const showBottomSheet: (screenOrConfig: RouteName | {
20
+ screen: RouteName;
21
+ props?: Record<string, unknown>;
22
+ fullScreen?: boolean;
23
+ }) => void;
24
+ export declare const closeBottomSheet: () => void;
25
+ export declare const goBack: () => boolean;
26
+ export declare const updateState: (updates: Partial<BottomSheetState>) => void;
@@ -0,0 +1,5 @@
1
+ import type { ComponentType } from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ export type RouteName = 'OxyAuth' | 'AccountOverview' | 'AccountSettings' | 'AccountCenter' | 'AccountSwitcher' | 'AccountVerification' | 'SessionManagement' | 'PaymentGateway' | 'Profile' | 'LanguageSelector' | 'PrivacySettings' | 'SearchSettings' | 'FileManagement' | 'HelpSupport' | 'FAQ' | 'Feedback' | 'LegalDocuments' | 'AppInfo' | 'PremiumSubscription' | 'WelcomeNewUser' | 'UserLinks' | 'HistoryView' | 'SavesCollections' | 'EditProfileField' | 'LearnMoreUsernames' | 'KarmaCenter' | 'KarmaLeaderboard' | 'KarmaRewards' | 'KarmaRules' | 'AboutKarma' | 'KarmaFAQ' | 'FollowersList' | 'FollowingList';
4
+ export declare const getScreenComponent: (routeName: RouteName) => ComponentType<BaseScreenProps> | undefined;
5
+ export declare const isValidRoute: (routeName: string) => routeName is RouteName;
@@ -0,0 +1,4 @@
1
+ import type React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ declare const AccountCenterScreen: React.FC<BaseScreenProps>;
4
+ export default AccountCenterScreen;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ declare const _default: React.NamedExoticComponent<BaseScreenProps>;
4
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ declare const _default: React.NamedExoticComponent<BaseScreenProps & {
4
+ initialField?: string;
5
+ initialSection?: string;
6
+ }>;
7
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import type React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ declare const ModernAccountSwitcherScreen: React.FC<BaseScreenProps>;
4
+ export default ModernAccountSwitcherScreen;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ declare const _default: React.NamedExoticComponent<BaseScreenProps>;
4
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import type React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ declare const AppInfoScreen: React.FC<BaseScreenProps>;
4
+ export default AppInfoScreen;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ /**
4
+ * Field types supported by EditProfileFieldScreen
5
+ */
6
+ export type ProfileFieldType = 'displayName' | 'username' | 'email' | 'bio' | 'phone' | 'address' | 'birthday' | 'location' | 'locations' | 'links';
7
+ interface EditProfileFieldScreenProps extends BaseScreenProps {
8
+ /** The field type to edit */
9
+ fieldType?: ProfileFieldType;
10
+ }
11
+ declare const _default: React.NamedExoticComponent<EditProfileFieldScreenProps>;
12
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ declare const FAQScreen: React.FC<BaseScreenProps>;
4
+ export default FAQScreen;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ declare const FeedbackScreen: React.FC<BaseScreenProps>;
4
+ export default FeedbackScreen;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { FileManagementScreenProps } from '../types/fileManagement';
3
+ declare const FileManagementScreen: React.FC<FileManagementScreenProps>;
4
+ export default FileManagementScreen;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ interface FollowersListScreenProps extends BaseScreenProps {
4
+ userId: string;
5
+ initialCount?: number;
6
+ }
7
+ declare const FollowersListScreen: React.FC<FollowersListScreenProps>;
8
+ export default FollowersListScreen;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ interface FollowingListScreenProps extends BaseScreenProps {
4
+ userId: string;
5
+ initialCount?: number;
6
+ }
7
+ declare const FollowingListScreen: React.FC<FollowingListScreenProps>;
8
+ export default FollowingListScreen;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ declare const _default: React.NamedExoticComponent<BaseScreenProps>;
4
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ declare const _default: React.NamedExoticComponent<BaseScreenProps>;
4
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ interface LanguageSelectorScreenProps extends BaseScreenProps {
4
+ }
5
+ declare const _default: React.NamedExoticComponent<LanguageSelectorScreenProps>;
6
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ declare const LearnMoreUsernamesScreen: React.FC<BaseScreenProps>;
4
+ export default LearnMoreUsernamesScreen;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ declare const _default: React.NamedExoticComponent<BaseScreenProps>;
4
+ export default _default;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * OxyAuthScreen - Sign in with Oxy
3
+ *
4
+ * This screen is used by OTHER apps in the Oxy ecosystem to authenticate users.
5
+ * It presents two options:
6
+ * 1. Scan QR code with Oxy Accounts app
7
+ * 2. Open the Oxy Auth web flow
8
+ *
9
+ * Uses WebSocket for real-time authorization updates (with polling fallback).
10
+ * The Oxy Accounts app is where users manage their cryptographic identity.
11
+ * This screen should NOT be used within the Accounts app itself.
12
+ */
13
+ import type React from 'react';
14
+ import type { BaseScreenProps } from '../types/navigation';
15
+ declare const OxyAuthScreen: React.FC<BaseScreenProps>;
16
+ export default OxyAuthScreen;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ import type { PaymentItem, PaymentGatewayResult } from '../components/payment';
4
+ export type { PaymentItem, PaymentGatewayResult };
5
+ interface PaymentGatewayScreenProps extends BaseScreenProps {
6
+ onPaymentResult?: (result: PaymentGatewayResult) => void;
7
+ amount: string | number;
8
+ currency?: string;
9
+ onClose?: () => void;
10
+ paymentItems?: PaymentItem[];
11
+ description?: string;
12
+ }
13
+ declare const PaymentGatewayScreen: React.FC<PaymentGatewayScreenProps>;
14
+ export default PaymentGatewayScreen;
@@ -0,0 +1,4 @@
1
+ import type React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ declare const PremiumSubscriptionScreen: React.FC<BaseScreenProps>;
4
+ export default PremiumSubscriptionScreen;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ declare const _default: React.NamedExoticComponent<BaseScreenProps>;
4
+ export default _default;