@react-native-firebase/auth 24.1.1 → 25.0.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 (216) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/android/src/main/java/io/invertase/firebase/auth/ReactNativeFirebaseAuthModule.java +16 -4
  3. package/dist/module/ActionCodeURL.js +140 -0
  4. package/dist/module/ActionCodeURL.js.map +1 -0
  5. package/{lib → dist/module}/ConfirmationResult.js +4 -5
  6. package/dist/module/ConfirmationResult.js.map +1 -0
  7. package/{lib → dist/module}/MultiFactorResolver.js +14 -5
  8. package/dist/module/MultiFactorResolver.js.map +1 -0
  9. package/{lib → dist/module}/PhoneAuthListener.js +52 -75
  10. package/dist/module/PhoneAuthListener.js.map +1 -0
  11. package/dist/module/PhoneAuthState.js +25 -0
  12. package/dist/module/PhoneAuthState.js.map +1 -0
  13. package/dist/module/PhoneMultiFactorGenerator.js +39 -0
  14. package/dist/module/PhoneMultiFactorGenerator.js.map +1 -0
  15. package/{lib → dist/module}/Settings.js +3 -7
  16. package/dist/module/Settings.js.map +1 -0
  17. package/{lib → dist/module}/TotpMultiFactorGenerator.js +20 -15
  18. package/dist/module/TotpMultiFactorGenerator.js.map +1 -0
  19. package/{lib → dist/module}/TotpSecret.js +7 -5
  20. package/dist/module/TotpSecret.js.map +1 -0
  21. package/dist/module/User.js +245 -0
  22. package/dist/module/User.js.map +1 -0
  23. package/dist/module/constants.js +54 -0
  24. package/dist/module/constants.js.map +1 -0
  25. package/dist/module/credentials/AuthCredential.js +51 -0
  26. package/dist/module/credentials/AuthCredential.js.map +1 -0
  27. package/dist/module/credentials/EmailAuthCredential.js +51 -0
  28. package/dist/module/credentials/EmailAuthCredential.js.map +1 -0
  29. package/dist/module/credentials/OAuthCredential.js +84 -0
  30. package/dist/module/credentials/OAuthCredential.js.map +1 -0
  31. package/dist/module/credentials/PhoneAuthCredential.js +50 -0
  32. package/dist/module/credentials/PhoneAuthCredential.js.map +1 -0
  33. package/{lib/providers/GoogleAuthProvider.js → dist/module/credentials/index.js} +7 -19
  34. package/dist/module/credentials/index.js.map +1 -0
  35. package/{lib → dist/module}/getMultiFactorResolver.js +5 -8
  36. package/dist/module/getMultiFactorResolver.js.map +1 -0
  37. package/{lib/providers/FacebookAuthProvider.js → dist/module/index.js} +11 -18
  38. package/dist/module/index.js.map +1 -0
  39. package/dist/module/modular.js +779 -0
  40. package/dist/module/modular.js.map +1 -0
  41. package/{lib → dist/module}/multiFactor.js +16 -14
  42. package/dist/module/multiFactor.js.map +1 -0
  43. package/dist/module/namespaced.js +522 -0
  44. package/dist/module/namespaced.js.map +1 -0
  45. package/dist/module/package.json +1 -0
  46. package/dist/module/password-policy/PasswordPolicyImpl.js +103 -0
  47. package/dist/module/password-policy/PasswordPolicyImpl.js.map +1 -0
  48. package/{lib → dist/module}/password-policy/PasswordPolicyMixin.js +14 -16
  49. package/dist/module/password-policy/PasswordPolicyMixin.js.map +1 -0
  50. package/{lib → dist/module}/password-policy/passwordPolicyApi.js +18 -12
  51. package/dist/module/password-policy/passwordPolicyApi.js.map +1 -0
  52. package/{lib → dist/module}/providers/AppleAuthProvider.js +14 -7
  53. package/dist/module/providers/AppleAuthProvider.js.map +1 -0
  54. package/{lib → dist/module}/providers/EmailAuthProvider.js +10 -25
  55. package/dist/module/providers/EmailAuthProvider.js.map +1 -0
  56. package/dist/module/providers/FacebookAuthProvider.js +56 -0
  57. package/dist/module/providers/FacebookAuthProvider.js.map +1 -0
  58. package/dist/module/providers/GithubAuthProvider.js +49 -0
  59. package/dist/module/providers/GithubAuthProvider.js.map +1 -0
  60. package/dist/module/providers/GoogleAuthProvider.js +57 -0
  61. package/dist/module/providers/GoogleAuthProvider.js.map +1 -0
  62. package/dist/module/providers/OAuthProvider.js +116 -0
  63. package/dist/module/providers/OAuthProvider.js.map +1 -0
  64. package/{lib → dist/module}/providers/OIDCAuthProvider.js +15 -7
  65. package/dist/module/providers/OIDCAuthProvider.js.map +1 -0
  66. package/dist/module/providers/PhoneAuthProvider.js +87 -0
  67. package/dist/module/providers/PhoneAuthProvider.js.map +1 -0
  68. package/dist/module/providers/TwitterAuthProvider.js +50 -0
  69. package/dist/module/providers/TwitterAuthProvider.js.map +1 -0
  70. package/dist/module/types/auth.js +43 -0
  71. package/dist/module/types/auth.js.map +1 -0
  72. package/dist/module/types/internal.js +4 -0
  73. package/dist/module/types/internal.js.map +1 -0
  74. package/dist/module/types/namespaced.js +62 -0
  75. package/dist/module/types/namespaced.js.map +1 -0
  76. package/dist/module/version.js +5 -0
  77. package/dist/module/version.js.map +1 -0
  78. package/dist/module/web/RNFBAuthModule.android.js +5 -0
  79. package/dist/module/web/RNFBAuthModule.android.js.map +1 -0
  80. package/dist/module/web/RNFBAuthModule.ios.js +5 -0
  81. package/dist/module/web/RNFBAuthModule.ios.js.map +1 -0
  82. package/{lib → dist/module}/web/RNFBAuthModule.js +104 -321
  83. package/dist/module/web/RNFBAuthModule.js.map +1 -0
  84. package/dist/typescript/lib/ActionCodeURL.d.ts +41 -0
  85. package/dist/typescript/lib/ActionCodeURL.d.ts.map +1 -0
  86. package/dist/typescript/lib/ConfirmationResult.d.ts +10 -0
  87. package/dist/typescript/lib/ConfirmationResult.d.ts.map +1 -0
  88. package/dist/typescript/lib/MultiFactorResolver.d.ts +24 -0
  89. package/dist/typescript/lib/MultiFactorResolver.d.ts.map +1 -0
  90. package/dist/typescript/lib/PhoneAuthListener.d.ts +34 -0
  91. package/dist/typescript/lib/PhoneAuthListener.d.ts.map +1 -0
  92. package/dist/typescript/lib/PhoneAuthState.d.ts +7 -0
  93. package/dist/typescript/lib/PhoneAuthState.d.ts.map +1 -0
  94. package/dist/typescript/lib/PhoneMultiFactorGenerator.d.ts +7 -0
  95. package/dist/typescript/lib/PhoneMultiFactorGenerator.d.ts.map +1 -0
  96. package/dist/typescript/lib/Settings.d.ts +13 -0
  97. package/dist/typescript/lib/Settings.d.ts.map +1 -0
  98. package/dist/typescript/lib/TotpMultiFactorGenerator.d.ts +11 -0
  99. package/dist/typescript/lib/TotpMultiFactorGenerator.d.ts.map +1 -0
  100. package/dist/typescript/lib/TotpSecret.d.ts +33 -0
  101. package/dist/typescript/lib/TotpSecret.d.ts.map +1 -0
  102. package/dist/typescript/lib/User.d.ts +51 -0
  103. package/dist/typescript/lib/User.d.ts.map +1 -0
  104. package/dist/typescript/lib/constants.d.ts +35 -0
  105. package/dist/typescript/lib/constants.d.ts.map +1 -0
  106. package/dist/typescript/lib/credentials/AuthCredential.d.ts +12 -0
  107. package/dist/typescript/lib/credentials/AuthCredential.d.ts.map +1 -0
  108. package/dist/typescript/lib/credentials/EmailAuthCredential.d.ts +8 -0
  109. package/dist/typescript/lib/credentials/EmailAuthCredential.d.ts.map +1 -0
  110. package/dist/typescript/lib/credentials/OAuthCredential.d.ts +22 -0
  111. package/dist/typescript/lib/credentials/OAuthCredential.d.ts.map +1 -0
  112. package/dist/typescript/lib/credentials/PhoneAuthCredential.d.ts +8 -0
  113. package/dist/typescript/lib/credentials/PhoneAuthCredential.d.ts.map +1 -0
  114. package/dist/typescript/lib/credentials/index.d.ts +5 -0
  115. package/dist/typescript/lib/credentials/index.d.ts.map +1 -0
  116. package/dist/typescript/lib/getMultiFactorResolver.d.ts +19 -0
  117. package/dist/typescript/lib/getMultiFactorResolver.d.ts.map +1 -0
  118. package/dist/typescript/lib/index.d.ts +8 -0
  119. package/dist/typescript/lib/index.d.ts.map +1 -0
  120. package/dist/typescript/lib/modular.d.ts +360 -0
  121. package/dist/typescript/lib/modular.d.ts.map +1 -0
  122. package/dist/typescript/lib/multiFactor.d.ts +26 -0
  123. package/dist/typescript/lib/multiFactor.d.ts.map +1 -0
  124. package/dist/typescript/lib/namespaced.d.ts +12 -0
  125. package/dist/typescript/lib/namespaced.d.ts.map +1 -0
  126. package/dist/typescript/lib/password-policy/PasswordPolicyImpl.d.ts +19 -0
  127. package/dist/typescript/lib/password-policy/PasswordPolicyImpl.d.ts.map +1 -0
  128. package/dist/typescript/lib/password-policy/PasswordPolicyMixin.d.ts +11 -0
  129. package/dist/typescript/lib/password-policy/PasswordPolicyMixin.d.ts.map +1 -0
  130. package/dist/typescript/lib/password-policy/passwordPolicyApi.d.ts +10 -0
  131. package/dist/typescript/lib/password-policy/passwordPolicyApi.d.ts.map +1 -0
  132. package/dist/typescript/lib/providers/AppleAuthProvider.d.ts +16 -0
  133. package/dist/typescript/lib/providers/AppleAuthProvider.d.ts.map +1 -0
  134. package/dist/typescript/lib/providers/EmailAuthProvider.d.ts +11 -0
  135. package/dist/typescript/lib/providers/EmailAuthProvider.d.ts.map +1 -0
  136. package/dist/typescript/lib/providers/FacebookAuthProvider.d.ts +19 -0
  137. package/dist/typescript/lib/providers/FacebookAuthProvider.d.ts.map +1 -0
  138. package/dist/typescript/lib/providers/GithubAuthProvider.d.ts +15 -0
  139. package/dist/typescript/lib/providers/GithubAuthProvider.d.ts.map +1 -0
  140. package/dist/typescript/lib/providers/GoogleAuthProvider.d.ts +21 -0
  141. package/dist/typescript/lib/providers/GoogleAuthProvider.d.ts.map +1 -0
  142. package/dist/typescript/lib/providers/OAuthProvider.d.ts +33 -0
  143. package/dist/typescript/lib/providers/OAuthProvider.d.ts.map +1 -0
  144. package/dist/typescript/lib/providers/OIDCAuthProvider.d.ts +16 -0
  145. package/dist/typescript/lib/providers/OIDCAuthProvider.d.ts.map +1 -0
  146. package/dist/typescript/lib/providers/PhoneAuthProvider.d.ts +16 -0
  147. package/dist/typescript/lib/providers/PhoneAuthProvider.d.ts.map +1 -0
  148. package/dist/typescript/lib/providers/TwitterAuthProvider.d.ts +15 -0
  149. package/dist/typescript/lib/providers/TwitterAuthProvider.d.ts.map +1 -0
  150. package/dist/typescript/lib/types/auth.d.ts +305 -0
  151. package/dist/typescript/lib/types/auth.d.ts.map +1 -0
  152. package/dist/typescript/lib/types/internal.d.ts +292 -0
  153. package/dist/typescript/lib/types/internal.d.ts.map +1 -0
  154. package/dist/typescript/lib/types/namespaced.d.ts +2185 -0
  155. package/dist/typescript/lib/types/namespaced.d.ts.map +1 -0
  156. package/dist/typescript/lib/version.d.ts +2 -0
  157. package/dist/typescript/lib/version.d.ts.map +1 -0
  158. package/dist/typescript/lib/web/RNFBAuthModule.android.d.ts +3 -0
  159. package/dist/typescript/lib/web/RNFBAuthModule.android.d.ts.map +1 -0
  160. package/dist/typescript/lib/web/RNFBAuthModule.d.ts +406 -0
  161. package/dist/typescript/lib/web/RNFBAuthModule.d.ts.map +1 -0
  162. package/dist/typescript/lib/web/RNFBAuthModule.ios.d.ts +3 -0
  163. package/dist/typescript/lib/web/RNFBAuthModule.ios.d.ts.map +1 -0
  164. package/dist/typescript/package.json +1 -0
  165. package/ios/RNFBAuth/RNFBAuthModule.m +4 -2
  166. package/lib/ActionCodeURL.ts +174 -0
  167. package/lib/ConfirmationResult.ts +42 -0
  168. package/lib/MultiFactorResolver.ts +51 -0
  169. package/lib/PhoneAuthListener.ts +312 -0
  170. package/lib/PhoneAuthState.ts +22 -0
  171. package/lib/{PhoneMultiFactorGenerator.js → PhoneMultiFactorGenerator.ts} +8 -2
  172. package/lib/Settings.ts +59 -0
  173. package/lib/TotpMultiFactorGenerator.ts +78 -0
  174. package/lib/TotpSecret.ts +71 -0
  175. package/lib/{User.js → User.ts} +127 -83
  176. package/lib/constants.ts +55 -0
  177. package/lib/credentials/AuthCredential.ts +55 -0
  178. package/lib/credentials/EmailAuthCredential.ts +70 -0
  179. package/lib/credentials/OAuthCredential.ts +113 -0
  180. package/lib/credentials/PhoneAuthCredential.ts +66 -0
  181. package/lib/{providers/GithubAuthProvider.js → credentials/index.ts} +4 -19
  182. package/lib/getMultiFactorResolver.ts +40 -0
  183. package/lib/{providers/TwitterAuthProvider.js → index.ts} +14 -19
  184. package/lib/modular.ts +1158 -0
  185. package/lib/multiFactor.ts +83 -0
  186. package/lib/namespaced.ts +846 -0
  187. package/lib/password-policy/{PasswordPolicyImpl.js → PasswordPolicyImpl.ts} +37 -19
  188. package/lib/password-policy/PasswordPolicyMixin.ts +83 -0
  189. package/lib/password-policy/passwordPolicyApi.ts +60 -0
  190. package/lib/providers/AppleAuthProvider.ts +44 -0
  191. package/lib/providers/EmailAuthProvider.ts +42 -0
  192. package/lib/providers/FacebookAuthProvider.ts +58 -0
  193. package/lib/providers/GithubAuthProvider.ts +51 -0
  194. package/lib/providers/GoogleAuthProvider.ts +60 -0
  195. package/lib/providers/OAuthProvider.ts +150 -0
  196. package/lib/providers/OIDCAuthProvider.ts +49 -0
  197. package/lib/providers/PhoneAuthProvider.ts +161 -0
  198. package/lib/providers/TwitterAuthProvider.ts +52 -0
  199. package/lib/types/auth.ts +393 -0
  200. package/lib/types/internal.ts +474 -0
  201. package/lib/{index.d.ts → types/namespaced.ts} +52 -41
  202. package/lib/version.ts +2 -0
  203. package/lib/web/RNFBAuthModule.ts +1359 -0
  204. package/package.json +41 -9
  205. package/plugin/tsconfig.tsbuildinfo +1 -1
  206. package/tsconfig.json +26 -0
  207. package/tsdoc.json +22 -0
  208. package/typedoc.json +9 -2
  209. package/lib/index.js +0 -572
  210. package/lib/modular/index.d.ts +0 -801
  211. package/lib/modular/index.js +0 -651
  212. package/lib/providers/OAuthProvider.js +0 -70
  213. package/lib/providers/PhoneAuthProvider.js +0 -52
  214. package/lib/version.js +0 -2
  215. /package/lib/web/{RNFBAuthModule.android.js → RNFBAuthModule.android.ts} +0 -0
  216. /package/lib/web/{RNFBAuthModule.ios.js → RNFBAuthModule.ios.ts} +0 -0
@@ -0,0 +1,474 @@
1
+ /*
2
+ * Copyright (c) 2016-present Invertase Limited & Contributors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this library except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ *
16
+ */
17
+
18
+ import type { ReactNativeFirebase } from '@react-native-firebase/app';
19
+ import type {} from '@react-native-firebase/app/dist/module/internal/NativeModules';
20
+ import type {
21
+ ModuleConfig,
22
+ NativeErrorUserInfo,
23
+ } from '@react-native-firebase/app/dist/module/types/internal';
24
+ import type EventEmitter from 'react-native/Libraries/vendor/emitter/EventEmitter';
25
+ import type {
26
+ ActionCodeInfo,
27
+ ActionCodeSettings,
28
+ Auth,
29
+ AuthCredential,
30
+ AuthProvider,
31
+ IdTokenResult,
32
+ MultiFactorAssertion,
33
+ PhoneAuthListener,
34
+ User,
35
+ UserCredential,
36
+ } from './auth';
37
+ import type { CallbackOrObserver, FirebaseAuthTypes } from './namespaced';
38
+
39
+ export type AuthModularDeprecationArg = string;
40
+
41
+ export type WithAuthDeprecationArg<F> = F extends (...args: infer P) => infer R
42
+ ? (...args: [...P, AuthModularDeprecationArg]) => R
43
+ : never;
44
+
45
+ export interface AppWithAuthInternal {
46
+ auth(deprecationArg?: AuthModularDeprecationArg): Auth;
47
+ }
48
+
49
+ export type AuthListenerCallbackInternal = (user: User | null) => void;
50
+
51
+ export type AuthProviderWithObjectInternal = AuthProvider & {
52
+ toObject(): Record<string, unknown>;
53
+ };
54
+
55
+ export type UserCredentialWithAdditionalUserInfoInternal = UserCredential & {
56
+ user: FirebaseAuthTypes.User;
57
+ additionalUserInfo?: FirebaseAuthTypes.AdditionalUserInfo;
58
+ };
59
+
60
+ export type UserCredentialResultInternal = FirebaseAuthTypes.UserCredential &
61
+ Partial<Pick<UserCredential, 'operationType' | 'providerId'>>;
62
+
63
+ export type ActionCodeInfoResultInternal = FirebaseAuthTypes.ActionCodeInfo | ActionCodeInfo;
64
+
65
+ export type ConfirmationResultResultInternal = {
66
+ verificationId: string | null;
67
+ confirm(verificationCode: string): Promise<UserCredentialResultInternal | null>;
68
+ };
69
+
70
+ export type MultiFactorResolverResultInternal = {
71
+ hints: FirebaseAuthTypes.MultiFactorInfo[];
72
+ session: FirebaseAuthTypes.MultiFactorSession;
73
+ resolveSignIn(
74
+ assertion: FirebaseAuthTypes.MultiFactorAssertion | MultiFactorAssertion,
75
+ ): Promise<UserCredentialResultInternal>;
76
+ };
77
+
78
+ export type MultiFactorUserSourceInternal = FirebaseAuthTypes.User;
79
+
80
+ export type MultiFactorUserResultInternal = {
81
+ enrolledFactors: FirebaseAuthTypes.MultiFactorInfo[];
82
+ getSession(): Promise<FirebaseAuthTypes.MultiFactorSession>;
83
+ enroll(
84
+ assertion: FirebaseAuthTypes.MultiFactorAssertion | MultiFactorAssertion,
85
+ displayName?: string | null,
86
+ ): Promise<void>;
87
+ unenroll(option: FirebaseAuthTypes.MultiFactorInfo | string): Promise<void>;
88
+ };
89
+
90
+ export type MultiFactorEnrollmentAssertionInternal =
91
+ | {
92
+ factorId: 'phone';
93
+ token: string;
94
+ secret: string;
95
+ }
96
+ | {
97
+ factorId: 'totp';
98
+ totpSecret: string;
99
+ verificationCode: string;
100
+ };
101
+
102
+ export interface NativeUserMetadataInternal {
103
+ creationTime: string;
104
+ lastSignInTime: string;
105
+ }
106
+
107
+ export interface NativeUserInfoInternal {
108
+ uid: string;
109
+ providerId: string;
110
+ displayName?: string | null;
111
+ email?: string | null;
112
+ phoneNumber?: string | null;
113
+ photoURL?: string | null;
114
+ tenantId?: string | null;
115
+ }
116
+
117
+ export interface NativeUserInternal {
118
+ uid: string;
119
+ providerId: string;
120
+ providerData: NativeUserInfoInternal[];
121
+ displayName?: string | null;
122
+ email?: string | null;
123
+ emailVerified?: boolean;
124
+ isAnonymous?: boolean;
125
+ metadata: NativeUserMetadataInternal;
126
+ multiFactor?: FirebaseAuthTypes.MultiFactor | null;
127
+ phoneNumber?: string | null;
128
+ photoURL?: string | null;
129
+ tenantId?: string | null;
130
+ }
131
+
132
+ export interface NativeUserCredentialInternal {
133
+ additionalUserInfo?: FirebaseAuthTypes.AdditionalUserInfo;
134
+ user: NativeUserInternal;
135
+ }
136
+
137
+ export interface NativePhoneAuthCredentialInternal {
138
+ verificationId: string;
139
+ code?: string | null;
140
+ }
141
+
142
+ export interface NativePhoneAuthErrorInternal {
143
+ verificationId: string;
144
+ error: NativeErrorUserInfo;
145
+ }
146
+
147
+ export interface AuthStateChangedEventInternal {
148
+ user: NativeUserInternal | null;
149
+ }
150
+
151
+ export interface AuthIdTokenChangedEventInternal {
152
+ user: NativeUserInternal | null;
153
+ }
154
+
155
+ export interface PhoneAuthStateChangedEventInternal {
156
+ requestKey: string;
157
+ type:
158
+ | 'onCodeSent'
159
+ | 'onVerificationFailed'
160
+ | 'onVerificationComplete'
161
+ | 'onCodeAutoRetrievalTimeout';
162
+ state: NativePhoneAuthCredentialInternal | NativePhoneAuthErrorInternal;
163
+ }
164
+
165
+ export type AuthNativeEventInternal =
166
+ | AuthStateChangedEventInternal
167
+ | AuthIdTokenChangedEventInternal
168
+ | PhoneAuthStateChangedEventInternal;
169
+
170
+ export interface PasswordPolicyCustomStrengthOptionsInternal {
171
+ minPasswordLength?: number;
172
+ maxPasswordLength?: number;
173
+ containsLowercaseLetter?: boolean;
174
+ containsUppercaseLetter?: boolean;
175
+ containsNumericCharacter?: boolean;
176
+ containsNonAlphanumericCharacter?: boolean;
177
+ }
178
+
179
+ export interface PasswordPolicyInternal {
180
+ readonly customStrengthOptions: PasswordPolicyCustomStrengthOptionsInternal;
181
+ readonly allowedNonAlphanumericCharacters: string;
182
+ readonly enforcementState: string;
183
+ readonly forceUpgradeOnSignin: boolean;
184
+ readonly schemaVersion: number;
185
+ validatePassword(password: string): PasswordValidationStatusInternal;
186
+ }
187
+
188
+ export interface PasswordPolicyResponseCustomStrengthOptionsInternal {
189
+ minPasswordLength?: number;
190
+ maxPasswordLength?: number;
191
+ containsLowercaseCharacter?: boolean;
192
+ containsUppercaseCharacter?: boolean;
193
+ containsNumericCharacter?: boolean;
194
+ containsNonAlphanumericCharacter?: boolean;
195
+ }
196
+
197
+ export interface PasswordPolicyResponseInternal {
198
+ customStrengthOptions?: PasswordPolicyResponseCustomStrengthOptionsInternal;
199
+ allowedNonAlphanumericCharacters?: string[];
200
+ enforcementState?: string;
201
+ forceUpgradeOnSignin?: boolean;
202
+ schemaVersion: number;
203
+ }
204
+
205
+ export type PasswordValidationStatusInternal = {
206
+ isValid: boolean;
207
+ meetsMinPasswordLength?: boolean;
208
+ meetsMaxPasswordLength?: boolean;
209
+ containsLowercaseLetter?: boolean;
210
+ containsUppercaseLetter?: boolean;
211
+ containsNumericCharacter?: boolean;
212
+ containsNonAlphanumericCharacter?: boolean;
213
+ passwordPolicy: PasswordPolicyInternal;
214
+ };
215
+
216
+ export interface PasswordPolicyHostInternal {
217
+ app: ReactNativeFirebase.FirebaseApp;
218
+ _tenantId: string | null;
219
+ _projectPasswordPolicy: PasswordPolicyInternal | null;
220
+ _tenantPasswordPolicies: Record<string, PasswordPolicyInternal | null>;
221
+ }
222
+
223
+ export interface PasswordPolicyMixinInternal {
224
+ _getPasswordPolicyInternal(): PasswordPolicyInternal | null;
225
+ _updatePasswordPolicy(): Promise<void>;
226
+ _recachePasswordPolicy(): Promise<void>;
227
+ validatePassword(password: string): Promise<PasswordValidationStatusInternal>;
228
+ }
229
+
230
+ export interface RNFBAuthModule {
231
+ APP_LANGUAGE: Record<string, string | undefined>;
232
+ APP_USER: Record<string, NativeUserInternal | undefined>;
233
+ addAuthStateListener(): void | Promise<void>;
234
+ addIdTokenListener(): void | Promise<void>;
235
+ configureAuthDomain(): void | Promise<void>;
236
+ setLanguageCode(code: string | null): Promise<void>;
237
+ setTenantId(tenantId: string | null): Promise<void>;
238
+ signOut(): Promise<void>;
239
+ signInAnonymously(): Promise<NativeUserCredentialInternal>;
240
+ signInWithPhoneNumber(
241
+ phoneNumber: string,
242
+ forceResend?: boolean,
243
+ ): Promise<NativePhoneAuthCredentialInternal>;
244
+ verifyPhoneNumber(
245
+ phoneNumber: string,
246
+ requestKey: string,
247
+ timeout?: number,
248
+ forceResend?: boolean,
249
+ ): void | Promise<void>;
250
+ verifyPhoneNumberWithMultiFactorInfo(
251
+ uid: string,
252
+ session: FirebaseAuthTypes.MultiFactorSession,
253
+ ): Promise<string>;
254
+ verifyPhoneNumberForMultiFactor(
255
+ phoneNumber: string,
256
+ session: FirebaseAuthTypes.MultiFactorSession,
257
+ ): Promise<string>;
258
+ resolveMultiFactorSignIn(
259
+ session: FirebaseAuthTypes.MultiFactorSession,
260
+ verificationId: string,
261
+ verificationCode: string,
262
+ ): Promise<NativeUserCredentialInternal>;
263
+ resolveTotpSignIn(
264
+ session: FirebaseAuthTypes.MultiFactorSession,
265
+ uid: string,
266
+ totpSecret: string,
267
+ ): Promise<NativeUserCredentialInternal>;
268
+ createUserWithEmailAndPassword(
269
+ email: string,
270
+ password: string,
271
+ ): Promise<NativeUserCredentialInternal>;
272
+ signInWithEmailAndPassword(
273
+ email: string,
274
+ password: string,
275
+ ): Promise<NativeUserCredentialInternal>;
276
+ signInWithCustomToken(customToken: string): Promise<NativeUserCredentialInternal>;
277
+ signInWithCredential(
278
+ providerId: string,
279
+ token: string,
280
+ secret?: string | null,
281
+ ): Promise<NativeUserCredentialInternal>;
282
+ revokeToken(authorizationCode: string): Promise<void>;
283
+ sendPasswordResetEmail(
284
+ email: string,
285
+ actionCodeSettings?: FirebaseAuthTypes.ActionCodeSettings | null,
286
+ ): Promise<void>;
287
+ sendSignInLinkToEmail(
288
+ email: string,
289
+ actionCodeSettings?: FirebaseAuthTypes.ActionCodeSettings,
290
+ ): Promise<void>;
291
+ isSignInWithEmailLink(emailLink: string): Promise<boolean>;
292
+ signInWithEmailLink(email: string, emailLink?: string): Promise<NativeUserCredentialInternal>;
293
+ confirmPasswordReset(code: string, newPassword: string): Promise<void>;
294
+ applyActionCode(code: string): Promise<NativeUserInternal | null | undefined>;
295
+ checkActionCode(code: string): Promise<FirebaseAuthTypes.ActionCodeInfo>;
296
+ fetchSignInMethodsForEmail(email: string): Promise<string[]>;
297
+ verifyPasswordResetCode(code: string): Promise<string>;
298
+ useUserAccessGroup(userAccessGroup: string): Promise<null | void>;
299
+ signInWithProvider(provider: Record<string, unknown>): Promise<NativeUserCredentialInternal>;
300
+ useEmulator(host: string, port?: number): void;
301
+ getCustomAuthDomain(): Promise<string>;
302
+ confirmationResultConfirm(verificationCode: string): Promise<NativeUserCredentialInternal>;
303
+ delete(): Promise<void>;
304
+ getIdToken(forceRefresh: boolean): Promise<string>;
305
+ getIdTokenResult(forceRefresh: boolean): Promise<IdTokenResult>;
306
+ linkWithCredential(
307
+ providerId: string,
308
+ token: string,
309
+ secret?: string | null,
310
+ ): Promise<NativeUserCredentialInternal>;
311
+ linkWithProvider(provider: Record<string, unknown>): Promise<NativeUserCredentialInternal>;
312
+ reauthenticateWithCredential(
313
+ providerId: string,
314
+ token: string,
315
+ secret?: string | null,
316
+ ): Promise<NativeUserCredentialInternal>;
317
+ reauthenticateWithProvider(
318
+ provider: Record<string, unknown>,
319
+ ): Promise<NativeUserCredentialInternal>;
320
+ reload(): Promise<NativeUserInternal>;
321
+ sendEmailVerification(
322
+ actionCodeSettings?: FirebaseAuthTypes.ActionCodeSettings,
323
+ ): Promise<NativeUserInternal>;
324
+ unlink(providerId: string): Promise<NativeUserInternal>;
325
+ updateEmail(email: string): Promise<NativeUserInternal>;
326
+ updatePassword(password: string): Promise<NativeUserInternal>;
327
+ updatePhoneNumber(
328
+ providerId: string,
329
+ token: string,
330
+ secret?: string | null,
331
+ ): Promise<NativeUserInternal>;
332
+ updateProfile(
333
+ updates: { displayName?: string | null; photoURL?: string | null },
334
+ ): Promise<NativeUserInternal>;
335
+ verifyBeforeUpdateEmail(
336
+ newEmail: string,
337
+ actionCodeSettings?: FirebaseAuthTypes.ActionCodeSettings,
338
+ ): Promise<NativeUserInternal>;
339
+ forceRecaptchaFlowForTesting(forceRecaptchaFlow: boolean): void | Promise<void>;
340
+ setAppVerificationDisabledForTesting(disabled: boolean): void | Promise<void>;
341
+ setAutoRetrievedSmsCodeForPhoneNumber(phoneNumber: string, smsCode: string): Promise<null>;
342
+ getSession(): Promise<FirebaseAuthTypes.MultiFactorSession>;
343
+ finalizeMultiFactorEnrollment(token: string, secret: string, displayName?: string): Promise<void>;
344
+ finalizeTotpEnrollment(
345
+ totpSecret: string,
346
+ verificationCode: string,
347
+ displayName?: string,
348
+ ): Promise<void>;
349
+ unenrollMultiFactor(enrollmentId: string | FirebaseAuthTypes.MultiFactorInfo): Promise<void>;
350
+ getMultiFactorResolver(error: unknown): MultiFactorResolverResultInternal | null;
351
+ generateTotpSecret(session: FirebaseAuthTypes.MultiFactorSession): Promise<{ secretKey: string }>;
352
+ generateQrCodeUrl(secretKey: string, accountName: string, issuer: string): Promise<string>;
353
+ openInOtpApp(secretKey: string, qrCodeUrl: string): string | void;
354
+ assertionForSignIn(
355
+ uid: string,
356
+ verificationCode: string,
357
+ ): { uid: string; verificationCode: string };
358
+ }
359
+
360
+ export type AuthInternal = Auth & {
361
+ app: ReactNativeFirebase.FirebaseApp;
362
+ currentUser: FirebaseAuthTypes.User | null;
363
+ applyActionCode(code: string): Promise<void>;
364
+ checkActionCode(code: string): Promise<ActionCodeInfoResultInternal>;
365
+ confirmPasswordReset(code: string, newPassword: string): Promise<void>;
366
+ createUserWithEmailAndPassword(
367
+ email: string,
368
+ password: string,
369
+ ): Promise<UserCredentialWithAdditionalUserInfoInternal>;
370
+ fetchSignInMethodsForEmail(email: string): Promise<string[]>;
371
+ getCustomAuthDomain(): Promise<string>;
372
+ getMultiFactorResolver(error: unknown): MultiFactorResolverResultInternal | null;
373
+ isSignInWithEmailLink(emailLink: string): Promise<boolean>;
374
+ onAuthStateChanged(
375
+ listenerOrObserver: CallbackOrObserver<AuthListenerCallbackInternal>,
376
+ ): () => void;
377
+ onIdTokenChanged(
378
+ listenerOrObserver: CallbackOrObserver<AuthListenerCallbackInternal>,
379
+ ): () => void;
380
+ sendPasswordResetEmail(
381
+ email: string,
382
+ actionCodeSettings?: ActionCodeSettings | null,
383
+ ): Promise<void>;
384
+ sendSignInLinkToEmail(
385
+ email: string,
386
+ actionCodeSettings?: ActionCodeSettings,
387
+ ): Promise<void>;
388
+ setLanguageCode(code: string | null): Promise<void>;
389
+ signInAnonymously(): Promise<UserCredentialWithAdditionalUserInfoInternal>;
390
+ signInWithCredential(credential: AuthCredential): Promise<UserCredentialWithAdditionalUserInfoInternal>;
391
+ signInWithCustomToken(customToken: string): Promise<UserCredentialWithAdditionalUserInfoInternal>;
392
+ signInWithEmailAndPassword(
393
+ email: string,
394
+ password: string,
395
+ ): Promise<UserCredentialWithAdditionalUserInfoInternal>;
396
+ signInWithEmailLink(
397
+ email: string,
398
+ emailLink?: string,
399
+ ): Promise<UserCredentialWithAdditionalUserInfoInternal>;
400
+ signInWithPhoneNumber(
401
+ phoneNumber: string,
402
+ forceResend?: boolean,
403
+ ): Promise<ConfirmationResultResultInternal>;
404
+ signInWithPopup(
405
+ provider: AuthProviderWithObjectInternal,
406
+ ): Promise<UserCredentialWithAdditionalUserInfoInternal>;
407
+ signInWithRedirect(
408
+ provider: AuthProviderWithObjectInternal,
409
+ ): Promise<UserCredentialWithAdditionalUserInfoInternal>;
410
+ signOut(): Promise<void>;
411
+ useEmulator(url: string, options?: { disableWarnings?: boolean }): void;
412
+ useUserAccessGroup(userAccessGroup: string): Promise<void>;
413
+ verifyPhoneNumber(
414
+ phoneNumber: string,
415
+ autoVerifyTimeoutOrForceResend?: number | boolean,
416
+ forceResend?: boolean,
417
+ ): PhoneAuthListener;
418
+ verifyPasswordResetCode(code: string): Promise<string>;
419
+ native: RNFBAuthModule;
420
+ emitter: EventEmitter;
421
+ eventNameForApp(...args: Array<string | number>): string;
422
+ _config: ModuleConfig;
423
+ _tenantId: string | null;
424
+ _projectPasswordPolicy: PasswordPolicyInternal | null;
425
+ _tenantPasswordPolicies: Record<string, PasswordPolicyInternal | null>;
426
+ _setUser(user?: NativeUserInternal | null): FirebaseAuthTypes.User | null;
427
+ _setUserCredential(
428
+ userCredential: NativeUserCredentialInternal,
429
+ ): UserCredentialWithAdditionalUserInfoInternal;
430
+ resolveMultiFactorSignIn(
431
+ session: FirebaseAuthTypes.MultiFactorSession,
432
+ verificationId: string,
433
+ verificationCode: string,
434
+ ): Promise<UserCredentialWithAdditionalUserInfoInternal>;
435
+ resolveTotpSignIn(
436
+ session: FirebaseAuthTypes.MultiFactorSession,
437
+ uid: string,
438
+ totpSecret: string,
439
+ ): Promise<UserCredentialWithAdditionalUserInfoInternal>;
440
+ } & PasswordPolicyMixinInternal;
441
+
442
+ export type UserInternal = FirebaseAuthTypes.User & {
443
+ _auth?: AuthInternal;
444
+ _user?: NativeUserInternal;
445
+ getIdTokenResult(forceRefresh?: boolean): Promise<IdTokenResult>;
446
+ linkWithCredential(credential: AuthCredential): Promise<UserCredentialWithAdditionalUserInfoInternal>;
447
+ linkWithPopup(provider: AuthProviderWithObjectInternal): Promise<UserCredentialWithAdditionalUserInfoInternal>;
448
+ linkWithRedirect(
449
+ provider: AuthProviderWithObjectInternal,
450
+ ): Promise<UserCredentialWithAdditionalUserInfoInternal>;
451
+ reauthenticateWithCredential(
452
+ credential: AuthCredential,
453
+ ): Promise<UserCredentialWithAdditionalUserInfoInternal>;
454
+ reauthenticateWithPopup(
455
+ provider: AuthProviderWithObjectInternal,
456
+ ): Promise<UserCredentialWithAdditionalUserInfoInternal>;
457
+ reauthenticateWithRedirect(provider: AuthProviderWithObjectInternal): Promise<void>;
458
+ sendEmailVerification(actionCodeSettings?: ActionCodeSettings): Promise<void>;
459
+ unlink(providerId: string): Promise<User>;
460
+ updateEmail(email: string): Promise<void>;
461
+ updatePassword(password: string): Promise<void>;
462
+ updatePhoneNumber(credential: AuthCredential): Promise<void>;
463
+ updateProfile(updates: { displayName?: string | null; photoURL?: string | null }): Promise<void>;
464
+ verifyBeforeUpdateEmail(newEmail: string, actionCodeSettings?: ActionCodeSettings): Promise<void>;
465
+ };
466
+
467
+ export type ConfirmationResultInternal = FirebaseAuthTypes.ConfirmationResult;
468
+ export type MultiFactorResolverInternal = FirebaseAuthTypes.MultiFactorResolver;
469
+
470
+ declare module '@react-native-firebase/app/dist/module/internal/NativeModules' {
471
+ interface ReactNativeFirebaseNativeModules {
472
+ RNFBAuthModule: RNFBAuthModule;
473
+ }
474
+ }
@@ -16,6 +16,7 @@
16
16
  */
17
17
 
18
18
  import { ReactNativeFirebase } from '@react-native-firebase/app';
19
+ import type { ActionCodeURL as ActionCodeURLClass } from '../ActionCodeURL';
19
20
 
20
21
  /**
21
22
  * Firebase Authentication package for React Native.
@@ -48,10 +49,38 @@ import { ReactNativeFirebase } from '@react-native-firebase/app';
48
49
  *
49
50
  * @firebase auth
50
51
  */
51
- export namespace FirebaseAuthTypes {
52
+ /**
53
+ * @deprecated Use the exported auth types directly instead.
54
+ * FirebaseAuthTypes namespace is kept for backwards compatibility.
55
+ */
56
+ /* eslint-disable @typescript-eslint/no-namespace */
57
+ export declare namespace FirebaseAuthTypes {
52
58
  import FirebaseModule = ReactNativeFirebase.FirebaseModule;
53
59
  import NativeFirebaseError = ReactNativeFirebase.NativeFirebaseError;
54
60
 
61
+ export interface AuthError extends NativeFirebaseError {
62
+ customData?: Record<string, any>;
63
+ }
64
+
65
+ export const OperationType: {
66
+ LINK: 'link';
67
+ REAUTHENTICATE: 'reauthenticate';
68
+ SIGN_IN: 'signIn';
69
+ };
70
+
71
+ export type ActionCodeURL = ActionCodeURLClass;
72
+
73
+ export interface ApplicationVerifier {
74
+ readonly type: string;
75
+ verify(): Promise<string>;
76
+ }
77
+
78
+ export interface PasswordPolicy {
79
+ readonly enforcementState?: string;
80
+ readonly forceUpgradeOnSignin?: boolean;
81
+ readonly schemaVersion: number;
82
+ }
83
+
55
84
  export interface NativeFirebaseAuthError extends NativeFirebaseError {
56
85
  userInfo: {
57
86
  /**
@@ -168,7 +197,7 @@ export namespace FirebaseAuthTypes {
168
197
  *
169
198
  * @returns {@link AuthCredential}.
170
199
  * @param oidcSuffix this is the "Provider ID" value from the firebase console fx `azure_test`.
171
- * @param token A provider token.
200
+ * @param idToken A provider ID token.
172
201
  */
173
202
  credential: (oidcSuffix: string, idToken: string) => AuthCredential;
174
203
  }
@@ -286,7 +315,7 @@ export namespace FirebaseAuthTypes {
286
315
  * 3- the return value of generateQrCodeUrl is a Promise because react-native bridge is async
287
316
  * @public
288
317
  */
289
- export declare class TotpSecret {
318
+ export class TotpSecret {
290
319
  /** used internally to support non-default auth instances */
291
320
  private readonly auth;
292
321
  /**
@@ -306,7 +335,7 @@ export namespace FirebaseAuthTypes {
306
335
  * @param issuer issuer of the TOTP (likely the app name).
307
336
  * @returns A Promise that resolves to a QR code URL string.
308
337
  */
309
- async generateQrCodeUrl(accountName?: string, issuer?: string): Promise<string>;
338
+ generateQrCodeUrl(accountName?: string, issuer?: string): Promise<string>;
310
339
 
311
340
  /**
312
341
  * Opens the specified QR Code URL in an OTP authenticator app on the device.
@@ -332,11 +361,11 @@ export namespace FirebaseAuthTypes {
332
361
  */
333
362
  generateSecret(
334
363
  session: FirebaseAuthTypes.MultiFactorSession,
335
- auth: FirebaseAuthTypes.Auth,
364
+ auth?: FirebaseAuthTypes.Module,
336
365
  ): Promise<TotpSecret>;
337
366
  }
338
367
 
339
- export declare interface MultiFactorError extends AuthError {
368
+ export interface MultiFactorError extends AuthError {
340
369
  /** Details about the MultiFactorError. */
341
370
  readonly customData: AuthError['customData'] & {
342
371
  /**
@@ -349,6 +378,9 @@ export namespace FirebaseAuthTypes {
349
378
  /**
350
379
  * firebase.auth.X
351
380
  */
381
+ /**
382
+ * @deprecated Use the package default export or modular APIs instead.
383
+ */
352
384
  export interface Statics {
353
385
  /**
354
386
  * Return the #{@link MultiFactorUser} instance for the current user.
@@ -719,19 +751,19 @@ export namespace FirebaseAuthTypes {
719
751
  /**
720
752
  * Returns the user's display name, if available.
721
753
  */
722
- displayName?: string;
754
+ displayName?: string | null;
723
755
  /**
724
756
  * Returns the email address corresponding to the user's account in the specified provider, if available.
725
757
  */
726
- email?: string;
758
+ email?: string | null;
727
759
  /**
728
760
  * The phone number normalized based on the E.164 standard (e.g. +16505550101) for the current user. This is null if the user has no phone credential linked to the account.
729
761
  */
730
- phoneNumber?: string;
762
+ phoneNumber?: string | null;
731
763
  /**
732
764
  * Returns a url to the user's profile picture, if available.
733
765
  */
734
- photoURL?: string;
766
+ photoURL?: string | null;
735
767
  /**
736
768
  * Returns the unique identifier of the provider type that this instance corresponds to.
737
769
  */
@@ -1646,6 +1678,9 @@ export namespace FirebaseAuthTypes {
1646
1678
  *
1647
1679
  * TODO @salakar missing updateCurrentUser
1648
1680
  */
1681
+ /**
1682
+ * @deprecated Use the package default export or modular APIs instead.
1683
+ */
1649
1684
  export class Module extends FirebaseModule {
1650
1685
  /**
1651
1686
  * The current `FirebaseApp` instance for this Firebase service.
@@ -1671,7 +1706,7 @@ export namespace FirebaseAuthTypes {
1671
1706
  * const language = firebase.auth().languageCode;
1672
1707
  * ```
1673
1708
  */
1674
- languageCode: string;
1709
+ get languageCode(): string;
1675
1710
  /**
1676
1711
  * Returns the current `AuthSettings`.
1677
1712
  */
@@ -1699,9 +1734,9 @@ export namespace FirebaseAuthTypes {
1699
1734
  * ```
1700
1735
  *
1701
1736
  * @error auth/invalid-tenant-id if the tenant id is invalid for some reason
1702
- * @param tenantId the tenantID current app bind to.
1737
+ * @param tenantId the tenantID current app bind to. Pass `null` to revert to project-level IdPs (firebase-js-sdk parity). On Android, clearing tenant ID may reject because the native Firebase Auth SDK does not support null tenant IDs ([firebase-android-sdk#3398](https://github.com/firebase/firebase-android-sdk/issues/3398)).
1703
1738
  */
1704
- setTenantId(tenantId: string): Promise<void>;
1739
+ setTenantId(tenantId: string | null): Promise<void>;
1705
1740
  /**
1706
1741
  * Sets the language code.
1707
1742
  *
@@ -1712,7 +1747,7 @@ export namespace FirebaseAuthTypes {
1712
1747
  * await firebase.auth().setLanguageCode('fr');
1713
1748
  * ```
1714
1749
  *
1715
- * @param code An ISO language code.
1750
+ * @param languageCode An ISO language code.
1716
1751
  * 'null' value will set the language code to the app's current language.
1717
1752
  */
1718
1753
  setLanguageCode(languageCode: string | null): Promise<void>;
@@ -1784,7 +1819,6 @@ export namespace FirebaseAuthTypes {
1784
1819
  *
1785
1820
  * > This is an experimental feature and is only part of React Native Firebase.
1786
1821
  *
1787
- * @react-native-firebase
1788
1822
  * @param listener A listener function which triggers when the users data changes.
1789
1823
  */
1790
1824
  onUserChanged(listener: CallbackOrObserver<AuthListenerCallback>): () => void;
@@ -2265,13 +2299,13 @@ export namespace FirebaseAuthTypes {
2265
2299
  * If you want to use the emulator on a real android device, you will need to specify the actual host
2266
2300
  * computer IP address.
2267
2301
  *
2268
- * @param url: emulator URL, must have host and port (eg, 'http://localhost:9099')
2302
+ * @param url emulator URL, must have host and port (eg, 'http://localhost:9099')
2269
2303
  */
2270
2304
  useEmulator(url: string): void;
2271
2305
  /**
2272
2306
  * Provides a MultiFactorResolver suitable for completion of a multi-factor flow.
2273
2307
  *
2274
- * @param error: The MultiFactorError raised during a sign-in, or reauthentication operation.
2308
+ * @param error The MultiFactorError raised during a sign-in, or reauthentication operation.
2275
2309
  */
2276
2310
  getMultiFactorResolver(error: MultiFactorError): MultiFactorResolver;
2277
2311
  /**
@@ -2294,33 +2328,12 @@ export namespace FirebaseAuthTypes {
2294
2328
  * Gets the config used to initialize this auth instance. This is to match Firebase JS SDK behavior.
2295
2329
  * It returns an empty map as the config is not available in the native SDK.
2296
2330
  */
2297
- get config(): Map<any, any>;
2331
+ get config(): Record<string, never>;
2298
2332
  }
2299
2333
  }
2300
2334
 
2301
2335
  export type CallbackOrObserver<T extends (...args: any[]) => any> = T | { next: T };
2302
2336
 
2303
- type AuthNamespace = ReactNativeFirebase.FirebaseModuleWithStaticsAndApp<
2304
- FirebaseAuthTypes.Module,
2305
- FirebaseAuthTypes.Statics
2306
- > & {
2307
- auth: ReactNativeFirebase.FirebaseModuleWithStaticsAndApp<
2308
- FirebaseAuthTypes.Module,
2309
- FirebaseAuthTypes.Statics
2310
- >;
2311
- firebase: ReactNativeFirebase.Module;
2312
- app(name?: string): ReactNativeFirebase.FirebaseApp;
2313
- };
2314
-
2315
- declare const defaultExport: AuthNamespace;
2316
-
2317
- export const firebase: ReactNativeFirebase.Module & {
2318
- auth: typeof defaultExport;
2319
- app(name?: string): ReactNativeFirebase.FirebaseApp & { auth(): FirebaseAuthTypes.Module };
2320
- };
2321
-
2322
- export default defaultExport;
2323
-
2324
2337
  /**
2325
2338
  * Attach namespace to `firebase.` and `FirebaseApp.`.
2326
2339
  */
@@ -2335,5 +2348,3 @@ declare module '@react-native-firebase/app' {
2335
2348
  }
2336
2349
  }
2337
2350
  }
2338
-
2339
- export * from './modular';
package/lib/version.ts ADDED
@@ -0,0 +1,2 @@
1
+ // Generated by genversion.
2
+ export const version = '25.0.0';