diff --git a/README.md b/README.md
index 077310f7ef..88a910dad1 100644
--- a/README.md
+++ b/README.md
@@ -42,24 +42,24 @@ The main package that you interface with is `App` (`@react-native-firebase/app`)
| Name | Downloads |
| -------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
-| [AI](/packages/ai) | [](https://www.npmjs.com/package/@react-native-firebase/ai) |
-| [Analytics](/packages/analytics) | [](https://www.npmjs.com/package/@react-native-firebase/analytics) |
-| [App](/packages/app) | [](https://www.npmjs.com/package/@react-native-firebase/app) |
-| [App Check](/packages/app-check) | [](https://www.npmjs.com/package/@react-native-firebase/app-check) |
-| [App Distribution](/packages/app-distribution) | [](https://www.npmjs.com/package/@react-native-firebase/app-distribution) |
-| [Authentication](/packages/auth) | [](https://www.npmjs.com/package/@react-native-firebase/auth) |
-| [Cloud Firestore](/packages/firestore) | [](https://www.npmjs.com/package/@react-native-firebase/firestore) |
-| [Cloud Functions](/packages/functions) | [](https://www.npmjs.com/package/@react-native-firebase/functions) |
-| [Cloud Messaging](/packages/messaging) | [](https://www.npmjs.com/package/@react-native-firebase/messaging) |
-| [Cloud Storage](/packages/storage) | [](https://www.npmjs.com/package/@react-native-firebase/storage) |
-| [Crashlytics](/packages/crashlytics) | [](https://www.npmjs.com/package/@react-native-firebase/crashlytics) |
-| [Dynamic Links](/packages/dynamic-links) | [](https://www.npmjs.com/package/@react-native-firebase/dynamic-links) |
+| [AI](https://github.com/invertase/react-native-firebase/tree/main/packages/ai) | [](https://www.npmjs.com/package/@react-native-firebase/ai) |
+| [Analytics](https://github.com/invertase/react-native-firebase/tree/main/packages/analytics) | [](https://www.npmjs.com/package/@react-native-firebase/analytics) |
+| [App](https://github.com/invertase/react-native-firebase/tree/main/packages/app) | [](https://www.npmjs.com/package/@react-native-firebase/app) |
+| [App Check](https://github.com/invertase/react-native-firebase/tree/main/packages/app-check) | [](https://www.npmjs.com/package/@react-native-firebase/app-check) |
+| [App Distribution](https://github.com/invertase/react-native-firebase/tree/main/packages/app-distribution) | [](https://www.npmjs.com/package/@react-native-firebase/app-distribution) |
+| [Authentication](https://github.com/invertase/react-native-firebase/tree/main/packages/auth) | [](https://www.npmjs.com/package/@react-native-firebase/auth) |
+| [Cloud Firestore](https://github.com/invertase/react-native-firebase/tree/main/packages/firestore) | [](https://www.npmjs.com/package/@react-native-firebase/firestore) |
+| [Cloud Functions](https://github.com/invertase/react-native-firebase/tree/main/packages/functions) | [](https://www.npmjs.com/package/@react-native-firebase/functions) |
+| [Cloud Messaging](https://github.com/invertase/react-native-firebase/tree/main/packages/messaging) | [](https://www.npmjs.com/package/@react-native-firebase/messaging) |
+| [Cloud Storage](https://github.com/invertase/react-native-firebase/tree/main/packages/storage) | [](https://www.npmjs.com/package/@react-native-firebase/storage) |
+| [Crashlytics](https://github.com/invertase/react-native-firebase/tree/main/packages/crashlytics) | [](https://www.npmjs.com/package/@react-native-firebase/crashlytics) |
+| [Dynamic Links](https://github.com/invertase/react-native-firebase/tree/main/packages/dynamic-links) | [](https://www.npmjs.com/package/@react-native-firebase/dynamic-links) |
| [In-app Messaging](/packages/in-app-messaging) | [](https://www.npmjs.com/package/@react-native-firebase/in-app-messaging) |
-| [Installations](/packages/installations) | [](https://www.npmjs.com/package/@react-native-firebase/installations) |
+| [Installations](https://github.com/invertase/react-native-firebase/tree/main/packages/installations) | [](https://www.npmjs.com/package/@react-native-firebase/installations) |
| [ML](/packages/ml) | [](https://www.npmjs.com/package/@react-native-firebase/ml) |
-| [Performance Monitoring](/packages/perf) | [](https://www.npmjs.com/package/@react-native-firebase/perf) |
-| [Realtime Database](/packages/database) | [](https://www.npmjs.com/package/@react-native-firebase/database) |
-| [Remote Config](/packages/remote-config) | [](https://www.npmjs.com/package/@react-native-firebase/remote-config) |
+| [Performance Monitoring](https://github.com/invertase/react-native-firebase/tree/main/packages/perf) | [](https://www.npmjs.com/package/@react-native-firebase/perf) |
+| [Realtime Database](https://github.com/invertase/react-native-firebase/tree/main/packages/database) | [](https://www.npmjs.com/package/@react-native-firebase/database) |
+| [Remote Config](https://github.com/invertase/react-native-firebase/tree/main/packages/remote-config) | [](https://www.npmjs.com/package/@react-native-firebase/remote-config) |
## Documentation
diff --git a/docs.json b/docs.json
new file mode 100644
index 0000000000..08c39ccaeb
--- /dev/null
+++ b/docs.json
@@ -0,0 +1,243 @@
+{
+ "$schema": "https://docs.page/schema.json",
+ "name": "React Native Firebase",
+ "description": "A well-tested feature-rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for all Firebase services.",
+ "favicon": "/rnfb-logo.png",
+ "agent": "68400764-5d8a-44fa-8b05-87a0a166e110",
+ "theme": {
+ "primary": "#e88533"
+ },
+ "logo": {
+ "light": "/rnfb-logo.png",
+ "dark": "/rnfb-logo.png"
+ },
+ "social": {
+ "x": "@invertaseio",
+ "github": "invertase/react-native-firebase"
+ },
+ "tabs": [
+ {
+ "id": "root",
+ "title": "Documentation",
+ "href": "/"
+ },
+ {
+ "id": "reference",
+ "title": "Reference API",
+ "href": "/reference"
+ }
+ ],
+ "sidebar": [
+ {
+ "group": "Getting Started",
+ "tab": "root",
+ "pages": [
+ { "title": "Getting Started", "href": "/" },
+ { "title": "Migration Guide to v22", "href": "/migrating-to-v22" },
+ { "title": "Migration Guide to v23", "href": "/migrating-to-v23" },
+ { "title": "Migration Guide to v24", "href": "/migrating-to-v24" },
+ { "title": "TypeScript", "href": "/typescript" },
+ { "title": "Platforms", "href": "/platforms" },
+ {
+ "title": "Release Notes",
+ "href": "https://github.com/invertase/react-native-firebase/blob/main/CHANGELOG.md"
+ },
+ { "title": "FAQs and Tips", "href": "/faqs-and-tips" },
+ { "title": "Feature Requests", "href": "https://invertase.canny.io/react-native-firebase" },
+ {
+ "title": "Contributing",
+ "href": "https://github.com/invertase/react-native-firebase/blob/main/CONTRIBUTING.md"
+ }
+ ]
+ },
+ {
+ "group": "Reference API",
+ "tab": "reference",
+ "pages": [
+ { "title": "ai", "href": "/reference/ai/lib" },
+ { "title": "analytics", "href": "/reference/analytics/lib/modular" },
+ { "title": "app", "href": "/reference/app/lib/modular" },
+ { "title": "app utils", "href": "/reference/app/lib/utils" },
+ { "title": "app-check", "href": "/reference/app-check/lib/modular" },
+ { "title": "app-distribution", "href": "/reference/app-distribution/lib/modular" },
+ { "title": "auth", "href": "/reference/auth/lib/modular" },
+ { "title": "crashlytics", "href": "/reference/crashlytics/lib/modular" },
+ { "title": "database", "href": "/reference/database/lib/modular" },
+ { "title": "firestore", "href": "/reference/firestore/lib/modular" },
+ { "title": "functions", "href": "/reference/functions/lib/modular" },
+ { "title": "in-app-messaging", "href": "/reference/in-app-messaging/lib/modular" },
+ { "title": "installations", "href": "/reference/installations/lib/modular" },
+ { "title": "messaging", "href": "/reference/messaging/lib/modular" },
+ { "title": "ml", "href": "/reference/ml/lib/modular" },
+ { "title": "perf", "href": "/reference/perf/lib/modular" },
+ { "title": "remote-config", "href": "/reference/remote-config/lib/modular" },
+ { "title": "storage", "href": "/reference/storage/lib/modular" },
+ { "title": "vertexai", "href": "/reference/vertexai/lib" }
+ ]
+ },
+ {
+ "group": "Analytics",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/firebase/analytics.svg",
+ "pages": [
+ { "title": "Usage", "href": "/analytics/usage" },
+ { "title": "Screen Tracking", "href": "/analytics/screen-tracking" },
+ {
+ "title": "Building an Analytics Funnel",
+ "href": "https://blog.theodo.com/2018/01/building-google-analytics-funnel-firebase-react-native"
+ }
+ ]
+ },
+ {
+ "group": "App Check",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/social/firebase-logo.png",
+ "pages": [{ "title": "Usage", "href": "/app-check/usage" }]
+ },
+ {
+ "group": "App Distribution",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/firebase/app-distribution.svg",
+ "pages": [{ "title": "Usage", "href": "/app-distribution/usage" }]
+ },
+ {
+ "group": "Authentication",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/firebase/authentication.svg",
+ "pages": [
+ { "title": "Usage", "href": "/auth/usage" },
+ { "title": "Social Auth", "href": "/auth/social-auth" },
+ { "title": "Phone Auth", "href": "/auth/phone-auth" },
+ { "title": "OpenID Connect Auth", "href": "/auth/oidc-auth" },
+ { "title": "Multi-factor Auth", "href": "/auth/multi-factor-auth" }
+ ]
+ },
+ {
+ "group": "Cloud Firestore",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/firebase/cloud-firestore.svg",
+ "pages": [
+ { "title": "Usage", "href": "/firestore/usage" },
+ { "title": "Usage with Emulator", "href": "/firestore/emulator" },
+ { "title": "Usage with FlatLists", "href": "/firestore/usage-with-flatlists" },
+ { "title": "Implementing Pagination", "href": "/firestore/pagination" },
+ {
+ "title": "Building a \"TODO\" app",
+ "href": "https://invertase.io/blog/getting-started-with-cloud-firestore-on-react-native"
+ }
+ ]
+ },
+ {
+ "group": "Cloud Functions",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/firebase/cloud-functions.svg",
+ "pages": [
+ { "title": "Usage", "href": "/functions/usage" },
+ {
+ "title": "Writing & Deploying Functions",
+ "href": "/functions/writing-deploying-functions"
+ }
+ ]
+ },
+ {
+ "group": "Cloud Messaging",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/firebase/cloud-messaging.svg",
+ "pages": [
+ { "title": "Usage", "href": "/messaging/usage" },
+ { "title": "iOS Project Setup", "href": "/messaging/usage/ios-setup" },
+ { "title": "iOS Permissions", "href": "/messaging/ios-permissions" },
+ { "title": "Notifications", "href": "/messaging/notifications" },
+ { "title": "iOS Notification Images", "href": "/messaging/ios-notification-images" },
+ { "title": "Server Integration", "href": "/messaging/server-integration" }
+ ]
+ },
+ {
+ "group": "Cloud Storage",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/firebase/cloud-storage.svg",
+ "pages": [{ "title": "Usage", "href": "/storage/usage" }]
+ },
+ {
+ "group": "Core / App",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/social/firebase-logo.png",
+ "pages": [
+ { "title": "Usage", "href": "/app/usage" },
+ { "title": "JSON Config", "href": "/app/json-config" },
+ { "title": "Utils", "href": "/app/utils" }
+ ]
+ },
+ {
+ "group": "Crashlytics",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/firebase/crashlytics.svg",
+ "pages": [
+ { "title": "Usage", "href": "/crashlytics/usage" },
+ { "title": "Viewing crash reports", "href": "/crashlytics/crash-reports" }
+ ]
+ },
+ {
+ "group": "Realtime Database",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/firebase/realtime-database.svg",
+ "pages": [
+ { "title": "Usage", "href": "/database/usage" },
+ { "title": "Offline Support", "href": "/database/offline-support" },
+ { "title": "Presence Detection", "href": "/database/presence-detection" }
+ ]
+ },
+ {
+ "group": "In-App Messaging",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/firebase/in-app-messaging.svg",
+ "pages": [{ "title": "Usage", "href": "/in-app-messaging/usage" }]
+ },
+ {
+ "group": "Installations",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/social/firebase-logo.png",
+ "pages": [{ "title": "Usage", "href": "/installations/usage" }]
+ },
+ {
+ "group": "ML",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/firebase/ml-kit.svg",
+ "pages": [{ "title": "Usage", "href": "/ml/usage" }]
+ },
+ {
+ "group": "Remote Config",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/firebase/remote-config.svg",
+ "pages": [{ "title": "Usage", "href": "/remote-config/usage" }]
+ },
+ {
+ "group": "Performance Monitoring",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/firebase/performance-monitoring.svg",
+ "pages": [
+ { "title": "Usage", "href": "/perf/usage" },
+ { "title": "Axios Integration", "href": "/perf/axios-integration" },
+ { "title": "KY Integration", "href": "/perf/ky-integration" }
+ ]
+ },
+ {
+ "group": "VertexAi",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/social/firebase-logo.png",
+ "pages": [{ "title": "Usage", "href": "/vertexai/usage" }]
+ },
+ {
+ "group": "Legacy docs",
+ "tab": "root",
+ "icon": "//static.invertase.io/assets/social/firebase-logo.png",
+ "pages": [
+ { "title": "Migrating to v6", "href": "/migrating-to-v6" },
+ {
+ "title": "Legacy Docs (<= v5)",
+ "href": "https://v5.rnfirebase.io/docs/v5.x.x/getting-started"
+ }
+ ]
+ }
+ ]
+}
diff --git a/docs/about.md b/docs/about.mdx
similarity index 100%
rename from docs/about.md
rename to docs/about.mdx
diff --git a/docs/analytics/index.md b/docs/analytics/index.mdx
similarity index 100%
rename from docs/analytics/index.md
rename to docs/analytics/index.mdx
diff --git a/docs/analytics/screen-tracking.md b/docs/analytics/screen-tracking.mdx
similarity index 100%
rename from docs/analytics/screen-tracking.md
rename to docs/analytics/screen-tracking.mdx
diff --git a/docs/analytics/usage/index.md b/docs/analytics/usage/index.mdx
similarity index 100%
rename from docs/analytics/usage/index.md
rename to docs/analytics/usage/index.mdx
diff --git a/docs/analytics/usage/installation/android.md b/docs/analytics/usage/installation/android.mdx
similarity index 100%
rename from docs/analytics/usage/installation/android.md
rename to docs/analytics/usage/installation/android.mdx
diff --git a/docs/analytics/usage/installation/ios.md b/docs/analytics/usage/installation/ios.mdx
similarity index 100%
rename from docs/analytics/usage/installation/ios.md
rename to docs/analytics/usage/installation/ios.mdx
diff --git a/docs/app-check/usage/index.md b/docs/app-check/usage/index.mdx
similarity index 100%
rename from docs/app-check/usage/index.md
rename to docs/app-check/usage/index.mdx
diff --git a/docs/app-distribution/usage/index.md b/docs/app-distribution/usage/index.mdx
similarity index 100%
rename from docs/app-distribution/usage/index.md
rename to docs/app-distribution/usage/index.mdx
diff --git a/docs/app/index.md b/docs/app/index.mdx
similarity index 100%
rename from docs/app/index.md
rename to docs/app/index.mdx
diff --git a/docs/app/json-config.md b/docs/app/json-config.mdx
similarity index 100%
rename from docs/app/json-config.md
rename to docs/app/json-config.mdx
diff --git a/docs/app/usage.md b/docs/app/usage.mdx
similarity index 100%
rename from docs/app/usage.md
rename to docs/app/usage.mdx
diff --git a/docs/app/utils.md b/docs/app/utils.mdx
similarity index 100%
rename from docs/app/utils.md
rename to docs/app/utils.mdx
diff --git a/docs/auth/index.md b/docs/auth/index.mdx
similarity index 100%
rename from docs/auth/index.md
rename to docs/auth/index.mdx
diff --git a/docs/auth/multi-factor-auth.md b/docs/auth/multi-factor-auth.mdx
similarity index 100%
rename from docs/auth/multi-factor-auth.md
rename to docs/auth/multi-factor-auth.mdx
diff --git a/docs/auth/oidc-auth.md b/docs/auth/oidc-auth.mdx
similarity index 100%
rename from docs/auth/oidc-auth.md
rename to docs/auth/oidc-auth.mdx
diff --git a/docs/auth/phone-auth.md b/docs/auth/phone-auth.mdx
similarity index 100%
rename from docs/auth/phone-auth.md
rename to docs/auth/phone-auth.mdx
diff --git a/docs/auth/social-auth.md b/docs/auth/social-auth.mdx
similarity index 100%
rename from docs/auth/social-auth.md
rename to docs/auth/social-auth.mdx
diff --git a/docs/auth/usage/index.md b/docs/auth/usage/index.mdx
similarity index 100%
rename from docs/auth/usage/index.md
rename to docs/auth/usage/index.mdx
diff --git a/docs/auth/usage/installation/android.md b/docs/auth/usage/installation/android.mdx
similarity index 100%
rename from docs/auth/usage/installation/android.md
rename to docs/auth/usage/installation/android.mdx
diff --git a/docs/auth/usage/installation/ios.md b/docs/auth/usage/installation/ios.mdx
similarity index 100%
rename from docs/auth/usage/installation/ios.md
rename to docs/auth/usage/installation/ios.mdx
diff --git a/docs/crashlytics/android-setup.md b/docs/crashlytics/android-setup.mdx
similarity index 100%
rename from docs/crashlytics/android-setup.md
rename to docs/crashlytics/android-setup.mdx
diff --git a/docs/crashlytics/crash-reports.md b/docs/crashlytics/crash-reports.mdx
similarity index 100%
rename from docs/crashlytics/crash-reports.md
rename to docs/crashlytics/crash-reports.mdx
diff --git a/docs/crashlytics/index.md b/docs/crashlytics/index.mdx
similarity index 100%
rename from docs/crashlytics/index.md
rename to docs/crashlytics/index.mdx
diff --git a/docs/crashlytics/installation.md b/docs/crashlytics/installation.mdx
similarity index 100%
rename from docs/crashlytics/installation.md
rename to docs/crashlytics/installation.mdx
diff --git a/docs/crashlytics/usage/index.md b/docs/crashlytics/usage/index.mdx
similarity index 100%
rename from docs/crashlytics/usage/index.md
rename to docs/crashlytics/usage/index.mdx
diff --git a/docs/crashlytics/usage/installation/android.md b/docs/crashlytics/usage/installation/android.mdx
similarity index 100%
rename from docs/crashlytics/usage/installation/android.md
rename to docs/crashlytics/usage/installation/android.mdx
diff --git a/docs/crashlytics/usage/installation/ios.md b/docs/crashlytics/usage/installation/ios.mdx
similarity index 100%
rename from docs/crashlytics/usage/installation/ios.md
rename to docs/crashlytics/usage/installation/ios.mdx
diff --git a/docs/database/index.md b/docs/database/index.mdx
similarity index 100%
rename from docs/database/index.md
rename to docs/database/index.mdx
diff --git a/docs/database/offline-support.md b/docs/database/offline-support.mdx
similarity index 100%
rename from docs/database/offline-support.md
rename to docs/database/offline-support.mdx
diff --git a/docs/database/presence-detection.md b/docs/database/presence-detection.mdx
similarity index 100%
rename from docs/database/presence-detection.md
rename to docs/database/presence-detection.mdx
diff --git a/docs/database/usage/index.md b/docs/database/usage/index.mdx
similarity index 100%
rename from docs/database/usage/index.md
rename to docs/database/usage/index.mdx
diff --git a/docs/database/usage/installation/android.md b/docs/database/usage/installation/android.mdx
similarity index 100%
rename from docs/database/usage/installation/android.md
rename to docs/database/usage/installation/android.mdx
diff --git a/docs/database/usage/installation/ios.md b/docs/database/usage/installation/ios.mdx
similarity index 100%
rename from docs/database/usage/installation/ios.md
rename to docs/database/usage/installation/ios.mdx
diff --git a/docs/enabling-multidex.md b/docs/enabling-multidex.mdx
similarity index 100%
rename from docs/enabling-multidex.md
rename to docs/enabling-multidex.mdx
diff --git a/docs/faqs-and-tips.md b/docs/faqs-and-tips.mdx
similarity index 100%
rename from docs/faqs-and-tips.md
rename to docs/faqs-and-tips.mdx
diff --git a/docs/firestore/emulator.md b/docs/firestore/emulator.mdx
similarity index 100%
rename from docs/firestore/emulator.md
rename to docs/firestore/emulator.mdx
diff --git a/docs/firestore/index.md b/docs/firestore/index.mdx
similarity index 100%
rename from docs/firestore/index.md
rename to docs/firestore/index.mdx
diff --git a/docs/firestore/pagination.md b/docs/firestore/pagination.mdx
similarity index 100%
rename from docs/firestore/pagination.md
rename to docs/firestore/pagination.mdx
diff --git a/docs/firestore/usage-with-flatlists.md b/docs/firestore/usage-with-flatlists.mdx
similarity index 100%
rename from docs/firestore/usage-with-flatlists.md
rename to docs/firestore/usage-with-flatlists.mdx
diff --git a/docs/firestore/usage/index.md b/docs/firestore/usage/index.mdx
similarity index 100%
rename from docs/firestore/usage/index.md
rename to docs/firestore/usage/index.mdx
diff --git a/docs/firestore/usage/installation/android.md b/docs/firestore/usage/installation/android.mdx
similarity index 100%
rename from docs/firestore/usage/installation/android.md
rename to docs/firestore/usage/installation/android.mdx
diff --git a/docs/firestore/usage/installation/ios.md b/docs/firestore/usage/installation/ios.mdx
similarity index 100%
rename from docs/firestore/usage/installation/ios.md
rename to docs/firestore/usage/installation/ios.mdx
diff --git a/docs/functions/index.md b/docs/functions/index.mdx
similarity index 100%
rename from docs/functions/index.md
rename to docs/functions/index.mdx
diff --git a/docs/functions/usage/index.md b/docs/functions/usage/index.mdx
similarity index 100%
rename from docs/functions/usage/index.md
rename to docs/functions/usage/index.mdx
diff --git a/docs/functions/usage/installation/android.md b/docs/functions/usage/installation/android.mdx
similarity index 100%
rename from docs/functions/usage/installation/android.md
rename to docs/functions/usage/installation/android.mdx
diff --git a/docs/functions/usage/installation/ios.md b/docs/functions/usage/installation/ios.mdx
similarity index 100%
rename from docs/functions/usage/installation/ios.md
rename to docs/functions/usage/installation/ios.mdx
diff --git a/docs/functions/writing-deploying-functions.md b/docs/functions/writing-deploying-functions.mdx
similarity index 100%
rename from docs/functions/writing-deploying-functions.md
rename to docs/functions/writing-deploying-functions.mdx
diff --git a/docs/in-app-messaging/index.md b/docs/in-app-messaging/index.mdx
similarity index 100%
rename from docs/in-app-messaging/index.md
rename to docs/in-app-messaging/index.mdx
diff --git a/docs/in-app-messaging/usage/index.md b/docs/in-app-messaging/usage/index.mdx
similarity index 100%
rename from docs/in-app-messaging/usage/index.md
rename to docs/in-app-messaging/usage/index.mdx
diff --git a/docs/in-app-messaging/usage/installation/android.md b/docs/in-app-messaging/usage/installation/android.mdx
similarity index 100%
rename from docs/in-app-messaging/usage/installation/android.md
rename to docs/in-app-messaging/usage/installation/android.mdx
diff --git a/docs/in-app-messaging/usage/installation/ios.md b/docs/in-app-messaging/usage/installation/ios.mdx
similarity index 100%
rename from docs/in-app-messaging/usage/installation/ios.md
rename to docs/in-app-messaging/usage/installation/ios.mdx
diff --git a/docs/index.md b/docs/index.mdx
similarity index 100%
rename from docs/index.md
rename to docs/index.mdx
diff --git a/docs/install-android.md b/docs/install-android.mdx
similarity index 100%
rename from docs/install-android.md
rename to docs/install-android.mdx
diff --git a/docs/install-ios.md b/docs/install-ios.mdx
similarity index 100%
rename from docs/install-ios.md
rename to docs/install-ios.mdx
diff --git a/docs/installations/usage/index.md b/docs/installations/usage/index.mdx
similarity index 100%
rename from docs/installations/usage/index.md
rename to docs/installations/usage/index.mdx
diff --git a/docs/messaging/index.md b/docs/messaging/index.mdx
similarity index 100%
rename from docs/messaging/index.md
rename to docs/messaging/index.mdx
diff --git a/docs/messaging/ios-notification-images.md b/docs/messaging/ios-notification-images.mdx
similarity index 100%
rename from docs/messaging/ios-notification-images.md
rename to docs/messaging/ios-notification-images.mdx
diff --git a/docs/messaging/ios-permissions.md b/docs/messaging/ios-permissions.mdx
similarity index 100%
rename from docs/messaging/ios-permissions.md
rename to docs/messaging/ios-permissions.mdx
diff --git a/docs/messaging/notifications.md b/docs/messaging/notifications.mdx
similarity index 100%
rename from docs/messaging/notifications.md
rename to docs/messaging/notifications.mdx
diff --git a/docs/messaging/server-integration.md b/docs/messaging/server-integration.mdx
similarity index 100%
rename from docs/messaging/server-integration.md
rename to docs/messaging/server-integration.mdx
diff --git a/docs/messaging/usage/index.md b/docs/messaging/usage/index.mdx
similarity index 100%
rename from docs/messaging/usage/index.md
rename to docs/messaging/usage/index.mdx
diff --git a/docs/messaging/usage/installation/android.md b/docs/messaging/usage/installation/android.mdx
similarity index 100%
rename from docs/messaging/usage/installation/android.md
rename to docs/messaging/usage/installation/android.mdx
diff --git a/docs/messaging/usage/installation/ios.md b/docs/messaging/usage/installation/ios.mdx
similarity index 100%
rename from docs/messaging/usage/installation/ios.md
rename to docs/messaging/usage/installation/ios.mdx
diff --git a/docs/messaging/usage/ios-setup.md b/docs/messaging/usage/ios-setup.mdx
similarity index 100%
rename from docs/messaging/usage/ios-setup.md
rename to docs/messaging/usage/ios-setup.mdx
diff --git a/docs/messaging/usage/messaging-with-xmpp.md b/docs/messaging/usage/messaging-with-xmpp.mdx
similarity index 100%
rename from docs/messaging/usage/messaging-with-xmpp.md
rename to docs/messaging/usage/messaging-with-xmpp.mdx
diff --git a/docs/migrating-to-v22.md b/docs/migrating-to-v22.mdx
similarity index 100%
rename from docs/migrating-to-v22.md
rename to docs/migrating-to-v22.mdx
diff --git a/docs/migrating-to-v23.md b/docs/migrating-to-v23.mdx
similarity index 100%
rename from docs/migrating-to-v23.md
rename to docs/migrating-to-v23.mdx
diff --git a/docs/migrating-to-v24.md b/docs/migrating-to-v24.mdx
similarity index 100%
rename from docs/migrating-to-v24.md
rename to docs/migrating-to-v24.mdx
diff --git a/docs/migrating-to-v6.md b/docs/migrating-to-v6.mdx
similarity index 100%
rename from docs/migrating-to-v6.md
rename to docs/migrating-to-v6.mdx
diff --git a/docs/ml/index.md b/docs/ml/index.mdx
similarity index 100%
rename from docs/ml/index.md
rename to docs/ml/index.mdx
diff --git a/docs/ml/usage/index.md b/docs/ml/usage/index.mdx
similarity index 100%
rename from docs/ml/usage/index.md
rename to docs/ml/usage/index.mdx
diff --git a/docs/ml/usage/installation/android.md b/docs/ml/usage/installation/android.mdx
similarity index 100%
rename from docs/ml/usage/installation/android.md
rename to docs/ml/usage/installation/android.mdx
diff --git a/docs/ml/usage/installation/ios.md b/docs/ml/usage/installation/ios.mdx
similarity index 100%
rename from docs/ml/usage/installation/ios.md
rename to docs/ml/usage/installation/ios.mdx
diff --git a/docs/perf/axios-integration.md b/docs/perf/axios-integration.mdx
similarity index 100%
rename from docs/perf/axios-integration.md
rename to docs/perf/axios-integration.mdx
diff --git a/docs/perf/index.md b/docs/perf/index.mdx
similarity index 100%
rename from docs/perf/index.md
rename to docs/perf/index.mdx
diff --git a/docs/perf/ky-integration.md b/docs/perf/ky-integration.mdx
similarity index 100%
rename from docs/perf/ky-integration.md
rename to docs/perf/ky-integration.mdx
diff --git a/docs/perf/usage/index.md b/docs/perf/usage/index.mdx
similarity index 100%
rename from docs/perf/usage/index.md
rename to docs/perf/usage/index.mdx
diff --git a/docs/perf/usage/installation/android.md b/docs/perf/usage/installation/android.mdx
similarity index 100%
rename from docs/perf/usage/installation/android.md
rename to docs/perf/usage/installation/android.mdx
diff --git a/docs/perf/usage/installation/ios.md b/docs/perf/usage/installation/ios.mdx
similarity index 100%
rename from docs/perf/usage/installation/ios.md
rename to docs/perf/usage/installation/ios.mdx
diff --git a/docs/platforms.md b/docs/platforms.mdx
similarity index 100%
rename from docs/platforms.md
rename to docs/platforms.mdx
diff --git a/docs/reference/@react-native-firebase/ai.mdx b/docs/reference/@react-native-firebase/ai.mdx
new file mode 100644
index 0000000000..282b323d32
--- /dev/null
+++ b/docs/reference/@react-native-firebase/ai.mdx
@@ -0,0 +1,9603 @@
+[**React Native Firebase**](../README.mdx)
+
+***
+
+[React Native Firebase](../packages.mdx) / @react-native-firebase/ai
+
+# @react-native-firebase/ai
+
+## Functions
+
+### getAI()
+
+> **getAI**(`app?`, `options?`): [`AI`](#ai)
+
+Defined in: [index.ts:78](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/index.ts#L78)
+
+Returns the default [AI](#ai) instance that is associated with the provided
+@firebase/app#FirebaseApp. If no instance exists, initializes a new instance with the
+default settings.
+
+#### Parameters
+
+##### app?
+
+[`FirebaseApp`](app/namespaces/ReactNativeFirebase.mdx#firebaseapp) = `...`
+
+The @firebase/app#FirebaseApp to use.
+
+##### options?
+
+[`AIOptions`](#aioptions-1)
+
+[AIOptions](#aioptions-1) that configure the AI instance.
+
+#### Returns
+
+[`AI`](#ai)
+
+The default [AI](#ai) instance for the given @firebase/app#FirebaseApp.
+
+#### Examples
+
+```javascript
+const ai = getAI(app);
+```
+
+```javascript
+// Get an AI instance configured to use the Gemini Developer API (via Google AI).
+const ai = getAI(app, { backend: new GoogleAIBackend() });
+```
+
+```javascript
+// Get an AI instance configured to use the Vertex AI Gemini API.
+const ai = getAI(app, { backend: new VertexAIBackend() });
+```
+
+***
+
+### getGenerativeModel()
+
+> **getGenerativeModel**(`ai`, `modelParams`, `requestOptions?`): [`GenerativeModel`](#generativemodel)
+
+Defined in: [index.ts:103](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/index.ts#L103)
+
+Returns a [GenerativeModel](#generativemodel) class with methods for inference
+and other functionality.
+
+#### Parameters
+
+##### ai
+
+[`AI`](#ai)
+
+##### modelParams
+
+[`ModelParams`](#modelparams)
+
+##### requestOptions?
+
+[`RequestOptions`](#requestoptions-5)
+
+#### Returns
+
+[`GenerativeModel`](#generativemodel)
+
+***
+
+### getImagenModel()
+
+> **getImagenModel**(`ai`, `modelParams`, `requestOptions?`): [`ImagenModel`](#imagenmodel)
+
+Defined in: [index.ts:131](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/index.ts#L131)
+
+**`Beta`**
+
+Returns an [ImagenModel](#imagenmodel) class with methods for using Imagen.
+
+Only Imagen 3 models (named `imagen-3.0-*`) are supported.
+
+#### Parameters
+
+##### ai
+
+[`AI`](#ai)
+
+An [AI](#ai) instance.
+
+##### modelParams
+
+[`ImagenModelParams`](#imagenmodelparams)
+
+Parameters to use when making Imagen requests.
+
+##### requestOptions?
+
+[`RequestOptions`](#requestoptions-5)
+
+Additional options to use when making requests.
+
+#### Returns
+
+[`ImagenModel`](#imagenmodel)
+
+#### Throws
+
+If the `apiKey` or `projectId` fields are missing in your
+Firebase config.
+
+***
+
+### getLiveGenerativeModel()
+
+> **getLiveGenerativeModel**(`ai`, `modelParams`): [`LiveGenerativeModel`](#livegenerativemodel)
+
+Defined in: [index.ts:157](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/index.ts#L157)
+
+**`Beta`**
+
+Returns a [LiveGenerativeModel](#livegenerativemodel) class for real-time, bidirectional communication.
+
+The Live API is only supported in modern browser windows and Node >= 22.
+
+#### Parameters
+
+##### ai
+
+[`AI`](#ai)
+
+An [AI](#ai) instance.
+
+##### modelParams
+
+[`LiveModelParams`](#livemodelparams)
+
+Parameters to use when setting up a [LiveSession](#livesession).
+
+#### Returns
+
+[`LiveGenerativeModel`](#livegenerativemodel)
+
+#### Throws
+
+If the `apiKey` or `projectId` fields are missing in your
+Firebase config.
+
+***
+
+### getTemplateGenerativeModel()
+
+> **getTemplateGenerativeModel**(`ai`, `requestOptions?`): [`TemplateGenerativeModel`](#templategenerativemodel)
+
+Defined in: [index.ts:176](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/index.ts#L176)
+
+**`Beta`**
+
+Returns a [TemplateGenerativeModel](#templategenerativemodel) class for executing server-side Gemini templates.
+
+#### Parameters
+
+##### ai
+
+[`AI`](#ai)
+
+An [AI](#ai) instance.
+
+##### requestOptions?
+
+[`RequestOptions`](#requestoptions-5)
+
+Additional options to use when making requests.
+
+#### Returns
+
+[`TemplateGenerativeModel`](#templategenerativemodel)
+
+***
+
+### getTemplateImagenModel()
+
+> **getTemplateImagenModel**(`ai`, `requestOptions?`): [`TemplateImagenModel`](#templateimagenmodel)
+
+Defined in: [index.ts:191](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/index.ts#L191)
+
+**`Beta`**
+
+Returns a [TemplateImagenModel](#templateimagenmodel) class for executing server-side Imagen templates.
+
+#### Parameters
+
+##### ai
+
+[`AI`](#ai)
+
+An [AI](#ai) instance.
+
+##### requestOptions?
+
+[`RequestOptions`](#requestoptions-5)
+
+Additional options to use when making requests.
+
+#### Returns
+
+[`TemplateImagenModel`](#templateimagenmodel)
+
+## Classes
+
+### AIError
+
+Defined in: [errors.ts:27](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/errors.ts#L27)
+
+Error class for the Vertex AI in Firebase SDK.
+
+#### Extends
+
+- `FirebaseError`
+
+#### Constructors
+
+##### Constructor
+
+> **new AIError**(`code`, `message`, `customErrorData?`): [`AIError`](#aierror)
+
+Defined in: [errors.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/errors.ts#L35)
+
+Constructs a new instance of the `AIError` class.
+
+###### Parameters
+
+###### code
+
+[`AIErrorCode`](#aierrorcode)
+
+The error code from [AIErrorCode](#aierrorcode).
+
+###### message
+
+`string`
+
+A human-readable message describing the error.
+
+###### customErrorData?
+
+[`CustomErrorData`](#customerrordata-1)
+
+Optional error data.
+
+###### Returns
+
+[`AIError`](#aierror)
+
+###### Overrides
+
+`FirebaseError.constructor`
+
+#### Properties
+
+##### code
+
+> `readonly` **code**: [`AIErrorCode`](#aierrorcode)
+
+Defined in: [errors.ts:36](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/errors.ts#L36)
+
+The error code from [AIErrorCode](#aierrorcode).
+
+###### Inherited from
+
+`FirebaseError.code`
+
+##### customErrorData?
+
+> `readonly` `optional` **customErrorData?**: [`CustomErrorData`](#customerrordata-1)
+
+Defined in: [errors.ts:38](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/errors.ts#L38)
+
+Optional error data.
+
+***
+
+### `abstract` AIModel
+
+Defined in: [models/ai-model.ts:30](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/ai-model.ts#L30)
+
+Base class for Firebase AI model APIs.
+
+Instances of this class are associated with a specific Firebase AI [Backend](#abstract-backend)
+and provide methods for interacting with the configured generative model.
+
+#### Extended by
+
+- [`GenerativeModel`](#generativemodel)
+- [`ImagenModel`](#imagenmodel)
+- [`LiveGenerativeModel`](#livegenerativemodel)
+
+#### Constructors
+
+##### Constructor
+
+> `protected` **new AIModel**(`ai`, `modelName`): [`AIModel`](#abstract-aimodel)
+
+Defined in: [models/ai-model.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/ai-model.ts#L59)
+
+**`Internal`**
+
+Constructs a new instance of the [AIModel](#abstract-aimodel) class.
+
+This constructor should only be called from subclasses that provide
+a model API.
+
+###### Parameters
+
+###### ai
+
+[`AI`](#ai)
+
+an [AI](#ai) instance.
+
+###### modelName
+
+`string`
+
+The name of the model being used. It can be in one of the following formats:
+- `my-model` (short name, will resolve to `publishers/google/models/my-model`)
+- `models/my-model` (will resolve to `publishers/google/models/my-model`)
+- `publishers/my-publisher/models/my-model` (fully qualified model name)
+
+###### Returns
+
+[`AIModel`](#abstract-aimodel)
+
+###### Throws
+
+If the `apiKey` or `projectId` fields are missing in your
+Firebase config.
+
+#### Methods
+
+##### normalizeModelName()
+
+> `static` **normalizeModelName**(`modelName`, `backendType`): `string`
+
+Defined in: [models/ai-model.ts:72](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/ai-model.ts#L72)
+
+**`Internal`**
+
+Normalizes the given model name to a fully qualified model resource name.
+
+###### Parameters
+
+###### modelName
+
+`string`
+
+The model name to normalize.
+
+###### backendType
+
+[`BackendType`](#backendtype-3)
+
+###### Returns
+
+`string`
+
+The fully qualified model resource name.
+
+#### Properties
+
+##### \_apiSettings
+
+> `protected` **\_apiSettings**: `ApiSettings`
+
+Defined in: [models/ai-model.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/ai-model.ts#L40)
+
+**`Internal`**
+
+##### model
+
+> `readonly` **model**: `string`
+
+Defined in: [models/ai-model.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/ai-model.ts#L35)
+
+The fully qualified model resource name to use for generating images
+(for example, `publishers/google/models/imagen-3.0-generate-002`).
+
+***
+
+### ArraySchema
+
+Defined in: [requests/schema-builder.ts:216](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L216)
+
+Schema class for "array" types.
+The `items` param should refer to the type of item that can be a member
+of the array.
+
+#### Extends
+
+- [`Schema`](#abstract-schema)
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+Allows user to add other schema properties that have not yet
+been officially added to the SDK.
+
+#### Constructors
+
+##### Constructor
+
+> **new ArraySchema**(`schemaParams`, `items`): [`ArraySchema`](#arrayschema)
+
+Defined in: [requests/schema-builder.ts:217](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L217)
+
+###### Parameters
+
+###### schemaParams
+
+[`SchemaParams`](#schemaparams)
+
+###### items
+
+[`TypedSchema`](#typedschema)
+
+###### Returns
+
+[`ArraySchema`](#arrayschema)
+
+###### Overrides
+
+[`Schema`](#abstract-schema).[`constructor`](#constructor-14)
+
+#### Methods
+
+##### toJSON()
+
+> **toJSON**(): [`SchemaRequest`](#schemarequest)
+
+Defined in: [requests/schema-builder.ts:230](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L230)
+
+**`Internal`**
+
+###### Returns
+
+[`SchemaRequest`](#schemarequest)
+
+###### Overrides
+
+[`Schema`](#abstract-schema).[`toJSON`](#tojson-5)
+
+##### array()
+
+> `static` **array**(`arrayParams`): [`ArraySchema`](#arrayschema)
+
+Defined in: [requests/schema-builder.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L96)
+
+###### Parameters
+
+###### arrayParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`ArraySchema`](#arrayschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`array`](#array-6)
+
+##### boolean()
+
+> `static` **boolean**(`booleanParams?`): [`BooleanSchema`](#booleanschema)
+
+Defined in: [requests/schema-builder.ts:127](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L127)
+
+###### Parameters
+
+###### booleanParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`BooleanSchema`](#booleanschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`boolean`](#boolean-6)
+
+##### enumString()
+
+> `static` **enumString**(`stringParams`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:115](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L115)
+
+###### Parameters
+
+###### stringParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`enumString`](#enumstring-5)
+
+##### integer()
+
+> `static` **integer**(`integerParams?`): [`IntegerSchema`](#integerschema)
+
+Defined in: [requests/schema-builder.ts:119](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L119)
+
+###### Parameters
+
+###### integerParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`IntegerSchema`](#integerschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`integer`](#integer-6)
+
+##### number()
+
+> `static` **number**(`numberParams?`): [`NumberSchema`](#numberschema)
+
+Defined in: [requests/schema-builder.ts:123](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L123)
+
+###### Parameters
+
+###### numberParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`NumberSchema`](#numberschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`number`](#number-6)
+
+##### object()
+
+> `static` **object**(`objectParams`): [`ObjectSchema`](#objectschema)
+
+Defined in: [requests/schema-builder.ts:100](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L100)
+
+###### Parameters
+
+###### objectParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`ObjectSchema`](#objectschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`object`](#object-6)
+
+##### string()
+
+> `static` **string**(`stringParams?`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:111](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L111)
+
+###### Parameters
+
+###### stringParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`string`](#string-6)
+
+#### Properties
+
+##### description?
+
+> `optional` **description?**: `string`
+
+Defined in: [requests/schema-builder.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L51)
+
+Optional. The description of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`description`](#description-5)
+
+##### example?
+
+> `optional` **example?**: `unknown`
+
+Defined in: [requests/schema-builder.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L61)
+
+Optional. The example of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`example`](#example-5)
+
+##### format?
+
+> `optional` **format?**: `string`
+
+Defined in: [requests/schema-builder.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L49)
+
+Optional. The format of the property.
+Supported formats:
+
+ - for NUMBER type: "float", "double"
+ - for INTEGER type: "int32", "int64"
+ - for STRING type: "email", "byte", etc
+
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`format`](#format-5)
+
+##### items
+
+> **items**: [`TypedSchema`](#typedschema)
+
+Defined in: [requests/schema-builder.ts:219](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L219)
+
+Optional. The items of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`items`](#items-5)
+
+##### maxItems?
+
+> `optional` **maxItems?**: `number`
+
+Defined in: [requests/schema-builder.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L57)
+
+The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`maxItems`](#maxitems-5)
+
+##### minItems?
+
+> `optional` **minItems?**: `number`
+
+Defined in: [requests/schema-builder.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L55)
+
+The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`minItems`](#minitems-5)
+
+##### nullable
+
+> **nullable**: `boolean`
+
+Defined in: [requests/schema-builder.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L59)
+
+Optional. Whether the property is nullable. Defaults to false.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`nullable`](#nullable-5)
+
+##### type
+
+> **type**: [`SchemaType`](#schematype)
+
+Defined in: [requests/schema-builder.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L40)
+
+Optional. The type of the property. [SchemaType](#schematype).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`type`](#type-5)
+
+***
+
+### `abstract` Backend
+
+Defined in: [backend.ts:29](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L29)
+
+Abstract base class representing the configuration for an AI service backend.
+This class should not be instantiated directly. Use its subclasses; [GoogleAIBackend](#googleaibackend) for
+the Gemini Developer API (via [Google AI](https://ai.google/)), and
+[VertexAIBackend](#vertexaibackend) for the Vertex AI Gemini API.
+
+#### Extended by
+
+- [`GoogleAIBackend`](#googleaibackend)
+- [`VertexAIBackend`](#vertexaibackend)
+
+#### Constructors
+
+##### Constructor
+
+> `protected` **new Backend**(`type`): [`Backend`](#abstract-backend)
+
+Defined in: [backend.ts:39](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L39)
+
+Protected constructor for use by subclasses.
+
+###### Parameters
+
+###### type
+
+[`BackendType`](#backendtype-3)
+
+The backend type.
+
+###### Returns
+
+[`Backend`](#abstract-backend)
+
+#### Methods
+
+##### \_getModelPath()
+
+> `abstract` **\_getModelPath**(`project`, `model`): `string`
+
+Defined in: [backend.ts:46](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L46)
+
+**`Internal`**
+
+###### Parameters
+
+###### project
+
+`string`
+
+###### model
+
+`string`
+
+###### Returns
+
+`string`
+
+##### \_getTemplatePath()
+
+> `abstract` **\_getTemplatePath**(`project`, `templateId`): `string`
+
+Defined in: [backend.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L51)
+
+**`Internal`**
+
+###### Parameters
+
+###### project
+
+`string`
+
+###### templateId
+
+`string`
+
+###### Returns
+
+`string`
+
+#### Properties
+
+##### backendType
+
+> `readonly` **backendType**: [`BackendType`](#backendtype-3)
+
+Defined in: [backend.ts:33](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L33)
+
+Specifies the backend type.
+
+***
+
+### BooleanSchema
+
+Defined in: [requests/schema-builder.ts:174](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L174)
+
+Schema class for "boolean" types.
+
+#### Extends
+
+- [`Schema`](#abstract-schema)
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+Allows user to add other schema properties that have not yet
+been officially added to the SDK.
+
+#### Constructors
+
+##### Constructor
+
+> **new BooleanSchema**(`schemaParams?`): [`BooleanSchema`](#booleanschema)
+
+Defined in: [requests/schema-builder.ts:175](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L175)
+
+###### Parameters
+
+###### schemaParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`BooleanSchema`](#booleanschema)
+
+###### Overrides
+
+[`Schema`](#abstract-schema).[`constructor`](#constructor-14)
+
+#### Methods
+
+##### toJSON()
+
+> **toJSON**(): [`SchemaRequest`](#schemarequest)
+
+Defined in: [requests/schema-builder.ts:82](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L82)
+
+**`Internal`**
+
+Defines how this Schema should be serialized as JSON.
+See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#tojson_behavior
+
+###### Returns
+
+[`SchemaRequest`](#schemarequest)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`toJSON`](#tojson-5)
+
+##### array()
+
+> `static` **array**(`arrayParams`): [`ArraySchema`](#arrayschema)
+
+Defined in: [requests/schema-builder.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L96)
+
+###### Parameters
+
+###### arrayParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`ArraySchema`](#arrayschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`array`](#array-6)
+
+##### boolean()
+
+> `static` **boolean**(`booleanParams?`): [`BooleanSchema`](#booleanschema)
+
+Defined in: [requests/schema-builder.ts:127](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L127)
+
+###### Parameters
+
+###### booleanParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`BooleanSchema`](#booleanschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`boolean`](#boolean-6)
+
+##### enumString()
+
+> `static` **enumString**(`stringParams`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:115](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L115)
+
+###### Parameters
+
+###### stringParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`enumString`](#enumstring-5)
+
+##### integer()
+
+> `static` **integer**(`integerParams?`): [`IntegerSchema`](#integerschema)
+
+Defined in: [requests/schema-builder.ts:119](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L119)
+
+###### Parameters
+
+###### integerParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`IntegerSchema`](#integerschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`integer`](#integer-6)
+
+##### number()
+
+> `static` **number**(`numberParams?`): [`NumberSchema`](#numberschema)
+
+Defined in: [requests/schema-builder.ts:123](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L123)
+
+###### Parameters
+
+###### numberParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`NumberSchema`](#numberschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`number`](#number-6)
+
+##### object()
+
+> `static` **object**(`objectParams`): [`ObjectSchema`](#objectschema)
+
+Defined in: [requests/schema-builder.ts:100](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L100)
+
+###### Parameters
+
+###### objectParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`ObjectSchema`](#objectschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`object`](#object-6)
+
+##### string()
+
+> `static` **string**(`stringParams?`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:111](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L111)
+
+###### Parameters
+
+###### stringParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`string`](#string-6)
+
+#### Properties
+
+##### description?
+
+> `optional` **description?**: `string`
+
+Defined in: [requests/schema-builder.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L51)
+
+Optional. The description of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`description`](#description-5)
+
+##### example?
+
+> `optional` **example?**: `unknown`
+
+Defined in: [requests/schema-builder.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L61)
+
+Optional. The example of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`example`](#example-5)
+
+##### format?
+
+> `optional` **format?**: `string`
+
+Defined in: [requests/schema-builder.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L49)
+
+Optional. The format of the property.
+Supported formats:
+
+ - for NUMBER type: "float", "double"
+ - for INTEGER type: "int32", "int64"
+ - for STRING type: "email", "byte", etc
+
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`format`](#format-5)
+
+##### items?
+
+> `optional` **items?**: [`SchemaInterface`](#schemainterface)
+
+Defined in: [requests/schema-builder.ts:53](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L53)
+
+Optional. The items of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`items`](#items-5)
+
+##### maxItems?
+
+> `optional` **maxItems?**: `number`
+
+Defined in: [requests/schema-builder.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L57)
+
+The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`maxItems`](#maxitems-5)
+
+##### minItems?
+
+> `optional` **minItems?**: `number`
+
+Defined in: [requests/schema-builder.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L55)
+
+The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`minItems`](#minitems-5)
+
+##### nullable
+
+> **nullable**: `boolean`
+
+Defined in: [requests/schema-builder.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L59)
+
+Optional. Whether the property is nullable. Defaults to false.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`nullable`](#nullable-5)
+
+##### type
+
+> **type**: [`SchemaType`](#schematype)
+
+Defined in: [requests/schema-builder.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L40)
+
+Optional. The type of the property. [SchemaType](#schematype).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`type`](#type-5)
+
+***
+
+### ChatSession
+
+Defined in: [methods/chat-session.ts:46](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/chat-session.ts#L46)
+
+ChatSession class that enables sending chat messages and stores
+history of sent and received messages so far.
+
+#### Constructors
+
+##### Constructor
+
+> **new ChatSession**(`apiSettings`, `model`, `params?`, `requestOptions?`): [`ChatSession`](#chatsession)
+
+Defined in: [methods/chat-session.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/chat-session.ts#L51)
+
+###### Parameters
+
+###### apiSettings
+
+`ApiSettings`
+
+###### model
+
+`string`
+
+###### params?
+
+[`StartChatParams`](#startchatparams)
+
+###### requestOptions?
+
+[`RequestOptions`](#requestoptions-5)
+
+###### Returns
+
+[`ChatSession`](#chatsession)
+
+#### Methods
+
+##### getHistory()
+
+> **getHistory**(): `Promise`\<[`Content`](#content)[]\>
+
+Defined in: [methods/chat-session.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/chat-session.ts#L69)
+
+Gets the chat history so far. Blocked prompts are not added to history.
+Neither blocked candidates nor the prompts that generated them are added
+to history.
+
+###### Returns
+
+`Promise`\<[`Content`](#content)[]\>
+
+##### sendMessage()
+
+> **sendMessage**(`request`): `Promise`\<[`GenerateContentResult`](#generatecontentresult)\>
+
+Defined in: [methods/chat-session.ts:78](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/chat-session.ts#L78)
+
+Sends a chat message and receives a non-streaming
+[GenerateContentResult](#generatecontentresult)
+
+###### Parameters
+
+###### request
+
+`string` \| (`string` \| [`Part`](#part))[]
+
+###### Returns
+
+`Promise`\<[`GenerateContentResult`](#generatecontentresult)\>
+
+##### sendMessageStream()
+
+> **sendMessageStream**(`request`): `Promise`\<[`GenerateContentStreamResult`](#generatecontentstreamresult)\>
+
+Defined in: [methods/chat-session.ts:123](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/chat-session.ts#L123)
+
+Sends a chat message and receives the response as a
+[GenerateContentStreamResult](#generatecontentstreamresult) containing an iterable stream
+and a response promise.
+
+###### Parameters
+
+###### request
+
+`string` \| (`string` \| [`Part`](#part))[]
+
+###### Returns
+
+`Promise`\<[`GenerateContentStreamResult`](#generatecontentstreamresult)\>
+
+#### Properties
+
+##### model
+
+> **model**: `string`
+
+Defined in: [methods/chat-session.ts:53](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/chat-session.ts#L53)
+
+##### params?
+
+> `optional` **params?**: [`StartChatParams`](#startchatparams)
+
+Defined in: [methods/chat-session.ts:54](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/chat-session.ts#L54)
+
+##### requestOptions?
+
+> `optional` **requestOptions?**: [`RequestOptions`](#requestoptions-5)
+
+Defined in: [methods/chat-session.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/chat-session.ts#L55)
+
+***
+
+### GenerativeModel
+
+Defined in: [models/generative-model.ts:45](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/generative-model.ts#L45)
+
+Class for generative model APIs.
+
+#### Extends
+
+- [`AIModel`](#abstract-aimodel)
+
+#### Constructors
+
+##### Constructor
+
+> **new GenerativeModel**(`ai`, `modelParams`, `requestOptions?`): [`GenerativeModel`](#generativemodel)
+
+Defined in: [models/generative-model.ts:53](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/generative-model.ts#L53)
+
+###### Parameters
+
+###### ai
+
+[`AI`](#ai)
+
+###### modelParams
+
+[`ModelParams`](#modelparams)
+
+###### requestOptions?
+
+[`RequestOptions`](#requestoptions-5)
+
+###### Returns
+
+[`GenerativeModel`](#generativemodel)
+
+###### Overrides
+
+[`AIModel`](#abstract-aimodel).[`constructor`](#constructor-1)
+
+#### Methods
+
+##### countTokens()
+
+> **countTokens**(`request`): `Promise`\<[`CountTokensResponse`](#counttokensresponse)\>
+
+Defined in: [models/generative-model.ts:139](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/generative-model.ts#L139)
+
+Counts the tokens in the provided request.
+
+###### Parameters
+
+###### request
+
+`string` \| [`CountTokensRequest`](#counttokensrequest) \| (`string` \| [`Part`](#part))[]
+
+###### Returns
+
+`Promise`\<[`CountTokensResponse`](#counttokensresponse)\>
+
+##### generateContent()
+
+> **generateContent**(`request`): `Promise`\<[`GenerateContentResult`](#generatecontentresult)\>
+
+Defined in: [models/generative-model.ts:67](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/generative-model.ts#L67)
+
+Makes a single non-streaming call to the model
+and returns an object containing a single [GenerateContentResponse](#generatecontentresponse).
+
+###### Parameters
+
+###### request
+
+`string` \| [`GenerateContentRequest`](#generatecontentrequest) \| (`string` \| [`Part`](#part))[]
+
+###### Returns
+
+`Promise`\<[`GenerateContentResult`](#generatecontentresult)\>
+
+##### generateContentStream()
+
+> **generateContentStream**(`request`): `Promise`\<[`GenerateContentStreamResult`](#generatecontentstreamresult)\>
+
+Defined in: [models/generative-model.ts:92](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/generative-model.ts#L92)
+
+Makes a single streaming call to the model
+and returns an object containing an iterable stream that iterates
+over all chunks in the streaming response as well as
+a promise that returns the final aggregated response.
+
+###### Parameters
+
+###### request
+
+`string` \| [`GenerateContentRequest`](#generatecontentrequest) \| (`string` \| [`Part`](#part))[]
+
+###### Returns
+
+`Promise`\<[`GenerateContentStreamResult`](#generatecontentstreamresult)\>
+
+##### startChat()
+
+> **startChat**(`startChatParams?`): [`ChatSession`](#chatsession)
+
+Defined in: [models/generative-model.ts:115](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/generative-model.ts#L115)
+
+Gets a new [ChatSession](#chatsession) instance which can be used for
+multi-turn chats.
+
+###### Parameters
+
+###### startChatParams?
+
+[`StartChatParams`](#startchatparams)
+
+###### Returns
+
+[`ChatSession`](#chatsession)
+
+##### normalizeModelName()
+
+> `static` **normalizeModelName**(`modelName`, `backendType`): `string`
+
+Defined in: [models/ai-model.ts:72](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/ai-model.ts#L72)
+
+**`Internal`**
+
+Normalizes the given model name to a fully qualified model resource name.
+
+###### Parameters
+
+###### modelName
+
+`string`
+
+The model name to normalize.
+
+###### backendType
+
+[`BackendType`](#backendtype-3)
+
+###### Returns
+
+`string`
+
+The fully qualified model resource name.
+
+###### Inherited from
+
+[`AIModel`](#abstract-aimodel).[`normalizeModelName`](#normalizemodelname)
+
+#### Properties
+
+##### \_apiSettings
+
+> `protected` **\_apiSettings**: `ApiSettings`
+
+Defined in: [models/ai-model.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/ai-model.ts#L40)
+
+**`Internal`**
+
+###### Inherited from
+
+[`AIModel`](#abstract-aimodel).[`_apiSettings`](#_apisettings)
+
+##### generationConfig
+
+> **generationConfig**: [`GenerationConfig`](#generationconfig-6)
+
+Defined in: [models/generative-model.ts:46](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/generative-model.ts#L46)
+
+##### model
+
+> `readonly` **model**: `string`
+
+Defined in: [models/ai-model.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/ai-model.ts#L35)
+
+The fully qualified model resource name to use for generating images
+(for example, `publishers/google/models/imagen-3.0-generate-002`).
+
+###### Inherited from
+
+[`AIModel`](#abstract-aimodel).[`model`](#model)
+
+##### requestOptions?
+
+> `optional` **requestOptions?**: [`RequestOptions`](#requestoptions-5)
+
+Defined in: [models/generative-model.ts:48](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/generative-model.ts#L48)
+
+##### safetySettings
+
+> **safetySettings**: [`SafetySetting`](#safetysetting)[]
+
+Defined in: [models/generative-model.ts:47](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/generative-model.ts#L47)
+
+##### systemInstruction?
+
+> `optional` **systemInstruction?**: [`Content`](#content)
+
+Defined in: [models/generative-model.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/generative-model.ts#L51)
+
+##### toolConfig?
+
+> `optional` **toolConfig?**: [`ToolConfig`](#toolconfig-6)
+
+Defined in: [models/generative-model.ts:50](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/generative-model.ts#L50)
+
+##### tools?
+
+> `optional` **tools?**: [`Tool`](#tool)[]
+
+Defined in: [models/generative-model.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/generative-model.ts#L49)
+
+***
+
+### GoogleAIBackend
+
+Defined in: [backend.ts:62](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L62)
+
+Configuration class for the Gemini Developer API.
+
+Use this with [AIOptions](#aioptions-1) when initializing the AI service via
+[getAI()](#getai) to specify the Gemini Developer API as the backend.
+
+#### Extends
+
+- [`Backend`](#abstract-backend)
+
+#### Constructors
+
+##### Constructor
+
+> **new GoogleAIBackend**(): [`GoogleAIBackend`](#googleaibackend)
+
+Defined in: [backend.ts:66](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L66)
+
+Creates a configuration object for the Gemini Developer API backend.
+
+###### Returns
+
+[`GoogleAIBackend`](#googleaibackend)
+
+###### Overrides
+
+[`Backend`](#abstract-backend).[`constructor`](#constructor-3)
+
+#### Methods
+
+##### \_getModelPath()
+
+> **\_getModelPath**(`project`, `model`): `string`
+
+Defined in: [backend.ts:73](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L73)
+
+**`Internal`**
+
+###### Parameters
+
+###### project
+
+`string`
+
+###### model
+
+`string`
+
+###### Returns
+
+`string`
+
+###### Overrides
+
+[`Backend`](#abstract-backend).[`_getModelPath`](#_getmodelpath)
+
+##### \_getTemplatePath()
+
+> **\_getTemplatePath**(`project`, `templateId`): `string`
+
+Defined in: [backend.ts:80](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L80)
+
+**`Internal`**
+
+###### Parameters
+
+###### project
+
+`string`
+
+###### templateId
+
+`string`
+
+###### Returns
+
+`string`
+
+###### Overrides
+
+[`Backend`](#abstract-backend).[`_getTemplatePath`](#_gettemplatepath)
+
+#### Properties
+
+##### backendType
+
+> `readonly` **backendType**: [`BackendType`](#backendtype-3)
+
+Defined in: [backend.ts:33](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L33)
+
+Specifies the backend type.
+
+###### Inherited from
+
+[`Backend`](#abstract-backend).[`backendType`](#backendtype)
+
+***
+
+### ImagenImageFormat
+
+Defined in: [requests/imagen-image-format.ts:37](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/imagen-image-format.ts#L37)
+
+**`Beta`**
+
+Defines the image format for images generated by Imagen.
+
+Use this class to specify the desired format (JPEG or PNG) and compression quality
+for images generated by Imagen. This is typically included as part of
+[ImagenModelParams](#imagenmodelparams).
+
+#### Example
+
+```javascript
+const imagenModelParams = {
+ // ... other ImagenModelParams
+ imageFormat: ImagenImageFormat.jpeg(75) // JPEG with a compression level of 75.
+}
+```
+
+#### Methods
+
+##### jpeg()
+
+> `static` **jpeg**(`compressionQuality?`): [`ImagenImageFormat`](#imagenimageformat)
+
+Defined in: [requests/imagen-image-format.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/imagen-image-format.ts#L59)
+
+**`Beta`**
+
+Creates an [ImagenImageFormat](#imagenimageformat) for a JPEG image.
+
+###### Parameters
+
+###### compressionQuality?
+
+`number`
+
+The level of compression (a number between 0 and 100).
+
+###### Returns
+
+[`ImagenImageFormat`](#imagenimageformat)
+
+An [ImagenImageFormat](#imagenimageformat) object for a JPEG image.
+
+##### png()
+
+> `static` **png**(): [`ImagenImageFormat`](#imagenimageformat)
+
+Defined in: [requests/imagen-image-format.ts:75](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/imagen-image-format.ts#L75)
+
+**`Beta`**
+
+Creates an [ImagenImageFormat](#imagenimageformat) for a PNG image.
+
+###### Returns
+
+[`ImagenImageFormat`](#imagenimageformat)
+
+An [ImagenImageFormat](#imagenimageformat) object for a PNG image.
+
+#### Properties
+
+##### compressionQuality?
+
+> `optional` **compressionQuality?**: `number`
+
+Defined in: [requests/imagen-image-format.ts:45](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/imagen-image-format.ts#L45)
+
+**`Beta`**
+
+The level of compression (a number between 0 and 100).
+
+##### mimeType
+
+> **mimeType**: `string`
+
+Defined in: [requests/imagen-image-format.ts:41](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/imagen-image-format.ts#L41)
+
+**`Beta`**
+
+The MIME type.
+
+***
+
+### ImagenModel
+
+Defined in: [models/imagen-model.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/imagen-model.ts#L55)
+
+**`Beta`**
+
+Class for Imagen model APIs.
+
+This class provides methods for generating images using the Imagen model.
+
+#### Example
+
+```javascript
+const imagen = new ImagenModel(
+ ai,
+ {
+ model: 'imagen-3.0-generate-002'
+ }
+);
+
+const response = await imagen.generateImages('A photo of a cat');
+if (response.images.length > 0) {
+ console.log(response.images[0].bytesBase64Encoded);
+}
+```
+
+#### Extends
+
+- [`AIModel`](#abstract-aimodel)
+
+#### Constructors
+
+##### Constructor
+
+> **new ImagenModel**(`ai`, `modelParams`, `requestOptions?`): [`ImagenModel`](#imagenmodel)
+
+Defined in: [models/imagen-model.ts:75](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/imagen-model.ts#L75)
+
+**`Beta`**
+
+Constructs a new instance of the [ImagenModel](#imagenmodel) class.
+
+###### Parameters
+
+###### ai
+
+[`AI`](#ai)
+
+an [AI](#ai) instance.
+
+###### modelParams
+
+[`ImagenModelParams`](#imagenmodelparams)
+
+Parameters to use when making requests to Imagen.
+
+###### requestOptions?
+
+[`RequestOptions`](#requestoptions-5)
+
+Additional options to use when making requests.
+
+###### Returns
+
+[`ImagenModel`](#imagenmodel)
+
+###### Throws
+
+If the `apiKey` or `projectId` fields are missing in your
+Firebase config.
+
+###### Overrides
+
+[`AIModel`](#abstract-aimodel).[`constructor`](#constructor-1)
+
+#### Methods
+
+##### generateImages()
+
+> **generateImages**(`prompt`): `Promise`\<[`ImagenGenerationResponse`](#imagengenerationresponse)\<[`ImagenInlineImage`](#imageninlineimage)\>\>
+
+Defined in: [models/imagen-model.ts:104](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/imagen-model.ts#L104)
+
+**`Beta`**
+
+Generates images using the Imagen model and returns them as
+base64-encoded strings.
+
+###### Parameters
+
+###### prompt
+
+`string`
+
+A text prompt describing the image(s) to generate.
+
+###### Returns
+
+`Promise`\<[`ImagenGenerationResponse`](#imagengenerationresponse)\<[`ImagenInlineImage`](#imageninlineimage)\>\>
+
+A promise that resolves to an [ImagenGenerationResponse](#imagengenerationresponse)
+object containing the generated images.
+
+###### Throws
+
+If the request to generate images fails. This happens if the
+prompt is blocked.
+
+###### Remarks
+
+If the prompt was not blocked, but one or more of the generated images were filtered, the
+returned object will have a `filteredReason` property.
+If all images are filtered, the `images` array will be empty.
+
+##### generateImagesGCS()
+
+> **generateImagesGCS**(`prompt`, `gcsURI`): `Promise`\<[`ImagenGenerationResponse`](#imagengenerationresponse)\<[`ImagenGCSImage`](#imagengcsimage)\>\>
+
+Defined in: [models/imagen-model.ts:141](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/imagen-model.ts#L141)
+
+**`Internal`**
+
+Generates images to Cloud Storage for Firebase using the Imagen model.
+
+ This method is temporarily internal.
+
+###### Parameters
+
+###### prompt
+
+`string`
+
+A text prompt describing the image(s) to generate.
+
+###### gcsURI
+
+`string`
+
+The URI of file stored in a Cloud Storage for Firebase bucket.
+This should be a directory. For example, `gs://my-bucket/my-directory/`.
+
+###### Returns
+
+`Promise`\<[`ImagenGenerationResponse`](#imagengenerationresponse)\<[`ImagenGCSImage`](#imagengcsimage)\>\>
+
+A promise that resolves to an [ImagenGenerationResponse](#imagengenerationresponse)
+object containing the URLs of the generated images.
+
+###### Throws
+
+If the request fails to generate images fails. This happens if
+the prompt is blocked.
+
+###### Remarks
+
+If the prompt was not blocked, but one or more of the generated images were filtered, the
+returned object will have a `filteredReason` property.
+If all images are filtered, the `images` array will be empty.
+
+##### normalizeModelName()
+
+> `static` **normalizeModelName**(`modelName`, `backendType`): `string`
+
+Defined in: [models/ai-model.ts:72](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/ai-model.ts#L72)
+
+**`Internal`**
+
+Normalizes the given model name to a fully qualified model resource name.
+
+###### Parameters
+
+###### modelName
+
+`string`
+
+The model name to normalize.
+
+###### backendType
+
+[`BackendType`](#backendtype-3)
+
+###### Returns
+
+`string`
+
+The fully qualified model resource name.
+
+###### Inherited from
+
+[`AIModel`](#abstract-aimodel).[`normalizeModelName`](#normalizemodelname)
+
+#### Properties
+
+##### \_apiSettings
+
+> `protected` **\_apiSettings**: `ApiSettings`
+
+Defined in: [models/ai-model.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/ai-model.ts#L40)
+
+**`Internal`**
+
+###### Inherited from
+
+[`AIModel`](#abstract-aimodel).[`_apiSettings`](#_apisettings)
+
+##### generationConfig?
+
+> `optional` **generationConfig?**: [`ImagenGenerationConfig`](#imagengenerationconfig)
+
+Defined in: [models/imagen-model.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/imagen-model.ts#L59)
+
+**`Beta`**
+
+The Imagen generation configuration.
+
+##### model
+
+> `readonly` **model**: `string`
+
+Defined in: [models/ai-model.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/ai-model.ts#L35)
+
+The fully qualified model resource name to use for generating images
+(for example, `publishers/google/models/imagen-3.0-generate-002`).
+
+###### Inherited from
+
+[`AIModel`](#abstract-aimodel).[`model`](#model)
+
+##### requestOptions?
+
+> `optional` **requestOptions?**: [`RequestOptions`](#requestoptions-5)
+
+Defined in: [models/imagen-model.ts:78](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/imagen-model.ts#L78)
+
+**`Beta`**
+
+Additional options to use when making requests.
+
+##### safetySettings?
+
+> `optional` **safetySettings?**: [`ImagenSafetySettings`](#imagensafetysettings)
+
+Defined in: [models/imagen-model.ts:63](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/imagen-model.ts#L63)
+
+**`Beta`**
+
+Safety settings for filtering inappropriate content.
+
+***
+
+### IntegerSchema
+
+Defined in: [requests/schema-builder.ts:148](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L148)
+
+Schema class for "integer" types.
+
+#### Extends
+
+- [`Schema`](#abstract-schema)
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+Allows user to add other schema properties that have not yet
+been officially added to the SDK.
+
+#### Constructors
+
+##### Constructor
+
+> **new IntegerSchema**(`schemaParams?`): [`IntegerSchema`](#integerschema)
+
+Defined in: [requests/schema-builder.ts:149](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L149)
+
+###### Parameters
+
+###### schemaParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`IntegerSchema`](#integerschema)
+
+###### Overrides
+
+[`Schema`](#abstract-schema).[`constructor`](#constructor-14)
+
+#### Methods
+
+##### toJSON()
+
+> **toJSON**(): [`SchemaRequest`](#schemarequest)
+
+Defined in: [requests/schema-builder.ts:82](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L82)
+
+**`Internal`**
+
+Defines how this Schema should be serialized as JSON.
+See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#tojson_behavior
+
+###### Returns
+
+[`SchemaRequest`](#schemarequest)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`toJSON`](#tojson-5)
+
+##### array()
+
+> `static` **array**(`arrayParams`): [`ArraySchema`](#arrayschema)
+
+Defined in: [requests/schema-builder.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L96)
+
+###### Parameters
+
+###### arrayParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`ArraySchema`](#arrayschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`array`](#array-6)
+
+##### boolean()
+
+> `static` **boolean**(`booleanParams?`): [`BooleanSchema`](#booleanschema)
+
+Defined in: [requests/schema-builder.ts:127](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L127)
+
+###### Parameters
+
+###### booleanParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`BooleanSchema`](#booleanschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`boolean`](#boolean-6)
+
+##### enumString()
+
+> `static` **enumString**(`stringParams`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:115](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L115)
+
+###### Parameters
+
+###### stringParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`enumString`](#enumstring-5)
+
+##### integer()
+
+> `static` **integer**(`integerParams?`): [`IntegerSchema`](#integerschema)
+
+Defined in: [requests/schema-builder.ts:119](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L119)
+
+###### Parameters
+
+###### integerParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`IntegerSchema`](#integerschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`integer`](#integer-6)
+
+##### number()
+
+> `static` **number**(`numberParams?`): [`NumberSchema`](#numberschema)
+
+Defined in: [requests/schema-builder.ts:123](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L123)
+
+###### Parameters
+
+###### numberParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`NumberSchema`](#numberschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`number`](#number-6)
+
+##### object()
+
+> `static` **object**(`objectParams`): [`ObjectSchema`](#objectschema)
+
+Defined in: [requests/schema-builder.ts:100](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L100)
+
+###### Parameters
+
+###### objectParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`ObjectSchema`](#objectschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`object`](#object-6)
+
+##### string()
+
+> `static` **string**(`stringParams?`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:111](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L111)
+
+###### Parameters
+
+###### stringParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`string`](#string-6)
+
+#### Properties
+
+##### description?
+
+> `optional` **description?**: `string`
+
+Defined in: [requests/schema-builder.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L51)
+
+Optional. The description of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`description`](#description-5)
+
+##### example?
+
+> `optional` **example?**: `unknown`
+
+Defined in: [requests/schema-builder.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L61)
+
+Optional. The example of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`example`](#example-5)
+
+##### format?
+
+> `optional` **format?**: `string`
+
+Defined in: [requests/schema-builder.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L49)
+
+Optional. The format of the property.
+Supported formats:
+
+ - for NUMBER type: "float", "double"
+ - for INTEGER type: "int32", "int64"
+ - for STRING type: "email", "byte", etc
+
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`format`](#format-5)
+
+##### items?
+
+> `optional` **items?**: [`SchemaInterface`](#schemainterface)
+
+Defined in: [requests/schema-builder.ts:53](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L53)
+
+Optional. The items of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`items`](#items-5)
+
+##### maxItems?
+
+> `optional` **maxItems?**: `number`
+
+Defined in: [requests/schema-builder.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L57)
+
+The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`maxItems`](#maxitems-5)
+
+##### minItems?
+
+> `optional` **minItems?**: `number`
+
+Defined in: [requests/schema-builder.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L55)
+
+The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`minItems`](#minitems-5)
+
+##### nullable
+
+> **nullable**: `boolean`
+
+Defined in: [requests/schema-builder.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L59)
+
+Optional. Whether the property is nullable. Defaults to false.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`nullable`](#nullable-5)
+
+##### type
+
+> **type**: [`SchemaType`](#schematype)
+
+Defined in: [requests/schema-builder.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L40)
+
+Optional. The type of the property. [SchemaType](#schematype).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`type`](#type-5)
+
+***
+
+### LiveGenerativeModel
+
+Defined in: [models/live-generative-model.ts:44](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/live-generative-model.ts#L44)
+
+**`Beta`**
+
+Class for Live generative model APIs. The Live API enables low-latency, two-way multimodal
+interactions with Gemini.
+
+This class should only be instantiated with [getLiveGenerativeModel](#getlivegenerativemodel).
+
+#### Extends
+
+- [`AIModel`](#abstract-aimodel)
+
+#### Constructors
+
+##### Constructor
+
+> **new LiveGenerativeModel**(`ai`, `modelParams`, `_webSocketHandler`): [`LiveGenerativeModel`](#livegenerativemodel)
+
+Defined in: [models/live-generative-model.ts:53](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/live-generative-model.ts#L53)
+
+**`Internal`**
+
+###### Parameters
+
+###### ai
+
+[`AI`](#ai)
+
+###### modelParams
+
+[`LiveModelParams`](#livemodelparams)
+
+###### \_webSocketHandler
+
+`WebSocketHandler`
+
+**`Internal`**
+
+###### Returns
+
+[`LiveGenerativeModel`](#livegenerativemodel)
+
+###### Overrides
+
+[`AIModel`](#abstract-aimodel).[`constructor`](#constructor-1)
+
+#### Methods
+
+##### connect()
+
+> **connect**(): `Promise`\<[`LiveSession`](#livesession)\>
+
+Defined in: [models/live-generative-model.ts:76](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/live-generative-model.ts#L76)
+
+**`Beta`**
+
+Starts a [LiveSession](#livesession).
+
+###### Returns
+
+`Promise`\<[`LiveSession`](#livesession)\>
+
+A [LiveSession](#livesession).
+
+###### Throws
+
+If the connection failed to be established with the server.
+
+##### normalizeModelName()
+
+> `static` **normalizeModelName**(`modelName`, `backendType`): `string`
+
+Defined in: [models/ai-model.ts:72](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/ai-model.ts#L72)
+
+**`Internal`**
+
+Normalizes the given model name to a fully qualified model resource name.
+
+###### Parameters
+
+###### modelName
+
+`string`
+
+The model name to normalize.
+
+###### backendType
+
+[`BackendType`](#backendtype-3)
+
+###### Returns
+
+`string`
+
+The fully qualified model resource name.
+
+###### Inherited from
+
+[`AIModel`](#abstract-aimodel).[`normalizeModelName`](#normalizemodelname)
+
+#### Properties
+
+##### \_apiSettings
+
+> `protected` **\_apiSettings**: `ApiSettings`
+
+Defined in: [models/ai-model.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/ai-model.ts#L40)
+
+**`Internal`**
+
+###### Inherited from
+
+[`AIModel`](#abstract-aimodel).[`_apiSettings`](#_apisettings)
+
+##### generationConfig
+
+> **generationConfig**: [`LiveGenerationConfig`](#livegenerationconfig)
+
+Defined in: [models/live-generative-model.ts:45](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/live-generative-model.ts#L45)
+
+**`Beta`**
+
+##### model
+
+> `readonly` **model**: `string`
+
+Defined in: [models/ai-model.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/ai-model.ts#L35)
+
+The fully qualified model resource name to use for generating images
+(for example, `publishers/google/models/imagen-3.0-generate-002`).
+
+###### Inherited from
+
+[`AIModel`](#abstract-aimodel).[`model`](#model)
+
+##### systemInstruction?
+
+> `optional` **systemInstruction?**: [`Content`](#content)
+
+Defined in: [models/live-generative-model.ts:48](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/live-generative-model.ts#L48)
+
+**`Beta`**
+
+##### toolConfig?
+
+> `optional` **toolConfig?**: [`ToolConfig`](#toolconfig-6)
+
+Defined in: [models/live-generative-model.ts:47](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/live-generative-model.ts#L47)
+
+**`Beta`**
+
+##### tools?
+
+> `optional` **tools?**: [`Tool`](#tool)[]
+
+Defined in: [models/live-generative-model.ts:46](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/live-generative-model.ts#L46)
+
+**`Beta`**
+
+***
+
+### LiveSession
+
+Defined in: [methods/live-session.ts:46](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/live-session.ts#L46)
+
+**`Beta`**
+
+Represents an active, real-time, bidirectional conversation with the model.
+
+This class should only be instantiated by calling [LiveGenerativeModel.connect](#connect).
+
+#### Constructors
+
+##### Constructor
+
+> **new LiveSession**(`webSocketHandler`, `serverMessages`): [`LiveSession`](#livesession)
+
+Defined in: [methods/live-session.ts:63](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/live-session.ts#L63)
+
+**`Internal`**
+
+###### Parameters
+
+###### webSocketHandler
+
+`WebSocketHandler`
+
+###### serverMessages
+
+`AsyncGenerator`\<`unknown`\>
+
+###### Returns
+
+[`LiveSession`](#livesession)
+
+#### Methods
+
+##### close()
+
+> **close**(): `Promise`\<`void`\>
+
+Defined in: [methods/live-session.ts:272](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/live-session.ts#L272)
+
+**`Beta`**
+
+Closes this session.
+All methods on this session will throw an error once this resolves.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### receive()
+
+> **receive**(): `AsyncGenerator`\<[`LiveServerContent`](#liveservercontent) \| [`LiveServerToolCall`](#liveservertoolcall) \| [`LiveServerToolCallCancellation`](#liveservertoolcallcancellation)\>
+
+Defined in: [methods/live-session.ts:225](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/live-session.ts#L225)
+
+**`Beta`**
+
+Yields messages received from the server.
+This can only be used by one consumer at a time.
+
+###### Returns
+
+`AsyncGenerator`\<[`LiveServerContent`](#liveservercontent) \| [`LiveServerToolCall`](#liveservertoolcall) \| [`LiveServerToolCallCancellation`](#liveservertoolcallcancellation)\>
+
+An `AsyncGenerator` that yields server messages as they arrive.
+
+###### Throws
+
+If the session is already closed, or if we receive a response that we don't support.
+
+##### send()
+
+> **send**(`request`, `turnComplete?`): `Promise`\<`void`\>
+
+Defined in: [methods/live-session.ts:77](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/live-session.ts#L77)
+
+**`Beta`**
+
+Sends content to the server.
+
+###### Parameters
+
+###### request
+
+`string` \| (`string` \| [`Part`](#part))[]
+
+The message to send to the model.
+
+###### turnComplete?
+
+`boolean` = `true`
+
+Indicates if the turn is complete. Defaults to false.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Throws
+
+If this session has been closed.
+
+##### sendAudioRealtime()
+
+> **sendAudioRealtime**(`blob`): `Promise`\<`void`\>
+
+Defined in: [methods/live-session.ts:143](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/live-session.ts#L143)
+
+**`Beta`**
+
+Sends audio data to the server in realtime.
+
+###### Parameters
+
+###### blob
+
+[`GenerativeContentBlob`](#generativecontentblob)
+
+The base64-encoded PCM data to send to the server in realtime.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Remarks
+
+The server requires that the audio data is base64-encoded 16-bit PCM at 16kHz
+little-endian.
+
+###### Example
+
+```javascript
+// const pcmData = ... base64-encoded 16-bit PCM at 16kHz little-endian.
+const blob = { mimeType: "audio/pcm", data: pcmData };
+liveSession.sendAudioRealtime(blob);
+```
+
+###### Throws
+
+If this session has been closed.
+
+##### sendFunctionResponses()
+
+> **sendFunctionResponses**(`functionResponses`): `Promise`\<`void`\>
+
+Defined in: [methods/live-session.ts:200](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/live-session.ts#L200)
+
+**`Beta`**
+
+Sends function responses to the server.
+
+###### Parameters
+
+###### functionResponses
+
+[`FunctionResponse`](#functionresponse-4)[]
+
+The function responses to send.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Throws
+
+If this session has been closed.
+
+##### ~~sendMediaChunks()~~
+
+> **sendMediaChunks**(`mediaChunks`): `Promise`\<`void`\>
+
+Defined in: [methods/live-session.ts:289](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/live-session.ts#L289)
+
+**`Beta`**
+
+Sends realtime input to the server.
+
+###### Parameters
+
+###### mediaChunks
+
+[`GenerativeContentBlob`](#generativecontentblob)[]
+
+The media chunks to send.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Deprecated
+
+Use `sendTextRealtime()`, `sendAudioRealtime()`, and `sendVideoRealtime()` instead.
+
+###### Throws
+
+If this session has been closed.
+
+##### ~~sendMediaStream()~~
+
+> **sendMediaStream**(`mediaChunkStream`): `Promise`\<`void`\>
+
+Defined in: [methods/live-session.ts:317](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/live-session.ts#L317)
+
+**`Beta`**
+
+###### Parameters
+
+###### mediaChunkStream
+
+`ReadableStream`\<[`GenerativeContentBlob`](#generativecontentblob)\>
+
+The stream of [GenerativeContentBlob](#generativecontentblob) to send.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Deprecated
+
+Use `sendTextRealtime()`, `sendAudioRealtime()`, and `sendVideoRealtime()` instead.
+
+Sends a stream of [GenerativeContentBlob](#generativecontentblob).
+
+###### Throws
+
+If this session has been closed.
+
+##### sendTextRealtime()
+
+> **sendTextRealtime**(`text`): `Promise`\<`void`\>
+
+Defined in: [methods/live-session.ts:109](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/live-session.ts#L109)
+
+**`Beta`**
+
+Sends text to the server in realtime.
+
+###### Parameters
+
+###### text
+
+`string`
+
+The text data to send.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Example
+
+```javascript
+liveSession.sendTextRealtime("Hello, how are you?");
+```
+
+###### Throws
+
+If this session has been closed.
+
+##### sendVideoRealtime()
+
+> **sendVideoRealtime**(`blob`): `Promise`\<`void`\>
+
+Defined in: [methods/live-session.ts:176](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/live-session.ts#L176)
+
+**`Beta`**
+
+Sends video data to the server in realtime.
+
+###### Parameters
+
+###### blob
+
+[`GenerativeContentBlob`](#generativecontentblob)
+
+The base64-encoded video data to send to the server in realtime.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Remarks
+
+The server requires that the video is sent as individual video frames at 1 FPS. It
+is recommended to set `mimeType` to `image/jpeg`.
+
+###### Example
+
+```javascript
+// const videoFrame = ... base64-encoded JPEG data
+const blob = { mimeType: "image/jpeg", data: videoFrame };
+liveSession.sendVideoRealtime(blob);
+```
+
+###### Throws
+
+If this session has been closed.
+
+#### Properties
+
+##### inConversation
+
+> **inConversation**: `boolean` = `false`
+
+Defined in: [methods/live-session.ts:58](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/live-session.ts#L58)
+
+**`Beta`**
+
+Indicates whether this Live session is being controlled by an `AudioConversationController`.
+
+##### isClosed
+
+> **isClosed**: `boolean` = `false`
+
+Defined in: [methods/live-session.ts:52](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/methods/live-session.ts#L52)
+
+**`Beta`**
+
+Indicates whether this Live session is closed.
+
+***
+
+### NumberSchema
+
+Defined in: [requests/schema-builder.ts:161](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L161)
+
+Schema class for "number" types.
+
+#### Extends
+
+- [`Schema`](#abstract-schema)
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+Allows user to add other schema properties that have not yet
+been officially added to the SDK.
+
+#### Constructors
+
+##### Constructor
+
+> **new NumberSchema**(`schemaParams?`): [`NumberSchema`](#numberschema)
+
+Defined in: [requests/schema-builder.ts:162](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L162)
+
+###### Parameters
+
+###### schemaParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`NumberSchema`](#numberschema)
+
+###### Overrides
+
+[`Schema`](#abstract-schema).[`constructor`](#constructor-14)
+
+#### Methods
+
+##### toJSON()
+
+> **toJSON**(): [`SchemaRequest`](#schemarequest)
+
+Defined in: [requests/schema-builder.ts:82](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L82)
+
+**`Internal`**
+
+Defines how this Schema should be serialized as JSON.
+See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#tojson_behavior
+
+###### Returns
+
+[`SchemaRequest`](#schemarequest)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`toJSON`](#tojson-5)
+
+##### array()
+
+> `static` **array**(`arrayParams`): [`ArraySchema`](#arrayschema)
+
+Defined in: [requests/schema-builder.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L96)
+
+###### Parameters
+
+###### arrayParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`ArraySchema`](#arrayschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`array`](#array-6)
+
+##### boolean()
+
+> `static` **boolean**(`booleanParams?`): [`BooleanSchema`](#booleanschema)
+
+Defined in: [requests/schema-builder.ts:127](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L127)
+
+###### Parameters
+
+###### booleanParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`BooleanSchema`](#booleanschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`boolean`](#boolean-6)
+
+##### enumString()
+
+> `static` **enumString**(`stringParams`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:115](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L115)
+
+###### Parameters
+
+###### stringParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`enumString`](#enumstring-5)
+
+##### integer()
+
+> `static` **integer**(`integerParams?`): [`IntegerSchema`](#integerschema)
+
+Defined in: [requests/schema-builder.ts:119](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L119)
+
+###### Parameters
+
+###### integerParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`IntegerSchema`](#integerschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`integer`](#integer-6)
+
+##### number()
+
+> `static` **number**(`numberParams?`): [`NumberSchema`](#numberschema)
+
+Defined in: [requests/schema-builder.ts:123](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L123)
+
+###### Parameters
+
+###### numberParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`NumberSchema`](#numberschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`number`](#number-6)
+
+##### object()
+
+> `static` **object**(`objectParams`): [`ObjectSchema`](#objectschema)
+
+Defined in: [requests/schema-builder.ts:100](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L100)
+
+###### Parameters
+
+###### objectParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`ObjectSchema`](#objectschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`object`](#object-6)
+
+##### string()
+
+> `static` **string**(`stringParams?`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:111](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L111)
+
+###### Parameters
+
+###### stringParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`string`](#string-6)
+
+#### Properties
+
+##### description?
+
+> `optional` **description?**: `string`
+
+Defined in: [requests/schema-builder.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L51)
+
+Optional. The description of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`description`](#description-5)
+
+##### example?
+
+> `optional` **example?**: `unknown`
+
+Defined in: [requests/schema-builder.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L61)
+
+Optional. The example of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`example`](#example-5)
+
+##### format?
+
+> `optional` **format?**: `string`
+
+Defined in: [requests/schema-builder.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L49)
+
+Optional. The format of the property.
+Supported formats:
+
+ - for NUMBER type: "float", "double"
+ - for INTEGER type: "int32", "int64"
+ - for STRING type: "email", "byte", etc
+
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`format`](#format-5)
+
+##### items?
+
+> `optional` **items?**: [`SchemaInterface`](#schemainterface)
+
+Defined in: [requests/schema-builder.ts:53](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L53)
+
+Optional. The items of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`items`](#items-5)
+
+##### maxItems?
+
+> `optional` **maxItems?**: `number`
+
+Defined in: [requests/schema-builder.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L57)
+
+The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`maxItems`](#maxitems-5)
+
+##### minItems?
+
+> `optional` **minItems?**: `number`
+
+Defined in: [requests/schema-builder.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L55)
+
+The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`minItems`](#minitems-5)
+
+##### nullable
+
+> **nullable**: `boolean`
+
+Defined in: [requests/schema-builder.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L59)
+
+Optional. Whether the property is nullable. Defaults to false.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`nullable`](#nullable-5)
+
+##### type
+
+> **type**: [`SchemaType`](#schematype)
+
+Defined in: [requests/schema-builder.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L40)
+
+Optional. The type of the property. [SchemaType](#schematype).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`type`](#type-5)
+
+***
+
+### ObjectSchema
+
+Defined in: [requests/schema-builder.ts:242](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L242)
+
+Schema class for "object" types.
+The `properties` param must be a map of `Schema` objects.
+
+#### Extends
+
+- [`Schema`](#abstract-schema)
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+Allows user to add other schema properties that have not yet
+been officially added to the SDK.
+
+#### Constructors
+
+##### Constructor
+
+> **new ObjectSchema**(`schemaParams`, `properties`, `optionalProperties?`): [`ObjectSchema`](#objectschema)
+
+Defined in: [requests/schema-builder.ts:243](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L243)
+
+###### Parameters
+
+###### schemaParams
+
+[`SchemaParams`](#schemaparams)
+
+###### properties
+
+###### optionalProperties?
+
+`string`[] = `[]`
+
+###### Returns
+
+[`ObjectSchema`](#objectschema)
+
+###### Overrides
+
+[`Schema`](#abstract-schema).[`constructor`](#constructor-14)
+
+#### Methods
+
+##### toJSON()
+
+> **toJSON**(): [`SchemaRequest`](#schemarequest)
+
+Defined in: [requests/schema-builder.ts:259](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L259)
+
+**`Internal`**
+
+###### Returns
+
+[`SchemaRequest`](#schemarequest)
+
+###### Overrides
+
+[`Schema`](#abstract-schema).[`toJSON`](#tojson-5)
+
+##### array()
+
+> `static` **array**(`arrayParams`): [`ArraySchema`](#arrayschema)
+
+Defined in: [requests/schema-builder.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L96)
+
+###### Parameters
+
+###### arrayParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`ArraySchema`](#arrayschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`array`](#array-6)
+
+##### boolean()
+
+> `static` **boolean**(`booleanParams?`): [`BooleanSchema`](#booleanschema)
+
+Defined in: [requests/schema-builder.ts:127](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L127)
+
+###### Parameters
+
+###### booleanParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`BooleanSchema`](#booleanschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`boolean`](#boolean-6)
+
+##### enumString()
+
+> `static` **enumString**(`stringParams`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:115](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L115)
+
+###### Parameters
+
+###### stringParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`enumString`](#enumstring-5)
+
+##### integer()
+
+> `static` **integer**(`integerParams?`): [`IntegerSchema`](#integerschema)
+
+Defined in: [requests/schema-builder.ts:119](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L119)
+
+###### Parameters
+
+###### integerParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`IntegerSchema`](#integerschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`integer`](#integer-6)
+
+##### number()
+
+> `static` **number**(`numberParams?`): [`NumberSchema`](#numberschema)
+
+Defined in: [requests/schema-builder.ts:123](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L123)
+
+###### Parameters
+
+###### numberParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`NumberSchema`](#numberschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`number`](#number-6)
+
+##### object()
+
+> `static` **object**(`objectParams`): [`ObjectSchema`](#objectschema)
+
+Defined in: [requests/schema-builder.ts:100](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L100)
+
+###### Parameters
+
+###### objectParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`ObjectSchema`](#objectschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`object`](#object-6)
+
+##### string()
+
+> `static` **string**(`stringParams?`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:111](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L111)
+
+###### Parameters
+
+###### stringParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`string`](#string-6)
+
+#### Properties
+
+##### description?
+
+> `optional` **description?**: `string`
+
+Defined in: [requests/schema-builder.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L51)
+
+Optional. The description of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`description`](#description-5)
+
+##### example?
+
+> `optional` **example?**: `unknown`
+
+Defined in: [requests/schema-builder.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L61)
+
+Optional. The example of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`example`](#example-5)
+
+##### format?
+
+> `optional` **format?**: `string`
+
+Defined in: [requests/schema-builder.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L49)
+
+Optional. The format of the property.
+Supported formats:
+
+ - for NUMBER type: "float", "double"
+ - for INTEGER type: "int32", "int64"
+ - for STRING type: "email", "byte", etc
+
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`format`](#format-5)
+
+##### items?
+
+> `optional` **items?**: [`SchemaInterface`](#schemainterface)
+
+Defined in: [requests/schema-builder.ts:53](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L53)
+
+Optional. The items of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`items`](#items-5)
+
+##### maxItems?
+
+> `optional` **maxItems?**: `number`
+
+Defined in: [requests/schema-builder.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L57)
+
+The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`maxItems`](#maxitems-5)
+
+##### minItems?
+
+> `optional` **minItems?**: `number`
+
+Defined in: [requests/schema-builder.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L55)
+
+The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`minItems`](#minitems-5)
+
+##### nullable
+
+> **nullable**: `boolean`
+
+Defined in: [requests/schema-builder.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L59)
+
+Optional. Whether the property is nullable. Defaults to false.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`nullable`](#nullable-5)
+
+##### optionalProperties
+
+> **optionalProperties**: `string`[] = `[]`
+
+Defined in: [requests/schema-builder.ts:248](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L248)
+
+##### properties
+
+> **properties**: `object`
+
+Defined in: [requests/schema-builder.ts:245](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L245)
+
+###### Index Signature
+
+\[`k`: `string`\]: [`TypedSchema`](#typedschema)
+
+##### type
+
+> **type**: [`SchemaType`](#schematype)
+
+Defined in: [requests/schema-builder.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L40)
+
+Optional. The type of the property. [SchemaType](#schematype).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`type`](#type-5)
+
+***
+
+### `abstract` Schema
+
+Defined in: [requests/schema-builder.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L35)
+
+Parent class encompassing all Schema types, with static methods that
+allow building specific Schema types. This class can be converted with
+`JSON.stringify()` into a JSON string accepted by Vertex AI REST endpoints.
+(This string conversion is automatically done when calling SDK methods.)
+
+#### Extended by
+
+- [`IntegerSchema`](#integerschema)
+- [`NumberSchema`](#numberschema)
+- [`BooleanSchema`](#booleanschema)
+- [`StringSchema`](#stringschema)
+- [`ArraySchema`](#arrayschema)
+- [`ObjectSchema`](#objectschema)
+
+#### Implements
+
+- [`SchemaInterface`](#schemainterface)
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+Allows user to add other schema properties that have not yet
+been officially added to the SDK.
+
+#### Constructors
+
+##### Constructor
+
+> **new Schema**(`schemaParams`): [`Schema`](#abstract-schema)
+
+Defined in: [requests/schema-builder.ts:68](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L68)
+
+###### Parameters
+
+###### schemaParams
+
+[`SchemaInterface`](#schemainterface)
+
+###### Returns
+
+[`Schema`](#abstract-schema)
+
+#### Methods
+
+##### toJSON()
+
+> **toJSON**(): [`SchemaRequest`](#schemarequest)
+
+Defined in: [requests/schema-builder.ts:82](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L82)
+
+**`Internal`**
+
+Defines how this Schema should be serialized as JSON.
+See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#tojson_behavior
+
+###### Returns
+
+[`SchemaRequest`](#schemarequest)
+
+##### array()
+
+> `static` **array**(`arrayParams`): [`ArraySchema`](#arrayschema)
+
+Defined in: [requests/schema-builder.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L96)
+
+###### Parameters
+
+###### arrayParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`ArraySchema`](#arrayschema)
+
+##### boolean()
+
+> `static` **boolean**(`booleanParams?`): [`BooleanSchema`](#booleanschema)
+
+Defined in: [requests/schema-builder.ts:127](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L127)
+
+###### Parameters
+
+###### booleanParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`BooleanSchema`](#booleanschema)
+
+##### enumString()
+
+> `static` **enumString**(`stringParams`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:115](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L115)
+
+###### Parameters
+
+###### stringParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+##### integer()
+
+> `static` **integer**(`integerParams?`): [`IntegerSchema`](#integerschema)
+
+Defined in: [requests/schema-builder.ts:119](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L119)
+
+###### Parameters
+
+###### integerParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`IntegerSchema`](#integerschema)
+
+##### number()
+
+> `static` **number**(`numberParams?`): [`NumberSchema`](#numberschema)
+
+Defined in: [requests/schema-builder.ts:123](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L123)
+
+###### Parameters
+
+###### numberParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`NumberSchema`](#numberschema)
+
+##### object()
+
+> `static` **object**(`objectParams`): [`ObjectSchema`](#objectschema)
+
+Defined in: [requests/schema-builder.ts:100](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L100)
+
+###### Parameters
+
+###### objectParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`ObjectSchema`](#objectschema)
+
+##### string()
+
+> `static` **string**(`stringParams?`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:111](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L111)
+
+###### Parameters
+
+###### stringParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+#### Properties
+
+##### description?
+
+> `optional` **description?**: `string`
+
+Defined in: [requests/schema-builder.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L51)
+
+Optional. The description of the property.
+
+###### Implementation of
+
+[`SchemaInterface`](#schemainterface).[`description`](#description-9)
+
+##### example?
+
+> `optional` **example?**: `unknown`
+
+Defined in: [requests/schema-builder.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L61)
+
+Optional. The example of the property.
+
+###### Implementation of
+
+[`SchemaInterface`](#schemainterface).[`example`](#example-8)
+
+##### format?
+
+> `optional` **format?**: `string`
+
+Defined in: [requests/schema-builder.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L49)
+
+Optional. The format of the property.
+Supported formats:
+
+ - for NUMBER type: "float", "double"
+ - for INTEGER type: "int32", "int64"
+ - for STRING type: "email", "byte", etc
+
+
+###### Implementation of
+
+[`SchemaInterface`](#schemainterface).[`format`](#format-8)
+
+##### items?
+
+> `optional` **items?**: [`SchemaInterface`](#schemainterface)
+
+Defined in: [requests/schema-builder.ts:53](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L53)
+
+Optional. The items of the property.
+
+###### Implementation of
+
+[`SchemaInterface`](#schemainterface).[`items`](#items-8)
+
+##### maxItems?
+
+> `optional` **maxItems?**: `number`
+
+Defined in: [requests/schema-builder.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L57)
+
+The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Implementation of
+
+[`SchemaInterface`](#schemainterface).[`maxItems`](#maxitems-8)
+
+##### minItems?
+
+> `optional` **minItems?**: `number`
+
+Defined in: [requests/schema-builder.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L55)
+
+The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Implementation of
+
+[`SchemaInterface`](#schemainterface).[`minItems`](#minitems-8)
+
+##### nullable
+
+> **nullable**: `boolean`
+
+Defined in: [requests/schema-builder.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L59)
+
+Optional. Whether the property is nullable. Defaults to false.
+
+###### Implementation of
+
+[`SchemaInterface`](#schemainterface).[`nullable`](#nullable-8)
+
+##### type
+
+> **type**: [`SchemaType`](#schematype)
+
+Defined in: [requests/schema-builder.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L40)
+
+Optional. The type of the property. [SchemaType](#schematype).
+
+###### Implementation of
+
+[`SchemaInterface`](#schemainterface).[`type`](#type-12)
+
+***
+
+### StringSchema
+
+Defined in: [requests/schema-builder.ts:188](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L188)
+
+Schema class for "string" types. Can be used with or without
+enum values.
+
+#### Extends
+
+- [`Schema`](#abstract-schema)
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+Allows user to add other schema properties that have not yet
+been officially added to the SDK.
+
+#### Constructors
+
+##### Constructor
+
+> **new StringSchema**(`schemaParams?`, `enumValues?`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:190](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L190)
+
+###### Parameters
+
+###### schemaParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### enumValues?
+
+`string`[]
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+###### Overrides
+
+[`Schema`](#abstract-schema).[`constructor`](#constructor-14)
+
+#### Methods
+
+##### toJSON()
+
+> **toJSON**(): [`SchemaRequest`](#schemarequest)
+
+Defined in: [requests/schema-builder.ts:201](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L201)
+
+**`Internal`**
+
+###### Returns
+
+[`SchemaRequest`](#schemarequest)
+
+###### Overrides
+
+[`Schema`](#abstract-schema).[`toJSON`](#tojson-5)
+
+##### array()
+
+> `static` **array**(`arrayParams`): [`ArraySchema`](#arrayschema)
+
+Defined in: [requests/schema-builder.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L96)
+
+###### Parameters
+
+###### arrayParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`ArraySchema`](#arrayschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`array`](#array-6)
+
+##### boolean()
+
+> `static` **boolean**(`booleanParams?`): [`BooleanSchema`](#booleanschema)
+
+Defined in: [requests/schema-builder.ts:127](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L127)
+
+###### Parameters
+
+###### booleanParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`BooleanSchema`](#booleanschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`boolean`](#boolean-6)
+
+##### enumString()
+
+> `static` **enumString**(`stringParams`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:115](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L115)
+
+###### Parameters
+
+###### stringParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`enumString`](#enumstring-5)
+
+##### integer()
+
+> `static` **integer**(`integerParams?`): [`IntegerSchema`](#integerschema)
+
+Defined in: [requests/schema-builder.ts:119](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L119)
+
+###### Parameters
+
+###### integerParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`IntegerSchema`](#integerschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`integer`](#integer-6)
+
+##### number()
+
+> `static` **number**(`numberParams?`): [`NumberSchema`](#numberschema)
+
+Defined in: [requests/schema-builder.ts:123](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L123)
+
+###### Parameters
+
+###### numberParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`NumberSchema`](#numberschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`number`](#number-6)
+
+##### object()
+
+> `static` **object**(`objectParams`): [`ObjectSchema`](#objectschema)
+
+Defined in: [requests/schema-builder.ts:100](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L100)
+
+###### Parameters
+
+###### objectParams
+
+[`SchemaParams`](#schemaparams) & `object`
+
+###### Returns
+
+[`ObjectSchema`](#objectschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`object`](#object-6)
+
+##### string()
+
+> `static` **string**(`stringParams?`): [`StringSchema`](#stringschema)
+
+Defined in: [requests/schema-builder.ts:111](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L111)
+
+###### Parameters
+
+###### stringParams?
+
+[`SchemaParams`](#schemaparams)
+
+###### Returns
+
+[`StringSchema`](#stringschema)
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`string`](#string-6)
+
+#### Properties
+
+##### description?
+
+> `optional` **description?**: `string`
+
+Defined in: [requests/schema-builder.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L51)
+
+Optional. The description of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`description`](#description-5)
+
+##### enum?
+
+> `optional` **enum?**: `string`[]
+
+Defined in: [requests/schema-builder.ts:189](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L189)
+
+##### example?
+
+> `optional` **example?**: `unknown`
+
+Defined in: [requests/schema-builder.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L61)
+
+Optional. The example of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`example`](#example-5)
+
+##### format?
+
+> `optional` **format?**: `string`
+
+Defined in: [requests/schema-builder.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L49)
+
+Optional. The format of the property.
+Supported formats:
+
+ - for NUMBER type: "float", "double"
+ - for INTEGER type: "int32", "int64"
+ - for STRING type: "email", "byte", etc
+
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`format`](#format-5)
+
+##### items?
+
+> `optional` **items?**: [`SchemaInterface`](#schemainterface)
+
+Defined in: [requests/schema-builder.ts:53](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L53)
+
+Optional. The items of the property.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`items`](#items-5)
+
+##### maxItems?
+
+> `optional` **maxItems?**: `number`
+
+Defined in: [requests/schema-builder.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L57)
+
+The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`maxItems`](#maxitems-5)
+
+##### minItems?
+
+> `optional` **minItems?**: `number`
+
+Defined in: [requests/schema-builder.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L55)
+
+The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`minItems`](#minitems-5)
+
+##### nullable
+
+> **nullable**: `boolean`
+
+Defined in: [requests/schema-builder.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L59)
+
+Optional. Whether the property is nullable. Defaults to false.
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`nullable`](#nullable-5)
+
+##### type
+
+> **type**: [`SchemaType`](#schematype)
+
+Defined in: [requests/schema-builder.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L40)
+
+Optional. The type of the property. [SchemaType](#schematype).
+
+###### Inherited from
+
+[`Schema`](#abstract-schema).[`type`](#type-5)
+
+***
+
+### TemplateGenerativeModel
+
+Defined in: [models/template-generative-model.ts:34](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/template-generative-model.ts#L34)
+
+**`Beta`**
+
+[GenerativeModel](#generativemodel) APIs that execute on a server-side template.
+
+This class should only be instantiated with [getTemplateGenerativeModel](#gettemplategenerativemodel).
+
+#### Methods
+
+##### generateContent()
+
+> **generateContent**(`templateId`, `templateVariables`): `Promise`\<[`GenerateContentResult`](#generatecontentresult)\>
+
+Defined in: [models/template-generative-model.ts:63](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/template-generative-model.ts#L63)
+
+**`Beta`**
+
+Makes a single non-streaming call to the model and returns an object
+containing a single [GenerateContentResponse](#generatecontentresponse).
+
+###### Parameters
+
+###### templateId
+
+`string`
+
+The ID of the server-side template to execute.
+
+###### templateVariables
+
+`object`
+
+A key-value map of variables to populate the
+template with.
+
+###### Returns
+
+`Promise`\<[`GenerateContentResult`](#generatecontentresult)\>
+
+##### generateContentStream()
+
+> **generateContentStream**(`templateId`, `templateVariables`): `Promise`\<[`GenerateContentStreamResult`](#generatecontentstreamresult)\>
+
+Defined in: [models/template-generative-model.ts:87](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/template-generative-model.ts#L87)
+
+**`Beta`**
+
+Makes a single streaming call to the model and returns an object
+containing an iterable stream that iterates over all chunks in the
+streaming response as well as a promise that returns the final aggregated
+response.
+
+###### Parameters
+
+###### templateId
+
+`string`
+
+The ID of the server-side template to execute.
+
+###### templateVariables
+
+`object`
+
+A key-value map of variables to populate the
+template with.
+
+###### Returns
+
+`Promise`\<[`GenerateContentStreamResult`](#generatecontentstreamresult)\>
+
+#### Properties
+
+##### \_apiSettings
+
+> **\_apiSettings**: `ApiSettings`
+
+Defined in: [models/template-generative-model.ts:38](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/template-generative-model.ts#L38)
+
+**`Internal`**
+
+##### requestOptions?
+
+> `optional` **requestOptions?**: [`RequestOptions`](#requestoptions-5)
+
+Defined in: [models/template-generative-model.ts:43](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/template-generative-model.ts#L43)
+
+**`Beta`**
+
+Additional options to use when making requests.
+
+***
+
+### TemplateImagenModel
+
+Defined in: [models/template-imagen-model.ts:32](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/template-imagen-model.ts#L32)
+
+**`Beta`**
+
+Class for Imagen model APIs that execute on a server-side template.
+
+This class should only be instantiated with [getTemplateImagenModel](#gettemplateimagenmodel).
+
+#### Methods
+
+##### generateImages()
+
+> **generateImages**(`templateId`, `templateVariables`): `Promise`\<[`ImagenGenerationResponse`](#imagengenerationresponse)\<[`ImagenInlineImage`](#imageninlineimage)\>\>
+
+Defined in: [models/template-imagen-model.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/template-imagen-model.ts#L61)
+
+**`Beta`**
+
+Makes a single call to the model and returns an object containing a single
+[ImagenGenerationResponse](#imagengenerationresponse).
+
+###### Parameters
+
+###### templateId
+
+`string`
+
+The ID of the server-side template to execute.
+
+###### templateVariables
+
+`object`
+
+A key-value map of variables to populate the
+template with.
+
+###### Returns
+
+`Promise`\<[`ImagenGenerationResponse`](#imagengenerationresponse)\<[`ImagenInlineImage`](#imageninlineimage)\>\>
+
+#### Properties
+
+##### \_apiSettings
+
+> **\_apiSettings**: `ApiSettings`
+
+Defined in: [models/template-imagen-model.ts:36](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/template-imagen-model.ts#L36)
+
+**`Internal`**
+
+##### requestOptions?
+
+> `optional` **requestOptions?**: [`RequestOptions`](#requestoptions-5)
+
+Defined in: [models/template-imagen-model.ts:41](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/models/template-imagen-model.ts#L41)
+
+**`Beta`**
+
+Additional options to use when making requests.
+
+***
+
+### VertexAIBackend
+
+Defined in: [backend.ts:93](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L93)
+
+Configuration class for the Vertex AI Gemini API.
+
+Use this with [AIOptions](#aioptions-1) when initializing the AI service via
+[getAI()](#getai) to specify the Vertex AI Gemini API as the backend.
+
+#### Extends
+
+- [`Backend`](#abstract-backend)
+
+#### Constructors
+
+##### Constructor
+
+> **new VertexAIBackend**(`location?`): [`VertexAIBackend`](#vertexaibackend)
+
+Defined in: [backend.ts:108](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L108)
+
+Creates a configuration object for the Vertex AI backend.
+
+###### Parameters
+
+###### location?
+
+`string` = `DEFAULT_LOCATION`
+
+The region identifier, defaulting to `us-central1`;
+see [Vertex AI locations](https://firebase.google.com/docs/vertex-ai/locations#available-locations)
+for a list of supported locations.
+
+###### Returns
+
+[`VertexAIBackend`](#vertexaibackend)
+
+###### Overrides
+
+[`Backend`](#abstract-backend).[`constructor`](#constructor-3)
+
+#### Methods
+
+##### \_getModelPath()
+
+> **\_getModelPath**(`project`, `model`): `string`
+
+Defined in: [backend.ts:120](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L120)
+
+**`Internal`**
+
+###### Parameters
+
+###### project
+
+`string`
+
+###### model
+
+`string`
+
+###### Returns
+
+`string`
+
+###### Overrides
+
+[`Backend`](#abstract-backend).[`_getModelPath`](#_getmodelpath)
+
+##### \_getTemplatePath()
+
+> **\_getTemplatePath**(`project`, `templateId`): `string`
+
+Defined in: [backend.ts:127](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L127)
+
+**`Internal`**
+
+###### Parameters
+
+###### project
+
+`string`
+
+###### templateId
+
+`string`
+
+###### Returns
+
+`string`
+
+###### Overrides
+
+[`Backend`](#abstract-backend).[`_getTemplatePath`](#_gettemplatepath)
+
+#### Properties
+
+##### backendType
+
+> `readonly` **backendType**: [`BackendType`](#backendtype-3)
+
+Defined in: [backend.ts:33](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L33)
+
+Specifies the backend type.
+
+###### Inherited from
+
+[`Backend`](#abstract-backend).[`backendType`](#backendtype)
+
+##### location
+
+> `readonly` **location**: `string`
+
+Defined in: [backend.ts:99](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/backend.ts#L99)
+
+The region identifier.
+See [Vertex AI locations](https://firebase.google.com/docs/vertex-ai/locations#available-locations)
+for a list of supported locations.
+
+## Enumerations
+
+### AIErrorCode
+
+Defined in: [types/error.ts:65](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L65)
+
+Standardized error codes that [AIError](#aierror) can have.
+
+#### Enumeration Members
+
+##### API\_NOT\_ENABLED
+
+> **API\_NOT\_ENABLED**: `"api-not-enabled"`
+
+Defined in: [types/error.ts:82](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L82)
+
+An error due to the Firebase API not being enabled in the Console.
+
+##### ERROR
+
+> **ERROR**: `"error"`
+
+Defined in: [types/error.ts:67](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L67)
+
+A generic error occurred.
+
+##### FETCH\_ERROR
+
+> **FETCH\_ERROR**: `"fetch-error"`
+
+Defined in: [types/error.ts:76](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L76)
+
+An error occurred while performing a fetch.
+
+##### INVALID\_CONTENT
+
+> **INVALID\_CONTENT**: `"invalid-content"`
+
+Defined in: [types/error.ts:79](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L79)
+
+An error associated with a Content object.
+
+##### INVALID\_SCHEMA
+
+> **INVALID\_SCHEMA**: `"invalid-schema"`
+
+Defined in: [types/error.ts:85](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L85)
+
+An error due to invalid Schema input.
+
+##### NO\_API\_KEY
+
+> **NO\_API\_KEY**: `"no-api-key"`
+
+Defined in: [types/error.ts:88](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L88)
+
+An error occurred due to a missing Firebase API key.
+
+##### NO\_APP\_ID
+
+> **NO\_APP\_ID**: `"no-app-id"`
+
+Defined in: [types/error.ts:91](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L91)
+
+An error occurred due to a missing Firebase app ID.
+
+##### NO\_MODEL
+
+> **NO\_MODEL**: `"no-model"`
+
+Defined in: [types/error.ts:94](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L94)
+
+An error occurred due to a model name not being specified during initialization.
+
+##### NO\_PROJECT\_ID
+
+> **NO\_PROJECT\_ID**: `"no-project-id"`
+
+Defined in: [types/error.ts:97](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L97)
+
+An error occurred due to a missing project ID.
+
+##### PARSE\_FAILED
+
+> **PARSE\_FAILED**: `"parse-failed"`
+
+Defined in: [types/error.ts:100](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L100)
+
+An error occurred while parsing.
+
+##### REQUEST\_ERROR
+
+> **REQUEST\_ERROR**: `"request-error"`
+
+Defined in: [types/error.ts:70](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L70)
+
+An error occurred in a request.
+
+##### RESPONSE\_ERROR
+
+> **RESPONSE\_ERROR**: `"response-error"`
+
+Defined in: [types/error.ts:73](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L73)
+
+An error occurred in a response.
+
+##### SESSION\_CLOSED
+
+> **SESSION\_CLOSED**: `"session-closed"`
+
+Defined in: [types/error.ts:106](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L106)
+
+An error occurred due to a session being closed.
+
+##### UNSUPPORTED
+
+> **UNSUPPORTED**: `"unsupported"`
+
+Defined in: [types/error.ts:103](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L103)
+
+An error occurred due an attempt to use an unsupported feature.
+
+***
+
+### BlockReason
+
+Defined in: [types/enums.ts:142](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L142)
+
+Reason that a prompt was blocked.
+
+#### Enumeration Members
+
+##### BLOCKLIST
+
+> **BLOCKLIST**: `"BLOCKLIST"`
+
+Defined in: [types/enums.ts:154](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L154)
+
+Content was blocked because it contained terms from the terminology blocklist.
+
+##### OTHER
+
+> **OTHER**: `"OTHER"`
+
+Defined in: [types/enums.ts:150](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L150)
+
+Content was blocked, but the reason is uncategorized.
+
+##### PROHIBITED\_CONTENT
+
+> **PROHIBITED\_CONTENT**: `"PROHIBITED_CONTENT"`
+
+Defined in: [types/enums.ts:158](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L158)
+
+Content was blocked due to prohibited content.
+
+##### SAFETY
+
+> **SAFETY**: `"SAFETY"`
+
+Defined in: [types/enums.ts:146](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L146)
+
+Content was blocked by safety settings.
+
+***
+
+### FinishReason
+
+Defined in: [types/enums.ts:165](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L165)
+
+Reason that a candidate finished.
+
+#### Enumeration Members
+
+##### BLOCKLIST
+
+> **BLOCKLIST**: `"BLOCKLIST"`
+
+Defined in: [types/enums.ts:189](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L189)
+
+The candidate content contained forbidden terms.
+
+##### MALFORMED\_FUNCTION\_CALL
+
+> **MALFORMED\_FUNCTION\_CALL**: `"MALFORMED_FUNCTION_CALL"`
+
+Defined in: [types/enums.ts:201](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L201)
+
+The function call generated by the model was invalid.
+
+##### MAX\_TOKENS
+
+> **MAX\_TOKENS**: `"MAX_TOKENS"`
+
+Defined in: [types/enums.ts:173](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L173)
+
+The maximum number of tokens as specified in the request was reached.
+
+##### OTHER
+
+> **OTHER**: `"OTHER"`
+
+Defined in: [types/enums.ts:185](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L185)
+
+Unknown reason.
+
+##### PROHIBITED\_CONTENT
+
+> **PROHIBITED\_CONTENT**: `"PROHIBITED_CONTENT"`
+
+Defined in: [types/enums.ts:193](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L193)
+
+The candidate content potentially contained prohibited content.
+
+##### RECITATION
+
+> **RECITATION**: `"RECITATION"`
+
+Defined in: [types/enums.ts:181](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L181)
+
+The candidate content was flagged for recitation reasons.
+
+##### SAFETY
+
+> **SAFETY**: `"SAFETY"`
+
+Defined in: [types/enums.ts:177](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L177)
+
+The candidate content was flagged for safety reasons.
+
+##### SPII
+
+> **SPII**: `"SPII"`
+
+Defined in: [types/enums.ts:197](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L197)
+
+The candidate content potentially contained Sensitive Personally Identifiable Information (SPII).
+
+##### STOP
+
+> **STOP**: `"STOP"`
+
+Defined in: [types/enums.ts:169](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L169)
+
+Natural stop point of the model or provided stop sequence.
+
+***
+
+### FunctionCallingMode
+
+Defined in: [types/enums.ts:209](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L209)
+
+Function calling mode for the model.
+
+#### Enumeration Members
+
+##### ANY
+
+> **ANY**: `"ANY"`
+
+Defined in: [types/enums.ts:221](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L221)
+
+Model is constrained to always predicting a function call only.
+If `allowed_function_names` is set, the predicted function call will be
+limited to any one of `allowed_function_names`, else the predicted
+function call will be any one of the provided `function_declarations`.
+
+##### AUTO
+
+> **AUTO**: `"AUTO"`
+
+Defined in: [types/enums.ts:214](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L214)
+
+Default model behavior; model decides to predict either a function call
+or a natural language response.
+
+##### NONE
+
+> **NONE**: `"NONE"`
+
+Defined in: [types/enums.ts:226](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L226)
+
+Model will not predict any function call. Model behavior is same as when
+not passing any function declarations.
+
+***
+
+### HarmBlockMethod
+
+Defined in: [types/enums.ts:74](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L74)
+
+This property is not supported in the Gemini Developer API ([GoogleAIBackend](#googleaibackend)).
+
+#### Enumeration Members
+
+##### PROBABILITY
+
+> **PROBABILITY**: `"PROBABILITY"`
+
+Defined in: [types/enums.ts:82](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L82)
+
+The harm block method uses the probability score.
+
+##### SEVERITY
+
+> **SEVERITY**: `"SEVERITY"`
+
+Defined in: [types/enums.ts:78](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L78)
+
+The harm block method uses both probability and severity scores.
+
+***
+
+### HarmBlockThreshold
+
+Defined in: [types/enums.ts:45](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L45)
+
+Threshold above which a prompt or candidate will be blocked.
+
+#### Enumeration Members
+
+##### BLOCK\_LOW\_AND\_ABOVE
+
+> **BLOCK\_LOW\_AND\_ABOVE**: `"BLOCK_LOW_AND_ABOVE"`
+
+Defined in: [types/enums.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L49)
+
+Content with `NEGLIGIBLE` will be allowed.
+
+##### BLOCK\_MEDIUM\_AND\_ABOVE
+
+> **BLOCK\_MEDIUM\_AND\_ABOVE**: `"BLOCK_MEDIUM_AND_ABOVE"`
+
+Defined in: [types/enums.ts:53](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L53)
+
+Content with `NEGLIGIBLE` and `LOW` will be allowed.
+
+##### BLOCK\_NONE
+
+> **BLOCK\_NONE**: `"BLOCK_NONE"`
+
+Defined in: [types/enums.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L61)
+
+All content will be allowed.
+
+##### BLOCK\_ONLY\_HIGH
+
+> **BLOCK\_ONLY\_HIGH**: `"BLOCK_ONLY_HIGH"`
+
+Defined in: [types/enums.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L57)
+
+Content with `NEGLIGIBLE`, `LOW`, and `MEDIUM` will be allowed.
+
+##### OFF
+
+> **OFF**: `"OFF"`
+
+Defined in: [types/enums.ts:66](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L66)
+
+All content will be allowed. This is the same as `BLOCK_NONE`, but the metadata corresponding
+to the [HarmCategory](#harmcategory) will not be present in the response.
+
+***
+
+### HarmCategory
+
+Defined in: [types/enums.ts:34](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L34)
+
+Harm categories that would cause prompts or candidates to be blocked.
+
+#### Enumeration Members
+
+##### HARM\_CATEGORY\_DANGEROUS\_CONTENT
+
+> **HARM\_CATEGORY\_DANGEROUS\_CONTENT**: `"HARM_CATEGORY_DANGEROUS_CONTENT"`
+
+Defined in: [types/enums.ts:38](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L38)
+
+##### HARM\_CATEGORY\_HARASSMENT
+
+> **HARM\_CATEGORY\_HARASSMENT**: `"HARM_CATEGORY_HARASSMENT"`
+
+Defined in: [types/enums.ts:37](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L37)
+
+##### HARM\_CATEGORY\_HATE\_SPEECH
+
+> **HARM\_CATEGORY\_HATE\_SPEECH**: `"HARM_CATEGORY_HATE_SPEECH"`
+
+Defined in: [types/enums.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L35)
+
+##### HARM\_CATEGORY\_SEXUALLY\_EXPLICIT
+
+> **HARM\_CATEGORY\_SEXUALLY\_EXPLICIT**: `"HARM_CATEGORY_SEXUALLY_EXPLICIT"`
+
+Defined in: [types/enums.ts:36](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L36)
+
+***
+
+### HarmProbability
+
+Defined in: [types/enums.ts:89](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L89)
+
+Probability that a prompt or candidate matches a harm category.
+
+#### Enumeration Members
+
+##### HIGH
+
+> **HIGH**: `"HIGH"`
+
+Defined in: [types/enums.ts:105](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L105)
+
+Content has a high chance of being unsafe.
+
+##### LOW
+
+> **LOW**: `"LOW"`
+
+Defined in: [types/enums.ts:97](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L97)
+
+Content has a low chance of being unsafe.
+
+##### MEDIUM
+
+> **MEDIUM**: `"MEDIUM"`
+
+Defined in: [types/enums.ts:101](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L101)
+
+Content has a medium chance of being unsafe.
+
+##### NEGLIGIBLE
+
+> **NEGLIGIBLE**: `"NEGLIGIBLE"`
+
+Defined in: [types/enums.ts:93](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L93)
+
+Content has a negligible chance of being unsafe.
+
+***
+
+### HarmSeverity
+
+Defined in: [types/enums.ts:112](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L112)
+
+Harm severity levels.
+
+#### Enumeration Members
+
+##### HARM\_SEVERITY\_HIGH
+
+> **HARM\_SEVERITY\_HIGH**: `"HARM_SEVERITY_HIGH"`
+
+Defined in: [types/enums.ts:128](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L128)
+
+High level of harm severity.
+
+##### HARM\_SEVERITY\_LOW
+
+> **HARM\_SEVERITY\_LOW**: `"HARM_SEVERITY_LOW"`
+
+Defined in: [types/enums.ts:120](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L120)
+
+Low level of harm severity.
+
+##### HARM\_SEVERITY\_MEDIUM
+
+> **HARM\_SEVERITY\_MEDIUM**: `"HARM_SEVERITY_MEDIUM"`
+
+Defined in: [types/enums.ts:124](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L124)
+
+Medium level of harm severity.
+
+##### HARM\_SEVERITY\_NEGLIGIBLE
+
+> **HARM\_SEVERITY\_NEGLIGIBLE**: `"HARM_SEVERITY_NEGLIGIBLE"`
+
+Defined in: [types/enums.ts:116](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L116)
+
+Negligible level of harm severity.
+
+##### HARM\_SEVERITY\_UNSUPPORTED
+
+> **HARM\_SEVERITY\_UNSUPPORTED**: `"HARM_SEVERITY_UNSUPPORTED"`
+
+Defined in: [types/enums.ts:135](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L135)
+
+Harm severity is not supported.
+
+###### Remarks
+
+The GoogleAI backend does not support `HarmSeverity`, so this value is used as a fallback.
+
+***
+
+### Modality
+
+Defined in: [types/enums.ts:233](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L233)
+
+Content part modality.
+
+#### Enumeration Members
+
+##### AUDIO
+
+> **AUDIO**: `"AUDIO"`
+
+Defined in: [types/enums.ts:253](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L253)
+
+Audio.
+
+##### DOCUMENT
+
+> **DOCUMENT**: `"DOCUMENT"`
+
+Defined in: [types/enums.ts:257](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L257)
+
+Document (for example, PDF).
+
+##### IMAGE
+
+> **IMAGE**: `"IMAGE"`
+
+Defined in: [types/enums.ts:245](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L245)
+
+Image.
+
+##### MODALITY\_UNSPECIFIED
+
+> **MODALITY\_UNSPECIFIED**: `"MODALITY_UNSPECIFIED"`
+
+Defined in: [types/enums.ts:237](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L237)
+
+Unspecified modality.
+
+##### TEXT
+
+> **TEXT**: `"TEXT"`
+
+Defined in: [types/enums.ts:241](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L241)
+
+Plain text.
+
+##### VIDEO
+
+> **VIDEO**: `"VIDEO"`
+
+Defined in: [types/enums.ts:249](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L249)
+
+Video.
+
+***
+
+### SchemaType
+
+Defined in: [types/schema.ts:24](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L24)
+
+Contains the list of OpenAPI data types
+as defined by the
+[OpenAPI specification](https://swagger.io/docs/specification/data-models/data-types/)
+
+#### Enumeration Members
+
+##### ARRAY
+
+> **ARRAY**: `"array"`
+
+Defined in: [types/schema.ts:34](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L34)
+
+Array type.
+
+##### BOOLEAN
+
+> **BOOLEAN**: `"boolean"`
+
+Defined in: [types/schema.ts:32](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L32)
+
+Boolean type.
+
+##### INTEGER
+
+> **INTEGER**: `"integer"`
+
+Defined in: [types/schema.ts:30](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L30)
+
+Integer type.
+
+##### NUMBER
+
+> **NUMBER**: `"number"`
+
+Defined in: [types/schema.ts:28](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L28)
+
+Number type.
+
+##### OBJECT
+
+> **OBJECT**: `"object"`
+
+Defined in: [types/schema.ts:36](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L36)
+
+Object type.
+
+##### STRING
+
+> **STRING**: `"string"`
+
+Defined in: [types/schema.ts:26](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L26)
+
+String type.
+
+## Interfaces
+
+### AI
+
+Defined in: [public-types.ts:88](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/public-types.ts#L88)
+
+An instance of the Firebase AI SDK.
+
+Do not create this instance directly. Instead, use [getAI()](#getai).
+
+#### Properties
+
+##### app
+
+> **app**: [`FirebaseApp`](app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+Defined in: [public-types.ts:92](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/public-types.ts#L92)
+
+The @firebase/app#FirebaseApp this [AI](#ai) instance is associated with.
+
+##### appCheck?
+
+> `optional` **appCheck?**: [`AppCheck`](app-check/README.mdx#appcheck) \| `null`
+
+Defined in: [public-types.ts:93](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/public-types.ts#L93)
+
+##### auth?
+
+> `optional` **auth?**: `Module` \| `null`
+
+Defined in: [public-types.ts:94](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/public-types.ts#L94)
+
+##### backend
+
+> **backend**: [`Backend`](#abstract-backend)
+
+Defined in: [public-types.ts:100](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/public-types.ts#L100)
+
+A [Backend](#abstract-backend) instance that specifies the configuration for the target backend,
+either the Gemini Developer API (using [GoogleAIBackend](#googleaibackend)) or the
+Vertex AI Gemini API (using [VertexAIBackend](#vertexaibackend)).
+
+##### ~~location~~
+
+> **location**: `string`
+
+Defined in: [public-types.ts:110](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/public-types.ts#L110)
+
+###### Deprecated
+
+use `AI.backend.location` instead.
+
+The location configured for this AI service instance, relevant for Vertex AI backends.
+
+##### options?
+
+> `optional` **options?**: [`AIOptions`](#aioptions-1)
+
+Defined in: [public-types.ts:104](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/public-types.ts#L104)
+
+Options applied to this [AI](#ai) instance.
+
+***
+
+### AIOptions
+
+Defined in: [public-types.ts:33](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/public-types.ts#L33)
+
+Options for initializing the AI service using [getAI()](#getai).
+This allows specifying which backend to use (Vertex AI Gemini API or Gemini Developer API)
+and configuring its specific options (like location for Vertex AI).
+
+#### Properties
+
+##### appCheck?
+
+> `optional` **appCheck?**: [`AppCheck`](app-check/README.mdx#appcheck) \| `null`
+
+Defined in: [public-types.ts:43](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/public-types.ts#L43)
+
+##### auth?
+
+> `optional` **auth?**: `Module` \| `null`
+
+Defined in: [public-types.ts:44](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/public-types.ts#L44)
+
+##### backend?
+
+> `optional` **backend?**: [`Backend`](#abstract-backend)
+
+Defined in: [public-types.ts:38](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/public-types.ts#L38)
+
+The backend configuration to use for the AI service instance.
+Defaults to the Gemini Developer API backend ([GoogleAIBackend](#googleaibackend)).
+
+##### useLimitedUseAppCheckTokens?
+
+> `optional` **useLimitedUseAppCheckTokens?**: `boolean`
+
+Defined in: [public-types.ts:42](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/public-types.ts#L42)
+
+Whether to use App Check limited use tokens. Defaults to false.
+
+***
+
+### AudioTranscriptionConfig
+
+Defined in: [types/requests.ts:466](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L466)
+
+**`Beta`**
+
+Configuration for audio transcription in Live sessions.
+
+***
+
+### BaseParams
+
+Defined in: [types/requests.ts:33](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L33)
+
+Base parameters for a number of methods.
+
+#### Extended by
+
+- [`ModelParams`](#modelparams)
+- [`GenerateContentRequest`](#generatecontentrequest)
+- [`StartChatParams`](#startchatparams)
+
+#### Properties
+
+##### generationConfig?
+
+> `optional` **generationConfig?**: [`GenerationConfig`](#generationconfig-6)
+
+Defined in: [types/requests.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L35)
+
+##### safetySettings?
+
+> `optional` **safetySettings?**: [`SafetySetting`](#safetysetting)[]
+
+Defined in: [types/requests.ts:34](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L34)
+
+***
+
+### Citation
+
+Defined in: [types/responses.ts:254](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L254)
+
+A single citation.
+
+#### Properties
+
+##### endIndex?
+
+> `optional` **endIndex?**: `number`
+
+Defined in: [types/responses.ts:256](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L256)
+
+##### license?
+
+> `optional` **license?**: `string`
+
+Defined in: [types/responses.ts:258](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L258)
+
+##### publicationDate?
+
+> `optional` **publicationDate?**: [`Date`](#date)
+
+Defined in: [types/responses.ts:270](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L270)
+
+The publication date of the cited source, if available.
+
+This property is only supported in the Vertex AI Gemini API ([VertexAIBackend](#vertexaibackend)).
+
+##### startIndex?
+
+> `optional` **startIndex?**: `number`
+
+Defined in: [types/responses.ts:255](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L255)
+
+##### title?
+
+> `optional` **title?**: `string`
+
+Defined in: [types/responses.ts:264](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L264)
+
+The title of the cited source, if available.
+
+This property is only supported in the Vertex AI Gemini API ([VertexAIBackend](#vertexaibackend)).
+
+##### uri?
+
+> `optional` **uri?**: `string`
+
+Defined in: [types/responses.ts:257](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L257)
+
+***
+
+### CitationMetadata
+
+Defined in: [types/responses.ts:246](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L246)
+
+Citation metadata that may be found on a [GenerateContentCandidate](#generatecontentcandidate).
+
+#### Properties
+
+##### citations
+
+> **citations**: [`Citation`](#citation)[]
+
+Defined in: [types/responses.ts:247](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L247)
+
+***
+
+### CodeExecutionResult
+
+Defined in: [types/content.ts:279](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L279)
+
+**`Beta`**
+
+The results of code execution run by the model.
+
+#### Properties
+
+##### outcome?
+
+> `optional` **outcome?**: `string`
+
+Defined in: [types/content.ts:283](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L283)
+
+**`Beta`**
+
+The result of the code execution.
+
+##### output?
+
+> `optional` **output?**: `string`
+
+Defined in: [types/content.ts:288](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L288)
+
+**`Beta`**
+
+The output from the code execution, or an error message
+if it failed.
+
+***
+
+### CodeExecutionResultPart
+
+Defined in: [types/content.ts:243](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L243)
+
+**`Beta`**
+
+Represents the code execution result from the model.
+
+#### Properties
+
+##### codeExecutionResult?
+
+> `optional` **codeExecutionResult?**: [`CodeExecutionResult`](#codeexecutionresult)
+
+Defined in: [types/content.ts:255](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L255)
+
+**`Beta`**
+
+##### executableCode?
+
+> `optional` **executableCode?**: `undefined`
+
+Defined in: [types/content.ts:254](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L254)
+
+**`Beta`**
+
+##### fileData
+
+> **fileData**: `never`
+
+Defined in: [types/content.ts:248](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L248)
+
+**`Beta`**
+
+##### functionCall?
+
+> `optional` **functionCall?**: `undefined`
+
+Defined in: [types/content.ts:246](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L246)
+
+**`Beta`**
+
+##### functionResponse?
+
+> `optional` **functionResponse?**: `undefined`
+
+Defined in: [types/content.ts:247](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L247)
+
+**`Beta`**
+
+##### inlineData?
+
+> `optional` **inlineData?**: `undefined`
+
+Defined in: [types/content.ts:245](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L245)
+
+**`Beta`**
+
+##### text?
+
+> `optional` **text?**: `undefined`
+
+Defined in: [types/content.ts:244](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L244)
+
+**`Beta`**
+
+##### thought?
+
+> `optional` **thought?**: `undefined`
+
+Defined in: [types/content.ts:249](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L249)
+
+**`Beta`**
+
+##### thoughtSignature?
+
+> `optional` **thoughtSignature?**: `undefined`
+
+Defined in: [types/content.ts:253](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L253)
+
+**`Internal`**
+
+***
+
+### CodeExecutionTool
+
+Defined in: [types/requests.ts:323](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L323)
+
+**`Beta`**
+
+A tool that enables the model to use code execution.
+
+#### Properties
+
+##### codeExecution
+
+> **codeExecution**: `object`
+
+Defined in: [types/requests.ts:328](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L328)
+
+**`Beta`**
+
+Specifies the code execution configuration.
+Currently, this is an empty object, but it's reserved for future configuration options.
+
+***
+
+### Content
+
+Defined in: [types/content.ts:24](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L24)
+
+Content type for both prompts and response candidates.
+
+#### Properties
+
+##### parts
+
+> **parts**: [`Part`](#part)[]
+
+Defined in: [types/content.ts:26](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L26)
+
+##### role
+
+> **role**: `"function"` \| `"user"` \| `"model"` \| `"system"`
+
+Defined in: [types/content.ts:25](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L25)
+
+***
+
+### CountTokensRequest
+
+Defined in: [types/requests.ts:218](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L218)
+
+Params for calling [GenerativeModel.countTokens](#counttokens)
+
+#### Properties
+
+##### contents
+
+> **contents**: [`Content`](#content)[]
+
+Defined in: [types/requests.ts:219](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L219)
+
+##### generationConfig?
+
+> `optional` **generationConfig?**: [`GenerationConfig`](#generationconfig-6)
+
+Defined in: [types/requests.ts:231](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L231)
+
+Configuration options that control how the model generates a response.
+
+##### systemInstruction?
+
+> `optional` **systemInstruction?**: `string` \| [`Content`](#content) \| [`Part`](#part)
+
+Defined in: [types/requests.ts:223](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L223)
+
+Instructions that direct the model to behave a certain way.
+
+##### tools?
+
+> `optional` **tools?**: [`Tool`](#tool)[]
+
+Defined in: [types/requests.ts:227](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L227)
+
+[Tool](#tool) configuration.
+
+***
+
+### CountTokensResponse
+
+Defined in: [types/responses.ts:501](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L501)
+
+Response from calling [GenerativeModel.countTokens](#counttokens).
+
+#### Properties
+
+##### promptTokensDetails?
+
+> `optional` **promptTokensDetails?**: [`ModalityTokenCount`](#modalitytokencount)[]
+
+Defined in: [types/responses.ts:519](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L519)
+
+The breakdown, by modality, of how many tokens are consumed by the prompt.
+
+##### ~~totalBillableCharacters?~~
+
+> `optional` **totalBillableCharacters?**: `number`
+
+Defined in: [types/responses.ts:515](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L515)
+
+###### Deprecated
+
+Use `totalTokens` instead. This property is undefined when using models greater than `gemini-1.5-*`.
+
+The total number of billable characters counted across all instances
+from the request.
+
+This property is only supported when using the Vertex AI Gemini API ([VertexAIBackend](#vertexaibackend)).
+When using the Gemini Developer API ([GoogleAIBackend](#googleaibackend)), this property is not supported and will default to 0.
+
+##### totalTokens
+
+> **totalTokens**: `number`
+
+Defined in: [types/responses.ts:505](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L505)
+
+The total number of tokens counted across all instances from the request.
+
+***
+
+### CustomErrorData
+
+Defined in: [types/error.ts:46](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L46)
+
+Details object that contains data originating from a bad HTTP response.
+
+#### Properties
+
+##### errorDetails?
+
+> `optional` **errorDetails?**: [`ErrorDetails`](#errordetails-1)[]
+
+Defined in: [types/error.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L57)
+
+Optional additional details about the error.
+
+##### response?
+
+> `optional` **response?**: [`GenerateContentResponse`](#generatecontentresponse)
+
+Defined in: [types/error.ts:54](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L54)
+
+Response from a [GenerateContentRequest](#generatecontentrequest)
+
+##### status?
+
+> `optional` **status?**: `number`
+
+Defined in: [types/error.ts:48](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L48)
+
+HTTP status code of the error response.
+
+##### statusText?
+
+> `optional` **statusText?**: `string`
+
+Defined in: [types/error.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L51)
+
+HTTP status text of the error response.
+
+***
+
+### Date
+
+Defined in: [types/responses.ts:460](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L460)
+
+Protobuf google.type.Date
+
+#### Properties
+
+##### day
+
+> **day**: `number`
+
+Defined in: [types/responses.ts:463](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L463)
+
+##### month
+
+> **month**: `number`
+
+Defined in: [types/responses.ts:462](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L462)
+
+##### year
+
+> **year**: `number`
+
+Defined in: [types/responses.ts:461](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L461)
+
+***
+
+### EnhancedGenerateContentResponse
+
+Defined in: [types/responses.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L55)
+
+Response object wrapped with helper methods.
+
+#### Extends
+
+- [`GenerateContentResponse`](#generatecontentresponse)
+
+#### Properties
+
+##### candidates?
+
+> `optional` **candidates?**: [`GenerateContentCandidate`](#generatecontentcandidate)[]
+
+Defined in: [types/responses.ts:102](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L102)
+
+###### Inherited from
+
+[`GenerateContentResponse`](#generatecontentresponse).[`candidates`](#candidates-1)
+
+##### functionCalls
+
+> **functionCalls**: () => [`FunctionCall`](#functioncall-3)[] \| `undefined`
+
+Defined in: [types/responses.ts:76](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L76)
+
+Aggregates and returns every [FunctionCall](#functioncall-3) from the first candidate of
+[GenerateContentResponse](#generatecontentresponse).
+
+###### Returns
+
+[`FunctionCall`](#functioncall-3)[] \| `undefined`
+
+###### Throws
+
+If the prompt or candidate was blocked.
+
+##### inlineDataParts
+
+> **inlineDataParts**: () => [`InlineDataPart`](#inlinedatapart)[] \| `undefined`
+
+Defined in: [types/responses.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L69)
+
+Aggregates and returns all [InlineDataPart](#inlinedatapart)s from the [GenerateContentResponse](#generatecontentresponse)'s
+first candidate.
+
+###### Returns
+
+[`InlineDataPart`](#inlinedatapart)[] \| `undefined`
+
+An array of [InlineDataPart](#inlinedatapart)s containing data from the response, if available.
+
+###### Throws
+
+If the prompt or candidate was blocked.
+
+##### promptFeedback?
+
+> `optional` **promptFeedback?**: [`PromptFeedback`](#promptfeedback-3)
+
+Defined in: [types/responses.ts:103](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L103)
+
+###### Inherited from
+
+[`GenerateContentResponse`](#generatecontentresponse).[`promptFeedback`](#promptfeedback-1)
+
+##### text
+
+> **text**: () => `string`
+
+Defined in: [types/responses.ts:60](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L60)
+
+Returns the text string from the response, if available.
+Throws if the prompt or candidate was blocked.
+
+###### Returns
+
+`string`
+
+##### thoughtSummary
+
+> **thoughtSummary**: () => `string` \| `undefined`
+
+Defined in: [types/responses.ts:91](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L91)
+
+Aggregates and returns every [TextPart](#textpart) with their `thought` property set
+to `true` from the first candidate of [GenerateContentResponse](#generatecontentresponse).
+
+###### Returns
+
+`string` \| `undefined`
+
+###### Throws
+
+If the prompt or candidate was blocked.
+
+###### Remarks
+
+Thought summaries provide a brief overview of the model's internal thinking process,
+offering insight into how it arrived at the final answer. This can be useful for
+debugging, understanding the model's reasoning, and verifying its accuracy.
+
+Thoughts will only be included if [ThinkingConfig.includeThoughts](#includethoughts) is
+set to `true`.
+
+##### usageMetadata?
+
+> `optional` **usageMetadata?**: [`UsageMetadata`](#usagemetadata-3)
+
+Defined in: [types/responses.ts:104](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L104)
+
+###### Inherited from
+
+[`GenerateContentResponse`](#generatecontentresponse).[`usageMetadata`](#usagemetadata-1)
+
+***
+
+### ErrorDetails
+
+Defined in: [types/error.ts:25](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L25)
+
+Details object that may be included in an error response.
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+Any other relevant information about the error.
+
+#### Properties
+
+##### @type?
+
+> `optional` **@type?**: `string`
+
+Defined in: [types/error.ts:26](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L26)
+
+##### domain?
+
+> `optional` **domain?**: `string`
+
+Defined in: [types/error.ts:32](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L32)
+
+The domain where the error occurred.
+
+##### metadata?
+
+> `optional` **metadata?**: `Record`\<`string`, `unknown`\>
+
+Defined in: [types/error.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L35)
+
+Additional metadata about the error.
+
+##### reason?
+
+> `optional` **reason?**: `string`
+
+Defined in: [types/error.ts:29](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/error.ts#L29)
+
+The reason for the error.
+
+***
+
+### ExecutableCode
+
+Defined in: [types/content.ts:263](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L263)
+
+**`Beta`**
+
+An interface for executable code returned by the model.
+
+#### Properties
+
+##### code?
+
+> `optional` **code?**: `string`
+
+Defined in: [types/content.ts:271](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L271)
+
+**`Beta`**
+
+The source code to be executed.
+
+##### language?
+
+> `optional` **language?**: `string`
+
+Defined in: [types/content.ts:267](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L267)
+
+**`Beta`**
+
+The programming language of the code.
+
+***
+
+### ExecutableCodePart
+
+Defined in: [types/content.ts:223](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L223)
+
+**`Beta`**
+
+Represents the code that is executed by the model.
+
+#### Properties
+
+##### codeExecutionResult?
+
+> `optional` **codeExecutionResult?**: `undefined`
+
+Defined in: [types/content.ts:235](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L235)
+
+**`Beta`**
+
+##### executableCode?
+
+> `optional` **executableCode?**: [`ExecutableCode`](#executablecode-1)
+
+Defined in: [types/content.ts:234](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L234)
+
+**`Beta`**
+
+##### fileData
+
+> **fileData**: `never`
+
+Defined in: [types/content.ts:228](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L228)
+
+**`Beta`**
+
+##### functionCall?
+
+> `optional` **functionCall?**: `undefined`
+
+Defined in: [types/content.ts:226](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L226)
+
+**`Beta`**
+
+##### functionResponse?
+
+> `optional` **functionResponse?**: `undefined`
+
+Defined in: [types/content.ts:227](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L227)
+
+**`Beta`**
+
+##### inlineData?
+
+> `optional` **inlineData?**: `undefined`
+
+Defined in: [types/content.ts:225](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L225)
+
+**`Beta`**
+
+##### text?
+
+> `optional` **text?**: `undefined`
+
+Defined in: [types/content.ts:224](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L224)
+
+**`Beta`**
+
+##### thought?
+
+> `optional` **thought?**: `undefined`
+
+Defined in: [types/content.ts:229](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L229)
+
+**`Beta`**
+
+##### thoughtSignature?
+
+> `optional` **thoughtSignature?**: `undefined`
+
+Defined in: [types/content.ts:233](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L233)
+
+**`Internal`**
+
+***
+
+### FileData
+
+Defined in: [types/content.ts:213](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L213)
+
+Data pointing to a file uploaded on Google Cloud Storage.
+
+#### Properties
+
+##### fileUri
+
+> **fileUri**: `string`
+
+Defined in: [types/content.ts:215](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L215)
+
+##### mimeType
+
+> **mimeType**: `string`
+
+Defined in: [types/content.ts:214](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L214)
+
+***
+
+### FileDataPart
+
+Defined in: [types/content.ts:140](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L140)
+
+Content part interface if the part represents [FileData](#filedata-2)
+
+#### Properties
+
+##### codeExecutionResult?
+
+> `optional` **codeExecutionResult?**: `undefined`
+
+Defined in: [types/content.ts:152](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L152)
+
+##### executableCode?
+
+> `optional` **executableCode?**: `undefined`
+
+Defined in: [types/content.ts:151](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L151)
+
+##### fileData
+
+> **fileData**: [`FileData`](#filedata-2)
+
+Defined in: [types/content.ts:145](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L145)
+
+##### functionCall?
+
+> `optional` **functionCall?**: `undefined`
+
+Defined in: [types/content.ts:143](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L143)
+
+##### functionResponse?
+
+> `optional` **functionResponse?**: `undefined`
+
+Defined in: [types/content.ts:144](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L144)
+
+##### inlineData?
+
+> `optional` **inlineData?**: `undefined`
+
+Defined in: [types/content.ts:142](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L142)
+
+##### text?
+
+> `optional` **text?**: `undefined`
+
+Defined in: [types/content.ts:141](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L141)
+
+##### thought?
+
+> `optional` **thought?**: `boolean`
+
+Defined in: [types/content.ts:146](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L146)
+
+##### thoughtSignature?
+
+> `optional` **thoughtSignature?**: `undefined`
+
+Defined in: [types/content.ts:150](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L150)
+
+**`Internal`**
+
+***
+
+### FunctionCall
+
+Defined in: [types/content.ts:161](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L161)
+
+A predicted [FunctionCall](#functioncall-3) returned from the model
+that contains a string representing the [FunctionDeclaration.name](#name-1)
+and a structured JSON object containing the parameters and their values.
+
+#### Properties
+
+##### args
+
+> **args**: `object`
+
+Defined in: [types/content.ts:172](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L172)
+
+##### id?
+
+> `optional` **id?**: `string`
+
+Defined in: [types/content.ts:170](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L170)
+
+The id of the function call. This must be sent back in the associated [FunctionResponse](#functionresponse-4).
+
+###### Remarks
+
+This property is only supported in the Gemini Developer API ([GoogleAIBackend](#googleaibackend)).
+When using the Gemini Developer API ([GoogleAIBackend](#googleaibackend)), this property will be
+`undefined`.
+
+##### name
+
+> **name**: `string`
+
+Defined in: [types/content.ts:171](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L171)
+
+***
+
+### FunctionCallingConfig
+
+Defined in: [types/requests.ts:383](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L383)
+
+#### Properties
+
+##### allowedFunctionNames?
+
+> `optional` **allowedFunctionNames?**: `string`[]
+
+Defined in: [types/requests.ts:385](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L385)
+
+##### mode?
+
+> `optional` **mode?**: [`FunctionCallingMode`](#functioncallingmode)
+
+Defined in: [types/requests.ts:384](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L384)
+
+***
+
+### FunctionCallPart
+
+Defined in: [types/content.ts:104](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L104)
+
+Content part interface if the part represents a [FunctionCall](#functioncall-3).
+
+#### Properties
+
+##### codeExecutionResult?
+
+> `optional` **codeExecutionResult?**: `undefined`
+
+Defined in: [types/content.ts:115](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L115)
+
+##### executableCode?
+
+> `optional` **executableCode?**: `undefined`
+
+Defined in: [types/content.ts:114](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L114)
+
+##### functionCall
+
+> **functionCall**: [`FunctionCall`](#functioncall-3)
+
+Defined in: [types/content.ts:107](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L107)
+
+##### functionResponse?
+
+> `optional` **functionResponse?**: `undefined`
+
+Defined in: [types/content.ts:108](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L108)
+
+##### inlineData?
+
+> `optional` **inlineData?**: `undefined`
+
+Defined in: [types/content.ts:106](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L106)
+
+##### text?
+
+> `optional` **text?**: `undefined`
+
+Defined in: [types/content.ts:105](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L105)
+
+##### thought?
+
+> `optional` **thought?**: `boolean`
+
+Defined in: [types/content.ts:109](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L109)
+
+##### thoughtSignature?
+
+> `optional` **thoughtSignature?**: `undefined`
+
+Defined in: [types/content.ts:113](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L113)
+
+**`Internal`**
+
+***
+
+### FunctionDeclaration
+
+Defined in: [types/requests.ts:264](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L264)
+
+Structured representation of a function declaration as defined by the
+[OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3).
+Included
+in this declaration are the function name and parameters. This
+`FunctionDeclaration` is a representation of a block of code that can be used
+as a Tool by the model and executed by the client.
+
+#### Properties
+
+##### description
+
+> **description**: `string`
+
+Defined in: [types/requests.ts:275](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L275)
+
+Description and purpose of the function. Model uses it to decide
+how and whether to call the function.
+
+##### name
+
+> **name**: `string`
+
+Defined in: [types/requests.ts:270](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L270)
+
+The name of the function to call. Must start with a letter or an
+underscore. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with
+a max length of 64.
+
+##### parameters?
+
+> `optional` **parameters?**: [`ObjectSchemaInterface`](#objectschemainterface)
+
+Defined in: [types/requests.ts:281](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L281)
+
+Optional. Describes the parameters to this function in JSON Schema Object
+format. Reflects the Open API 3.03 Parameter Object. Parameter names are
+case-sensitive. For a function with no parameters, this can be left unset.
+
+***
+
+### FunctionDeclarationsTool
+
+Defined in: [types/requests.ts:358](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L358)
+
+A `FunctionDeclarationsTool` is a piece of code that enables the system to
+interact with external systems to perform an action, or set of actions,
+outside of knowledge and scope of the model.
+
+#### Properties
+
+##### functionDeclarations?
+
+> `optional` **functionDeclarations?**: [`FunctionDeclaration`](#functiondeclaration)[]
+
+Defined in: [types/requests.ts:369](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L369)
+
+Optional. One or more function declarations
+to be passed to the model along with the current user query. Model may
+decide to call a subset of these functions by populating
+[FunctionCall](#functioncall-3) in the response. User should
+provide a [FunctionResponse](#functionresponse-4) for each
+function call in the next turn. Based on the function responses, the model will
+generate the final response back to the user. Maximum 64 function
+declarations can be provided.
+
+***
+
+### FunctionResponse
+
+Defined in: [types/content.ts:184](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L184)
+
+The result output from a [FunctionCall](#functioncall-3) that contains a string
+representing the [FunctionDeclaration.name](#name-1)
+and a structured JSON object containing any output
+from the function is used as context to the model.
+This should contain the result of a [FunctionCall](#functioncall-3)
+made based on model prediction.
+
+#### Properties
+
+##### id?
+
+> `optional` **id?**: `string`
+
+Defined in: [types/content.ts:192](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L192)
+
+The id of the [FunctionCall](#functioncall-3).
+
+###### Remarks
+
+This property is only supported in the Gemini Developer API ([GoogleAIBackend](#googleaibackend)).
+When using the Gemini Developer API ([GoogleAIBackend](#googleaibackend)), this property will be
+`undefined`.
+
+##### name
+
+> **name**: `string`
+
+Defined in: [types/content.ts:193](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L193)
+
+##### response
+
+> **response**: `object`
+
+Defined in: [types/content.ts:194](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L194)
+
+***
+
+### FunctionResponsePart
+
+Defined in: [types/content.ts:122](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L122)
+
+Content part interface if the part represents [FunctionResponse](#functionresponse-4).
+
+#### Properties
+
+##### codeExecutionResult?
+
+> `optional` **codeExecutionResult?**: `undefined`
+
+Defined in: [types/content.ts:133](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L133)
+
+##### executableCode?
+
+> `optional` **executableCode?**: `undefined`
+
+Defined in: [types/content.ts:132](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L132)
+
+##### functionCall?
+
+> `optional` **functionCall?**: `undefined`
+
+Defined in: [types/content.ts:125](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L125)
+
+##### functionResponse
+
+> **functionResponse**: [`FunctionResponse`](#functionresponse-4)
+
+Defined in: [types/content.ts:126](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L126)
+
+##### inlineData?
+
+> `optional` **inlineData?**: `undefined`
+
+Defined in: [types/content.ts:124](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L124)
+
+##### text?
+
+> `optional` **text?**: `undefined`
+
+Defined in: [types/content.ts:123](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L123)
+
+##### thought?
+
+> `optional` **thought?**: `boolean`
+
+Defined in: [types/content.ts:127](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L127)
+
+##### thoughtSignature?
+
+> `optional` **thoughtSignature?**: `undefined`
+
+Defined in: [types/content.ts:131](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L131)
+
+**`Internal`**
+
+***
+
+### GenerateContentCandidate
+
+Defined in: [types/responses.ts:156](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L156)
+
+A candidate returned as part of a [GenerateContentResponse](#generatecontentresponse).
+
+#### Properties
+
+##### citationMetadata?
+
+> `optional` **citationMetadata?**: [`CitationMetadata`](#citationmetadata)
+
+Defined in: [types/responses.ts:162](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L162)
+
+##### content
+
+> **content**: [`Content`](#content)
+
+Defined in: [types/responses.ts:158](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L158)
+
+##### finishMessage?
+
+> `optional` **finishMessage?**: `string`
+
+Defined in: [types/responses.ts:160](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L160)
+
+##### finishReason?
+
+> `optional` **finishReason?**: [`FinishReason`](#finishreason)
+
+Defined in: [types/responses.ts:159](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L159)
+
+##### groundingMetadata?
+
+> `optional` **groundingMetadata?**: [`GroundingMetadata`](#groundingmetadata-2)
+
+Defined in: [types/responses.ts:163](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L163)
+
+##### index
+
+> **index**: `number`
+
+Defined in: [types/responses.ts:157](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L157)
+
+##### safetyRatings?
+
+> `optional` **safetyRatings?**: [`SafetyRating`](#safetyrating)[]
+
+Defined in: [types/responses.ts:161](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L161)
+
+##### urlContextMetadata?
+
+> `optional` **urlContextMetadata?**: [`URLContextMetadata`](#urlcontextmetadata-2)
+
+Defined in: [types/responses.ts:164](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L164)
+
+***
+
+### GenerateContentRequest
+
+Defined in: [types/requests.ts:65](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L65)
+
+Request sent through [GenerativeModel.generateContent](#generatecontent)
+
+#### Extends
+
+- [`BaseParams`](#baseparams)
+
+#### Properties
+
+##### contents
+
+> **contents**: [`Content`](#content)[]
+
+Defined in: [types/requests.ts:66](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L66)
+
+##### generationConfig?
+
+> `optional` **generationConfig?**: [`GenerationConfig`](#generationconfig-6)
+
+Defined in: [types/requests.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L35)
+
+###### Inherited from
+
+[`BaseParams`](#baseparams).[`generationConfig`](#generationconfig-3)
+
+##### safetySettings?
+
+> `optional` **safetySettings?**: [`SafetySetting`](#safetysetting)[]
+
+Defined in: [types/requests.ts:34](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L34)
+
+###### Inherited from
+
+[`BaseParams`](#baseparams).[`safetySettings`](#safetysettings-2)
+
+##### systemInstruction?
+
+> `optional` **systemInstruction?**: `string` \| [`Content`](#content) \| [`Part`](#part)
+
+Defined in: [types/requests.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L69)
+
+##### toolConfig?
+
+> `optional` **toolConfig?**: [`ToolConfig`](#toolconfig-6)
+
+Defined in: [types/requests.ts:68](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L68)
+
+##### tools?
+
+> `optional` **tools?**: [`Tool`](#tool)[]
+
+Defined in: [types/requests.ts:67](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L67)
+
+***
+
+### GenerateContentResponse
+
+Defined in: [types/responses.ts:101](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L101)
+
+Individual response from [GenerativeModel.generateContent](#generatecontent) and
+[GenerativeModel.generateContentStream](#generatecontentstream).
+`generateContentStream()` will return one in each chunk until
+the stream is done.
+
+#### Extended by
+
+- [`EnhancedGenerateContentResponse`](#enhancedgeneratecontentresponse)
+
+#### Properties
+
+##### candidates?
+
+> `optional` **candidates?**: [`GenerateContentCandidate`](#generatecontentcandidate)[]
+
+Defined in: [types/responses.ts:102](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L102)
+
+##### promptFeedback?
+
+> `optional` **promptFeedback?**: [`PromptFeedback`](#promptfeedback-3)
+
+Defined in: [types/responses.ts:103](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L103)
+
+##### usageMetadata?
+
+> `optional` **usageMetadata?**: [`UsageMetadata`](#usagemetadata-3)
+
+Defined in: [types/responses.ts:104](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L104)
+
+***
+
+### GenerateContentResult
+
+Defined in: [types/responses.ts:33](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L33)
+
+Result object returned from [GenerativeModel.generateContent](#generatecontent) call.
+
+#### Properties
+
+##### response
+
+> **response**: [`EnhancedGenerateContentResponse`](#enhancedgeneratecontentresponse)
+
+Defined in: [types/responses.ts:34](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L34)
+
+***
+
+### GenerateContentStreamResult
+
+Defined in: [types/responses.ts:45](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L45)
+
+Result object returned from [GenerativeModel.generateContentStream](#generatecontentstream) call.
+Iterate over `stream` to get chunks as they come in and/or
+use the `response` promise to get the aggregated response when
+the stream is done.
+
+#### Properties
+
+##### response
+
+> **response**: `Promise`\<[`EnhancedGenerateContentResponse`](#enhancedgeneratecontentresponse)\>
+
+Defined in: [types/responses.ts:47](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L47)
+
+##### stream
+
+> **stream**: `AsyncGenerator`\<[`EnhancedGenerateContentResponse`](#enhancedgeneratecontentresponse)\>
+
+Defined in: [types/responses.ts:46](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L46)
+
+***
+
+### GenerationConfig
+
+Defined in: [types/requests.ts:93](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L93)
+
+Config options for content-related requests
+
+#### Properties
+
+##### candidateCount?
+
+> `optional` **candidateCount?**: `number`
+
+Defined in: [types/requests.ts:94](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L94)
+
+##### frequencyPenalty?
+
+> `optional` **frequencyPenalty?**: `number`
+
+Defined in: [types/requests.ts:101](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L101)
+
+##### maxOutputTokens?
+
+> `optional` **maxOutputTokens?**: `number`
+
+Defined in: [types/requests.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L96)
+
+##### presencePenalty?
+
+> `optional` **presencePenalty?**: `number`
+
+Defined in: [types/requests.ts:100](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L100)
+
+##### responseMimeType?
+
+> `optional` **responseMimeType?**: `string`
+
+Defined in: [types/requests.ts:108](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L108)
+
+Output response MIME type of the generated candidate text.
+Supported MIME types are `text/plain` (default, text output),
+`application/json` (JSON response in the candidates), and
+`text/x.enum`.
+
+##### responseModalities?
+
+> `optional` **responseModalities?**: [`ResponseModality`](#responsemodality)[]
+
+Defined in: [types/requests.ts:127](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L127)
+
+**`Beta`**
+
+Generation modalities to be returned in generation responses.
+
+###### Remarks
+
+- Multimodal response generation is only supported by some Gemini models and versions; see [model versions](https://firebase.google.com/docs/vertex-ai/models).
+ - Only image generation (`ResponseModality.IMAGE`) is supported.
+
+##### responseSchema?
+
+> `optional` **responseSchema?**: [`TypedSchema`](#typedschema) \| [`SchemaRequest`](#schemarequest)
+
+Defined in: [types/requests.ts:117](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L117)
+
+Output response schema of the generated candidate text. This
+value can be a class generated with a [Schema](#abstract-schema) static method
+like `Schema.string()` or `Schema.object()` or it can be a plain
+JS object matching the [SchemaRequest](#schemarequest) interface.
+
Note: This only applies when the specified `responseMIMEType` supports a schema; currently
+this is limited to `application/json` and `text/x.enum`.
+
+##### stopSequences?
+
+> `optional` **stopSequences?**: `string`[]
+
+Defined in: [types/requests.ts:95](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L95)
+
+##### temperature?
+
+> `optional` **temperature?**: `number`
+
+Defined in: [types/requests.ts:97](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L97)
+
+##### thinkingConfig?
+
+> `optional` **thinkingConfig?**: [`ThinkingConfig`](#thinkingconfig-1)
+
+Defined in: [types/requests.ts:131](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L131)
+
+Configuration for "thinking" behavior of compatible Gemini models.
+
+##### topK?
+
+> `optional` **topK?**: `number`
+
+Defined in: [types/requests.ts:99](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L99)
+
+##### topP?
+
+> `optional` **topP?**: `number`
+
+Defined in: [types/requests.ts:98](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L98)
+
+***
+
+### GenerativeContentBlob
+
+Defined in: [types/content.ts:201](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L201)
+
+Interface for sending an image.
+
+#### Properties
+
+##### data
+
+> **data**: `string`
+
+Defined in: [types/content.ts:206](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L206)
+
+Image as a base64 string.
+
+##### mimeType
+
+> **mimeType**: `string`
+
+Defined in: [types/content.ts:202](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L202)
+
+***
+
+### GoogleAICitationMetadata
+
+Defined in: [types/googleai.ts:70](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L70)
+
+**`Internal`**
+
+#### Properties
+
+##### citationSources
+
+> **citationSources**: [`Citation`](#citation)[]
+
+Defined in: [types/googleai.ts:71](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L71)
+
+***
+
+### GoogleAICountTokensRequest
+
+Defined in: [types/googleai.ts:34](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L34)
+
+**`Internal`**
+
+#### Properties
+
+##### generateContentRequest
+
+> **generateContentRequest**: `object`
+
+Defined in: [types/googleai.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L35)
+
+###### contents
+
+> **contents**: [`Content`](#content)[]
+
+###### generationConfig?
+
+> `optional` **generationConfig?**: [`GenerationConfig`](#generationconfig-6)
+
+###### model
+
+> **model**: `string`
+
+###### systemInstruction?
+
+> `optional` **systemInstruction?**: `string` \| [`Content`](#content) \| [`Part`](#part)
+
+###### tools?
+
+> `optional` **tools?**: [`Tool`](#tool)[]
+
+***
+
+### GoogleAIGenerateContentCandidate
+
+Defined in: [types/googleai.ts:56](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L56)
+
+**`Internal`**
+
+#### Properties
+
+##### citationMetadata?
+
+> `optional` **citationMetadata?**: [`GoogleAICitationMetadata`](#googleaicitationmetadata)
+
+Defined in: [types/googleai.ts:62](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L62)
+
+##### content
+
+> **content**: [`Content`](#content)
+
+Defined in: [types/googleai.ts:58](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L58)
+
+##### finishMessage?
+
+> `optional` **finishMessage?**: `string`
+
+Defined in: [types/googleai.ts:60](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L60)
+
+##### finishReason?
+
+> `optional` **finishReason?**: [`FinishReason`](#finishreason)
+
+Defined in: [types/googleai.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L59)
+
+##### groundingMetadata?
+
+> `optional` **groundingMetadata?**: [`GroundingMetadata`](#groundingmetadata-2)
+
+Defined in: [types/googleai.ts:63](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L63)
+
+##### index
+
+> **index**: `number`
+
+Defined in: [types/googleai.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L57)
+
+##### safetyRatings?
+
+> `optional` **safetyRatings?**: [`SafetyRating`](#safetyrating)[]
+
+Defined in: [types/googleai.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L61)
+
+##### urlContextMetadata?
+
+> `optional` **urlContextMetadata?**: [`URLContextMetadata`](#urlcontextmetadata-2)
+
+Defined in: [types/googleai.ts:64](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L64)
+
+***
+
+### GoogleAIGenerateContentResponse
+
+Defined in: [types/googleai.ts:47](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L47)
+
+**`Internal`**
+
+#### Properties
+
+##### candidates?
+
+> `optional` **candidates?**: [`GoogleAIGenerateContentCandidate`](#googleaigeneratecontentcandidate)[]
+
+Defined in: [types/googleai.ts:48](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L48)
+
+##### promptFeedback?
+
+> `optional` **promptFeedback?**: [`PromptFeedback`](#promptfeedback-3)
+
+Defined in: [types/googleai.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L49)
+
+##### usageMetadata?
+
+> `optional` **usageMetadata?**: [`UsageMetadata`](#usagemetadata-3)
+
+Defined in: [types/googleai.ts:50](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/googleai.ts#L50)
+
+***
+
+### GoogleSearch
+
+Defined in: [types/requests.ts:316](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L316)
+
+Specifies the Google Search configuration.
+
+#### Remarks
+
+Currently, this is an empty object, but it's reserved for future configuration options.
+
+***
+
+### GoogleSearchTool
+
+Defined in: [types/requests.ts:295](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L295)
+
+A tool that allows a Gemini model to connect to Google Search to access and incorporate
+up-to-date information from the web into its responses.
+
+Important: If using Grounding with Google Search, you are required to comply with the
+"Grounding with Google Search" usage requirements for your chosen API provider: [Gemini Developer API](https://ai.google.dev/gemini-api/terms#grounding-with-google-search)
+or Vertex AI Gemini API (see [Service Terms](https://cloud.google.com/terms/service-terms)
+section within the Service Specific Terms).
+
+#### Properties
+
+##### googleSearch
+
+> **googleSearch**: [`GoogleSearch`](#googlesearch)
+
+Defined in: [types/requests.ts:306](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L306)
+
+Specifies the Google Search configuration.
+Currently, this is an empty object, but it's reserved for future configuration options.
+Specifies the Google Search configuration.
+
+When using this feature, you are required to comply with the "Grounding with Google Search"
+usage requirements for your chosen API provider: [Gemini Developer API](https://ai.google.dev/gemini-api/terms#grounding-with-google-search)
+or Vertex AI Gemini API (see [Service Terms](https://cloud.google.com/terms/service-terms)
+section within the Service Specific Terms).
+
+***
+
+### ~~GroundingAttribution~~
+
+Defined in: [types/responses.ts:402](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L402)
+
+#### Deprecated
+
+#### Properties
+
+##### ~~confidenceScore?~~
+
+> `optional` **confidenceScore?**: `number`
+
+Defined in: [types/responses.ts:404](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L404)
+
+##### ~~retrievedContext?~~
+
+> `optional` **retrievedContext?**: [`RetrievedContextAttribution`](#retrievedcontextattribution)
+
+Defined in: [types/responses.ts:406](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L406)
+
+##### ~~segment~~
+
+> **segment**: [`Segment`](#segment-2)
+
+Defined in: [types/responses.ts:403](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L403)
+
+##### ~~web?~~
+
+> `optional` **web?**: [`WebAttribution`](#webattribution)
+
+Defined in: [types/responses.ts:405](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L405)
+
+***
+
+### GroundingChunk
+
+Defined in: [types/responses.ts:343](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L343)
+
+Represents a chunk of retrieved data that supports a claim in the model's response. This is part
+of the grounding information provided when grounding is enabled.
+
+#### Properties
+
+##### web?
+
+> `optional` **web?**: [`WebGroundingChunk`](#webgroundingchunk)
+
+Defined in: [types/responses.ts:347](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L347)
+
+Contains details if the grounding chunk is from a web source.
+
+***
+
+### GroundingMetadata
+
+Defined in: [types/responses.ts:285](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L285)
+
+Metadata returned when grounding is enabled.
+
+Currently, only Grounding with Google Search is supported (see [GoogleSearchTool](#googlesearchtool)).
+
+Important: If using Grounding with Google Search, you are required to comply with the
+"Grounding with Google Search" usage requirements for your chosen API provider: [Gemini Developer API](https://ai.google.dev/gemini-api/terms#grounding-with-google-search)
+or Vertex AI Gemini API (see [Service Terms](https://cloud.google.com/terms/service-terms)
+section within the Service Specific Terms).
+
+#### Properties
+
+##### groundingChunks?
+
+> `optional` **groundingChunks?**: [`GroundingChunk`](#groundingchunk)[]
+
+Defined in: [types/responses.ts:296](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L296)
+
+A list of [GroundingChunk](#groundingchunk) objects. Each chunk represents a piece of retrieved content
+(for example, from a web page). that the model used to ground its response.
+
+##### groundingSupports?
+
+> `optional` **groundingSupports?**: [`GroundingSupport`](#groundingsupport)[]
+
+Defined in: [types/responses.ts:301](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L301)
+
+A list of [GroundingSupport](#groundingsupport) objects. Each object details how specific segments of the
+model's response are supported by the `groundingChunks`.
+
+##### ~~retrievalQueries?~~
+
+> `optional` **retrievalQueries?**: `string`[]
+
+Defined in: [types/responses.ts:310](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L310)
+
+###### Deprecated
+
+Use [GroundingSupport](#groundingsupport) instead.
+
+##### searchEntryPoint?
+
+> `optional` **searchEntryPoint?**: [`SearchEntrypoint`](#searchentrypoint-1)
+
+Defined in: [types/responses.ts:291](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L291)
+
+Google Search entry point for web searches. This contains an HTML/CSS snippet that must be
+embedded in an app to display a Google Search entry point for follow-up web searches related to
+a model's "Grounded Response".
+
+##### webSearchQueries?
+
+> `optional` **webSearchQueries?**: `string`[]
+
+Defined in: [types/responses.ts:306](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L306)
+
+A list of web search queries that the model performed to gather the grounding information.
+These can be used to allow users to explore the search results themselves.
+
+***
+
+### GroundingSupport
+
+Defined in: [types/responses.ts:383](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L383)
+
+Provides information about how a specific segment of the model's response is supported by the
+retrieved grounding chunks.
+
+#### Properties
+
+##### groundingChunkIndices?
+
+> `optional` **groundingChunkIndices?**: `number`[]
+
+Defined in: [types/responses.ts:395](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L395)
+
+A list of indices that refer to specific [GroundingChunk](#groundingchunk) objects within the
+[GroundingMetadata.groundingChunks](#groundingchunks) array. These referenced chunks
+are the sources that support the claim made in the associated `segment` of the response.
+For example, an array `[1, 3, 4]` means that `groundingChunks[1]`, `groundingChunks[3]`,
+and `groundingChunks[4]` are the retrieved content supporting this part of the response.
+
+##### segment?
+
+> `optional` **segment?**: [`Segment`](#segment-2)
+
+Defined in: [types/responses.ts:387](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L387)
+
+Specifies the segment of the model's response content that this grounding support pertains to.
+
+***
+
+### ImagenGCSImage
+
+Defined in: [types/imagen/responses.ts:42](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/responses.ts#L42)
+
+**`Beta`**
+
+An image generated by Imagen, stored in a Cloud Storage for Firebase bucket.
+
+This feature is not available yet.
+
+#### Properties
+
+##### gcsURI
+
+> **gcsURI**: `string`
+
+Defined in: [types/imagen/responses.ts:54](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/responses.ts#L54)
+
+**`Beta`**
+
+The URI of the file stored in a Cloud Storage for Firebase bucket.
+
+###### Example
+
+```ts
+`"gs://bucket-name/path/sample_0.jpg"`.
+```
+
+##### mimeType
+
+> **mimeType**: `string`
+
+Defined in: [types/imagen/responses.ts:48](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/responses.ts#L48)
+
+**`Beta`**
+
+The MIME type of the image; either `"image/png"` or `"image/jpeg"`.
+
+To request a different format, set the `imageFormat` property in your [ImagenGenerationConfig](#imagengenerationconfig).
+
+***
+
+### ImagenGenerationConfig
+
+Defined in: [types/imagen/requests.ts:54](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L54)
+
+**`Beta`**
+
+Configuration options for generating images with Imagen.
+
+See the [documentation](http://firebase.google.com/docs/vertex-ai/generate-images-imagen) for
+more details.
+
+#### Properties
+
+##### addWatermark?
+
+> `optional` **addWatermark?**: `boolean`
+
+Defined in: [types/imagen/requests.ts:98](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L98)
+
+**`Beta`**
+
+Whether to add an invisible watermark to generated images.
+
+If set to `true`, an invisible SynthID watermark is embedded in generated images to indicate
+that they are AI generated. If set to `false`, watermarking will be disabled.
+
+For Imagen 3 models, the default value is `true`; see the addWatermark
+documentation for more details.
+
+When using the Gemini Developer API ([GoogleAIBackend](#googleaibackend)), this will default to true,
+and cannot be turned off.
+
+##### aspectRatio?
+
+> `optional` **aspectRatio?**: [`ImagenAspectRatio`](#imagenaspectratio)
+
+Defined in: [types/imagen/requests.ts:79](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L79)
+
+**`Beta`**
+
+The aspect ratio of the generated images. The default value is square 1:1.
+Supported aspect ratios depend on the Imagen model, see (ImagenAspectRatio:type)
+for more details.
+
+##### imageFormat?
+
+> `optional` **imageFormat?**: [`ImagenImageFormat`](#imagenimageformat)
+
+Defined in: [types/imagen/requests.ts:85](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L85)
+
+**`Beta`**
+
+The image format of the generated images. The default is PNG.
+
+See [ImagenImageFormat](#imagenimageformat) for more details.
+
+##### negativePrompt?
+
+> `optional` **negativePrompt?**: `string`
+
+Defined in: [types/imagen/requests.ts:65](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L65)
+
+**`Beta`**
+
+A description of what should be omitted from the generated images.
+
+Support for negative prompts depends on the Imagen model.
+
+See the [documentation](http://firebase.google.com/docs/vertex-ai/model-parameters#imagen) for more details.
+
+This is no longer supported in the Gemini Developer API ([GoogleAIBackend](#googleaibackend)) in versions
+greater than `imagen-3.0-generate-002`.
+
+##### numberOfImages?
+
+> `optional` **numberOfImages?**: `number`
+
+Defined in: [types/imagen/requests.ts:73](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L73)
+
+**`Beta`**
+
+The number of images to generate. The default value is 1.
+
+The number of sample images that may be generated in each request depends on the model
+(typically up to 4); see the sampleCount
+documentation for more details.
+
+***
+
+### ImagenGenerationResponse
+
+Defined in: [types/imagen/responses.ts:62](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/responses.ts#L62)
+
+**`Beta`**
+
+The response from a request to generate images with Imagen.
+
+#### Type Parameters
+
+##### T
+
+`T` *extends* [`ImagenInlineImage`](#imageninlineimage) \| [`ImagenGCSImage`](#imagengcsimage)
+
+#### Properties
+
+##### filteredReason?
+
+> `optional` **filteredReason?**: `string`
+
+Defined in: [types/imagen/responses.ts:81](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/responses.ts#L81)
+
+**`Beta`**
+
+The reason that images were filtered out. This property will only be defined if one
+or more images were filtered.
+
+Images may be filtered out due to the (ImagenSafetyFilterLevel:type),
+(ImagenPersonFilterLevel:type), or filtering included in the model.
+The filter levels may be adjusted in your [ImagenSafetySettings](#imagensafetysettings).
+
+See the [Responsible AI and usage guidelines for Imagen](https://cloud.google.com/vertex-ai/generative-ai/docs/image/responsible-ai-imagen)
+for more details.
+
+##### images
+
+> **images**: `T`[]
+
+Defined in: [types/imagen/responses.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/responses.ts#L69)
+
+**`Beta`**
+
+The images generated by Imagen.
+
+The number of images generated may be fewer than the number requested if one or more were
+filtered out; see `filteredReason`.
+
+***
+
+### ImagenInlineImage
+
+Defined in: [types/imagen/responses.ts:23](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/responses.ts#L23)
+
+**`Beta`**
+
+An image generated by Imagen, represented as inline data.
+
+#### Properties
+
+##### bytesBase64Encoded
+
+> **bytesBase64Encoded**: `string`
+
+Defined in: [types/imagen/responses.ts:33](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/responses.ts#L33)
+
+**`Beta`**
+
+The base64-encoded image data.
+
+##### mimeType
+
+> **mimeType**: `string`
+
+Defined in: [types/imagen/responses.ts:29](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/responses.ts#L29)
+
+**`Beta`**
+
+The MIME type of the image; either `"image/png"` or `"image/jpeg"`.
+
+To request a different format, set the `imageFormat` property in your [ImagenGenerationConfig](#imagengenerationconfig).
+
+***
+
+### ImagenModelParams
+
+Defined in: [types/imagen/requests.ts:25](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L25)
+
+**`Beta`**
+
+Parameters for configuring an [ImagenModel](#imagenmodel).
+
+#### Properties
+
+##### generationConfig?
+
+> `optional` **generationConfig?**: [`ImagenGenerationConfig`](#imagengenerationconfig)
+
+Defined in: [types/imagen/requests.ts:39](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L39)
+
+**`Beta`**
+
+Configuration options for generating images with Imagen.
+
+##### model
+
+> **model**: `string`
+
+Defined in: [types/imagen/requests.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L35)
+
+**`Beta`**
+
+The Imagen model to use for generating images.
+For example: `imagen-3.0-generate-002`.
+
+Only Imagen 3 models (named `imagen-3.0-*`) are supported.
+
+See [model versions](https://firebase.google.com/docs/vertex-ai/models)
+for a full list of supported Imagen 3 models.
+
+##### safetySettings?
+
+> `optional` **safetySettings?**: [`ImagenSafetySettings`](#imagensafetysettings)
+
+Defined in: [types/imagen/requests.ts:43](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L43)
+
+**`Beta`**
+
+Safety settings for filtering potentially inappropriate content.
+
+***
+
+### ImagenSafetySettings
+
+Defined in: [types/imagen/requests.ts:200](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L200)
+
+**`Beta`**
+
+Settings for controlling the aggressiveness of filtering out sensitive content.
+
+See the [documentation](http://firebase.google.com/docs/vertex-ai/generate-images)
+for more details.
+
+#### Properties
+
+##### personFilterLevel?
+
+> `optional` **personFilterLevel?**: [`ImagenPersonFilterLevel`](#imagenpersonfilterlevel)
+
+Defined in: [types/imagen/requests.ts:209](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L209)
+
+**`Beta`**
+
+A filter level controlling whether generation of images containing people or faces is allowed.
+
+##### safetyFilterLevel?
+
+> `optional` **safetyFilterLevel?**: [`ImagenSafetyFilterLevel`](#imagensafetyfilterlevel)
+
+Defined in: [types/imagen/requests.ts:205](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L205)
+
+**`Beta`**
+
+A filter level controlling how aggressive to filter out sensitive content from generated
+images.
+
+***
+
+### InlineDataPart
+
+Defined in: [types/content.ts:65](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L65)
+
+Content part interface if the part represents an image.
+
+#### Properties
+
+##### codeExecutionResult?
+
+> `optional` **codeExecutionResult?**: `undefined`
+
+Defined in: [types/content.ts:80](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L80)
+
+##### executableCode?
+
+> `optional` **executableCode?**: `undefined`
+
+Defined in: [types/content.ts:79](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L79)
+
+##### functionCall?
+
+> `optional` **functionCall?**: `undefined`
+
+Defined in: [types/content.ts:68](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L68)
+
+##### functionResponse?
+
+> `optional` **functionResponse?**: `undefined`
+
+Defined in: [types/content.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L69)
+
+##### inlineData
+
+> **inlineData**: [`GenerativeContentBlob`](#generativecontentblob)
+
+Defined in: [types/content.ts:67](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L67)
+
+##### text?
+
+> `optional` **text?**: `undefined`
+
+Defined in: [types/content.ts:66](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L66)
+
+##### thought?
+
+> `optional` **thought?**: `boolean`
+
+Defined in: [types/content.ts:74](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L74)
+
+##### thoughtSignature?
+
+> `optional` **thoughtSignature?**: `undefined`
+
+Defined in: [types/content.ts:78](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L78)
+
+**`Internal`**
+
+##### videoMetadata?
+
+> `optional` **videoMetadata?**: [`VideoMetadata`](#videometadata-1)
+
+Defined in: [types/content.ts:73](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L73)
+
+Applicable if `inlineData` is a video.
+
+***
+
+### LiveGenerationConfig
+
+Defined in: [types/requests.ts:139](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L139)
+
+**`Beta`**
+
+Configuration parameters used by [LiveGenerativeModel](#livegenerativemodel) to control live content generation.
+
+#### Properties
+
+##### frequencyPenalty?
+
+> `optional` **frequencyPenalty?**: `number`
+
+Defined in: [types/requests.ts:178](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L178)
+
+**`Beta`**
+
+Frequency penalties.
+
+##### inputAudioTranscription?
+
+> `optional` **inputAudioTranscription?**: [`AudioTranscriptionConfig`](#audiotranscriptionconfig)
+
+Defined in: [types/requests.ts:191](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L191)
+
+**`Beta`**
+
+Enables transcription of audio input.
+
+When enabled, the model will respond with transcriptions of your audio input in the `inputTranscriptions` property
+in [LiveServerContent](#liveservercontent) messages. Note that the transcriptions are broken up across
+messages, so you may only receive small amounts of text per message. For example, if you ask the model
+"How are you today?", the model may transcribe that input across three messages, broken up as "How a", "re yo", "u today?".
+
+##### maxOutputTokens?
+
+> `optional` **maxOutputTokens?**: `number`
+
+Defined in: [types/requests.ts:148](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L148)
+
+**`Beta`**
+
+Specifies the maximum number of tokens that can be generated in the response. The number of
+tokens per word varies depending on the language outputted. Is unbounded by default.
+
+##### outputAudioTranscription?
+
+> `optional` **outputAudioTranscription?**: [`AudioTranscriptionConfig`](#audiotranscriptionconfig)
+
+Defined in: [types/requests.ts:200](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L200)
+
+**`Beta`**
+
+Enables transcription of audio input.
+
+When enabled, the model will respond with transcriptions of its audio output in the `outputTranscription` property
+in [LiveServerContent](#liveservercontent) messages. Note that the transcriptions are broken up across
+messages, so you may only receive small amounts of text per message. For example, if the model says
+"How are you today?", the model may transcribe that output across three messages, broken up as "How a", "re yo", "u today?".
+
+##### presencePenalty?
+
+> `optional` **presencePenalty?**: `number`
+
+Defined in: [types/requests.ts:174](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L174)
+
+**`Beta`**
+
+Positive penalties.
+
+##### responseModalities?
+
+> `optional` **responseModalities?**: [`ResponseModality`](#responsemodality)[]
+
+Defined in: [types/requests.ts:182](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L182)
+
+**`Beta`**
+
+The modalities of the response.
+
+##### speechConfig?
+
+> `optional` **speechConfig?**: [`SpeechConfig`](#speechconfig-1)
+
+Defined in: [types/requests.ts:143](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L143)
+
+**`Beta`**
+
+Configuration for speech synthesis.
+
+##### temperature?
+
+> `optional` **temperature?**: `number`
+
+Defined in: [types/requests.ts:154](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L154)
+
+**`Beta`**
+
+Controls the degree of randomness in token selection. A `temperature` value of 0 means that the highest
+probability tokens are always selected. In this case, responses for a given prompt are mostly
+deterministic, but a small amount of variation is still possible.
+
+##### topK?
+
+> `optional` **topK?**: `number`
+
+Defined in: [types/requests.ts:170](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L170)
+
+**`Beta`**
+
+Changes how the model selects token for output. A `topK` value of 1 means the select token is
+the most probable among all tokens in the model's vocabulary, while a `topK` value 3 means that
+the next token is selected from among the 3 most probably using probabilities sampled. Tokens
+are then further filtered with the highest selected `temperature` sampling. Defaults to 40
+if unspecified.
+
+##### topP?
+
+> `optional` **topP?**: `number`
+
+Defined in: [types/requests.ts:162](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L162)
+
+**`Beta`**
+
+Changes how the model selects tokens for output. Tokens are
+selected from the most to least probable until the sum of their probabilities equals the `topP`
+value. For example, if tokens A, B, and C have probabilities of 0.3, 0.2, and 0.1 respectively
+and the `topP` value is 0.5, then the model will select either A or B as the next token by using
+the `temperature` and exclude C as a candidate. Defaults to 0.95 if unset.
+
+***
+
+### LiveModelParams
+
+Defined in: [types/requests.ts:53](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L53)
+
+**`Beta`**
+
+Params passed to [getLiveGenerativeModel](#getlivegenerativemodel).
+
+#### Properties
+
+##### generationConfig?
+
+> `optional` **generationConfig?**: [`LiveGenerationConfig`](#livegenerationconfig)
+
+Defined in: [types/requests.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L55)
+
+**`Beta`**
+
+##### model
+
+> **model**: `string`
+
+Defined in: [types/requests.ts:54](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L54)
+
+**`Beta`**
+
+##### systemInstruction?
+
+> `optional` **systemInstruction?**: `string` \| [`Content`](#content) \| [`Part`](#part)
+
+Defined in: [types/requests.ts:58](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L58)
+
+**`Beta`**
+
+##### toolConfig?
+
+> `optional` **toolConfig?**: [`ToolConfig`](#toolconfig-6)
+
+Defined in: [types/requests.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L57)
+
+**`Beta`**
+
+##### tools?
+
+> `optional` **tools?**: [`Tool`](#tool)[]
+
+Defined in: [types/requests.ts:56](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L56)
+
+**`Beta`**
+
+***
+
+### LiveServerContent
+
+Defined in: [types/responses.ts:527](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L527)
+
+**`Beta`**
+
+An incremental content update from the model.
+
+#### Properties
+
+##### inputTranscription?
+
+> `optional` **inputTranscription?**: [`Transcription`](#transcription)
+
+Defined in: [types/responses.ts:546](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L546)
+
+**`Beta`**
+
+Transcription of the audio that was input to the model.
+
+##### interrupted?
+
+> `optional` **interrupted?**: `boolean`
+
+Defined in: [types/responses.ts:542](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L542)
+
+**`Beta`**
+
+Indicates whether the model was interrupted by the client. An interruption occurs when
+the client sends a message before the model finishes it's turn. This is `undefined` if the
+model was not interrupted.
+
+##### modelTurn?
+
+> `optional` **modelTurn?**: [`Content`](#content)
+
+Defined in: [types/responses.ts:532](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L532)
+
+**`Beta`**
+
+The content that the model has generated as part of the current conversation with the user.
+
+##### outputTranscription?
+
+> `optional` **outputTranscription?**: [`Transcription`](#transcription)
+
+Defined in: [types/responses.ts:550](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L550)
+
+**`Beta`**
+
+Transcription of the audio output from the model.
+
+##### turnComplete?
+
+> `optional` **turnComplete?**: `boolean`
+
+Defined in: [types/responses.ts:536](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L536)
+
+**`Beta`**
+
+Indicates whether the turn is complete. This is `undefined` if the turn is not complete.
+
+##### type
+
+> **type**: `"serverContent"`
+
+Defined in: [types/responses.ts:528](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L528)
+
+**`Beta`**
+
+***
+
+### LiveServerToolCall
+
+Defined in: [types/responses.ts:573](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L573)
+
+**`Beta`**
+
+A request from the model for the client to execute one or more functions.
+
+#### Properties
+
+##### functionCalls
+
+> **functionCalls**: [`FunctionCall`](#functioncall-3)[]
+
+Defined in: [types/responses.ts:578](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L578)
+
+**`Beta`**
+
+An array of function calls to run.
+
+##### type
+
+> **type**: `"toolCall"`
+
+Defined in: [types/responses.ts:574](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L574)
+
+**`Beta`**
+
+***
+
+### LiveServerToolCallCancellation
+
+Defined in: [types/responses.ts:586](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L586)
+
+**`Beta`**
+
+Notification to cancel a previous function call triggered by [LiveServerToolCall](#liveservertoolcall).
+
+#### Properties
+
+##### functionIds
+
+> **functionIds**: `string`[]
+
+Defined in: [types/responses.ts:591](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L591)
+
+**`Beta`**
+
+IDs of function calls that were cancelled. These refer to the `id` property of a [FunctionCall](#functioncall-3).
+
+##### type
+
+> **type**: `"toolCallCancellation"`
+
+Defined in: [types/responses.ts:587](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L587)
+
+**`Beta`**
+
+***
+
+### ModalityTokenCount
+
+Defined in: [types/responses.ts:129](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L129)
+
+Represents token counting info for a single modality.
+
+#### Properties
+
+##### modality
+
+> **modality**: [`Modality`](#modality)
+
+Defined in: [types/responses.ts:131](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L131)
+
+The modality associated with this token count.
+
+##### tokenCount
+
+> **tokenCount**: `number`
+
+Defined in: [types/responses.ts:133](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L133)
+
+The number of tokens counted.
+
+***
+
+### ModelParams
+
+Defined in: [types/requests.ts:42](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L42)
+
+Params passed to [getGenerativeModel](#getgenerativemodel).
+
+#### Extends
+
+- [`BaseParams`](#baseparams)
+
+#### Properties
+
+##### generationConfig?
+
+> `optional` **generationConfig?**: [`GenerationConfig`](#generationconfig-6)
+
+Defined in: [types/requests.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L35)
+
+###### Inherited from
+
+[`BaseParams`](#baseparams).[`generationConfig`](#generationconfig-3)
+
+##### model
+
+> **model**: `string`
+
+Defined in: [types/requests.ts:43](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L43)
+
+##### safetySettings?
+
+> `optional` **safetySettings?**: [`SafetySetting`](#safetysetting)[]
+
+Defined in: [types/requests.ts:34](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L34)
+
+###### Inherited from
+
+[`BaseParams`](#baseparams).[`safetySettings`](#safetysettings-2)
+
+##### systemInstruction?
+
+> `optional` **systemInstruction?**: `string` \| [`Content`](#content) \| [`Part`](#part)
+
+Defined in: [types/requests.ts:46](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L46)
+
+##### toolConfig?
+
+> `optional` **toolConfig?**: [`ToolConfig`](#toolconfig-6)
+
+Defined in: [types/requests.ts:45](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L45)
+
+##### tools?
+
+> `optional` **tools?**: [`Tool`](#tool)[]
+
+Defined in: [types/requests.ts:44](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L44)
+
+***
+
+### ObjectSchemaInterface
+
+Defined in: [types/schema.ts:120](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L120)
+
+Interface for [ObjectSchema](#objectschema) class.
+
+#### Extends
+
+- [`SchemaInterface`](#schemainterface)
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+#### Properties
+
+##### description?
+
+> `optional` **description?**: `string`
+
+Defined in: [types/schema.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L51)
+
+Optional. The description of the property.
+
+###### Inherited from
+
+[`SchemaInterface`](#schemainterface).[`description`](#description-9)
+
+##### enum?
+
+> `optional` **enum?**: `string`[]
+
+Defined in: [types/schema.ts:71](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L71)
+
+Optional. The enum of the property.
+
+###### Inherited from
+
+[`SchemaInterface`](#schemainterface).[`enum`](#enum-2)
+
+##### example?
+
+> `optional` **example?**: `unknown`
+
+Defined in: [types/schema.ts:73](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L73)
+
+Optional. The example of the property.
+
+###### Inherited from
+
+[`SchemaInterface`](#schemainterface).[`example`](#example-8)
+
+##### format?
+
+> `optional` **format?**: `string`
+
+Defined in: [types/schema.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L49)
+
+Optional. The format of the property.
+When using the Gemini Developer API ([GoogleAIBackend](#googleaibackend)), this must be either `'enum'` or
+`'date-time'`, otherwise requests will fail.
+
+###### Inherited from
+
+[`SchemaInterface`](#schemainterface).[`format`](#format-8)
+
+##### items?
+
+> `optional` **items?**: [`SchemaInterface`](#schemainterface)
+
+Defined in: [types/schema.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L59)
+
+Optional. The items of the property.
+
+###### Inherited from
+
+[`SchemaInterface`](#schemainterface).[`items`](#items-8)
+
+##### maximum?
+
+> `optional` **maximum?**: `number`
+
+Defined in: [types/schema.ts:79](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L79)
+
+The maximum value of a numeric type.
+
+###### Inherited from
+
+[`SchemaInterface`](#schemainterface).[`maximum`](#maximum-1)
+
+##### maxItems?
+
+> `optional` **maxItems?**: `number`
+
+Defined in: [types/schema.ts:63](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L63)
+
+The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`SchemaInterface`](#schemainterface).[`maxItems`](#maxitems-8)
+
+##### minimum?
+
+> `optional` **minimum?**: `number`
+
+Defined in: [types/schema.ts:77](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L77)
+
+The minimum value of a numeric type.
+
+###### Inherited from
+
+[`SchemaInterface`](#schemainterface).[`minimum`](#minimum-1)
+
+##### minItems?
+
+> `optional` **minItems?**: `number`
+
+Defined in: [types/schema.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L61)
+
+The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`SchemaInterface`](#schemainterface).[`minItems`](#minitems-8)
+
+##### nullable?
+
+> `optional` **nullable?**: `boolean`
+
+Defined in: [types/schema.ts:75](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L75)
+
+Optional. Whether the property is nullable.
+
+###### Inherited from
+
+[`SchemaInterface`](#schemainterface).[`nullable`](#nullable-8)
+
+##### optionalProperties?
+
+> `optional` **optionalProperties?**: `string`[]
+
+Defined in: [types/schema.ts:122](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L122)
+
+##### properties?
+
+> `optional` **properties?**: `object`
+
+Defined in: [types/schema.ts:65](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L65)
+
+Optional. Map of `Schema` objects.
+
+###### Index Signature
+
+\[`k`: `string`\]: [`SchemaInterface`](#schemainterface)
+
+###### Inherited from
+
+[`SchemaInterface`](#schemainterface).[`properties`](#properties-2)
+
+##### propertyOrdering?
+
+> `optional` **propertyOrdering?**: `string`[]
+
+Defined in: [types/schema.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L69)
+
+A hint suggesting the order in which the keys should appear in the generated JSON string.
+
+###### Inherited from
+
+[`SchemaInterface`](#schemainterface).[`propertyOrdering`](#propertyordering-1)
+
+##### title?
+
+> `optional` **title?**: `string`
+
+Defined in: [types/schema.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L57)
+
+The title of the property. This helps document the schema's purpose but does not typically
+constrain the generated value. It can subtly guide the model by clarifying the intent of a
+field.
+
+###### Inherited from
+
+[`SchemaInterface`](#schemainterface).[`title`](#title-3)
+
+##### type
+
+> **type**: [`OBJECT`](#object)
+
+Defined in: [types/schema.ts:121](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L121)
+
+The type of the property. [SchemaType](#schematype).
+
+###### Overrides
+
+[`SchemaInterface`](#schemainterface).[`type`](#type-12)
+
+***
+
+### PrebuiltVoiceConfig
+
+Defined in: [types/requests.ts:428](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L428)
+
+**`Beta`**
+
+Configuration for a pre-built voice.
+
+#### Properties
+
+##### voiceName?
+
+> `optional` **voiceName?**: `string`
+
+Defined in: [types/requests.ts:434](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L434)
+
+**`Beta`**
+
+The voice name to use for speech synthesis.
+
+For a full list of names and demos of what each voice sounds like, see [Chirp 3: HD Voices](https://cloud.google.com/text-to-speech/docs/chirp3-hd).
+
+***
+
+### PromptFeedback
+
+Defined in: [types/responses.ts:141](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L141)
+
+If the prompt was blocked, this will be populated with `blockReason` and
+the relevant `safetyRatings`.
+
+#### Properties
+
+##### blockReason?
+
+> `optional` **blockReason?**: [`BlockReason`](#blockreason)
+
+Defined in: [types/responses.ts:142](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L142)
+
+##### blockReasonMessage?
+
+> `optional` **blockReasonMessage?**: `string`
+
+Defined in: [types/responses.ts:149](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L149)
+
+A human-readable description of the `blockReason`.
+
+This property is only supported in the Vertex AI Gemini API ([VertexAIBackend](#vertexaibackend)).
+
+##### safetyRatings
+
+> **safetyRatings**: [`SafetyRating`](#safetyrating)[]
+
+Defined in: [types/responses.ts:143](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L143)
+
+***
+
+### RequestOptions
+
+Defined in: [types/requests.ts:238](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L238)
+
+Params passed to [getGenerativeModel](#getgenerativemodel).
+
+#### Properties
+
+##### baseUrl?
+
+> `optional` **baseUrl?**: `string`
+
+Defined in: [types/requests.ts:246](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L246)
+
+Base url for endpoint. Defaults to https://firebasevertexai.googleapis.com
+
+##### timeout?
+
+> `optional` **timeout?**: `number`
+
+Defined in: [types/requests.ts:242](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L242)
+
+Request timeout in milliseconds. Defaults to 180 seconds (180000ms).
+
+***
+
+### RetrievedContextAttribution
+
+Defined in: [types/responses.ts:451](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L451)
+
+#### Properties
+
+##### title
+
+> **title**: `string`
+
+Defined in: [types/responses.ts:453](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L453)
+
+##### uri
+
+> **uri**: `string`
+
+Defined in: [types/responses.ts:452](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L452)
+
+***
+
+### SafetyRating
+
+Defined in: [types/responses.ts:470](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L470)
+
+A safety rating associated with a [GenerateContentCandidate](#generatecontentcandidate)
+
+#### Properties
+
+##### blocked
+
+> **blocked**: `boolean`
+
+Defined in: [types/responses.ts:494](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L494)
+
+##### category
+
+> **category**: [`HarmCategory`](#harmcategory)
+
+Defined in: [types/responses.ts:471](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L471)
+
+##### probability
+
+> **probability**: [`HarmProbability`](#harmprobability)
+
+Defined in: [types/responses.ts:472](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L472)
+
+##### probabilityScore
+
+> **probabilityScore**: `number`
+
+Defined in: [types/responses.ts:486](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L486)
+
+The probability score of the harm category.
+
+This property is only supported when using the Vertex AI Gemini API ([VertexAIBackend](#vertexaibackend)).
+When using the Gemini Developer API ([GoogleAIBackend](#googleaibackend)), this property is not supported and will default to 0.
+
+##### severity
+
+> **severity**: [`HarmSeverity`](#harmseverity)
+
+Defined in: [types/responses.ts:479](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L479)
+
+The harm severity level.
+
+This property is only supported when using the Vertex AI Gemini API ([VertexAIBackend](#vertexaibackend)).
+When using the Gemini Developer API ([GoogleAIBackend](#googleaibackend)), this property is not supported and will default to `HarmSeverity.UNSUPPORTED`.
+
+##### severityScore
+
+> **severityScore**: `number`
+
+Defined in: [types/responses.ts:493](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L493)
+
+The severity score of the harm category.
+
+This property is only supported when using the Vertex AI Gemini API ([VertexAIBackend](#vertexaibackend)).
+When using the Gemini Developer API ([GoogleAIBackend](#googleaibackend)), this property is not supported and will default to 0.
+
+***
+
+### SafetySetting
+
+Defined in: [types/requests.ts:76](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L76)
+
+Safety setting that can be sent as part of request parameters.
+
+#### Properties
+
+##### category
+
+> **category**: [`HarmCategory`](#harmcategory)
+
+Defined in: [types/requests.ts:77](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L77)
+
+##### method?
+
+> `optional` **method?**: [`HarmBlockMethod`](#harmblockmethod)
+
+Defined in: [types/requests.ts:86](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L86)
+
+The harm block method.
+
+This property is only supported in the Vertex AI Gemini API ([VertexAIBackend](#vertexaibackend)).
+When using the Gemini Developer API ([GoogleAIBackend](#googleaibackend)), an [AIError](#aierror) will be
+thrown if this property is defined.
+
+##### threshold
+
+> **threshold**: [`HarmBlockThreshold`](#harmblockthreshold)
+
+Defined in: [types/requests.ts:78](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L78)
+
+***
+
+### SchemaInterface
+
+Defined in: [types/schema.ts:108](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L108)
+
+Interface for [Schema](#abstract-schema) class.
+
+#### Extends
+
+- [`SchemaShared`](#schemashared)\<[`SchemaInterface`](#schemainterface)\>
+
+#### Extended by
+
+- [`ObjectSchemaInterface`](#objectschemainterface)
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+#### Properties
+
+##### description?
+
+> `optional` **description?**: `string`
+
+Defined in: [types/schema.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L51)
+
+Optional. The description of the property.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`description`](#description-12)
+
+##### enum?
+
+> `optional` **enum?**: `string`[]
+
+Defined in: [types/schema.ts:71](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L71)
+
+Optional. The enum of the property.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`enum`](#enum-5)
+
+##### example?
+
+> `optional` **example?**: `unknown`
+
+Defined in: [types/schema.ts:73](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L73)
+
+Optional. The example of the property.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`example`](#example-11)
+
+##### format?
+
+> `optional` **format?**: `string`
+
+Defined in: [types/schema.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L49)
+
+Optional. The format of the property.
+When using the Gemini Developer API ([GoogleAIBackend](#googleaibackend)), this must be either `'enum'` or
+`'date-time'`, otherwise requests will fail.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`format`](#format-11)
+
+##### items?
+
+> `optional` **items?**: [`SchemaInterface`](#schemainterface)
+
+Defined in: [types/schema.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L59)
+
+Optional. The items of the property.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`items`](#items-11)
+
+##### maximum?
+
+> `optional` **maximum?**: `number`
+
+Defined in: [types/schema.ts:79](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L79)
+
+The maximum value of a numeric type.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`maximum`](#maximum-4)
+
+##### maxItems?
+
+> `optional` **maxItems?**: `number`
+
+Defined in: [types/schema.ts:63](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L63)
+
+The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`maxItems`](#maxitems-11)
+
+##### minimum?
+
+> `optional` **minimum?**: `number`
+
+Defined in: [types/schema.ts:77](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L77)
+
+The minimum value of a numeric type.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`minimum`](#minimum-4)
+
+##### minItems?
+
+> `optional` **minItems?**: `number`
+
+Defined in: [types/schema.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L61)
+
+The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`minItems`](#minitems-11)
+
+##### nullable?
+
+> `optional` **nullable?**: `boolean`
+
+Defined in: [types/schema.ts:75](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L75)
+
+Optional. Whether the property is nullable.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`nullable`](#nullable-11)
+
+##### properties?
+
+> `optional` **properties?**: `object`
+
+Defined in: [types/schema.ts:65](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L65)
+
+Optional. Map of `Schema` objects.
+
+###### Index Signature
+
+\[`k`: `string`\]: [`SchemaInterface`](#schemainterface)
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`properties`](#properties-5)
+
+##### propertyOrdering?
+
+> `optional` **propertyOrdering?**: `string`[]
+
+Defined in: [types/schema.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L69)
+
+A hint suggesting the order in which the keys should appear in the generated JSON string.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`propertyOrdering`](#propertyordering-4)
+
+##### title?
+
+> `optional` **title?**: `string`
+
+Defined in: [types/schema.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L57)
+
+The title of the property. This helps document the schema's purpose but does not typically
+constrain the generated value. It can subtly guide the model by clarifying the intent of a
+field.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`title`](#title-6)
+
+##### type
+
+> **type**: [`SchemaType`](#schematype)
+
+Defined in: [types/schema.ts:113](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L113)
+
+The type of the property. [SchemaType](#schematype).
+
+***
+
+### SchemaParams
+
+Defined in: [types/schema.ts:88](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L88)
+
+Params passed to [Schema](#abstract-schema) static methods to create specific
+[Schema](#abstract-schema) classes.
+
+#### Extends
+
+- [`SchemaShared`](#schemashared)\<[`SchemaInterface`](#schemainterface)\>
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+#### Properties
+
+##### description?
+
+> `optional` **description?**: `string`
+
+Defined in: [types/schema.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L51)
+
+Optional. The description of the property.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`description`](#description-12)
+
+##### enum?
+
+> `optional` **enum?**: `string`[]
+
+Defined in: [types/schema.ts:71](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L71)
+
+Optional. The enum of the property.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`enum`](#enum-5)
+
+##### example?
+
+> `optional` **example?**: `unknown`
+
+Defined in: [types/schema.ts:73](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L73)
+
+Optional. The example of the property.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`example`](#example-11)
+
+##### format?
+
+> `optional` **format?**: `string`
+
+Defined in: [types/schema.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L49)
+
+Optional. The format of the property.
+When using the Gemini Developer API ([GoogleAIBackend](#googleaibackend)), this must be either `'enum'` or
+`'date-time'`, otherwise requests will fail.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`format`](#format-11)
+
+##### items?
+
+> `optional` **items?**: [`SchemaInterface`](#schemainterface)
+
+Defined in: [types/schema.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L59)
+
+Optional. The items of the property.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`items`](#items-11)
+
+##### maximum?
+
+> `optional` **maximum?**: `number`
+
+Defined in: [types/schema.ts:79](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L79)
+
+The maximum value of a numeric type.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`maximum`](#maximum-4)
+
+##### maxItems?
+
+> `optional` **maxItems?**: `number`
+
+Defined in: [types/schema.ts:63](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L63)
+
+The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`maxItems`](#maxitems-11)
+
+##### minimum?
+
+> `optional` **minimum?**: `number`
+
+Defined in: [types/schema.ts:77](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L77)
+
+The minimum value of a numeric type.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`minimum`](#minimum-4)
+
+##### minItems?
+
+> `optional` **minItems?**: `number`
+
+Defined in: [types/schema.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L61)
+
+The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`minItems`](#minitems-11)
+
+##### nullable?
+
+> `optional` **nullable?**: `boolean`
+
+Defined in: [types/schema.ts:75](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L75)
+
+Optional. Whether the property is nullable.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`nullable`](#nullable-11)
+
+##### properties?
+
+> `optional` **properties?**: `object`
+
+Defined in: [types/schema.ts:65](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L65)
+
+Optional. Map of `Schema` objects.
+
+###### Index Signature
+
+\[`k`: `string`\]: [`SchemaInterface`](#schemainterface)
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`properties`](#properties-5)
+
+##### propertyOrdering?
+
+> `optional` **propertyOrdering?**: `string`[]
+
+Defined in: [types/schema.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L69)
+
+A hint suggesting the order in which the keys should appear in the generated JSON string.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`propertyOrdering`](#propertyordering-4)
+
+##### title?
+
+> `optional` **title?**: `string`
+
+Defined in: [types/schema.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L57)
+
+The title of the property. This helps document the schema's purpose but does not typically
+constrain the generated value. It can subtly guide the model by clarifying the intent of a
+field.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`title`](#title-6)
+
+***
+
+### SchemaRequest
+
+Defined in: [types/schema.ts:94](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L94)
+
+Final format for [Schema](#abstract-schema) params passed to backend requests.
+
+#### Extends
+
+- [`SchemaShared`](#schemashared)\<[`SchemaRequest`](#schemarequest)\>
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+#### Properties
+
+##### description?
+
+> `optional` **description?**: `string`
+
+Defined in: [types/schema.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L51)
+
+Optional. The description of the property.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`description`](#description-12)
+
+##### enum?
+
+> `optional` **enum?**: `string`[]
+
+Defined in: [types/schema.ts:71](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L71)
+
+Optional. The enum of the property.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`enum`](#enum-5)
+
+##### example?
+
+> `optional` **example?**: `unknown`
+
+Defined in: [types/schema.ts:73](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L73)
+
+Optional. The example of the property.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`example`](#example-11)
+
+##### format?
+
+> `optional` **format?**: `string`
+
+Defined in: [types/schema.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L49)
+
+Optional. The format of the property.
+When using the Gemini Developer API ([GoogleAIBackend](#googleaibackend)), this must be either `'enum'` or
+`'date-time'`, otherwise requests will fail.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`format`](#format-11)
+
+##### items?
+
+> `optional` **items?**: [`SchemaRequest`](#schemarequest)
+
+Defined in: [types/schema.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L59)
+
+Optional. The items of the property.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`items`](#items-11)
+
+##### maximum?
+
+> `optional` **maximum?**: `number`
+
+Defined in: [types/schema.ts:79](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L79)
+
+The maximum value of a numeric type.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`maximum`](#maximum-4)
+
+##### maxItems?
+
+> `optional` **maxItems?**: `number`
+
+Defined in: [types/schema.ts:63](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L63)
+
+The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`maxItems`](#maxitems-11)
+
+##### minimum?
+
+> `optional` **minimum?**: `number`
+
+Defined in: [types/schema.ts:77](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L77)
+
+The minimum value of a numeric type.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`minimum`](#minimum-4)
+
+##### minItems?
+
+> `optional` **minItems?**: `number`
+
+Defined in: [types/schema.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L61)
+
+The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`minItems`](#minitems-11)
+
+##### nullable?
+
+> `optional` **nullable?**: `boolean`
+
+Defined in: [types/schema.ts:75](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L75)
+
+Optional. Whether the property is nullable.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`nullable`](#nullable-11)
+
+##### properties?
+
+> `optional` **properties?**: `object`
+
+Defined in: [types/schema.ts:65](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L65)
+
+Optional. Map of `Schema` objects.
+
+###### Index Signature
+
+\[`k`: `string`\]: [`SchemaRequest`](#schemarequest)
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`properties`](#properties-5)
+
+##### propertyOrdering?
+
+> `optional` **propertyOrdering?**: `string`[]
+
+Defined in: [types/schema.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L69)
+
+A hint suggesting the order in which the keys should appear in the generated JSON string.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`propertyOrdering`](#propertyordering-4)
+
+##### required?
+
+> `optional` **required?**: `string`[]
+
+Defined in: [types/schema.ts:101](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L101)
+
+Optional. Array of required property.
+
+##### title?
+
+> `optional` **title?**: `string`
+
+Defined in: [types/schema.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L57)
+
+The title of the property. This helps document the schema's purpose but does not typically
+constrain the generated value. It can subtly guide the model by clarifying the intent of a
+field.
+
+###### Inherited from
+
+[`SchemaShared`](#schemashared).[`title`](#title-6)
+
+##### type
+
+> **type**: [`SchemaType`](#schematype)
+
+Defined in: [types/schema.ts:99](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L99)
+
+The type of the property. [SchemaType](#schematype).
+
+***
+
+### SchemaShared
+
+Defined in: [types/schema.ts:44](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L44)
+
+Basic [Schema](#abstract-schema) properties shared across several Schema-related
+types.
+
+#### Extended by
+
+- [`SchemaParams`](#schemaparams)
+- [`SchemaRequest`](#schemarequest)
+- [`SchemaInterface`](#schemainterface)
+
+#### Type Parameters
+
+##### T
+
+`T`
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+#### Properties
+
+##### description?
+
+> `optional` **description?**: `string`
+
+Defined in: [types/schema.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L51)
+
+Optional. The description of the property.
+
+##### enum?
+
+> `optional` **enum?**: `string`[]
+
+Defined in: [types/schema.ts:71](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L71)
+
+Optional. The enum of the property.
+
+##### example?
+
+> `optional` **example?**: `unknown`
+
+Defined in: [types/schema.ts:73](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L73)
+
+Optional. The example of the property.
+
+##### format?
+
+> `optional` **format?**: `string`
+
+Defined in: [types/schema.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L49)
+
+Optional. The format of the property.
+When using the Gemini Developer API ([GoogleAIBackend](#googleaibackend)), this must be either `'enum'` or
+`'date-time'`, otherwise requests will fail.
+
+##### items?
+
+> `optional` **items?**: `T`
+
+Defined in: [types/schema.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L59)
+
+Optional. The items of the property.
+
+##### maximum?
+
+> `optional` **maximum?**: `number`
+
+Defined in: [types/schema.ts:79](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L79)
+
+The maximum value of a numeric type.
+
+##### maxItems?
+
+> `optional` **maxItems?**: `number`
+
+Defined in: [types/schema.ts:63](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L63)
+
+The maximum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+##### minimum?
+
+> `optional` **minimum?**: `number`
+
+Defined in: [types/schema.ts:77](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L77)
+
+The minimum value of a numeric type.
+
+##### minItems?
+
+> `optional` **minItems?**: `number`
+
+Defined in: [types/schema.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L61)
+
+The minimum number of items (elements) in a schema of type [SchemaType.ARRAY](#array).
+
+##### nullable?
+
+> `optional` **nullable?**: `boolean`
+
+Defined in: [types/schema.ts:75](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L75)
+
+Optional. Whether the property is nullable.
+
+##### properties?
+
+> `optional` **properties?**: `object`
+
+Defined in: [types/schema.ts:65](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L65)
+
+Optional. Map of `Schema` objects.
+
+###### Index Signature
+
+\[`k`: `string`\]: `T`
+
+##### propertyOrdering?
+
+> `optional` **propertyOrdering?**: `string`[]
+
+Defined in: [types/schema.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L69)
+
+A hint suggesting the order in which the keys should appear in the generated JSON string.
+
+##### title?
+
+> `optional` **title?**: `string`
+
+Defined in: [types/schema.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/schema.ts#L57)
+
+The title of the property. This helps document the schema's purpose but does not typically
+constrain the generated value. It can subtly guide the model by clarifying the intent of a
+field.
+
+***
+
+### SearchEntrypoint
+
+Defined in: [types/responses.ts:318](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L318)
+
+Google search entry point.
+
+#### Properties
+
+##### renderedContent?
+
+> `optional` **renderedContent?**: `string`
+
+Defined in: [types/responses.ts:334](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L334)
+
+HTML/CSS snippet that must be embedded in a web page. The snippet is designed to avoid
+undesired interaction with the rest of the page's CSS.
+
+To ensure proper rendering and prevent CSS conflicts, it is recommended
+to encapsulate this `renderedContent` within a shadow DOM when embedding it
+into a webpage. See [MDN: Using shadow DOM](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM).
+
+###### Example
+
+```javascript
+const container = document.createElement('div');
+document.body.appendChild(container);
+container.attachShadow({ mode: 'open' }).innerHTML = renderedContent;
+```
+
+***
+
+### Segment
+
+Defined in: [types/responses.ts:415](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L415)
+
+Represents a specific segment within a [Content](#content) object, often used to
+pinpoint the exact location of text or data that grounding information refers to.
+
+#### Properties
+
+##### endIndex
+
+> **endIndex**: `number`
+
+Defined in: [types/responses.ts:433](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L433)
+
+The zero-based end index of the segment within the specified `Part`,
+measured in UTF-8 bytes. This offset is exclusive, meaning the character
+at this index is not included in the segment.
+
+##### partIndex
+
+> **partIndex**: `number`
+
+Defined in: [types/responses.ts:421](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L421)
+
+The zero-based index of the [Part](#part) object within the `parts` array
+of its parent [Content](#content) object. This identifies which part of the
+content the segment belongs to.
+
+##### startIndex
+
+> **startIndex**: `number`
+
+Defined in: [types/responses.ts:427](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L427)
+
+The zero-based start index of the segment within the specified `Part`,
+measured in UTF-8 bytes. This offset is inclusive, starting from 0 at the
+beginning of the part's content (e.g., `Part.text`).
+
+##### text
+
+> **text**: `string`
+
+Defined in: [types/responses.ts:437](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L437)
+
+The text corresponding to the segment from the response.
+
+***
+
+### SpeechConfig
+
+Defined in: [types/requests.ts:454](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L454)
+
+**`Beta`**
+
+Configures speech synthesis.
+
+#### Properties
+
+##### voiceConfig?
+
+> `optional` **voiceConfig?**: [`VoiceConfig`](#voiceconfig-1)
+
+Defined in: [types/requests.ts:458](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L458)
+
+**`Beta`**
+
+Configures the voice to be used in speech synthesis.
+
+***
+
+### StartChatParams
+
+Defined in: [types/requests.ts:207](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L207)
+
+Params for [GenerativeModel.startChat](#startchat).
+
+#### Extends
+
+- [`BaseParams`](#baseparams)
+
+#### Properties
+
+##### generationConfig?
+
+> `optional` **generationConfig?**: [`GenerationConfig`](#generationconfig-6)
+
+Defined in: [types/requests.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L35)
+
+###### Inherited from
+
+[`BaseParams`](#baseparams).[`generationConfig`](#generationconfig-3)
+
+##### history?
+
+> `optional` **history?**: [`Content`](#content)[]
+
+Defined in: [types/requests.ts:208](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L208)
+
+##### safetySettings?
+
+> `optional` **safetySettings?**: [`SafetySetting`](#safetysetting)[]
+
+Defined in: [types/requests.ts:34](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L34)
+
+###### Inherited from
+
+[`BaseParams`](#baseparams).[`safetySettings`](#safetysettings-2)
+
+##### systemInstruction?
+
+> `optional` **systemInstruction?**: `string` \| [`Content`](#content) \| [`Part`](#part)
+
+Defined in: [types/requests.ts:211](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L211)
+
+##### toolConfig?
+
+> `optional` **toolConfig?**: [`ToolConfig`](#toolconfig-6)
+
+Defined in: [types/requests.ts:210](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L210)
+
+##### tools?
+
+> `optional` **tools?**: [`Tool`](#tool)[]
+
+Defined in: [types/requests.ts:209](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L209)
+
+***
+
+### TextPart
+
+Defined in: [types/content.ts:47](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L47)
+
+Content part interface if the part represents a text string.
+
+#### Properties
+
+##### codeExecutionResult?
+
+> `optional` **codeExecutionResult?**: `undefined`
+
+Defined in: [types/content.ts:58](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L58)
+
+##### executableCode?
+
+> `optional` **executableCode?**: `undefined`
+
+Defined in: [types/content.ts:57](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L57)
+
+##### functionCall?
+
+> `optional` **functionCall?**: `undefined`
+
+Defined in: [types/content.ts:50](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L50)
+
+##### functionResponse?
+
+> `optional` **functionResponse?**: `undefined`
+
+Defined in: [types/content.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L51)
+
+##### inlineData?
+
+> `optional` **inlineData?**: `undefined`
+
+Defined in: [types/content.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L49)
+
+##### text
+
+> **text**: `string`
+
+Defined in: [types/content.ts:48](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L48)
+
+##### thought?
+
+> `optional` **thought?**: `boolean`
+
+Defined in: [types/content.ts:52](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L52)
+
+##### thoughtSignature?
+
+> `optional` **thoughtSignature?**: `string`
+
+Defined in: [types/content.ts:56](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L56)
+
+**`Internal`**
+
+***
+
+### ThinkingConfig
+
+Defined in: [types/requests.ts:396](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L396)
+
+Configuration for "thinking" behavior of compatible Gemini models.
+
+Certain models utilize a thinking process before generating a response. This allows them to
+reason through complex problems and plan a more coherent and accurate answer.
+
+#### Properties
+
+##### includeThoughts?
+
+> `optional` **includeThoughts?**: `boolean`
+
+Defined in: [types/requests.ts:420](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L420)
+
+Whether to include "thought summaries" in the model's response.
+
+###### Remarks
+
+Thought summaries provide a brief overview of the model's internal thinking process,
+offering insight into how it arrived at the final answer. This can be useful for
+debugging, understanding the model's reasoning, and verifying its accuracy.
+
+##### thinkingBudget?
+
+> `optional` **thinkingBudget?**: `number`
+
+Defined in: [types/requests.ts:410](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L410)
+
+The thinking budget, in tokens.
+
+This parameter sets an upper limit on the number of tokens the model can use for its internal
+"thinking" process. A higher budget may result in higher quality responses for complex tasks
+but can also increase latency and cost.
+
+If you don't specify a budget, the model will determine the appropriate amount
+of thinking based on the complexity of the prompt.
+
+An error will be thrown if you set a thinking budget for a model that does not support this
+feature or if the specified budget is not within the model's supported range.
+
+***
+
+### ToolConfig
+
+Defined in: [types/requests.ts:376](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L376)
+
+Tool config. This config is shared for all tools provided in the request.
+
+#### Properties
+
+##### functionCallingConfig?
+
+> `optional` **functionCallingConfig?**: [`FunctionCallingConfig`](#functioncallingconfig)
+
+Defined in: [types/requests.ts:377](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L377)
+
+***
+
+### Transcription
+
+Defined in: [types/responses.ts:561](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L561)
+
+**`Beta`**
+
+Transcription of audio. This can be returned from a [LiveGenerativeModel](#livegenerativemodel) if transcription
+is enabled with the `inputAudioTranscription` or `outputAudioTranscription` properties on
+the [LiveGenerationConfig](#livegenerationconfig).
+
+#### Properties
+
+##### text?
+
+> `optional` **text?**: `string`
+
+Defined in: [types/responses.ts:565](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L565)
+
+**`Beta`**
+
+The text transcription of the audio.
+
+***
+
+### URLContext
+
+Defined in: [types/requests.ts:350](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L350)
+
+**`Beta`**
+
+Specifies the URL Context configuration.
+
+***
+
+### URLContextMetadata
+
+Defined in: [types/responses.ts:172](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L172)
+
+Metadata related to [URLContextTool](#urlcontexttool).
+
+#### Properties
+
+##### urlMetadata
+
+> **urlMetadata**: [`URLMetadata`](#urlmetadata-1)[]
+
+Defined in: [types/responses.ts:176](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L176)
+
+List of URL metadata used to provide context to the Gemini model.
+
+***
+
+### URLContextTool
+
+Defined in: [types/requests.ts:338](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L338)
+
+**`Beta`**
+
+A tool that allows you to provide additional context to the models in the form of public web
+URLs. By including URLs in your request, the Gemini model will access the content from those
+pages to inform and enhance its response.
+
+#### Properties
+
+##### urlContext
+
+> **urlContext**: [`URLContext`](#urlcontext)
+
+Defined in: [types/requests.ts:342](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L342)
+
+**`Beta`**
+
+Specifies the URL Context configuration.
+
+***
+
+### URLMetadata
+
+Defined in: [types/responses.ts:184](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L184)
+
+Metadata for a single URL retrieved by the [URLContextTool](#urlcontexttool) tool.
+
+#### Properties
+
+##### retrievedUrl?
+
+> `optional` **retrievedUrl?**: `string`
+
+Defined in: [types/responses.ts:188](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L188)
+
+The retrieved URL.
+
+##### urlRetrievalStatus?
+
+> `optional` **urlRetrievalStatus?**: [`URLRetrievalStatus`](#urlretrievalstatus-1)
+
+Defined in: [types/responses.ts:192](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L192)
+
+The status of the URL retrieval.
+
+***
+
+### UsageMetadata
+
+Defined in: [types/responses.ts:112](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L112)
+
+Usage metadata about a [GenerateContentResponse](#generatecontentresponse).
+
+#### Properties
+
+##### candidatesTokenCount
+
+> **candidatesTokenCount**: `number`
+
+Defined in: [types/responses.ts:114](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L114)
+
+##### candidatesTokensDetails?
+
+> `optional` **candidatesTokensDetails?**: [`ModalityTokenCount`](#modalitytokencount)[]
+
+Defined in: [types/responses.ts:121](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L121)
+
+##### promptTokenCount
+
+> **promptTokenCount**: `number`
+
+Defined in: [types/responses.ts:113](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L113)
+
+##### promptTokensDetails?
+
+> `optional` **promptTokensDetails?**: [`ModalityTokenCount`](#modalitytokencount)[]
+
+Defined in: [types/responses.ts:120](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L120)
+
+##### thoughtsTokenCount?
+
+> `optional` **thoughtsTokenCount?**: `number`
+
+Defined in: [types/responses.ts:118](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L118)
+
+The number of tokens used by the model's internal "thinking" process.
+
+##### totalTokenCount
+
+> **totalTokenCount**: `number`
+
+Defined in: [types/responses.ts:119](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L119)
+
+***
+
+### VideoMetadata
+
+Defined in: [types/content.ts:87](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L87)
+
+Describes the input video content.
+
+#### Properties
+
+##### endOffset
+
+> **endOffset**: `string`
+
+Defined in: [types/content.ts:97](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L97)
+
+The end offset of the video in
+protobuf [Duration](https://cloud.google.com/ruby/docs/reference/google-cloud-workflows-v1/latest/Google-Protobuf-Duration#json-mapping) format.
+
+##### startOffset
+
+> **startOffset**: `string`
+
+Defined in: [types/content.ts:92](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L92)
+
+The start offset of the video in
+protobuf [Duration](https://cloud.google.com/ruby/docs/reference/google-cloud-workflows-v1/latest/Google-Protobuf-Duration#json-mapping) format.
+
+***
+
+### VoiceConfig
+
+Defined in: [types/requests.ts:442](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L442)
+
+**`Beta`**
+
+Configuration for the voice to used in speech synthesis.
+
+#### Properties
+
+##### prebuiltVoiceConfig?
+
+> `optional` **prebuiltVoiceConfig?**: [`PrebuiltVoiceConfig`](#prebuiltvoiceconfig)
+
+Defined in: [types/requests.ts:446](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L446)
+
+**`Beta`**
+
+Configures the voice using a pre-built voice configuration.
+
+***
+
+### WebAttribution
+
+Defined in: [types/responses.ts:443](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L443)
+
+#### Properties
+
+##### title
+
+> **title**: `string`
+
+Defined in: [types/responses.ts:445](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L445)
+
+##### uri
+
+> **uri**: `string`
+
+Defined in: [types/responses.ts:444](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L444)
+
+***
+
+### WebGroundingChunk
+
+Defined in: [types/responses.ts:358](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L358)
+
+A grounding chunk from the web.
+
+Important: If using Grounding with Google Search, you are required to comply with the
+[Service Specific Terms](https://cloud.google.com/terms/service-terms) for "Grounding with Google Search".
+
+#### Properties
+
+##### domain?
+
+> `optional` **domain?**: `string`
+
+Defined in: [types/responses.ts:374](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L374)
+
+The domain of the original URI from which the content was retrieved.
+
+This property is only supported in the Vertex AI Gemini API ([VertexAIBackend](#vertexaibackend)).
+When using the Gemini Developer API ([GoogleAIBackend](#googleaibackend)), this property will be
+`undefined`.
+
+##### title?
+
+> `optional` **title?**: `string`
+
+Defined in: [types/responses.ts:366](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L366)
+
+The title of the retrieved web page.
+
+##### uri?
+
+> `optional` **uri?**: `string`
+
+Defined in: [types/responses.ts:362](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L362)
+
+The URI of the retrieved web page.
+
+## Type Aliases
+
+### BackendType
+
+> **BackendType** = *typeof* [`BackendType`](#backendtype-4)\[keyof *typeof* [`BackendType`](#backendtype-4)\]
+
+Defined in: [public-types.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/public-types.ts#L59)
+
+Type alias representing valid backend types.
+It can be either `'VERTEX_AI'` or `'GOOGLE_AI'`.
+
+***
+
+### ImagenAspectRatio
+
+> **ImagenAspectRatio** = *typeof* [`ImagenAspectRatio`](#imagenaspectratio-1)\[keyof *typeof* [`ImagenAspectRatio`](#imagenaspectratio-1)\]
+
+Defined in: [types/imagen/requests.ts:223](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L223)
+
+**`Beta`**
+
+Aspect ratios for Imagen images.
+
+To specify an aspect ratio for generated images, set the `aspectRatio` property in your
+[ImagenGenerationConfig](#imagengenerationconfig).
+
+See the [documentation](http://firebase.google.com/docs/vertex-ai/generate-images)
+for more details and examples of the supported aspect ratios.
+
+***
+
+### ImagenPersonFilterLevel
+
+> **ImagenPersonFilterLevel** = *typeof* [`ImagenPersonFilterLevel`](#imagenpersonfilterlevel-1)\[keyof *typeof* [`ImagenPersonFilterLevel`](#imagenpersonfilterlevel-1)\]
+
+Defined in: [types/imagen/requests.ts:158](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L158)
+
+**`Beta`**
+
+A filter level controlling whether generation of images containing people or faces is allowed.
+
+See the personGeneration
+documentation for more details.
+
+***
+
+### ImagenSafetyFilterLevel
+
+> **ImagenSafetyFilterLevel** = *typeof* [`ImagenSafetyFilterLevel`](#imagensafetyfilterlevel-1)\[keyof *typeof* [`ImagenSafetyFilterLevel`](#imagensafetyfilterlevel-1)\]
+
+Defined in: [types/imagen/requests.ts:113](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L113)
+
+**`Beta`**
+
+A filter level controlling how aggressively to filter sensitive content.
+
+Text prompts provided as inputs and images (generated or uploaded) through Imagen on Vertex AI
+are assessed against a list of safety filters, which include 'harmful categories' (for example,
+`violence`, `sexual`, `derogatory`, and `toxic`). This filter level controls how aggressively to
+filter out potentially harmful content from responses. See the [documentation](http://firebase.google.com/docs/vertex-ai/generate-images)
+and the [Responsible AI and usage guidelines](https://cloud.google.com/vertex-ai/generative-ai/docs/image/responsible-ai-imagen#safety-filters)
+for more details.
+
+***
+
+### InferenceMode
+
+> **InferenceMode** = *typeof* [`InferenceMode`](#inferencemode-1)\[keyof *typeof* [`InferenceMode`](#inferencemode-1)\]
+
+Defined in: [types/enums.ts:295](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L295)
+
+(EXPERIMENTAL)
+Determines whether inference happens on-device or in-cloud.
+
+***
+
+### Language
+
+> **Language** = *typeof* [`Language`](#language-2)\[keyof *typeof* [`Language`](#language-2)\]
+
+Defined in: [types/enums.ts:332](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L332)
+
+**`Beta`**
+
+The programming language of the code.
+
+***
+
+### LiveResponseType
+
+> **LiveResponseType** = *typeof* [`LiveResponseType`](#liveresponsetype-1)\[keyof *typeof* [`LiveResponseType`](#liveresponsetype-1)\]
+
+Defined in: [types/responses.ts:599](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L599)
+
+**`Beta`**
+
+The types of responses that can be returned by [LiveSession.receive](#receive).
+This is a property on all messages that can be used for type narrowing. This property is not
+returned by the server, it is assigned to a server message object once it's parsed.
+
+***
+
+### Outcome
+
+> **Outcome** = *typeof* [`Outcome`](#outcome-2)\[keyof *typeof* [`Outcome`](#outcome-2)\]
+
+Defined in: [types/enums.ts:313](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L313)
+
+**`Beta`**
+
+Represents the result of the code execution.
+
+***
+
+### Part
+
+> **Part** = [`TextPart`](#textpart) \| [`InlineDataPart`](#inlinedatapart) \| [`FunctionCallPart`](#functioncallpart) \| [`FunctionResponsePart`](#functionresponsepart) \| [`FileDataPart`](#filedatapart) \| [`ExecutableCodePart`](#executablecodepart) \| [`CodeExecutionResultPart`](#codeexecutionresultpart)
+
+Defined in: [types/content.ts:34](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/content.ts#L34)
+
+Content part - includes text, image/video, or function call/response
+part types.
+
+***
+
+### ResponseModality
+
+> **ResponseModality** = *typeof* [`ResponseModality`](#responsemodality-1)\[keyof *typeof* [`ResponseModality`](#responsemodality-1)\]
+
+Defined in: [types/enums.ts:265](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L265)
+
+**`Beta`**
+
+Generation modalities to be returned in generation responses.
+
+***
+
+### Role
+
+> **Role** = *typeof* [`POSSIBLE_ROLES`](#possible_roles)\[`number`\]
+
+Defined in: [types/enums.ts:22](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L22)
+
+Role is the producer of the content.
+
+***
+
+### Tool
+
+> **Tool** = [`FunctionDeclarationsTool`](#functiondeclarationstool) \| [`GoogleSearchTool`](#googlesearchtool) \| [`CodeExecutionTool`](#codeexecutiontool) \| [`URLContextTool`](#urlcontexttool)
+
+Defined in: [types/requests.ts:253](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/requests.ts#L253)
+
+Defines a tool that model can call to access external knowledge.
+
+***
+
+### TypedSchema
+
+> **TypedSchema** = [`IntegerSchema`](#integerschema) \| [`NumberSchema`](#numberschema) \| [`StringSchema`](#stringschema) \| [`BooleanSchema`](#booleanschema) \| [`ObjectSchema`](#objectschema) \| [`ArraySchema`](#arrayschema)
+
+Defined in: [requests/schema-builder.ts:136](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/requests/schema-builder.ts#L136)
+
+A type that includes all specific Schema types.
+
+***
+
+### URLRetrievalStatus
+
+> **URLRetrievalStatus** = *typeof* [`URLRetrievalStatus`](#urlretrievalstatus-2)\[keyof *typeof* [`URLRetrievalStatus`](#urlretrievalstatus-2)\]
+
+Defined in: [types/responses.ts:212](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L212)
+
+Type alias for URL retrieval status values.
+
+## Variables
+
+### BackendType
+
+> `const` **BackendType**: `object`
+
+Defined in: [public-types.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/public-types.ts#L59)
+
+An enum-like object containing constants that represent the supported backends
+for the Firebase AI SDK.
+This determines which backend service (Vertex AI Gemini API or Gemini Developer API)
+the SDK will communicate with.
+
+These values are assigned to the `backendType` property within the specific backend
+configuration objects ([GoogleAIBackend](#googleaibackend) or [VertexAIBackend](#vertexaibackend)) to identify
+which service to target.
+
+#### Type Declaration
+
+##### GOOGLE\_AI
+
+> `readonly` **GOOGLE\_AI**: `"GOOGLE_AI"` = `'GOOGLE_AI'`
+
+Identifies the backend service for the Gemini Developer API ([Google AI](https://ai.google/)).
+Use this constant when creating a [GoogleAIBackend](#googleaibackend) configuration.
+
+##### VERTEX\_AI
+
+> `readonly` **VERTEX\_AI**: `"VERTEX_AI"` = `'VERTEX_AI'`
+
+Identifies the backend service for the Vertex AI Gemini API provided through Google Cloud.
+Use this constant when creating a [VertexAIBackend](#vertexaibackend) configuration.
+
+***
+
+### ImagenAspectRatio
+
+> `const` **ImagenAspectRatio**: `object`
+
+Defined in: [types/imagen/requests.ts:223](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L223)
+
+**`Beta`**
+
+Aspect ratios for Imagen images.
+
+To specify an aspect ratio for generated images, set the `aspectRatio` property in your
+[ImagenGenerationConfig](#imagengenerationconfig).
+
+See the [documentation](http://firebase.google.com/docs/vertex-ai/generate-images)
+for more details and examples of the supported aspect ratios.
+
+#### Type Declaration
+
+##### LANDSCAPE\_16x9
+
+> `readonly` **LANDSCAPE\_16x9**: `"16:9"` = `'16:9'`
+
+Landscape (16:9) aspect ratio.
+
+##### LANDSCAPE\_3x4
+
+> `readonly` **LANDSCAPE\_3x4**: `"3:4"` = `'3:4'`
+
+Landscape (3:4) aspect ratio.
+
+##### PORTRAIT\_4x3
+
+> `readonly` **PORTRAIT\_4x3**: `"4:3"` = `'4:3'`
+
+Portrait (4:3) aspect ratio.
+
+##### PORTRAIT\_9x16
+
+> `readonly` **PORTRAIT\_9x16**: `"9:16"` = `'9:16'`
+
+Portrait (9:16) aspect ratio.
+
+##### SQUARE
+
+> `readonly` **SQUARE**: `"1:1"` = `'1:1'`
+
+Square (1:1) aspect ratio.
+
+***
+
+### ImagenPersonFilterLevel
+
+> `const` **ImagenPersonFilterLevel**: `object`
+
+Defined in: [types/imagen/requests.ts:158](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L158)
+
+**`Beta`**
+
+A filter level controlling whether generation of images containing people or faces is allowed.
+
+See the personGeneration
+documentation for more details.
+
+#### Type Declaration
+
+##### ALLOW\_ADULT
+
+> `readonly` **ALLOW\_ADULT**: `"allow_adult"` = `'allow_adult'`
+
+Allow generation of images containing adults only; images of children are filtered out.
+
+Generation of images containing people or faces may require your use case to be
+reviewed and approved by Cloud support; see the [Responsible AI and usage guidelines](https://cloud.google.com/vertex-ai/generative-ai/docs/image/responsible-ai-imagen#person-face-gen)
+for more details.
+
+##### ALLOW\_ALL
+
+> `readonly` **ALLOW\_ALL**: `"allow_all"` = `'allow_all'`
+
+Allow generation of images containing adults only; images of children are filtered out.
+
+Generation of images containing people or faces may require your use case to be
+reviewed and approved by Cloud support; see the [Responsible AI and usage guidelines](https://cloud.google.com/vertex-ai/generative-ai/docs/image/responsible-ai-imagen#person-face-gen)
+for more details.
+
+##### BLOCK\_ALL
+
+> `readonly` **BLOCK\_ALL**: `"dont_allow"` = `'dont_allow'`
+
+Disallow generation of images containing people or faces; images of people are filtered out.
+
+***
+
+### ImagenSafetyFilterLevel
+
+> `const` **ImagenSafetyFilterLevel**: `object`
+
+Defined in: [types/imagen/requests.ts:113](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/imagen/requests.ts#L113)
+
+**`Beta`**
+
+A filter level controlling how aggressively to filter sensitive content.
+
+Text prompts provided as inputs and images (generated or uploaded) through Imagen on Vertex AI
+are assessed against a list of safety filters, which include 'harmful categories' (for example,
+`violence`, `sexual`, `derogatory`, and `toxic`). This filter level controls how aggressively to
+filter out potentially harmful content from responses. See the [documentation](http://firebase.google.com/docs/vertex-ai/generate-images)
+and the [Responsible AI and usage guidelines](https://cloud.google.com/vertex-ai/generative-ai/docs/image/responsible-ai-imagen#safety-filters)
+for more details.
+
+#### Type Declaration
+
+##### BLOCK\_LOW\_AND\_ABOVE
+
+> `readonly` **BLOCK\_LOW\_AND\_ABOVE**: `"block_low_and_above"` = `'block_low_and_above'`
+
+The most aggressive filtering level; most strict blocking.
+
+##### BLOCK\_MEDIUM\_AND\_ABOVE
+
+> `readonly` **BLOCK\_MEDIUM\_AND\_ABOVE**: `"block_medium_and_above"` = `'block_medium_and_above'`
+
+Blocks some sensitive prompts and responses.
+
+##### BLOCK\_NONE
+
+> `readonly` **BLOCK\_NONE**: `"block_none"` = `'block_none'`
+
+The least aggressive filtering level; blocks very few sensitive prompts and responses.
+
+Access to this feature is restricted and may require your case to be reviewed and approved by
+Cloud support.
+
+##### BLOCK\_ONLY\_HIGH
+
+> `readonly` **BLOCK\_ONLY\_HIGH**: `"block_only_high"` = `'block_only_high'`
+
+Blocks few sensitive prompts and responses.
+
+***
+
+### InferenceMode
+
+> `const` **InferenceMode**: `object`
+
+Defined in: [types/enums.ts:295](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L295)
+
+(EXPERIMENTAL)
+Determines whether inference happens on-device or in-cloud.
+
+#### Type Declaration
+
+##### ONLY\_IN\_CLOUD
+
+> `readonly` **ONLY\_IN\_CLOUD**: `"only_in_cloud"` = `'only_in_cloud'`
+
+##### ONLY\_ON\_DEVICE
+
+> `readonly` **ONLY\_ON\_DEVICE**: `"only_on_device"` = `'only_on_device'`
+
+##### PREFER\_ON\_DEVICE
+
+> `readonly` **PREFER\_ON\_DEVICE**: `"prefer_on_device"` = `'prefer_on_device'`
+
+***
+
+### Language
+
+> `const` **Language**: `object`
+
+Defined in: [types/enums.ts:332](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L332)
+
+**`Beta`**
+
+The programming language of the code.
+
+#### Type Declaration
+
+##### PYTHON
+
+> **PYTHON**: `string` = `'PYTHON'`
+
+##### UNSPECIFIED
+
+> **UNSPECIFIED**: `string` = `'LANGUAGE_UNSPECIFIED'`
+
+***
+
+### LiveResponseType
+
+> `const` **LiveResponseType**: `object`
+
+Defined in: [types/responses.ts:599](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L599)
+
+**`Beta`**
+
+The types of responses that can be returned by [LiveSession.receive](#receive).
+
+#### Type Declaration
+
+##### SERVER\_CONTENT
+
+> **SERVER\_CONTENT**: `string` = `'serverContent'`
+
+##### TOOL\_CALL
+
+> **TOOL\_CALL**: `string` = `'toolCall'`
+
+##### TOOL\_CALL\_CANCELLATION
+
+> **TOOL\_CALL\_CANCELLATION**: `string` = `'toolCallCancellation'`
+
+***
+
+### Outcome
+
+> `const` **Outcome**: `object`
+
+Defined in: [types/enums.ts:313](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L313)
+
+**`Beta`**
+
+Represents the result of the code execution.
+
+#### Type Declaration
+
+##### DEADLINE\_EXCEEDED
+
+> **DEADLINE\_EXCEEDED**: `string` = `'OUTCOME_DEADLINE_EXCEEDED'`
+
+##### FAILED
+
+> **FAILED**: `string` = `'OUTCOME_FAILED'`
+
+##### OK
+
+> **OK**: `string` = `'OUTCOME_OK'`
+
+##### UNSPECIFIED
+
+> **UNSPECIFIED**: `string` = `'OUTCOME_UNSPECIFIED'`
+
+***
+
+### POSSIBLE\_ROLES
+
+> `const` **POSSIBLE\_ROLES**: readonly \[`"user"`, `"model"`, `"function"`, `"system"`\]
+
+Defined in: [types/enums.ts:28](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L28)
+
+Possible roles.
+
+***
+
+### ResponseModality
+
+> `const` **ResponseModality**: `object`
+
+Defined in: [types/enums.ts:265](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/enums.ts#L265)
+
+**`Beta`**
+
+Generation modalities to be returned in generation responses.
+
+#### Type Declaration
+
+##### AUDIO
+
+> `readonly` **AUDIO**: `"AUDIO"` = `'AUDIO'`
+
+**`Beta`**
+
+Audio.
+
+##### IMAGE
+
+> `readonly` **IMAGE**: `"IMAGE"` = `'IMAGE'`
+
+**`Beta`**
+
+Image.
+
+##### TEXT
+
+> `readonly` **TEXT**: `"TEXT"` = `'TEXT'`
+
+**`Beta`**
+
+Text.
+
+***
+
+### URLRetrievalStatus
+
+> `const` **URLRetrievalStatus**: `object`
+
+Defined in: [types/responses.ts:212](https://github.com/invertase/react-native-firebase/blob/main/packages/ai/lib/types/responses.ts#L212)
+
+The status of a URL retrieval.
+
+#### Type Declaration
+
+##### URL\_RETRIEVAL\_STATUS\_ERROR
+
+> `readonly` **URL\_RETRIEVAL\_STATUS\_ERROR**: `"URL_RETRIEVAL_STATUS_ERROR"` = `'URL_RETRIEVAL_STATUS_ERROR'`
+
+The URL retrieval failed.
+
+##### URL\_RETRIEVAL\_STATUS\_PAYWALL
+
+> `readonly` **URL\_RETRIEVAL\_STATUS\_PAYWALL**: `"URL_RETRIEVAL_STATUS_PAYWALL"` = `'URL_RETRIEVAL_STATUS_PAYWALL'`
+
+The URL retrieval failed because the content is behind a paywall.
+
+##### URL\_RETRIEVAL\_STATUS\_SUCCESS
+
+> `readonly` **URL\_RETRIEVAL\_STATUS\_SUCCESS**: `"URL_RETRIEVAL_STATUS_SUCCESS"` = `'URL_RETRIEVAL_STATUS_SUCCESS'`
+
+The URL retrieval was successful.
+
+##### URL\_RETRIEVAL\_STATUS\_UNSAFE
+
+> `readonly` **URL\_RETRIEVAL\_STATUS\_UNSAFE**: `"URL_RETRIEVAL_STATUS_UNSAFE"` = `'URL_RETRIEVAL_STATUS_UNSAFE'`
+
+The URL retrieval failed because the content is unsafe.
+
+##### URL\_RETRIEVAL\_STATUS\_UNSPECIFIED
+
+> `readonly` **URL\_RETRIEVAL\_STATUS\_UNSPECIFIED**: `"URL_RETRIEVAL_STATUS_UNSPECIFIED"` = `'URL_RETRIEVAL_STATUS_UNSPECIFIED'`
+
+Unspecified retrieval status.
+
+#### Remarks
+
+URL_RETRIEVAL_STATUS_UNSPECIFIED: Unspecified retrieval status.
+
+URL_RETRIEVAL_STATUS_SUCCESS: The URL retrieval was successful.
+
+URL_RETRIEVAL_STATUS_ERROR: The URL retrieval failed.
+
+URL_RETRIEVAL_STATUS_PAYWALL: The URL retrieval failed because the content is behind a paywall.
+
+URL_RETRIEVAL_STATUS_UNSAFE: The URL retrieval failed because the content is unsafe.
+
diff --git a/docs/reference/@react-native-firebase/analytics/README.mdx b/docs/reference/@react-native-firebase/analytics/README.mdx
new file mode 100644
index 0000000000..e1d486eeea
--- /dev/null
+++ b/docs/reference/@react-native-firebase/analytics/README.mdx
@@ -0,0 +1,5278 @@
+[**React Native Firebase**](../../README.mdx)
+
+***
+
+[React Native Firebase](../../packages.mdx) / @react-native-firebase/analytics
+
+# @react-native-firebase/analytics
+
+## Functions
+
+### getAnalytics()
+
+> **getAnalytics**(`app?`): [`Analytics`](#analytics)
+
+Defined in: [modular.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L51)
+
+Returns an Analytics instance for the given app.
+
+#### Parameters
+
+##### app?
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+#### Returns
+
+[`Analytics`](#analytics)
+
+***
+
+### getAppInstanceId()
+
+> **getAppInstanceId**(`analytics`): `Promise`\<`string` \| `null`\>
+
+Defined in: [modular.ts:458](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L458)
+
+Retrieve the app instance id of the application.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+#### Returns
+
+`Promise`\<`string` \| `null`\>
+
+***
+
+### getGoogleAnalyticsClientId()
+
+> **getGoogleAnalyticsClientId**(`analytics`): `Promise`\<`string`\>
+
+Defined in: [modular.ts:71](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L71)
+
+Retrieves a unique Google Analytics identifier for the web client.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+#### Returns
+
+`Promise`\<`string`\>
+
+***
+
+### getSessionId()
+
+> **getSessionId**(`analytics`): `Promise`\<`number` \| `null`\>
+
+Defined in: [modular.ts:468](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L468)
+
+Retrieves the session id from the client.
+On iOS, Firebase SDK may return an error that is handled internally and may take many minutes to return a valid value. Check native debug logs for more details.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+#### Returns
+
+`Promise`\<`number` \| `null`\>
+
+***
+
+### initializeAnalytics()
+
+> **initializeAnalytics**(`app`, `_options?`): [`Analytics`](#analytics)
+
+Defined in: [modular.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L61)
+
+Returns an Analytics instance for the given app.
+
+#### Parameters
+
+##### app
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+##### \_options?
+
+[`AnalyticsSettings`](#analyticssettings)
+
+#### Returns
+
+[`Analytics`](#analytics)
+
+***
+
+### initiateOnDeviceConversionMeasurementWithEmailAddress()
+
+> **initiateOnDeviceConversionMeasurementWithEmailAddress**(`analytics`, `emailAddress`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:935](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L935)
+
+start privacy-sensitive on-device conversion management.
+This is iOS-only.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### emailAddress
+
+`string`
+
+Email address, properly formatted complete with domain name e.g, 'user@example.com'.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### initiateOnDeviceConversionMeasurementWithHashedEmailAddress()
+
+> **initiateOnDeviceConversionMeasurementWithHashedEmailAddress**(`analytics`, `hashedEmailAddress`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:956](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L956)
+
+start privacy-sensitive on-device conversion management.
+This is iOS-only.
+This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### hashedEmailAddress
+
+`string`
+
+sha256-hashed of normalized email address, properly formatted complete with domain name e.g, 'user@example.com'
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Link
+
+https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3#use-hashed-credentials
+
+***
+
+### initiateOnDeviceConversionMeasurementWithHashedPhoneNumber()
+
+> **initiateOnDeviceConversionMeasurementWithHashedPhoneNumber**(`analytics`, `hashedPhoneNumber`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:996](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L996)
+
+start privacy-sensitive on-device conversion management.
+This is iOS-only.
+This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### hashedPhoneNumber
+
+`string`
+
+sha256-hashed of normalized phone number in E.164 format - that is a leading + sign, then up to 15 digits, no dashes or spaces.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Link
+
+https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3#use-hashed-credentials
+
+***
+
+### initiateOnDeviceConversionMeasurementWithPhoneNumber()
+
+> **initiateOnDeviceConversionMeasurementWithPhoneNumber**(`analytics`, `phoneNumber`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:975](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L975)
+
+start privacy-sensitive on-device conversion management.
+This is iOS-only.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### phoneNumber
+
+`string`
+
+Phone number in E.164 format - that is a leading + sign, then up to 15 digits, no dashes or spaces.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### isSupported()
+
+> **isSupported**(): `Promise`\<`boolean`\>
+
+Defined in: [modular.ts:1016](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L1016)
+
+Checks four different things.
+1. Checks if it's not a browser extension environment.
+2. Checks if cookies are enabled in current browser.
+3. Checks if IndexedDB is supported by the browser environment.
+4. Checks if the current browser context is valid for using IndexedDB.open().
+
+#### Returns
+
+`Promise`\<`boolean`\>
+
+***
+
+### logAddPaymentInfo()
+
+> **logAddPaymentInfo**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:519](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L519)
+
+E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user. Note: This is different from the in-app purchase event, which is reported automatically for Google Play-based apps.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`AddPaymentInfoEventParameters`](#addpaymentinfoeventparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logAddShippingInfo()
+
+> **logAddShippingInfo**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:538](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L538)
+
+Add Payment Info event. This event signifies that a user has submitted their payment information to your app.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`AddShippingInfoParameters`](#addshippinginfoparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logAddToCart()
+
+> **logAddToCart**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:549](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L549)
+
+E-Commerce Add To Cart event.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`AddToCartEventParameters`](#addtocarteventparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logAddToWishlist()
+
+> **logAddToWishlist**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:560](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L560)
+
+E-Commerce Add To Wishlist event. This event signifies that an item was added to a wishlist.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`AddToWishlistEventParameters`](#addtowishlisteventparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logAppOpen()
+
+> **logAppOpen**(`analytics`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:571](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L571)
+
+App Open event. By logging this event when an App is moved to the foreground, developers can understand how often users leave and return during the course of a Session.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logBeginCheckout()
+
+> **logBeginCheckout**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:579](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L579)
+
+E-Commerce Begin Checkout event. This event signifies that a user has begun the process of checking out.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`BeginCheckoutEventParameters`](#begincheckouteventparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logCampaignDetails()
+
+> **logCampaignDetails**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:590](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L590)
+
+Log this event to supply the referral details of a re-engagement campaign.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`CampaignDetailsEventParameters`](#campaigndetailseventparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logEarnVirtualCurrency()
+
+> **logEarnVirtualCurrency**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:601](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L601)
+
+Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`EarnVirtualCurrencyEventParameters`](#earnvirtualcurrencyeventparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logEvent()
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:84](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L84)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"add_payment_info"`
+
+###### params?
+
+###### coupon?
+
+`string`
+
+###### currency?
+
+`string`
+
+###### items?
+
+[`Item`](#item)[]
+
+###### payment_type?
+
+`string`
+
+###### value?
+
+`number`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:97](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L97)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"add_shipping_info"`
+
+###### params?
+
+###### coupon?
+
+`string`
+
+###### currency?
+
+`string`
+
+###### items?
+
+[`Item`](#item)[]
+
+###### shipping_tier?
+
+`string`
+
+###### value?
+
+`number`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:110](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L110)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"add_to_cart"`
+
+###### params?
+
+###### currency?
+
+`string`
+
+###### items?
+
+[`Item`](#item)[]
+
+###### value?
+
+`number`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:121](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L121)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"add_to_wishlist"`
+
+###### params?
+
+###### currency?
+
+`string`
+
+###### items?
+
+[`Item`](#item)[]
+
+###### value?
+
+`number`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:132](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L132)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"begin_checkout"`
+
+###### params?
+
+###### coupon?
+
+`string`
+
+###### currency?
+
+`string`
+
+###### items?
+
+[`Item`](#item)[]
+
+###### value?
+
+`number`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:145](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L145)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"checkout_progress"`
+
+###### params?
+
+###### checkout_option?
+
+`string`
+
+###### checkout_step?
+
+`number`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:156](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L156)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"exception"`
+
+###### params?
+
+###### description?
+
+`string`
+
+###### fatal?
+
+`boolean`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:167](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L167)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"generate_lead"`
+
+###### params?
+
+###### currency?
+
+`string`
+
+###### value?
+
+`number`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:177](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L177)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"login"`
+
+###### params
+
+###### method
+
+`string` \| `undefined`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:186](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L186)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"page_view"`
+
+###### params?
+
+###### page_location?
+
+`string`
+
+###### page_path?
+
+`string`
+
+###### page_title?
+
+`string`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:198](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L198)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"purchase"`
+
+###### params?
+
+###### affiliation?
+
+`string`
+
+###### coupon?
+
+`string`
+
+###### currency?
+
+`string`
+
+###### items?
+
+[`Item`](#item)[]
+
+###### shipping?
+
+`number`
+
+###### tax?
+
+`number`
+
+###### transaction_id?
+
+`string`
+
+###### value?
+
+`number`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:215](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L215)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"refund"`
+
+###### params?
+
+###### affiliation?
+
+`string`
+
+###### coupon?
+
+`string`
+
+###### currency?
+
+`string`
+
+###### items?
+
+[`Item`](#item)[]
+
+###### shipping?
+
+`number`
+
+###### tax?
+
+`number`
+
+###### transaction_id?
+
+`string`
+
+###### value?
+
+`number`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:231](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L231)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"remove_from_cart"`
+
+###### params?
+
+###### currency?
+
+`string`
+
+###### items?
+
+[`Item`](#item)[]
+
+###### value?
+
+`number`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:242](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L242)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"screen_view"`
+
+###### params?
+
+###### screen_class?
+
+`unknown`
+
+###### screen_name?
+
+`string`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:253](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L253)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"search"`
+
+###### params
+
+###### destination?
+
+`string`
+
+###### end_date?
+
+`string`
+
+###### number_of_nights?
+
+`number`
+
+###### number_of_passengers?
+
+`number`
+
+###### number_of_rooms?
+
+`number`
+
+###### origin?
+
+`string`
+
+###### search_term
+
+`string` \| `undefined`
+
+###### start_date?
+
+`string`
+
+###### travel_class?
+
+`string`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:270](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L270)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"select_content"`
+
+###### params
+
+###### content_type
+
+`string` \| `undefined`
+
+###### item_id
+
+`string` \| `undefined`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:280](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L280)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"select_item"`
+
+###### params
+
+###### content_type
+
+`string` \| `undefined`
+
+###### item_list_id
+
+`string` \| `undefined`
+
+###### item_list_name
+
+`string` \| `undefined`
+
+###### items?
+
+[`Item`](#item)[]
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:292](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L292)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"select_promotion"`
+
+###### params
+
+###### creative_name
+
+`string`
+
+###### creative_slot
+
+`string`
+
+###### items?
+
+[`Item`](#item)[]
+
+###### location_id
+
+`string`
+
+###### promotion_id
+
+`string` \| `undefined`
+
+###### promotion_name
+
+`string` \| `undefined`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:306](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L306)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"set_checkout_option"`
+
+###### params?
+
+###### checkout_option?
+
+`string`
+
+###### checkout_step?
+
+`number`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:317](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L317)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"share"`
+
+###### params
+
+###### content_type
+
+`string` \| `undefined`
+
+###### item_id
+
+`string` \| `undefined`
+
+###### method
+
+`string` \| `undefined`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:328](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L328)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"sign_up"`
+
+###### params
+
+###### method
+
+`string` \| `undefined`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:337](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L337)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"timing_complete"`
+
+###### params?
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:346](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L346)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"view_cart"`
+
+###### params?
+
+###### currency?
+
+`string`
+
+###### items?
+
+[`Item`](#item)[]
+
+###### value?
+
+`number`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:357](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L357)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"view_item"`
+
+###### params?
+
+###### currency?
+
+`string`
+
+###### items?
+
+[`Item`](#item)[]
+
+###### value?
+
+`number`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:368](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L368)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"view_item_list"`
+
+###### params?
+
+###### item_list_id?
+
+`string`
+
+###### item_list_name?
+
+`string`
+
+###### items?
+
+[`Item`](#item)[]
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:379](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L379)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"view_promotion"`
+
+###### params?
+
+###### creative_name?
+
+`string`
+
+###### creative_slot?
+
+`string`
+
+###### items?
+
+[`Item`](#item)[]
+
+###### location_id?
+
+`string`
+
+###### promotion_id?
+
+`string`
+
+###### promotion_name?
+
+`string`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**(`analytics`, `name`, `params`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:393](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L393)
+
+Log a custom event with optional params.
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+`"view_search_results"`
+
+###### params
+
+###### search_term
+
+`string` \| `undefined`
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+#### Call Signature
+
+> **logEvent**\<`T`\>(`analytics`, `name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:403](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L403)
+
+Log a custom event with optional params.
+
+##### Type Parameters
+
+###### T
+
+`T` *extends* `string`
+
+##### Parameters
+
+###### analytics
+
+[`Analytics`](#analytics)
+
+###### name
+
+[`CustomEventName`](#customeventname)\<`T`\>
+
+###### params?
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+##### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logGenerateLead()
+
+> **logGenerateLead**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:612](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L612)
+
+Generate Lead event. Log this event when a lead has been generated in the app.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`GenerateLeadEventParameters`](#generateleadeventparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logJoinGroup()
+
+> **logJoinGroup**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:623](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L623)
+
+Join Group event. Log this event when a user joins a group such as a guild, team or family.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`JoinGroupEventParameters`](#joingroupeventparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logLevelEnd()
+
+> **logLevelEnd**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:634](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L634)
+
+Level End event.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`LevelEndEventParameters`](#levelendeventparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logLevelStart()
+
+> **logLevelStart**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:642](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L642)
+
+Level Start event.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`LevelStartEventParameters`](#levelstarteventparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logLevelUp()
+
+> **logLevelUp**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:653](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L653)
+
+Level Up event. This event signifies that a player has leveled up in your gaming app.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`LevelUpEventParameters`](#levelupeventparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logLogin()
+
+> **logLogin**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:661](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L661)
+
+Login event. Apps with a login feature can report this event to signify that a user has logged in.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`LoginEventParameters`](#logineventparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logPostScore()
+
+> **logPostScore**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:669](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L669)
+
+Post Score event. Log this event when the user posts a score in your gaming app.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`PostScoreEventParameters`](#postscoreeventparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logPurchase()
+
+> **logPurchase**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:697](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L697)
+
+E-Commerce Purchase event. This event signifies that an item(s) was purchased by a user.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`PurchaseEventParameters`](#purchaseeventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logRefund()
+
+> **logRefund**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:708](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L708)
+
+E-Commerce Refund event. This event signifies that a refund was issued.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`RefundEventParameters`](#refundeventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logRemoveFromCart()
+
+> **logRemoveFromCart**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:719](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L719)
+
+Remove from cart event.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`RemoveFromCartEventParameters`](#removefromcarteventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logScreenView()
+
+> **logScreenView**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:530](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L530)
+
+Sets or clears the screen name and class the user is currently viewing.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### params
+
+[`ScreenViewParameters`](#screenviewparameters)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logSearch()
+
+> **logSearch**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:733](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L733)
+
+Search event. Apps that support search features can use this event to contextualize search operations by supplying the appropriate, corresponding parameters.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`SearchEventParameters`](#searcheventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logSelectContent()
+
+> **logSelectContent**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:683](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L683)
+
+Select Content event. This general purpose event signifies that a user has selected some content of a certain type in an app.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`SelectContentEventParameters`](#selectcontenteventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logSelectItem()
+
+> **logSelectItem**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:744](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L744)
+
+Select Item event. This event signifies that an item was selected by a user from a list.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`SelectItemEventParameters`](#selectitemeventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logSelectPromotion()
+
+> **logSelectPromotion**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:772](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L772)
+
+Select promotion event. This event signifies that a user has selected a promotion offer.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`SelectPromotionEventParameters`](#selectpromotioneventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logSetCheckoutOption()
+
+> **logSetCheckoutOption**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:758](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L758)
+
+Set checkout option event.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`SetCheckoutOptionEventParameters`](#setcheckoutoptioneventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logShare()
+
+> **logShare**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:786](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L786)
+
+Share event. Apps with social features can log the Share event to identify the most viral content.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`ShareEventParameters`](#shareeventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logSignUp()
+
+> **logSignUp**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:797](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L797)
+
+Sign Up event. This event indicates that a user has signed up for an account in your app.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`SignUpEventParameters`](#signupeventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logSpendVirtualCurrency()
+
+> **logSpendVirtualCurrency**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:808](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L808)
+
+Spend Virtual Currency event. This event tracks the sale of virtual goods in your app.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`SpendVirtualCurrencyEventParameters`](#spendvirtualcurrencyeventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logTransaction()
+
+> **logTransaction**(`analytics`, `transaction_id`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:424](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L424)
+
+Logs verified in-app purchase events in Google Analytics for Firebase
+after a purchase is successful.
+Modular API only; iOS only (StoreKit 2). Throws on Android and web before reaching native.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### transaction\_id
+
+`string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logTutorialBegin()
+
+> **logTutorialBegin**(`analytics`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:821](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L821)
+
+Tutorial Begin event. This event signifies the start of the on-boarding process in your app.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logTutorialComplete()
+
+> **logTutorialComplete**(`analytics`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:831](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L831)
+
+Tutorial End event. Use this event to signify the user's completion of your app's on-boarding process.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logUnlockAchievement()
+
+> **logUnlockAchievement**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:842](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L842)
+
+Unlock Achievement event. Log this event when the user has unlocked an achievement in your game.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`UnlockAchievementEventParameters`](#unlockachievementeventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logViewCart()
+
+> **logViewCart**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:856](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L856)
+
+E-commerce View Cart event. This event signifies that a user has viewed their cart.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`ViewCartEventParameters`](#viewcarteventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logViewItem()
+
+> **logViewItem**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:867](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L867)
+
+View Item event. This event signifies that some content was shown to the user.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`ViewItemEventParameters`](#viewitemeventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logViewItemList()
+
+> **logViewItemList**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:878](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L878)
+
+View Item List event. Log this event when the user has been presented with a list of items of a certain category.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`ViewItemListEventParameters`](#viewitemlisteventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logViewPromotion()
+
+> **logViewPromotion**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:892](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L892)
+
+View Promotion event. This event signifies that a promotion was shown to a user.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`ViewPromotionEventParameters`](#viewpromotioneventparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### logViewSearchResults()
+
+> **logViewSearchResults**(`analytics`, `params`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:906](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L906)
+
+View Search Results event. Log this event when the user has been presented with the results of a search.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params
+
+[`ViewSearchResultsParameters`](#viewsearchresultsparameters)
+
+Event parameters.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### resetAnalyticsData()
+
+> **resetAnalyticsData**(`analytics`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:510](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L510)
+
+Clears all analytics data for this instance from the device and resets the app instance ID.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### setAnalyticsCollectionEnabled()
+
+> **setAnalyticsCollectionEnabled**(`analytics`, `enabled`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:435](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L435)
+
+If true, allows the device to collect analytical data and send it to Firebase. Useful for GDPR.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### enabled
+
+`boolean`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### setConsent()
+
+> **setConsent**(`analytics`, `consentSettings`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:1026](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L1026)
+
+Sets the applicable end user consent state for this app.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### consentSettings
+
+[`ConsentSettings`](#consentsettings)
+
+See ConsentSettings.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### setDefaultEventParameters()
+
+> **setDefaultEventParameters**(`analytics`, `params?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:920](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L920)
+
+Adds parameters that will be set on every event logged from the SDK, including automatic ones.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+Analytics instance.
+
+##### params?
+
+Parameters to be added to the map of parameters added to every event.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### setSessionTimeoutDuration()
+
+> **setSessionTimeoutDuration**(`analytics`, `milliseconds?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:446](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L446)
+
+Sets the duration of inactivity that terminates the current session.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### milliseconds?
+
+`number` = `1800000`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### settings()
+
+> **settings**(`_options`): `void`
+
+Defined in: [modular.ts:1037](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L1037)
+
+Configures Firebase Analytics to use custom gtag or dataLayer names.
+Intended to be used if gtag.js script has been installed on this page independently of Firebase Analytics, and is using non-default names for either the gtag function or for dataLayer. Must be called before calling `getAnalytics()` or it won't have any effect. Web only.
+
+#### Parameters
+
+##### \_options
+
+[`SettingsOptions`](#settingsoptions)
+
+#### Returns
+
+`void`
+
+***
+
+### setUserId()
+
+> **setUserId**(`analytics`, `id`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:477](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L477)
+
+Gives a user a unique identification.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### id
+
+`string` \| `null`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### setUserProperties()
+
+> **setUserProperties**(`analytics`, `properties`, `options?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:498](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L498)
+
+Sets multiple key/value pairs of data on the current user. Each Firebase project can have up to 25 uniquely named (case-sensitive) user properties.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### properties
+
+##### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions) = `...`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### setUserProperty()
+
+> **setUserProperty**(`analytics`, `name`, `value`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:485](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/modular.ts#L485)
+
+Sets a key/value pair of data on the current user. Each Firebase project can have up to 25 uniquely named (case-sensitive) user properties.
+
+#### Parameters
+
+##### analytics
+
+[`Analytics`](#analytics)
+
+##### name
+
+`string`
+
+##### value
+
+`string` \| `null`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+## Interfaces
+
+### AddPaymentInfoEventParameters
+
+Defined in: [types/analytics.ts:134](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L134)
+
+#### Properties
+
+##### coupon?
+
+> `optional` **coupon?**: `string`
+
+Defined in: [types/analytics.ts:144](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L144)
+
+Coupon code for a purchasable item.
+
+##### currency?
+
+> `optional` **currency?**: `string`
+
+Defined in: [types/analytics.ts:139](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L139)
+
+Purchase currency in 3 letter [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. E.g. `USD`.
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:135](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L135)
+
+##### payment\_type?
+
+> `optional` **payment\_type?**: `string`
+
+Defined in: [types/analytics.ts:148](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L148)
+
+The chosen method of payment
+
+##### value?
+
+> `optional` **value?**: `number`
+
+Defined in: [types/analytics.ts:140](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L140)
+
+***
+
+### AddShippingInfoParameters
+
+Defined in: [types/analytics.ts:637](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L637)
+
+#### Properties
+
+##### coupon?
+
+> `optional` **coupon?**: `string`
+
+Defined in: [types/analytics.ts:652](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L652)
+
+Coupon code for a purchasable item.
+
+##### currency?
+
+> `optional` **currency?**: `string`
+
+Defined in: [types/analytics.ts:642](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L642)
+
+Purchase currency in 3 letter [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. E.g. `USD`.
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:638](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L638)
+
+##### shipping\_tier?
+
+> `optional` **shipping\_tier?**: `string`
+
+Defined in: [types/analytics.ts:656](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L656)
+
+The shipping tier (e.g. Ground, Air, Next-day) selected for delivery of the purchased item
+
+##### value?
+
+> `optional` **value?**: `number`
+
+Defined in: [types/analytics.ts:648](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L648)
+
+A context-specific numeric value which is accumulated automatically for each event type. Values
+can include revenue, distance, time and points. When a value is set, the accompanying `currency`
+parameter should also be defined.
+
+***
+
+### AddToCartEventParameters
+
+Defined in: [types/analytics.ts:168](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L168)
+
+#### Properties
+
+##### currency?
+
+> `optional` **currency?**: `string`
+
+Defined in: [types/analytics.ts:173](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L173)
+
+Purchase currency in 3 letter [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. E.g. `USD`.
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:169](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L169)
+
+##### value?
+
+> `optional` **value?**: `number`
+
+Defined in: [types/analytics.ts:177](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L177)
+
+value of item
+
+***
+
+### AddToWishlistEventParameters
+
+Defined in: [types/analytics.ts:180](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L180)
+
+#### Properties
+
+##### currency?
+
+> `optional` **currency?**: `string`
+
+Defined in: [types/analytics.ts:185](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L185)
+
+Purchase currency in 3 letter [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. E.g. `USD`.
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:181](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L181)
+
+##### value?
+
+> `optional` **value?**: `number`
+
+Defined in: [types/analytics.ts:186](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L186)
+
+***
+
+### Analytics
+
+Defined in: [types/analytics.ts:881](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L881)
+
+Analytics module instance - returned from firebase.analytics() or firebase.app().analytics()
+
+#### Extends
+
+- [`FirebaseModule`](../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule)
+
+#### Methods
+
+##### getAppInstanceId()
+
+> **getAppInstanceId**(): `Promise`\<`string` \| `null`\>
+
+Defined in: [types/analytics.ts:895](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L895)
+
+###### Returns
+
+`Promise`\<`string` \| `null`\>
+
+##### getSessionId()
+
+> **getSessionId**(): `Promise`\<`number` \| `null`\>
+
+Defined in: [types/analytics.ts:897](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L897)
+
+###### Returns
+
+`Promise`\<`number` \| `null`\>
+
+##### initiateOnDeviceConversionMeasurementWithEmailAddress()
+
+> **initiateOnDeviceConversionMeasurementWithEmailAddress**(`emailAddress`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:953](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L953)
+
+###### Parameters
+
+###### emailAddress
+
+`string`
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### initiateOnDeviceConversionMeasurementWithHashedEmailAddress()
+
+> **initiateOnDeviceConversionMeasurementWithHashedEmailAddress**(`hashedEmailAddress`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:954](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L954)
+
+###### Parameters
+
+###### hashedEmailAddress
+
+`string`
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### initiateOnDeviceConversionMeasurementWithHashedPhoneNumber()
+
+> **initiateOnDeviceConversionMeasurementWithHashedPhoneNumber**(`hashedPhoneNumber`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:958](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L958)
+
+###### Parameters
+
+###### hashedPhoneNumber
+
+`string`
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### initiateOnDeviceConversionMeasurementWithPhoneNumber()
+
+> **initiateOnDeviceConversionMeasurementWithPhoneNumber**(`phoneNumber`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:957](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L957)
+
+###### Parameters
+
+###### phoneNumber
+
+`string`
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logAddPaymentInfo()
+
+> **logAddPaymentInfo**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:915](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L915)
+
+###### Parameters
+
+###### object
+
+[`AddPaymentInfoEventParameters`](#addpaymentinfoeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logAddShippingInfo()
+
+> **logAddShippingInfo**(`object?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:917](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L917)
+
+###### Parameters
+
+###### object?
+
+[`AddShippingInfoParameters`](#addshippinginfoparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logAddToCart()
+
+> **logAddToCart**(`object?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:918](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L918)
+
+###### Parameters
+
+###### object?
+
+[`AddToCartEventParameters`](#addtocarteventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logAddToWishlist()
+
+> **logAddToWishlist**(`object?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:919](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L919)
+
+###### Parameters
+
+###### object?
+
+[`AddToWishlistEventParameters`](#addtowishlisteventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logAppOpen()
+
+> **logAppOpen**(): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:920](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L920)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logBeginCheckout()
+
+> **logBeginCheckout**(`object?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:921](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L921)
+
+###### Parameters
+
+###### object?
+
+[`BeginCheckoutEventParameters`](#begincheckouteventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logCampaignDetails()
+
+> **logCampaignDetails**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:922](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L922)
+
+###### Parameters
+
+###### object
+
+[`CampaignDetailsEventParameters`](#campaigndetailseventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logEarnVirtualCurrency()
+
+> **logEarnVirtualCurrency**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:923](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L923)
+
+###### Parameters
+
+###### object
+
+[`EarnVirtualCurrencyEventParameters`](#earnvirtualcurrencyeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logEvent()
+
+> **logEvent**(`name`, `params?`, `options?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:885](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L885)
+
+###### Parameters
+
+###### name
+
+`string`
+
+###### params?
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logGenerateLead()
+
+> **logGenerateLead**(`object?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:924](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L924)
+
+###### Parameters
+
+###### object?
+
+[`GenerateLeadEventParameters`](#generateleadeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logJoinGroup()
+
+> **logJoinGroup**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:925](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L925)
+
+###### Parameters
+
+###### object
+
+[`JoinGroupEventParameters`](#joingroupeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logLevelEnd()
+
+> **logLevelEnd**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:926](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L926)
+
+###### Parameters
+
+###### object
+
+[`LevelEndEventParameters`](#levelendeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logLevelStart()
+
+> **logLevelStart**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:927](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L927)
+
+###### Parameters
+
+###### object
+
+[`LevelStartEventParameters`](#levelstarteventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logLevelUp()
+
+> **logLevelUp**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:928](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L928)
+
+###### Parameters
+
+###### object
+
+[`LevelUpEventParameters`](#levelupeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logLogin()
+
+> **logLogin**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:929](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L929)
+
+###### Parameters
+
+###### object
+
+[`LoginEventParameters`](#logineventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logPostScore()
+
+> **logPostScore**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:930](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L930)
+
+###### Parameters
+
+###### object
+
+[`PostScoreEventParameters`](#postscoreeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logPurchase()
+
+> **logPurchase**(`object?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:932](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L932)
+
+###### Parameters
+
+###### object?
+
+[`PurchaseEventParameters`](#purchaseeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logRefund()
+
+> **logRefund**(`object?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:933](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L933)
+
+###### Parameters
+
+###### object?
+
+[`RefundEventParameters`](#refundeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logRemoveFromCart()
+
+> **logRemoveFromCart**(`object?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:934](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L934)
+
+###### Parameters
+
+###### object?
+
+[`RemoveFromCartEventParameters`](#removefromcarteventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logScreenView()
+
+> **logScreenView**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:916](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L916)
+
+###### Parameters
+
+###### object
+
+[`ScreenViewParameters`](#screenviewparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logSearch()
+
+> **logSearch**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:935](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L935)
+
+###### Parameters
+
+###### object
+
+[`SearchEventParameters`](#searcheventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logSelectContent()
+
+> **logSelectContent**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:931](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L931)
+
+###### Parameters
+
+###### object
+
+[`SelectContentEventParameters`](#selectcontenteventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logSelectItem()
+
+> **logSelectItem**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:936](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L936)
+
+###### Parameters
+
+###### object
+
+[`SelectItemEventParameters`](#selectitemeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logSelectPromotion()
+
+> **logSelectPromotion**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:938](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L938)
+
+###### Parameters
+
+###### object
+
+[`SelectPromotionEventParameters`](#selectpromotioneventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logSetCheckoutOption()
+
+> **logSetCheckoutOption**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:937](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L937)
+
+###### Parameters
+
+###### object
+
+[`SetCheckoutOptionEventParameters`](#setcheckoutoptioneventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logShare()
+
+> **logShare**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:939](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L939)
+
+###### Parameters
+
+###### object
+
+[`ShareEventParameters`](#shareeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logSignUp()
+
+> **logSignUp**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:940](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L940)
+
+###### Parameters
+
+###### object
+
+[`SignUpEventParameters`](#signupeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logSpendVirtualCurrency()
+
+> **logSpendVirtualCurrency**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:941](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L941)
+
+###### Parameters
+
+###### object
+
+[`SpendVirtualCurrencyEventParameters`](#spendvirtualcurrencyeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logTransaction()
+
+> **logTransaction**(`transaction_id`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:942](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L942)
+
+###### Parameters
+
+###### transaction\_id
+
+`string`
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logTutorialBegin()
+
+> **logTutorialBegin**(): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:943](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L943)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logTutorialComplete()
+
+> **logTutorialComplete**(): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:944](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L944)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logUnlockAchievement()
+
+> **logUnlockAchievement**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:945](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L945)
+
+###### Parameters
+
+###### object
+
+[`UnlockAchievementEventParameters`](#unlockachievementeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logViewCart()
+
+> **logViewCart**(`object?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:946](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L946)
+
+###### Parameters
+
+###### object?
+
+[`ViewCartEventParameters`](#viewcarteventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logViewItem()
+
+> **logViewItem**(`object?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:947](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L947)
+
+###### Parameters
+
+###### object?
+
+[`ViewItemEventParameters`](#viewitemeventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logViewItemList()
+
+> **logViewItemList**(`object?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:948](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L948)
+
+###### Parameters
+
+###### object?
+
+[`ViewItemListEventParameters`](#viewitemlisteventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logViewPromotion()
+
+> **logViewPromotion**(`object?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:949](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L949)
+
+###### Parameters
+
+###### object?
+
+[`ViewPromotionEventParameters`](#viewpromotioneventparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### logViewSearchResults()
+
+> **logViewSearchResults**(`object`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:950](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L950)
+
+###### Parameters
+
+###### object
+
+[`ViewSearchResultsParameters`](#viewsearchresultsparameters)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### resetAnalyticsData()
+
+> **resetAnalyticsData**(): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:908](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L908)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### setAnalyticsCollectionEnabled()
+
+> **setAnalyticsCollectionEnabled**(`enabled`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:891](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L891)
+
+###### Parameters
+
+###### enabled
+
+`boolean`
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### setConsent()
+
+> **setConsent**(`consentSettings`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:910](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L910)
+
+###### Parameters
+
+###### consentSettings
+
+[`ConsentSettings`](#consentsettings)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### setDefaultEventParameters()
+
+> **setDefaultEventParameters**(`params?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:912](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L912)
+
+###### Parameters
+
+###### params?
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### setSessionTimeoutDuration()
+
+> **setSessionTimeoutDuration**(`milliseconds?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:893](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L893)
+
+###### Parameters
+
+###### milliseconds?
+
+`number`
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### setUserId()
+
+> **setUserId**(`id`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:899](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L899)
+
+###### Parameters
+
+###### id
+
+`string` \| `null`
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### setUserProperties()
+
+> **setUserProperties**(`properties`, `options?`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:903](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L903)
+
+###### Parameters
+
+###### properties
+
+###### options?
+
+[`AnalyticsCallOptions`](#analyticscalloptions)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### setUserProperty()
+
+> **setUserProperty**(`name`, `value`): `Promise`\<`void`\>
+
+Defined in: [types/analytics.ts:901](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L901)
+
+###### Parameters
+
+###### name
+
+`string`
+
+###### value
+
+`string` \| `null`
+
+###### Returns
+
+`Promise`\<`void`\>
+
+#### Properties
+
+##### app
+
+> **app**: [`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+Defined in: [types/analytics.ts:883](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L883)
+
+The FirebaseApp this module is associated with
+
+###### Overrides
+
+[`FirebaseModule`](../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule).[`app`](../app/namespaces/ReactNativeFirebase.mdx#app)
+
+***
+
+### AnalyticsCallOptions
+
+Defined in: [types/analytics.ts:730](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L730)
+
+Additional options that can be passed to Analytics method calls such as logEvent. Web only.
+
+#### Properties
+
+##### global
+
+> **global**: `boolean`
+
+Defined in: [types/analytics.ts:734](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L734)
+
+If true, this config or event call applies globally to all Google Analytics properties on the page. Web only.
+
+***
+
+### AnalyticsSettings
+
+Defined in: [types/analytics.ts:723](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L723)
+
+Analytics instance initialization options. Web only.
+
+#### Properties
+
+##### config?
+
+> `optional` **config?**: [`EventParams`](#eventparams) \| [`GtagConfigParams`](#gtagconfigparams)
+
+Defined in: [types/analytics.ts:724](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L724)
+
+***
+
+### BeginCheckoutEventParameters
+
+Defined in: [types/analytics.ts:189](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L189)
+
+#### Indexable
+
+> \[`key`: `string`\]: `any`
+
+Custom event parameters.
+
+#### Properties
+
+##### coupon?
+
+> `optional` **coupon?**: `string`
+
+Defined in: [types/analytics.ts:199](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L199)
+
+Coupon code for a purchasable item.
+
+##### currency?
+
+> `optional` **currency?**: `string`
+
+Defined in: [types/analytics.ts:194](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L194)
+
+Purchase currency in 3 letter [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. E.g. `USD`.
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:201](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L201)
+
+##### value?
+
+> `optional` **value?**: `number`
+
+Defined in: [types/analytics.ts:195](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L195)
+
+***
+
+### CampaignDetailsEventParameters
+
+Defined in: [types/analytics.ts:208](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L208)
+
+#### Properties
+
+##### aclid?
+
+> `optional` **aclid?**: `string`
+
+Defined in: [types/analytics.ts:232](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L232)
+
+A campaign detail click ID.
+
+##### campaign
+
+> **campaign**: `string`
+
+Defined in: [types/analytics.ts:220](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L220)
+
+Used for keyword analysis to identify a specific product promotion or strategic campaign.
+
+##### content?
+
+> `optional` **content?**: `string`
+
+Defined in: [types/analytics.ts:228](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L228)
+
+Used for A/B testing and content-targeted ads to differentiate ads or links that point to the same URL.
+
+##### cp1?
+
+> `optional` **cp1?**: `string`
+
+Defined in: [types/analytics.ts:233](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L233)
+
+##### medium
+
+> **medium**: `string`
+
+Defined in: [types/analytics.ts:216](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L216)
+
+Used to identify a medium such as email or cost-per-click (cpc).
+
+##### source
+
+> **source**: `string`
+
+Defined in: [types/analytics.ts:212](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L212)
+
+Used to identify a search engine, newsletter, or other source.
+
+##### term?
+
+> `optional` **term?**: `string`
+
+Defined in: [types/analytics.ts:224](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L224)
+
+Used with paid search to supply the keywords for ads.
+
+***
+
+### ConsentSettings
+
+Defined in: [types/analytics.ts:804](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L804)
+
+Consent status settings for each consent type.
+For more information, see
+[the GA4 reference documentation for consent state and consent types](https://developers.google.com/tag-platform/tag-manager/templates/consent-apis).
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+#### Properties
+
+##### ad\_personalization?
+
+> `optional` **ad\_personalization?**: `boolean`
+
+Defined in: [types/analytics.ts:810](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L810)
+
+Sets consent for personalized advertising
+
+##### ad\_storage?
+
+> `optional` **ad\_storage?**: `boolean`
+
+Defined in: [types/analytics.ts:806](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L806)
+
+Enables storage, such as cookies, related to advertising
+
+##### ad\_user\_data?
+
+> `optional` **ad\_user\_data?**: `boolean`
+
+Defined in: [types/analytics.ts:808](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L808)
+
+Sets consent for sending user data to Google for online advertising purposes
+
+##### analytics\_storage?
+
+> `optional` **analytics\_storage?**: `boolean`
+
+Defined in: [types/analytics.ts:812](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L812)
+
+Enables storage, such as cookies, related to analytics (for example, visit duration)
+
+##### functionality\_storage?
+
+> `optional` **functionality\_storage?**: `boolean`
+
+Defined in: [types/analytics.ts:816](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L816)
+
+Enables storage that supports the functionality of the website or app such as language settings
+
+##### personalization\_storage?
+
+> `optional` **personalization\_storage?**: `boolean`
+
+Defined in: [types/analytics.ts:818](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L818)
+
+Enables storage related to personalization such as video recommendations
+
+##### security\_storage?
+
+> `optional` **security\_storage?**: [`ConsentStatusString`](#consentstatusstring)
+
+Defined in: [types/analytics.ts:823](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L823)
+
+Enables storage related to security such as authentication functionality, fraud prevention,
+and other user protection.
+
+***
+
+### EarnVirtualCurrencyEventParameters
+
+Defined in: [types/analytics.ts:245](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L245)
+
+#### Properties
+
+##### value
+
+> **value**: `number`
+
+Defined in: [types/analytics.ts:254](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L254)
+
+A context-specific numeric value which is accumulated automatically for each event type. Values
+can include revenue, distance, time and points.
+
+##### virtual\_currency\_name
+
+> **virtual\_currency\_name**: `string`
+
+Defined in: [types/analytics.ts:249](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L249)
+
+Name of virtual currency type. E.g. `gems`.
+
+***
+
+### EventParams
+
+Defined in: [types/analytics.ts:662](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L662)
+
+Standard gtag.js event parameters. For more information, see the GA4 reference documentation. Web only.
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+#### Properties
+
+##### affiliation?
+
+> `optional` **affiliation?**: `string`
+
+Defined in: [types/analytics.ts:697](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L697)
+
+##### checkout\_option?
+
+> `optional` **checkout\_option?**: `string`
+
+Defined in: [types/analytics.ts:663](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L663)
+
+##### checkout\_step?
+
+> `optional` **checkout\_step?**: `number`
+
+Defined in: [types/analytics.ts:664](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L664)
+
+##### content\_type?
+
+> `optional` **content\_type?**: `string`
+
+Defined in: [types/analytics.ts:666](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L666)
+
+##### coupon?
+
+> `optional` **coupon?**: `string`
+
+Defined in: [types/analytics.ts:667](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L667)
+
+##### currency?
+
+> `optional` **currency?**: `string`
+
+Defined in: [types/analytics.ts:668](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L668)
+
+##### description?
+
+> `optional` **description?**: `string`
+
+Defined in: [types/analytics.ts:669](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L669)
+
+##### event\_category?
+
+> `optional` **event\_category?**: `string`
+
+Defined in: [types/analytics.ts:690](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L690)
+
+##### event\_label?
+
+> `optional` **event\_label?**: `string`
+
+Defined in: [types/analytics.ts:689](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L689)
+
+##### fatal?
+
+> `optional` **fatal?**: `boolean`
+
+Defined in: [types/analytics.ts:670](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L670)
+
+##### firebase\_screen?
+
+> `optional` **firebase\_screen?**: `string`
+
+Defined in: [types/analytics.ts:679](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L679)
+
+Firebase-specific. Use to log a `screen_name` to Firebase Analytics.
+
+##### firebase\_screen\_class?
+
+> `optional` **firebase\_screen\_class?**: `string`
+
+Defined in: [types/analytics.ts:683](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L683)
+
+Firebase-specific. Use to log a `screen_class` to Firebase Analytics.
+
+##### item\_id?
+
+> `optional` **item\_id?**: `string`
+
+Defined in: [types/analytics.ts:665](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L665)
+
+##### item\_list\_id?
+
+> `optional` **item\_list\_id?**: `string`
+
+Defined in: [types/analytics.ts:692](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L692)
+
+##### item\_list\_name?
+
+> `optional` **item\_list\_name?**: `string`
+
+Defined in: [types/analytics.ts:693](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L693)
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:671](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L671)
+
+##### method?
+
+> `optional` **method?**: `string`
+
+Defined in: [types/analytics.ts:672](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L672)
+
+##### number?
+
+> `optional` **number?**: `string`
+
+Defined in: [types/analytics.ts:673](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L673)
+
+##### page\_location?
+
+> `optional` **page\_location?**: `string`
+
+Defined in: [types/analytics.ts:699](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L699)
+
+##### page\_path?
+
+> `optional` **page\_path?**: `string`
+
+Defined in: [types/analytics.ts:700](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L700)
+
+##### page\_title?
+
+> `optional` **page\_title?**: `string`
+
+Defined in: [types/analytics.ts:698](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L698)
+
+##### payment\_type?
+
+> `optional` **payment\_type?**: `string`
+
+Defined in: [types/analytics.ts:696](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L696)
+
+##### promotion\_id?
+
+> `optional` **promotion\_id?**: `string`
+
+Defined in: [types/analytics.ts:694](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L694)
+
+##### promotion\_name?
+
+> `optional` **promotion\_name?**: `string`
+
+Defined in: [types/analytics.ts:695](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L695)
+
+##### promotions?
+
+> `optional` **promotions?**: [`Promotion`](#promotion)[]
+
+Defined in: [types/analytics.ts:674](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L674)
+
+##### screen\_name?
+
+> `optional` **screen\_name?**: `string`
+
+Defined in: [types/analytics.ts:675](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L675)
+
+##### search\_term?
+
+> `optional` **search\_term?**: `string`
+
+Defined in: [types/analytics.ts:684](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L684)
+
+##### shipping?
+
+> `optional` **shipping?**: `number`
+
+Defined in: [types/analytics.ts:685](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L685)
+
+##### shipping\_tier?
+
+> `optional` **shipping\_tier?**: `string`
+
+Defined in: [types/analytics.ts:691](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L691)
+
+##### tax?
+
+> `optional` **tax?**: `number`
+
+Defined in: [types/analytics.ts:686](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L686)
+
+##### transaction\_id?
+
+> `optional` **transaction\_id?**: `string`
+
+Defined in: [types/analytics.ts:687](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L687)
+
+##### value?
+
+> `optional` **value?**: `number`
+
+Defined in: [types/analytics.ts:688](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L688)
+
+***
+
+### GenerateLeadEventParameters
+
+Defined in: [types/analytics.ts:257](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L257)
+
+#### Properties
+
+##### currency?
+
+> `optional` **currency?**: `string`
+
+Defined in: [types/analytics.ts:261](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L261)
+
+Purchase currency in 3 letter [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. E.g. `USD`.
+
+##### value?
+
+> `optional` **value?**: `number`
+
+Defined in: [types/analytics.ts:267](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L267)
+
+A context-specific numeric value which is accumulated automatically for each event type. Values
+can include revenue, distance, time and points. When a value is set, the accompanying `currency`
+parameter should also be defined.
+
+***
+
+### GtagConfigParams
+
+Defined in: [types/analytics.ts:740](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L740)
+
+A set of common Google Analytics config settings recognized by gtag.js. Web only.
+
+#### Indexable
+
+> \[`key`: `string`\]: `unknown`
+
+#### Properties
+
+##### allow\_ad\_personalization\_signals?
+
+> `optional` **allow\_ad\_personalization\_signals?**: `boolean`
+
+Defined in: [types/analytics.ts:793](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L793)
+
+If set to false, disables all advertising personalization with `gtag.js`.
+See [Disable advertising features](https://developers.google.com/analytics/devguides/collection/ga4/display-features)
+
+##### allow\_google\_signals?
+
+> `optional` **allow\_google\_signals?**: `boolean`
+
+Defined in: [types/analytics.ts:788](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L788)
+
+If set to false, disables all advertising features with `gtag.js`.
+See [Disable advertising features](https://developers.google.com/analytics/devguides/collection/ga4/display-features)
+
+##### cookie\_domain?
+
+> `optional` **cookie\_domain?**: `string`
+
+Defined in: [types/analytics.ts:762](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L762)
+
+Defaults to `auto`.
+See [Cookies and user identification](https://developers.google.com/analytics/devguides/collection/ga4/cookies-user-id)
+
+##### cookie\_expires?
+
+> `optional` **cookie\_expires?**: `number`
+
+Defined in: [types/analytics.ts:767](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L767)
+
+Defaults to 63072000 (two years, in seconds).
+See [Cookies and user identification](https://developers.google.com/analytics/devguides/collection/ga4/cookies-user-id)
+
+##### cookie\_flags?
+
+> `optional` **cookie\_flags?**: `string`
+
+Defined in: [types/analytics.ts:783](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L783)
+
+Appends additional flags to the cookie when set.
+See [Cookies and user identification](https://developers.google.com/analytics/devguides/collection/ga4/cookies-user-id)
+
+##### cookie\_prefix?
+
+> `optional` **cookie\_prefix?**: `string`
+
+Defined in: [types/analytics.ts:772](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L772)
+
+Defaults to `_ga`.
+See [Cookies and user identification](https://developers.google.com/analytics/devguides/collection/ga4/cookies-user-id)
+
+##### cookie\_update?
+
+> `optional` **cookie\_update?**: `boolean`
+
+Defined in: [types/analytics.ts:778](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L778)
+
+If set to true, will update cookies on each page load.
+Defaults to true.
+See [Cookies and user identification](https://developers.google.com/analytics/devguides/collection/ga4/cookies-user-id)
+
+##### page\_location?
+
+> `optional` **page\_location?**: `string`
+
+Defined in: [types/analytics.ts:757](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L757)
+
+The URL of the page.
+See [Page views](https://developers.google.com/analytics/devguides/collection/ga4/page-view)
+
+##### page\_title?
+
+> `optional` **page\_title?**: `string`
+
+Defined in: [types/analytics.ts:752](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L752)
+
+The title of the page.
+See [Page views](https://developers.google.com/analytics/devguides/collection/ga4/page-view)
+
+##### send\_page\_view?
+
+> `optional` **send\_page\_view?**: `boolean`
+
+Defined in: [types/analytics.ts:747](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L747)
+
+Whether or not a page view should be sent.
+If set to true (default), a page view is automatically sent upon initialization
+of analytics.
+See [Page views](https://developers.google.com/analytics/devguides/collection/ga4/page-view)
+
+***
+
+### Item
+
+Defined in: [types/analytics.ts:36](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L36)
+
+#### Indexable
+
+> \[`key`: `string`\]: `string` \| `number` \| `undefined`
+
+Custom event parameters. The parameter names can be up to 40 characters long and must start with an alphabetic character and contain only alphanumeric characters and underscores. String parameter values can be up to 100 characters long.
+The "firebase_", "google_" and "ga_" prefixes are reserved and should not be used for parameter names.
+
+#### Properties
+
+##### affiliation?
+
+> `optional` **affiliation?**: `string`
+
+Defined in: [types/analytics.ts:98](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L98)
+
+The affiliation of the item.
+
+##### coupon?
+
+> `optional` **coupon?**: `string`
+
+Defined in: [types/analytics.ts:102](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L102)
+
+The coupon associated with the item.
+
+##### creative\_name?
+
+> `optional` **creative\_name?**: `string`
+
+Defined in: [types/analytics.ts:106](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L106)
+
+The creative name associated with the item.
+
+##### creative\_slot?
+
+> `optional` **creative\_slot?**: `string`
+
+Defined in: [types/analytics.ts:110](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L110)
+
+The creative slot associated with the item.
+
+##### discount?
+
+> `optional` **discount?**: `number`
+
+Defined in: [types/analytics.ts:114](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L114)
+
+The discount applied to the item.
+
+##### index?
+
+> `optional` **index?**: `number`
+
+Defined in: [types/analytics.ts:118](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L118)
+
+The index of the item.
+
+##### item\_brand?
+
+> `optional` **item\_brand?**: `string`
+
+Defined in: [types/analytics.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L40)
+
+The item's brand.
+
+##### item\_category?
+
+> `optional` **item\_category?**: `string`
+
+Defined in: [types/analytics.ts:52](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L52)
+
+First class item category.
+
+##### item\_category2?
+
+> `optional` **item\_category2?**: `string`
+
+Defined in: [types/analytics.ts:56](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L56)
+
+Second class item category.
+
+##### item\_category3?
+
+> `optional` **item\_category3?**: `string`
+
+Defined in: [types/analytics.ts:60](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L60)
+
+Third class item category.
+
+##### item\_category4?
+
+> `optional` **item\_category4?**: `string`
+
+Defined in: [types/analytics.ts:64](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L64)
+
+Fourth class item category.
+
+##### item\_category5?
+
+> `optional` **item\_category5?**: `string`
+
+Defined in: [types/analytics.ts:68](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L68)
+
+Fifth class item category.
+
+##### item\_id?
+
+> `optional` **item\_id?**: `string`
+
+Defined in: [types/analytics.ts:44](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L44)
+
+An item ID.
+
+##### item\_list\_id?
+
+> `optional` **item\_list\_id?**: `string`
+
+Defined in: [types/analytics.ts:72](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L72)
+
+The ID of the list in which the item was presented to the user.
+
+##### item\_list\_name?
+
+> `optional` **item\_list\_name?**: `string`
+
+Defined in: [types/analytics.ts:76](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L76)
+
+The name of the list in which the item was presented to the user.
+
+##### item\_name?
+
+> `optional` **item\_name?**: `string`
+
+Defined in: [types/analytics.ts:48](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L48)
+
+An item name.
+
+##### item\_variant?
+
+> `optional` **item\_variant?**: `string`
+
+Defined in: [types/analytics.ts:84](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L84)
+
+The Item variant.
+
+##### location\_id?
+
+> `optional` **location\_id?**: `string`
+
+Defined in: [types/analytics.ts:80](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L80)
+
+The Google [Place ID](https://developers.google.com/places/place-id) that corresponds to the associated item (String). Alternatively, you can supply your own custom Location ID.
+
+##### price?
+
+> `optional` **price?**: `number`
+
+Defined in: [types/analytics.ts:94](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L94)
+
+The Item price.
+Note that firebase analytics will display this as an integer with trailing zeros, due to some firebase-internal conversion.
+See https://github.com/invertase/react-native-firebase/issues/4578#issuecomment-771703420 for more information
+
+##### promotion\_id?
+
+> `optional` **promotion\_id?**: `string`
+
+Defined in: [types/analytics.ts:122](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L122)
+
+The promotion ID associated with the item.
+
+##### promotion\_name?
+
+> `optional` **promotion\_name?**: `string`
+
+Defined in: [types/analytics.ts:126](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L126)
+
+The promotion name associated with the item.
+
+##### quantity?
+
+> `optional` **quantity?**: `number`
+
+Defined in: [types/analytics.ts:88](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L88)
+
+The Item quantity.
+
+***
+
+### JoinGroupEventParameters
+
+Defined in: [types/analytics.ts:270](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L270)
+
+#### Properties
+
+##### group\_id
+
+> **group\_id**: `string`
+
+Defined in: [types/analytics.ts:274](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L274)
+
+Group/clan/guild id.
+
+***
+
+### LevelEndEventParameters
+
+Defined in: [types/analytics.ts:277](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L277)
+
+#### Properties
+
+##### level
+
+> **level**: `number`
+
+Defined in: [types/analytics.ts:281](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L281)
+
+Level in game.
+
+##### success?
+
+> `optional` **success?**: `string`
+
+Defined in: [types/analytics.ts:285](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L285)
+
+The result of an operation.
+
+***
+
+### LevelStartEventParameters
+
+Defined in: [types/analytics.ts:288](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L288)
+
+#### Properties
+
+##### level
+
+> **level**: `number`
+
+Defined in: [types/analytics.ts:292](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L292)
+
+Level in game.
+
+***
+
+### LevelUpEventParameters
+
+Defined in: [types/analytics.ts:295](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L295)
+
+#### Properties
+
+##### character?
+
+> `optional` **character?**: `string`
+
+Defined in: [types/analytics.ts:303](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L303)
+
+Character used in game.
+
+##### level
+
+> **level**: `number`
+
+Defined in: [types/analytics.ts:299](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L299)
+
+Level in game.
+
+***
+
+### LoginEventParameters
+
+Defined in: [types/analytics.ts:306](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L306)
+
+#### Properties
+
+##### method
+
+> **method**: `string`
+
+Defined in: [types/analytics.ts:310](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L310)
+
+The login method. E.g. `facebook.com`.
+
+***
+
+### PostScoreEventParameters
+
+Defined in: [types/analytics.ts:313](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L313)
+
+#### Properties
+
+##### character?
+
+> `optional` **character?**: `string`
+
+Defined in: [types/analytics.ts:325](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L325)
+
+Character used in game.
+
+##### level?
+
+> `optional` **level?**: `number`
+
+Defined in: [types/analytics.ts:321](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L321)
+
+Level in game.
+
+##### score
+
+> **score**: `number`
+
+Defined in: [types/analytics.ts:317](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L317)
+
+Score in game.
+
+***
+
+### Promotion
+
+Defined in: [types/analytics.ts:16](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L16)
+
+Promotion object for analytics events.
+
+#### Indexable
+
+> \[`key`: `string`\]: `any`
+
+#### Properties
+
+##### creative\_name?
+
+> `optional` **creative\_name?**: `string`
+
+Defined in: [types/analytics.ts:20](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L20)
+
+The name of a creative used in a promotional spot
+
+##### creative\_slot?
+
+> `optional` **creative\_slot?**: `string`
+
+Defined in: [types/analytics.ts:24](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L24)
+
+The name of a creative slot
+
+##### promotion\_id?
+
+> `optional` **promotion\_id?**: `string`
+
+Defined in: [types/analytics.ts:28](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L28)
+
+The ID of a product promotion
+
+##### promotion\_name?
+
+> `optional` **promotion\_name?**: `string`
+
+Defined in: [types/analytics.ts:32](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L32)
+
+The name of a product promotion
+
+***
+
+### PurchaseEventParameters
+
+Defined in: [types/analytics.ts:328](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L328)
+
+#### Indexable
+
+> \[`key`: `string`\]: `any`
+
+Custom event parameters.
+
+#### Properties
+
+##### affiliation?
+
+> `optional` **affiliation?**: `string`
+
+Defined in: [types/analytics.ts:332](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L332)
+
+A product affiliation to designate a supplying company or brick and mortar store location
+
+##### coupon?
+
+> `optional` **coupon?**: `string`
+
+Defined in: [types/analytics.ts:336](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L336)
+
+Coupon code for a purchasable item.
+
+##### currency?
+
+> `optional` **currency?**: `string`
+
+Defined in: [types/analytics.ts:340](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L340)
+
+Purchase currency in 3 letter [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. E.g. `USD`.
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:342](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L342)
+
+##### shipping?
+
+> `optional` **shipping?**: `number`
+
+Defined in: [types/analytics.ts:346](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L346)
+
+Shipping cost.
+
+##### tax?
+
+> `optional` **tax?**: `number`
+
+Defined in: [types/analytics.ts:350](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L350)
+
+Tax amount.
+
+##### transaction\_id?
+
+> `optional` **transaction\_id?**: `string`
+
+Defined in: [types/analytics.ts:360](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L360)
+
+A single ID for a ecommerce group transaction.
+
+##### value?
+
+> `optional` **value?**: `number`
+
+Defined in: [types/analytics.ts:356](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L356)
+
+A context-specific numeric value which is accumulated automatically for each event type. Values
+can include revenue, distance, time and points. When a value is set, the accompanying `currency`
+parameter should also be defined.
+
+***
+
+### RefundEventParameters
+
+Defined in: [types/analytics.ts:383](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L383)
+
+#### Properties
+
+##### affiliation?
+
+> `optional` **affiliation?**: `string`
+
+Defined in: [types/analytics.ts:387](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L387)
+
+A product affiliation to designate a supplying company or brick and mortar store location
+
+##### coupon?
+
+> `optional` **coupon?**: `string`
+
+Defined in: [types/analytics.ts:391](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L391)
+
+Coupon code for a purchasable item.
+
+##### currency?
+
+> `optional` **currency?**: `string`
+
+Defined in: [types/analytics.ts:395](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L395)
+
+Purchase currency in 3 letter [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. E.g. `USD`.
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:397](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L397)
+
+##### shipping?
+
+> `optional` **shipping?**: `number`
+
+Defined in: [types/analytics.ts:401](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L401)
+
+Shipping cost.
+
+##### tax?
+
+> `optional` **tax?**: `number`
+
+Defined in: [types/analytics.ts:405](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L405)
+
+Tax amount.
+
+##### transaction\_id?
+
+> `optional` **transaction\_id?**: `string`
+
+Defined in: [types/analytics.ts:415](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L415)
+
+A single ID for a ecommerce group transaction.
+
+##### value?
+
+> `optional` **value?**: `number`
+
+Defined in: [types/analytics.ts:411](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L411)
+
+A context-specific numeric value which is accumulated automatically for each event type. Values
+can include revenue, distance, time and points. When a value is set, the accompanying `currency`
+parameter should also be defined.
+
+***
+
+### RemoveFromCartEventParameters
+
+Defined in: [types/analytics.ts:418](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L418)
+
+#### Properties
+
+##### currency?
+
+> `optional` **currency?**: `string`
+
+Defined in: [types/analytics.ts:429](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L429)
+
+Purchase currency in 3 letter [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. E.g. `USD`.
+x
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:419](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L419)
+
+##### value?
+
+> `optional` **value?**: `number`
+
+Defined in: [types/analytics.ts:425](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L425)
+
+A context-specific numeric value which is accumulated automatically for each event type. Values
+can include revenue, distance, time and points. When a value is set, the accompanying `currency`
+parameter should also be defined.
+
+***
+
+### ScreenViewParameters
+
+Defined in: [types/analytics.ts:367](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L367)
+
+#### Indexable
+
+> \[`key`: `string`\]: `any`
+
+Custom event parameters.
+
+#### Properties
+
+##### screen\_class?
+
+> `optional` **screen\_class?**: `string`
+
+Defined in: [types/analytics.ts:375](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L375)
+
+Current class associated with the view the user is currently viewing.
+
+##### screen\_name?
+
+> `optional` **screen\_name?**: `string`
+
+Defined in: [types/analytics.ts:371](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L371)
+
+Screen name the user is currently viewing.
+
+***
+
+### SearchEventParameters
+
+Defined in: [types/analytics.ts:432](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L432)
+
+#### Properties
+
+##### destination?
+
+> `optional` **destination?**: `string`
+
+Defined in: [types/analytics.ts:453](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L453)
+
+Flight or Travel destination. E.g. `Mountain View, CA`.
+
+##### end\_date?
+
+> `optional` **end\_date?**: `string`
+
+Defined in: [types/analytics.ts:461](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L461)
+
+The arrival date, check-out date, or rental end date for the item (String). The parameter expects a date formatted as YYYY-MM-DD.
+
+##### number\_of\_nights?
+
+> `optional` **number\_of\_nights?**: `number`
+
+Defined in: [types/analytics.ts:437](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L437)
+
+Number of nights staying at hotel.
+
+##### number\_of\_passengers?
+
+> `optional` **number\_of\_passengers?**: `number`
+
+Defined in: [types/analytics.ts:445](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L445)
+
+Number of passengers traveling.
+
+##### number\_of\_rooms?
+
+> `optional` **number\_of\_rooms?**: `number`
+
+Defined in: [types/analytics.ts:441](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L441)
+
+Number of rooms for travel events.
+
+##### origin?
+
+> `optional` **origin?**: `string`
+
+Defined in: [types/analytics.ts:449](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L449)
+
+Flight or Travel origin. E.g. `Mountain View, CA`.
+
+##### search\_term
+
+> **search\_term**: `string`
+
+Defined in: [types/analytics.ts:433](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L433)
+
+##### start\_date?
+
+> `optional` **start\_date?**: `string`
+
+Defined in: [types/analytics.ts:457](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L457)
+
+The departure date, check-in date, or rental start date for the item (String). The parameter expects a date formatted as YYYY-MM-DD.
+
+##### travel\_class?
+
+> `optional` **travel\_class?**: `string`
+
+Defined in: [types/analytics.ts:465](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L465)
+
+Travel class. E.g. `business`.
+
+***
+
+### SelectContentEventParameters
+
+Defined in: [types/analytics.ts:468](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L468)
+
+#### Properties
+
+##### content\_type
+
+> **content\_type**: `string`
+
+Defined in: [types/analytics.ts:469](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L469)
+
+##### item\_id
+
+> **item\_id**: `string`
+
+Defined in: [types/analytics.ts:473](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L473)
+
+An item ID.
+
+***
+
+### SelectItemEventParameters
+
+Defined in: [types/analytics.ts:476](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L476)
+
+#### Properties
+
+##### content\_type
+
+> **content\_type**: `string`
+
+Defined in: [types/analytics.ts:478](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L478)
+
+##### item\_list\_id
+
+> **item\_list\_id**: `string`
+
+Defined in: [types/analytics.ts:482](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L482)
+
+The ID of the list in which the item was presented to the user
+
+##### item\_list\_name
+
+> **item\_list\_name**: `string`
+
+Defined in: [types/analytics.ts:486](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L486)
+
+The name of the list in which the item was presented to the user
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:477](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L477)
+
+***
+
+### SelectPromotionEventParameters
+
+Defined in: [types/analytics.ts:496](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L496)
+
+#### Properties
+
+##### creative\_name
+
+> **creative\_name**: `string`
+
+Defined in: [types/analytics.ts:500](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L500)
+
+The name of a creative used in a promotional spot
+
+##### creative\_slot
+
+> **creative\_slot**: `string`
+
+Defined in: [types/analytics.ts:504](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L504)
+
+The name of a creative slot
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:505](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L505)
+
+##### location\_id
+
+> **location\_id**: `string`
+
+Defined in: [types/analytics.ts:509](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L509)
+
+The location associated with the event. Preferred to be the Google Place ID that corresponds to the associated item but could be overridden to a custom location ID string
+
+##### promotion\_id
+
+> **promotion\_id**: `string`
+
+Defined in: [types/analytics.ts:513](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L513)
+
+The ID of a product promotion
+
+##### promotion\_name
+
+> **promotion\_name**: `string`
+
+Defined in: [types/analytics.ts:517](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L517)
+
+The name of a product promotion
+
+***
+
+### SetCheckoutOptionEventParameters
+
+Defined in: [types/analytics.ts:489](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L489)
+
+#### Indexable
+
+> \[`key`: `string`\]: `any`
+
+#### Properties
+
+##### checkout\_option?
+
+> `optional` **checkout\_option?**: `string`
+
+Defined in: [types/analytics.ts:491](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L491)
+
+##### checkout\_step?
+
+> `optional` **checkout\_step?**: `number`
+
+Defined in: [types/analytics.ts:490](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L490)
+
+***
+
+### SettingsOptions
+
+Defined in: [types/analytics.ts:832](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L832)
+
+Specifies custom options for your Firebase Analytics instance.
+You must set these before initializing `firebase.analytics()`.
+
+#### Properties
+
+##### dataLayerName?
+
+> `optional` **dataLayerName?**: `string`
+
+Defined in: [types/analytics.ts:836](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L836)
+
+Sets custom name for `dataLayer` array used by `gtag.js`.
+
+##### gtagName?
+
+> `optional` **gtagName?**: `string`
+
+Defined in: [types/analytics.ts:834](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L834)
+
+Sets custom name for `gtag` function.
+
+***
+
+### ShareEventParameters
+
+Defined in: [types/analytics.ts:520](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L520)
+
+#### Properties
+
+##### content\_type
+
+> **content\_type**: `string`
+
+Defined in: [types/analytics.ts:524](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L524)
+
+Type of content selected.
+
+##### item\_id
+
+> **item\_id**: `string`
+
+Defined in: [types/analytics.ts:528](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L528)
+
+An item ID.
+
+##### method
+
+> **method**: `string`
+
+Defined in: [types/analytics.ts:532](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L532)
+
+A particular approach used in an operation; for example, "facebook" or "email" in the context of a sign_up or login event.
+
+***
+
+### SignUpEventParameters
+
+Defined in: [types/analytics.ts:535](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L535)
+
+#### Properties
+
+##### method
+
+> **method**: `string`
+
+Defined in: [types/analytics.ts:539](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L539)
+
+A particular approach used in an operation; for example, "facebook" or "email" in the context of a sign_up or login event.
+
+***
+
+### SpendVirtualCurrencyEventParameters
+
+Defined in: [types/analytics.ts:542](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L542)
+
+#### Properties
+
+##### item\_name
+
+> **item\_name**: `string`
+
+Defined in: [types/analytics.ts:546](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L546)
+
+An item name.
+
+##### value
+
+> **value**: `number`
+
+Defined in: [types/analytics.ts:556](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L556)
+
+A context-specific numeric value which is accumulated automatically for each event type. Values
+can include revenue, distance, time and points. When a value is set, the accompanying `currency`
+parameter should also be defined.
+
+##### virtual\_currency\_name
+
+> **virtual\_currency\_name**: `string`
+
+Defined in: [types/analytics.ts:550](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L550)
+
+Name of virtual currency type. E.g. `gems`.
+
+***
+
+### UnlockAchievementEventParameters
+
+Defined in: [types/analytics.ts:559](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L559)
+
+#### Properties
+
+##### achievement\_id
+
+> **achievement\_id**: `string`
+
+Defined in: [types/analytics.ts:563](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L563)
+
+Game achievement ID (String).
+
+***
+
+### ViewCartEventParameters
+
+Defined in: [types/analytics.ts:566](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L566)
+
+#### Properties
+
+##### currency?
+
+> `optional` **currency?**: `string`
+
+Defined in: [types/analytics.ts:571](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L571)
+
+Purchase currency in 3 letter [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. E.g. `USD`.
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:567](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L567)
+
+##### value?
+
+> `optional` **value?**: `number`
+
+Defined in: [types/analytics.ts:577](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L577)
+
+A context-specific numeric value which is accumulated automatically for each event type. Values
+can include revenue, distance, time and points. When a value is set, the accompanying `currency`
+parameter should also be defined.
+
+***
+
+### ViewItemEventParameters
+
+Defined in: [types/analytics.ts:580](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L580)
+
+#### Properties
+
+##### currency?
+
+> `optional` **currency?**: `string`
+
+Defined in: [types/analytics.ts:585](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L585)
+
+Purchase currency in 3 letter [ISO_4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. E.g. `USD`.
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:581](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L581)
+
+##### value?
+
+> `optional` **value?**: `number`
+
+Defined in: [types/analytics.ts:591](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L591)
+
+A context-specific numeric value which is accumulated automatically for each event type. Values
+can include revenue, distance, time and points. When a value is set, the accompanying `currency`
+parameter should also be defined.
+
+***
+
+### ViewItemListEventParameters
+
+Defined in: [types/analytics.ts:601](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L601)
+
+#### Properties
+
+##### item\_list\_id?
+
+> `optional` **item\_list\_id?**: `string`
+
+Defined in: [types/analytics.ts:606](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L606)
+
+The ID of the list in which the item was presented to the user
+
+##### item\_list\_name?
+
+> `optional` **item\_list\_name?**: `string`
+
+Defined in: [types/analytics.ts:610](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L610)
+
+The name of the list in which the item was presented to the user
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:602](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L602)
+
+***
+
+### ViewPromotionEventParameters
+
+Defined in: [types/analytics.ts:613](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L613)
+
+#### Properties
+
+##### creative\_name?
+
+> `optional` **creative\_name?**: `string`
+
+Defined in: [types/analytics.ts:622](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L622)
+
+The name of a creative used in a promotional spot
+
+##### creative\_slot?
+
+> `optional` **creative\_slot?**: `string`
+
+Defined in: [types/analytics.ts:626](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L626)
+
+The name of a creative slot
+
+##### items?
+
+> `optional` **items?**: [`Item`](#item)[]
+
+Defined in: [types/analytics.ts:614](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L614)
+
+##### location\_id?
+
+> `optional` **location\_id?**: `string`
+
+Defined in: [types/analytics.ts:618](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L618)
+
+The location associated with the event. Preferred to be the Google Place ID that corresponds to the associated item but could be overridden to a custom location ID string
+
+##### promotion\_id?
+
+> `optional` **promotion\_id?**: `string`
+
+Defined in: [types/analytics.ts:630](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L630)
+
+The ID of a product promotion
+
+##### promotion\_name?
+
+> `optional` **promotion\_name?**: `string`
+
+Defined in: [types/analytics.ts:634](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L634)
+
+The name of a product promotion
+
+***
+
+### ViewSearchResultsParameters
+
+Defined in: [types/analytics.ts:594](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L594)
+
+#### Properties
+
+##### search\_term
+
+> **search\_term**: `string`
+
+Defined in: [types/analytics.ts:598](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L598)
+
+The search string/keywords used.
+
+## Namespaces
+
+- [~~FirebaseAnalyticsTypes~~](namespaces/FirebaseAnalyticsTypes.mdx)
+
+## Type Aliases
+
+### ConsentStatusString
+
+> **ConsentStatusString** = `"granted"` \| `"denied"`
+
+Defined in: [types/analytics.ts:11](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L11)
+
+Consent status string values.
+
+***
+
+### Currency
+
+> **Currency** = `number`
+
+Defined in: [types/analytics.ts:6](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L6)
+
+A currency amount.
+
+***
+
+### CustomEventName
+
+> **CustomEventName**\<`T`\> = `T` *extends* [`EventNameString`](#eventnamestring) ? `never` : `T`
+
+Defined in: [types/analytics.ts:842](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L842)
+
+Any custom event name string not in the standard list of recommended event names.
+
+#### Type Parameters
+
+##### T
+
+`T`
+
+***
+
+### EventNameString
+
+> **EventNameString** = `"add_payment_info"` \| `"add_shipping_info"` \| `"add_to_cart"` \| `"add_to_wishlist"` \| `"begin_checkout"` \| `"checkout_progress"` \| `"exception"` \| `"generate_lead"` \| `"login"` \| `"page_view"` \| `"purchase"` \| `"refund"` \| `"remove_from_cart"` \| `"screen_view"` \| `"search"` \| `"select_content"` \| `"select_item"` \| `"select_promotion"` \| `"set_checkout_option"` \| `"share"` \| `"sign_up"` \| `"timing_complete"` \| `"view_cart"` \| `"view_item"` \| `"view_item_list"` \| `"view_promotion"` \| `"view_search_results"`
+
+Defined in: [types/analytics.ts:847](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L847)
+
+Type for standard Google Analytics event names. logEvent also accepts any custom string and interprets it as a custom event name.
+See https://firebase.google.com/docs/reference/js/analytics.md#eventnamestring
+
+## Variables
+
+### default
+
+> **default**: `AnalyticsNamespace`
+
+Defined in: [namespaced.ts:904](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/namespaced.ts#L904)
+
+***
+
+### firebase
+
+> `const` **firebase**: [`FirebaseNamespacedExport`](../app/namespaces/ReactNativeFirebase.mdx#firebasenamespacedexport)\<`"analytics"`, [`Analytics`](#analytics), `Statics`, `false`\>
+
+Defined in: [namespaced.ts:909](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/namespaced.ts#L909)
+
+***
+
+### SDK\_VERSION
+
+> `const` **SDK\_VERSION**: `string` = `version`
+
+Defined in: [namespaced.ts:875](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/namespaced.ts#L875)
diff --git a/docs/reference/@react-native-firebase/analytics/namespaces/FirebaseAnalyticsTypes.mdx b/docs/reference/@react-native-firebase/analytics/namespaces/FirebaseAnalyticsTypes.mdx
new file mode 100644
index 0000000000..18b324d62c
--- /dev/null
+++ b/docs/reference/@react-native-firebase/analytics/namespaces/FirebaseAnalyticsTypes.mdx
@@ -0,0 +1,372 @@
+[**React Native Firebase**](../../../README.mdx)
+
+***
+
+[React Native Firebase](../../../packages.mdx) / [@react-native-firebase/analytics](../README.mdx) / FirebaseAnalyticsTypes
+
+# ~~FirebaseAnalyticsTypes~~
+
+## Deprecated
+
+Use the exported types directly instead.
+FirebaseAnalyticsTypes namespace is kept for backwards compatibility.
+
+## Type Aliases
+
+### ~~AddPaymentInfoEventParameters~~
+
+> **AddPaymentInfoEventParameters** = `_AddPaymentInfoEventParameters`
+
+Defined in: [types/analytics.ts:1037](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1037)
+
+***
+
+### ~~AddShippingInfoEventParameters~~
+
+> **AddShippingInfoEventParameters** = `_AddShippingInfoEventParameters`
+
+Defined in: [types/analytics.ts:1038](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1038)
+
+***
+
+### ~~AddShippingInfoParameters~~
+
+> **AddShippingInfoParameters** = `_AddShippingInfoParameters`
+
+Defined in: [types/analytics.ts:1069](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1069)
+
+***
+
+### ~~AddToCartEventParameters~~
+
+> **AddToCartEventParameters** = `_AddToCartEventParameters`
+
+Defined in: [types/analytics.ts:1039](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1039)
+
+***
+
+### ~~AddToWishlistEventParameters~~
+
+> **AddToWishlistEventParameters** = `_AddToWishlistEventParameters`
+
+Defined in: [types/analytics.ts:1040](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1040)
+
+***
+
+### ~~AnalyticsCallOptions~~
+
+> **AnalyticsCallOptions** = `_AnalyticsCallOptions`
+
+Defined in: [types/analytics.ts:1073](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1073)
+
+***
+
+### ~~AnalyticsSettings~~
+
+> **AnalyticsSettings** = `_AnalyticsSettings`
+
+Defined in: [types/analytics.ts:1072](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1072)
+
+***
+
+### ~~BeginCheckoutEventParameters~~
+
+> **BeginCheckoutEventParameters** = `_BeginCheckoutEventParameters`
+
+Defined in: [types/analytics.ts:1041](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1041)
+
+***
+
+### ~~CallOptions~~
+
+> **CallOptions** = [`AnalyticsCallOptions`](#analyticscalloptions)
+
+Defined in: [types/analytics.ts:1030](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1030)
+
+***
+
+### ~~CampaignDetailsEventParameters~~
+
+> **CampaignDetailsEventParameters** = `_CampaignDetailsEventParameters`
+
+Defined in: [types/analytics.ts:1042](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1042)
+
+***
+
+### ~~Consent~~
+
+> **Consent** = [`ConsentSettings`](#consentsettings)
+
+Defined in: [types/analytics.ts:1031](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1031)
+
+***
+
+### ~~ConsentSettings~~
+
+> **ConsentSettings** = `_ConsentSettings`
+
+Defined in: [types/analytics.ts:1075](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1075)
+
+***
+
+### ~~EarnVirtualCurrencyEventParameters~~
+
+> **EarnVirtualCurrencyEventParameters** = `_EarnVirtualCurrencyEventParameters`
+
+Defined in: [types/analytics.ts:1043](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1043)
+
+***
+
+### ~~EventParams~~
+
+> **EventParams** = `_EventParams`
+
+Defined in: [types/analytics.ts:1077](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1077)
+
+***
+
+### ~~GenerateLeadEventParameters~~
+
+> **GenerateLeadEventParameters** = `_GenerateLeadEventParameters`
+
+Defined in: [types/analytics.ts:1044](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1044)
+
+***
+
+### ~~GtagConfigParams~~
+
+> **GtagConfigParams** = `_GtagConfigParams`
+
+Defined in: [types/analytics.ts:1074](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1074)
+
+***
+
+### ~~Item~~
+
+> **Item** = `_Item`
+
+Defined in: [types/analytics.ts:1036](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1036)
+
+***
+
+### ~~JoinGroupEventParameters~~
+
+> **JoinGroupEventParameters** = `_JoinGroupEventParameters`
+
+Defined in: [types/analytics.ts:1045](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1045)
+
+***
+
+### ~~LevelEndEventParameters~~
+
+> **LevelEndEventParameters** = `_LevelEndEventParameters`
+
+Defined in: [types/analytics.ts:1046](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1046)
+
+***
+
+### ~~LevelStartEventParameters~~
+
+> **LevelStartEventParameters** = `_LevelStartEventParameters`
+
+Defined in: [types/analytics.ts:1047](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1047)
+
+***
+
+### ~~LevelUpEventParameters~~
+
+> **LevelUpEventParameters** = `_LevelUpEventParameters`
+
+Defined in: [types/analytics.ts:1048](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1048)
+
+***
+
+### ~~LoginEventParameters~~
+
+> **LoginEventParameters** = `_LoginEventParameters`
+
+Defined in: [types/analytics.ts:1049](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1049)
+
+***
+
+### ~~Module~~
+
+> **Module** = [`Analytics`](../README.mdx#analytics)
+
+Defined in: [types/analytics.ts:1029](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1029)
+
+***
+
+### ~~PostScoreEventParameters~~
+
+> **PostScoreEventParameters** = `_PostScoreEventParameters`
+
+Defined in: [types/analytics.ts:1050](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1050)
+
+***
+
+### ~~PurchaseEventParameters~~
+
+> **PurchaseEventParameters** = `_PurchaseEventParameters`
+
+Defined in: [types/analytics.ts:1051](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1051)
+
+***
+
+### ~~RefundEventParameters~~
+
+> **RefundEventParameters** = `_RefundEventParameters`
+
+Defined in: [types/analytics.ts:1053](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1053)
+
+***
+
+### ~~RemoveFromCartEventParameters~~
+
+> **RemoveFromCartEventParameters** = `_RemoveFromCartEventParameters`
+
+Defined in: [types/analytics.ts:1054](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1054)
+
+***
+
+### ~~ScreenViewParameters~~
+
+> **ScreenViewParameters** = `_ScreenViewParameters`
+
+Defined in: [types/analytics.ts:1052](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1052)
+
+***
+
+### ~~SearchEventParameters~~
+
+> **SearchEventParameters** = `_SearchEventParameters`
+
+Defined in: [types/analytics.ts:1055](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1055)
+
+***
+
+### ~~SelectContentEventParameters~~
+
+> **SelectContentEventParameters** = `_SelectContentEventParameters`
+
+Defined in: [types/analytics.ts:1056](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1056)
+
+***
+
+### ~~SelectItemEventParameters~~
+
+> **SelectItemEventParameters** = `_SelectItemEventParameters`
+
+Defined in: [types/analytics.ts:1057](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1057)
+
+***
+
+### ~~SelectPromotionEventParameters~~
+
+> **SelectPromotionEventParameters** = `_SelectPromotionEventParameters`
+
+Defined in: [types/analytics.ts:1059](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1059)
+
+***
+
+### ~~SetCheckoutOptionEventParameters~~
+
+> **SetCheckoutOptionEventParameters** = `_SetCheckoutOptionEventParameters`
+
+Defined in: [types/analytics.ts:1058](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1058)
+
+***
+
+### ~~Settings~~
+
+> **Settings** = [`AnalyticsSettings`](#analyticssettings)
+
+Defined in: [types/analytics.ts:1032](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1032)
+
+***
+
+### ~~SettingsOptions~~
+
+> **SettingsOptions** = `_SettingsOptions`
+
+Defined in: [types/analytics.ts:1076](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1076)
+
+***
+
+### ~~ShareEventParameters~~
+
+> **ShareEventParameters** = `_ShareEventParameters`
+
+Defined in: [types/analytics.ts:1060](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1060)
+
+***
+
+### ~~SignUpEventParameters~~
+
+> **SignUpEventParameters** = `_SignUpEventParameters`
+
+Defined in: [types/analytics.ts:1061](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1061)
+
+***
+
+### ~~SpendVirtualCurrencyEventParameters~~
+
+> **SpendVirtualCurrencyEventParameters** = `_SpendVirtualCurrencyEventParameters`
+
+Defined in: [types/analytics.ts:1062](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1062)
+
+***
+
+### ~~Statics~~
+
+> **Statics** = `_Statics`
+
+Defined in: [types/analytics.ts:1033](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1033)
+
+***
+
+### ~~UnlockAchievementEventParameters~~
+
+> **UnlockAchievementEventParameters** = `_UnlockAchievementEventParameters`
+
+Defined in: [types/analytics.ts:1063](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1063)
+
+***
+
+### ~~ViewCartEventParameters~~
+
+> **ViewCartEventParameters** = `_ViewCartEventParameters`
+
+Defined in: [types/analytics.ts:1064](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1064)
+
+***
+
+### ~~ViewItemEventParameters~~
+
+> **ViewItemEventParameters** = `_ViewItemEventParameters`
+
+Defined in: [types/analytics.ts:1065](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1065)
+
+***
+
+### ~~ViewItemListEventParameters~~
+
+> **ViewItemListEventParameters** = `_ViewItemListEventParameters`
+
+Defined in: [types/analytics.ts:1067](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1067)
+
+***
+
+### ~~ViewPromotionEventParameters~~
+
+> **ViewPromotionEventParameters** = `_ViewPromotionEventParameters`
+
+Defined in: [types/analytics.ts:1068](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1068)
+
+***
+
+### ~~ViewSearchResultsParameters~~
+
+> **ViewSearchResultsParameters** = `_ViewSearchResultsParameters`
+
+Defined in: [types/analytics.ts:1066](https://github.com/invertase/react-native-firebase/blob/main/packages/analytics/lib/types/analytics.ts#L1066)
diff --git a/docs/reference/@react-native-firebase/app-check/README.mdx b/docs/reference/@react-native-firebase/app-check/README.mdx
new file mode 100644
index 0000000000..bf80452d25
--- /dev/null
+++ b/docs/reference/@react-native-firebase/app-check/README.mdx
@@ -0,0 +1,953 @@
+[**React Native Firebase**](../../README.mdx)
+
+***
+
+[React Native Firebase](../../packages.mdx) / @react-native-firebase/app-check
+
+# @react-native-firebase/app-check
+
+## Functions
+
+### getLimitedUseToken()
+
+> **getLimitedUseToken**(`appCheckInstance`): `Promise`\<[`AppCheckTokenResult`](#appchecktokenresult)\>
+
+Defined in: [modular.ts:80](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/modular.ts#L80)
+
+Get a limited-use (consumable) App Check token.
+For use with server calls to firebase functions or custom backends using the firebase admin SDK.
+
+#### Parameters
+
+##### appCheckInstance
+
+[`AppCheck`](#appcheck)
+
+The App Check instance.
+@returns`Promise`
+
+#### Returns
+
+`Promise`\<[`AppCheckTokenResult`](#appchecktokenresult)\>
+
+***
+
+### getToken()
+
+> **getToken**(`appCheckInstance`, `forceRefresh?`): `Promise`\<[`AppCheckTokenResult`](#appchecktokenresult)\>
+
+Defined in: [modular.ts:62](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/modular.ts#L62)
+
+Get the current App Check token. Attaches to the most recent in-flight request if one is present.
+Returns null if no token is present and no token requests are in-flight.
+
+#### Parameters
+
+##### appCheckInstance
+
+[`AppCheck`](#appcheck)
+
+The App Check instance.
+
+##### forceRefresh?
+
+`boolean`
+
+Whether to force refresh the token. Optional
+
+#### Returns
+
+`Promise`\<[`AppCheckTokenResult`](#appchecktokenresult)\>
+
+`Promise`
+
+***
+
+### initializeAppCheck()
+
+> **initializeAppCheck**(`app?`, `options?`): `Promise`\<[`AppCheck`](#appcheck)\>
+
+Defined in: [modular.ts:37](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/modular.ts#L37)
+
+Activate App Check for the given app. Can be called only once per app.
+
+#### Parameters
+
+##### app?
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+The app to initialize App Check for. Optional.
+
+##### options?
+
+[`AppCheckOptions`](#appcheckoptions)
+
+App Check options.
+
+#### Returns
+
+`Promise`\<[`AppCheck`](#appcheck)\>
+
+`Promise`
+
+***
+
+### onTokenChanged()
+
+#### Call Signature
+
+> **onTokenChanged**(`appCheckInstance`, `listener`): [`Unsubscribe`](#unsubscribe)
+
+Defined in: [modular.ts:115](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/modular.ts#L115)
+
+Registers a listener to changes in the token state. There can be more
+than one listener registered at the same time for one or more
+App Check instances. The listeners call back on the UI thread whenever
+the current token associated with this App Check instance changes.
+
+##### Parameters
+
+###### appCheckInstance
+
+[`AppCheck`](#appcheck)
+
+The App Check instance.
+
+###### listener
+
+[`PartialObserver`](#partialobserver)\<[`AppCheckTokenResult`](#appchecktokenresult)\>
+
+The listener to register.
+
+##### Returns
+
+[`Unsubscribe`](#unsubscribe)
+
+Unsubscribe
+
+#### Call Signature
+
+> **onTokenChanged**(`appCheckInstance`, `onNext`, `onError?`, `onCompletion?`): [`Unsubscribe`](#unsubscribe)
+
+Defined in: [modular.ts:132](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/modular.ts#L132)
+
+Registers a listener to changes in the token state. There can be more
+than one listener registered at the same time for one or more
+App Check instances. The listeners call back on the UI thread whenever
+the current token associated with this App Check instance changes.
+
+##### Parameters
+
+###### appCheckInstance
+
+[`AppCheck`](#appcheck)
+
+The App Check instance.
+
+###### onNext
+
+(`tokenResult`) => `void`
+
+The callback function for token changes.
+
+###### onError?
+
+(`error`) => `void`
+
+Optional error callback.
+
+###### onCompletion?
+
+() => `void`
+
+Optional completion callback.
+
+##### Returns
+
+[`Unsubscribe`](#unsubscribe)
+
+Unsubscribe
+
+***
+
+### setTokenAutoRefreshEnabled()
+
+> **setTokenAutoRefreshEnabled**(`appCheckInstance`, `isAutoRefreshEnabled`): `void`
+
+Defined in: [modular.ts:93](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/modular.ts#L93)
+
+Set whether App Check will automatically refresh tokens as needed.
+
+#### Parameters
+
+##### appCheckInstance
+
+[`AppCheck`](#appcheck)
+
+The App Check instance.
+
+##### isAutoRefreshEnabled
+
+`boolean`
+
+Whether to enable auto-refresh.
+
+#### Returns
+
+`void`
+
+## Classes
+
+### CustomProvider
+
+Defined in: [namespaced.ts:56](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/namespaced.ts#L56)
+
+An App Check provider. This can be either the built-in reCAPTCHA provider
+or a custom provider. For more on custom providers, see
+https://firebase.google.com/docs/app-check/web-custom-provider
+
+#### Implements
+
+- [`AppCheckProvider`](#appcheckprovider)
+
+#### Constructors
+
+##### Constructor
+
+> **new CustomProvider**(`_customProviderOptions`): [`CustomProvider`](#customprovider)
+
+Defined in: [namespaced.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/namespaced.ts#L59)
+
+###### Parameters
+
+###### \_customProviderOptions
+
+[`CustomProviderOptions`](#customprovideroptions)
+
+###### Returns
+
+[`CustomProvider`](#customprovider)
+
+#### Methods
+
+##### getToken()
+
+> **getToken**(): `Promise`\<[`AppCheckToken`](#appchecktoken)\>
+
+Defined in: [namespaced.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/namespaced.ts#L69)
+
+Returns an AppCheck token.
+
+###### Returns
+
+`Promise`\<[`AppCheckToken`](#appchecktoken)\>
+
+###### Implementation of
+
+[`AppCheckProvider`](#appcheckprovider).[`getToken`](#gettoken-2)
+
+## Interfaces
+
+### AppCheck
+
+Defined in: [types/appcheck.ts:211](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L211)
+
+App Check module instance - returned from firebase.appCheck() or firebase.app().appCheck()
+
+#### Extends
+
+- [`FirebaseModule`](../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule)
+
+#### Methods
+
+##### ~~activate()~~
+
+> **activate**(`siteKeyOrProvider`, `isTokenAutoRefreshEnabled?`): `Promise`\<`void`\>
+
+Defined in: [types/appcheck.ts:248](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L248)
+
+Activate App Check
+On iOS App Check is activated with DeviceCheck provider simply by including the module, using the token auto refresh default or
+the specific value (if configured) in firebase.json, but calling this does no harm.
+On Android if you call this it will install the PlayIntegrity provider in release builds, the Debug provider if debuggable.
+On both platforms you may use this method to alter the token refresh setting after startup.
+On iOS if you want to set a specific AppCheckProviderFactory (for instance to FIRAppCheckDebugProviderFactory or
+FIRAppAttestProvider) you must manually do that in your AppDelegate.m prior to calling [FIRApp configure]
+
+###### Parameters
+
+###### siteKeyOrProvider
+
+`string` \| [`AppCheckProvider`](#appcheckprovider)
+
+This is ignored, Android uses DebugProviderFactory if the app is debuggable (https://firebase.google.com/docs/app-check/android/debug-provider)
+ Android uses PlayIntegrityProviderFactory for release builds.
+ iOS uses DeviceCheckProviderFactory by default unless altered in AppDelegate.m manually
+
+###### isTokenAutoRefreshEnabled?
+
+`boolean`
+
+If true, enables SDK to automatically
+refresh AppCheck token as needed. If undefined, the value will default
+to the value of `app.automaticDataCollectionEnabled`. That property
+defaults to false and can be set in the app config.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Deprecated
+
+use initializeAppCheck to gain access to all platform providers and firebase-js-sdk v9 compatibility
+
+##### getLimitedUseToken()
+
+> **getLimitedUseToken**(): `Promise`\<[`AppCheckTokenResult`](#appchecktokenresult)\>
+
+Defined in: [types/appcheck.ts:278](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L278)
+
+Requests a Firebase App Check token. This method should be used only if you need to authorize requests
+to a non-Firebase backend. Returns limited-use tokens that are intended for use with your non-Firebase
+backend endpoints that are protected with Replay Protection (https://firebase.google.com/docs/app-check/custom-resource-backend#replay-protection).
+This method does not affect the token generation behavior of the getAppCheckToken() method.
+
+###### Returns
+
+`Promise`\<[`AppCheckTokenResult`](#appchecktokenresult)\>
+
+##### getToken()
+
+> **getToken**(`forceRefresh?`): `Promise`\<[`AppCheckTokenResult`](#appchecktokenresult)\>
+
+Defined in: [types/appcheck.ts:270](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L270)
+
+Requests Firebase App Check token.
+This method should only be used if you need to authorize requests to a non-Firebase backend.
+Requests to Firebase backend are authorized automatically if configured.
+
+###### Parameters
+
+###### forceRefresh?
+
+`boolean`
+
+If true, a new Firebase App Check token is requested and the token cache is ignored.
+If false, the cached token is used if it exists and has not expired yet.
+In most cases, false should be used. True should only be used if the server explicitly returns an error, indicating a revoked token.
+
+###### Returns
+
+`Promise`\<[`AppCheckTokenResult`](#appchecktokenresult)\>
+
+##### initializeAppCheck()
+
+> **initializeAppCheck**(`options`): `Promise`\<`void`\>
+
+Defined in: [types/appcheck.ts:228](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L228)
+
+Initialize the AppCheck module. Note that in react-native-firebase AppCheckOptions must always
+be an object with a `provider` member containing `ReactNativeFirebaseAppCheckProvider` that has returned successfully
+from a call to the `configure` method, with sub-providers for the various platforms configured to meet your project
+requirements. This must be called prior to interacting with any firebase services protected by AppCheck
+
+###### Parameters
+
+###### options
+
+[`AppCheckOptions`](#appcheckoptions)
+
+an AppCheckOptions with a configured ReactNativeFirebaseAppCheckProvider as the provider
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### newReactNativeFirebaseAppCheckProvider()
+
+> **newReactNativeFirebaseAppCheckProvider**(): [`ReactNativeFirebaseAppCheckProvider`](#reactnativefirebaseappcheckprovider)
+
+Defined in: [types/appcheck.ts:218](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L218)
+
+Create a ReactNativeFirebaseAppCheckProvider option for use in react-native-firebase
+
+###### Returns
+
+[`ReactNativeFirebaseAppCheckProvider`](#reactnativefirebaseappcheckprovider)
+
+##### onTokenChanged()
+
+###### Call Signature
+
+> **onTokenChanged**(`observer`): () => `void`
+
+Defined in: [types/appcheck.ts:288](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L288)
+
+Registers a listener to changes in the token state. There can be more
+than one listener registered at the same time for one or more
+App Check instances. The listeners call back on the UI thread whenever
+the current token associated with this App Check instance changes.
+
+###### Parameters
+
+###### observer
+
+[`PartialObserver`](#partialobserver)\<[`AppCheckListenerResult`](#appchecklistenerresult)\>
+
+###### Returns
+
+A function that unsubscribes this listener.
+
+() => `void`
+
+###### Call Signature
+
+> **onTokenChanged**(`onNext`, `onError?`, `onCompletion?`): () => `void`
+
+Defined in: [types/appcheck.ts:307](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L307)
+
+Registers a listener to changes in the token state. There can be more
+than one listener registered at the same time for one or more
+App Check instances. The listeners call back on the UI thread whenever
+the current token associated with this App Check instance changes.
+
+Token listeners do not exist in the native SDK for iOS, no token change events will be emitted on that platform.
+This is not yet implemented on Android, no token change events will be emitted until implemented.
+
+NOTE: Although an `onError` callback can be provided, it will
+never be called, Android sdk code doesn't provide handling for onError function
+
+NOTE: Although an `onCompletion` callback can be provided, it will
+never be called because the token stream is never-ending.
+
+###### Parameters
+
+###### onNext
+
+(`tokenResult`) => `void`
+
+###### onError?
+
+(`error`) => `void`
+
+###### onCompletion?
+
+() => `void`
+
+###### Returns
+
+A function that unsubscribes this listener.
+
+() => `void`
+
+##### setTokenAutoRefreshEnabled()
+
+> **setTokenAutoRefreshEnabled**(`isTokenAutoRefreshEnabled`): `void`
+
+Defined in: [types/appcheck.ts:259](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L259)
+
+Alter the token auto refresh setting. By default it will take the value of automaticDataCollectionEnabled from Info.plist / AndroidManifest.xml
+
+###### Parameters
+
+###### isTokenAutoRefreshEnabled
+
+`boolean`
+
+If true, the SDK automatically
+refreshes App Check tokens as needed. This overrides any value set
+during `activate()` or taken by default from automaticDataCollectionEnabled in plist / android manifest
+
+###### Returns
+
+`void`
+
+#### Properties
+
+##### app
+
+> **app**: [`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+Defined in: [types/appcheck.ts:213](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L213)
+
+The FirebaseApp this module is associated with
+
+###### Overrides
+
+[`FirebaseModule`](../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule).[`app`](../app/namespaces/ReactNativeFirebase.mdx#app)
+
+***
+
+### AppCheckOptions
+
+Defined in: [types/appcheck.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L55)
+
+Options for App Check initialization.
+
+#### Properties
+
+##### isTokenAutoRefreshEnabled?
+
+> `optional` **isTokenAutoRefreshEnabled?**: `boolean`
+
+Defined in: [types/appcheck.ts:72](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L72)
+
+If true, enables SDK to automatically
+refresh AppCheck token as needed. If undefined, the value will default
+to the value of `app.automaticDataCollectionEnabled`. That property
+defaults to false and can be set in the app config.
+
+##### provider
+
+> **provider**: `CustomProvider` \| [`ReactNativeFirebaseAppCheckProvider`](#reactnativefirebaseappcheckprovider) \| `ReactNativeFirebaseAppCheckProviderConfig`
+
+Defined in: [types/appcheck.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L61)
+
+The App Check provider to use. This can be either the built-in reCAPTCHA provider
+or a custom provider. For convenience, you can also pass an object with providerOptions
+directly, which will be accepted by the runtime.
+
+***
+
+### AppCheckProvider
+
+Defined in: [types/appcheck.ts:27](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L27)
+
+An App Check provider. This can be either the built-in reCAPTCHA provider
+or a custom provider. For more on custom providers, see
+https://firebase.google.com/docs/app-check/web-custom-provider
+
+#### Extended by
+
+- [`ReactNativeFirebaseAppCheckProvider`](#reactnativefirebaseappcheckprovider)
+
+#### Methods
+
+##### getToken()
+
+> **getToken**(): `Promise`\<[`AppCheckToken`](#appchecktoken)\>
+
+Defined in: [types/appcheck.ts:31](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L31)
+
+Returns an AppCheck token.
+
+###### Returns
+
+`Promise`\<[`AppCheckToken`](#appchecktoken)\>
+
+***
+
+### AppCheckToken
+
+Defined in: [types/appcheck.ts:78](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L78)
+
+The token returned from an `AppCheckProvider`.
+
+#### Properties
+
+##### expireTimeMillis
+
+> `readonly` **expireTimeMillis**: `number`
+
+Defined in: [types/appcheck.ts:86](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L86)
+
+The local timestamp after which the token will expire.
+
+##### token
+
+> `readonly` **token**: `string`
+
+Defined in: [types/appcheck.ts:82](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L82)
+
+The token string in JWT format.
+
+***
+
+### AppCheckTokenResult
+
+Defined in: [types/appcheck.ts:92](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L92)
+
+Result returned by `getToken()`.
+
+#### Properties
+
+##### token
+
+> `readonly` **token**: `string`
+
+Defined in: [types/appcheck.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L96)
+
+The token string in JWT format.
+
+***
+
+### CustomProviderOptions
+
+Defined in: [types/appcheck.ts:37](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L37)
+
+Function to get an App Check token through a custom provider service.
+
+#### Properties
+
+##### getToken
+
+> **getToken**: () => `Promise`\<[`AppCheckToken`](#appchecktoken)\>
+
+Defined in: [types/appcheck.ts:38](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L38)
+
+###### Returns
+
+`Promise`\<[`AppCheckToken`](#appchecktoken)\>
+
+***
+
+### Observer
+
+Defined in: [types/appcheck.ts:110](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L110)
+
+#### Type Parameters
+
+##### T
+
+`T`
+
+#### Properties
+
+##### complete
+
+> **complete**: [`CompleteFn`](#completefn)
+
+Defined in: [types/appcheck.ts:113](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L113)
+
+##### error
+
+> **error**: [`ErrorFn`](#errorfn)
+
+Defined in: [types/appcheck.ts:112](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L112)
+
+##### next
+
+> **next**: [`NextFn`](#nextfn)\<`T`\>
+
+Defined in: [types/appcheck.ts:111](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L111)
+
+***
+
+### ReactNativeFirebaseAppCheckProvider
+
+Defined in: [types/appcheck.ts:180](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L180)
+
+An App Check provider. This can be either the built-in reCAPTCHA provider
+or a custom provider. For more on custom providers, see
+https://firebase.google.com/docs/app-check/web-custom-provider
+
+#### Extends
+
+- [`AppCheckProvider`](#appcheckprovider)
+
+#### Methods
+
+##### configure()
+
+> **configure**(`options`): `void`
+
+Defined in: [types/appcheck.ts:195](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L195)
+
+Specify how the app check provider should be configured. The new configuration is
+in effect when this call returns. You must call `getToken()`
+after this call to get a token using the new configuration.
+This custom provider allows for delayed configuration and re-configuration on all platforms
+so AppCheck has the same experience across all platforms, with the only difference being the native
+providers you choose to use on each platform.
+
+###### Parameters
+
+###### options
+
+`ReactNativeFirebaseAppCheckProviderOptionsMap`
+
+###### Returns
+
+`void`
+
+##### getToken()
+
+> **getToken**(): `Promise`\<[`AppCheckToken`](#appchecktoken)\>
+
+Defined in: [types/appcheck.ts:31](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L31)
+
+Returns an AppCheck token.
+
+###### Returns
+
+`Promise`\<[`AppCheckToken`](#appchecktoken)\>
+
+###### Inherited from
+
+[`AppCheckProvider`](#appcheckprovider).[`getToken`](#gettoken-2)
+
+#### Properties
+
+##### providerOptions?
+
+> `optional` **providerOptions?**: `ReactNativeFirebaseAppCheckProviderOptionsMap`
+
+Defined in: [types/appcheck.ts:185](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L185)
+
+Provider options for platform-specific configuration.
+This is set when configure() is called.
+
+***
+
+### ReactNativeFirebaseAppCheckProviderAndroidOptions
+
+Defined in: [types/appcheck.ts:153](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L153)
+
+#### Extends
+
+- [`ReactNativeFirebaseAppCheckProviderOptions`](#reactnativefirebaseappcheckprovideroptions)
+
+#### Properties
+
+##### debugToken?
+
+> `optional` **debugToken?**: `string`
+
+Defined in: [types/appcheck.ts:129](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L129)
+
+debug token to use, if any. Defaults to undefined, pre-configure tokens in firebase web console if needed
+
+###### Inherited from
+
+[`ReactNativeFirebaseAppCheckProviderOptions`](#reactnativefirebaseappcheckprovideroptions).[`debugToken`](#debugtoken-2)
+
+##### provider?
+
+> `optional` **provider?**: `"debug"` \| `"playIntegrity"`
+
+Defined in: [types/appcheck.ts:157](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L157)
+
+The android provider to use, either `debug` or `playIntegrity`. default is `playIntegrity`.
+
+***
+
+### ReactNativeFirebaseAppCheckProviderAppleOptions
+
+Defined in: [types/appcheck.ts:144](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L144)
+
+#### Extends
+
+- [`ReactNativeFirebaseAppCheckProviderOptions`](#reactnativefirebaseappcheckprovideroptions)
+
+#### Properties
+
+##### debugToken?
+
+> `optional` **debugToken?**: `string`
+
+Defined in: [types/appcheck.ts:129](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L129)
+
+debug token to use, if any. Defaults to undefined, pre-configure tokens in firebase web console if needed
+
+###### Inherited from
+
+[`ReactNativeFirebaseAppCheckProviderOptions`](#reactnativefirebaseappcheckprovideroptions).[`debugToken`](#debugtoken-2)
+
+##### provider?
+
+> `optional` **provider?**: `"debug"` \| `"deviceCheck"` \| `"appAttest"` \| `"appAttestWithDeviceCheckFallback"`
+
+Defined in: [types/appcheck.ts:150](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L150)
+
+The apple provider to use, either `deviceCheck` or `appAttest`, or `appAttestWithDeviceCheckFallback`,
+defaults to `DeviceCheck`. `appAttest` requires iOS 14+ or will fail, `appAttestWithDeviceCheckFallback`
+will use `appAttest` for iOS14+ and fallback to `deviceCheck` on devices with ios13 and lower
+
+***
+
+### ReactNativeFirebaseAppCheckProviderOptions
+
+Defined in: [types/appcheck.ts:125](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L125)
+
+#### Extended by
+
+- [`ReactNativeFirebaseAppCheckProviderWebOptions`](#reactnativefirebaseappcheckproviderweboptions)
+- [`ReactNativeFirebaseAppCheckProviderAppleOptions`](#reactnativefirebaseappcheckproviderappleoptions)
+- [`ReactNativeFirebaseAppCheckProviderAndroidOptions`](#reactnativefirebaseappcheckproviderandroidoptions)
+
+#### Properties
+
+##### debugToken?
+
+> `optional` **debugToken?**: `string`
+
+Defined in: [types/appcheck.ts:129](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L129)
+
+debug token to use, if any. Defaults to undefined, pre-configure tokens in firebase web console if needed
+
+***
+
+### ReactNativeFirebaseAppCheckProviderWebOptions
+
+Defined in: [types/appcheck.ts:132](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L132)
+
+#### Extends
+
+- [`ReactNativeFirebaseAppCheckProviderOptions`](#reactnativefirebaseappcheckprovideroptions)
+
+#### Properties
+
+##### debugToken?
+
+> `optional` **debugToken?**: `string`
+
+Defined in: [types/appcheck.ts:129](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L129)
+
+debug token to use, if any. Defaults to undefined, pre-configure tokens in firebase web console if needed
+
+###### Inherited from
+
+[`ReactNativeFirebaseAppCheckProviderOptions`](#reactnativefirebaseappcheckprovideroptions).[`debugToken`](#debugtoken-2)
+
+##### provider?
+
+> `optional` **provider?**: `"debug"` \| `"reCaptchaV3"` \| `"reCaptchaEnterprise"`
+
+Defined in: [types/appcheck.ts:136](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L136)
+
+The web provider to use, either `reCaptchaV3` or `reCaptchaEnterprise`, defaults to `reCaptchaV3`
+
+##### siteKey?
+
+> `optional` **siteKey?**: `string`
+
+Defined in: [types/appcheck.ts:141](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L141)
+
+siteKey for use in web queries, defaults to `none`
+
+## Namespaces
+
+- [~~FirebaseAppCheckTypes~~](namespaces/FirebaseAppCheckTypes.mdx)
+
+## Type Aliases
+
+### AppCheckListenerResult
+
+> **AppCheckListenerResult** = [`AppCheckToken`](#appchecktoken) & `object`
+
+Defined in: [types/appcheck.ts:102](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L102)
+
+The result return from `onTokenChanged`
+
+#### Type Declaration
+
+##### appName
+
+> `readonly` **appName**: `string`
+
+***
+
+### CompleteFn
+
+> **CompleteFn** = () => `void`
+
+Defined in: [types/appcheck.ts:108](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L108)
+
+#### Returns
+
+`void`
+
+***
+
+### ErrorFn
+
+> **ErrorFn** = (`error`) => `void`
+
+Defined in: [types/appcheck.ts:107](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L107)
+
+#### Parameters
+
+##### error
+
+`Error`
+
+#### Returns
+
+`void`
+
+***
+
+### NextFn
+
+> **NextFn**\<`T`\> = (`value`) => `void`
+
+Defined in: [types/appcheck.ts:106](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L106)
+
+#### Type Parameters
+
+##### T
+
+`T`
+
+#### Parameters
+
+##### value
+
+`T`
+
+#### Returns
+
+`void`
+
+***
+
+### PartialObserver
+
+> **PartialObserver**\<`T`\> = `Partial`\<[`Observer`](#observer)\<`T`\>\>
+
+Defined in: [types/appcheck.ts:116](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L116)
+
+#### Type Parameters
+
+##### T
+
+`T`
+
+***
+
+### Unsubscribe
+
+> **Unsubscribe** = () => `void`
+
+Defined in: [types/appcheck.ts:121](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L121)
+
+A function that unsubscribes from token changes.
+
+#### Returns
+
+`void`
+
+## Variables
+
+### default
+
+> **default**: `AppCheckNamespace`
+
+Defined in: [namespaced.ts:291](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/namespaced.ts#L291)
+
+***
+
+### firebase
+
+> `const` **firebase**: [`FirebaseNamespacedExport`](../app/namespaces/ReactNativeFirebase.mdx#firebasenamespacedexport)\<`"appCheck"`, [`AppCheck`](#appcheck), `AppCheckStatics`, `false`\>
+
+Defined in: [namespaced.ts:296](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/namespaced.ts#L296)
+
+***
+
+### SDK\_VERSION
+
+> `const` **SDK\_VERSION**: `"24.0.0"` = `version`
+
+Defined in: [namespaced.ts:267](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/namespaced.ts#L267)
diff --git a/docs/reference/@react-native-firebase/app-check/namespaces/FirebaseAppCheckTypes.mdx b/docs/reference/@react-native-firebase/app-check/namespaces/FirebaseAppCheckTypes.mdx
new file mode 100644
index 0000000000..bec9d8b44f
--- /dev/null
+++ b/docs/reference/@react-native-firebase/app-check/namespaces/FirebaseAppCheckTypes.mdx
@@ -0,0 +1,140 @@
+[**React Native Firebase**](../../../README.mdx)
+
+***
+
+[React Native Firebase](../../../packages.mdx) / [@react-native-firebase/app-check](../README.mdx) / FirebaseAppCheckTypes
+
+# ~~FirebaseAppCheckTypes~~
+
+## Deprecated
+
+Use the exported types directly instead.
+FirebaseAppCheckTypes namespace is kept for backwards compatibility.
+
+## Type Aliases
+
+### ~~AppCheck~~
+
+> **AppCheck** = `_AppCheck`
+
+Defined in: [types/appcheck.ts:383](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L383)
+
+***
+
+### ~~AppCheckListenerResult~~
+
+> **AppCheckListenerResult** = `_AppCheckListenerResult`
+
+Defined in: [types/appcheck.ts:382](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L382)
+
+***
+
+### ~~AppCheckOptions~~
+
+> **AppCheckOptions** = `_AppCheckOptions`
+
+Defined in: [types/appcheck.ts:379](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L379)
+
+***
+
+### ~~AppCheckProvider~~
+
+> **AppCheckProvider** = `_AppCheckProvider`
+
+Defined in: [types/appcheck.ts:377](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L377)
+
+***
+
+### ~~AppCheckStatics~~
+
+> **AppCheckStatics** = `_AppCheckStatics`
+
+Defined in: [types/appcheck.ts:384](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L384)
+
+***
+
+### ~~AppCheckToken~~
+
+> **AppCheckToken** = `_AppCheckToken`
+
+Defined in: [types/appcheck.ts:380](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L380)
+
+***
+
+### ~~AppCheckTokenResult~~
+
+> **AppCheckTokenResult** = `_AppCheckTokenResult`
+
+Defined in: [types/appcheck.ts:381](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L381)
+
+***
+
+### ~~CustomProviderOptions~~
+
+> **CustomProviderOptions** = `_CustomProviderOptions`
+
+Defined in: [types/appcheck.ts:378](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L378)
+
+***
+
+### ~~ListenerResult~~
+
+> **ListenerResult** = [`AppCheckListenerResult`](#appchecklistenerresult)
+
+Defined in: [types/appcheck.ts:371](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L371)
+
+***
+
+### ~~Module~~
+
+> **Module** = [`AppCheck`](#appcheck)
+
+Defined in: [types/appcheck.ts:373](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L373)
+
+***
+
+### ~~Options~~
+
+> **Options** = [`AppCheckOptions`](#appcheckoptions)
+
+Defined in: [types/appcheck.ts:368](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L368)
+
+***
+
+### ~~Provider~~
+
+> **Provider** = [`AppCheckProvider`](#appcheckprovider)
+
+Defined in: [types/appcheck.ts:366](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L366)
+
+***
+
+### ~~ProviderOptions~~
+
+> **ProviderOptions** = [`CustomProviderOptions`](#customprovideroptions)
+
+Defined in: [types/appcheck.ts:367](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L367)
+
+***
+
+### ~~Statics~~
+
+> **Statics** = [`AppCheckStatics`](#appcheckstatics)
+
+Defined in: [types/appcheck.ts:372](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L372)
+
+***
+
+### ~~Token~~
+
+> **Token** = [`AppCheckToken`](#appchecktoken)
+
+Defined in: [types/appcheck.ts:369](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L369)
+
+***
+
+### ~~TokenResult~~
+
+> **TokenResult** = [`AppCheckTokenResult`](#appchecktokenresult)
+
+Defined in: [types/appcheck.ts:370](https://github.com/invertase/react-native-firebase/blob/main/packages/app-check/lib/types/appcheck.ts#L370)
diff --git a/docs/reference/@react-native-firebase/app-distribution.mdx b/docs/reference/@react-native-firebase/app-distribution.mdx
new file mode 100644
index 0000000000..b67a0cd221
--- /dev/null
+++ b/docs/reference/@react-native-firebase/app-distribution.mdx
@@ -0,0 +1,7 @@
+[**React Native Firebase**](../README.mdx)
+
+***
+
+[React Native Firebase](../packages.mdx) / @react-native-firebase/app-distribution
+
+# @react-native-firebase/app-distribution
diff --git a/docs/reference/@react-native-firebase/app/README.mdx b/docs/reference/@react-native-firebase/app/README.mdx
new file mode 100644
index 0000000000..bd915016dc
--- /dev/null
+++ b/docs/reference/@react-native-firebase/app/README.mdx
@@ -0,0 +1,445 @@
+[**React Native Firebase**](../../README.mdx)
+
+***
+
+[React Native Firebase](../../packages.mdx) / @react-native-firebase/app
+
+# @react-native-firebase/app
+
+## Functions
+
+### deleteApp()
+
+> **deleteApp**(`app`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:38](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L38)
+
+Renders this app unusable and frees the resources of all associated services.
+
+#### Parameters
+
+##### app
+
+[`FirebaseApp`](namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+The app to delete.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+`Promise`
+
+***
+
+### getApp()
+
+> **getApp**(`name?`): [`FirebaseApp`](namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+Defined in: [modular.ts:109](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L109)
+
+Retrieves an instance of a Firebase app.
+
+#### Parameters
+
+##### name?
+
+`string`
+
+The optional name of the app to return ('[DEFAULT]' if omitted).
+
+#### Returns
+
+[`FirebaseApp`](namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+The requested Firebase app instance.
+
+***
+
+### getApps()
+
+> **getApps**(): [`FirebaseApp`](namespaces/ReactNativeFirebase.mdx#firebaseapp)[]
+
+Defined in: [modular.ts:77](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L77)
+
+Gets the list of all initialized apps.
+
+#### Returns
+
+[`FirebaseApp`](namespaces/ReactNativeFirebase.mdx#firebaseapp)[]
+
+An array of all initialized Firebase apps.
+
+***
+
+### initializeApp()
+
+> **initializeApp**(`options`, `configOrName?`): `Promise`\<[`FirebaseApp`](namespaces/ReactNativeFirebase.mdx#firebaseapp)\>
+
+Defined in: [modular.ts:91](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L91)
+
+Initializes a Firebase app with the provided options and name.
+
+#### Parameters
+
+##### options
+
+[`FirebaseAppOptions`](namespaces/ReactNativeFirebase.mdx#firebaseappoptions-1)
+
+Options to configure the services used in the app.
+
+##### configOrName?
+
+`string` \| [`FirebaseAppConfig`](namespaces/ReactNativeFirebase.mdx#firebaseappconfig)
+
+The optional name of the app, or config for the app to initialize (a name of '[DEFAULT]' will be used if omitted).
+
+#### Returns
+
+`Promise`\<[`FirebaseApp`](namespaces/ReactNativeFirebase.mdx#firebaseapp)\>
+
+The initialized Firebase app.
+
+***
+
+### jsonGetAll()
+
+> **jsonGetAll**(): `Promise`\<\{\[`key`: `string`\]: `string` \| `boolean`; \}\>
+
+Defined in: [modular.ts:164](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L164)
+
+Gets react-native-firebase specific "firebase.json" data
+
+#### Returns
+
+`Promise`\<\{\[`key`: `string`\]: `string` \| `boolean`; \}\>
+
+map of key / value pairs containing native firebase.json constants
+
+***
+
+### metaGetAll()
+
+> **metaGetAll**(): `Promise`\<\{\[`key`: `string`\]: `string` \| `boolean`; \}\>
+
+Defined in: [modular.ts:153](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L153)
+
+Gets react-native-firebase specific "meta" data from native Info.plist / AndroidManifest.xml
+
+#### Returns
+
+`Promise`\<\{\[`key`: `string`\]: `string` \| `boolean`; \}\>
+
+map of key / value pairs containing native meta data
+
+***
+
+### onLog()
+
+> **onLog**(`logCallback`, `options?`): `void`
+
+Defined in: [modular.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L69)
+
+Sets log handler for VertexAI only currently.
+
+#### Parameters
+
+##### logCallback
+
+[`LogCallback`](#logcallback) \| `null`
+
+The callback function to handle logs.
+
+##### options?
+
+[`LogOptions`](#logoptions)
+
+Optional settings for log handling.
+
+#### Returns
+
+`void`
+
+void
+
+***
+
+### preferencesClearAll()
+
+> **preferencesClearAll**(): `Promise`\<`void`\>
+
+Defined in: [modular.ts:175](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L175)
+
+Clears react-native-firebase specific native preferences
+
+#### Returns
+
+`Promise`\<`void`\>
+
+`Promise`
+
+***
+
+### preferencesGetAll()
+
+> **preferencesGetAll**(): `Promise`\<\{\[`key`: `string`\]: `string` \| `boolean`; \}\>
+
+Defined in: [modular.ts:186](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L186)
+
+Gets react-native-firebase specific native preferences
+
+#### Returns
+
+`Promise`\<\{\[`key`: `string`\]: `string` \| `boolean`; \}\>
+
+map of key / value pairs containing native preferences data
+
+***
+
+### preferencesSetBool()
+
+> **preferencesSetBool**(`key`, `value`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:199](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L199)
+
+Sets react-native-firebase specific native boolean preference
+
+#### Parameters
+
+##### key
+
+`string`
+
+the name of the native preference to set
+
+##### value
+
+`boolean`
+
+the value of the native preference to set
+
+#### Returns
+
+`Promise`\<`void`\>
+
+`Promise`
+
+***
+
+### preferencesSetString()
+
+> **preferencesSetString**(`key`, `value`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:212](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L212)
+
+Sets react-native-firebase specific native string preference
+
+#### Parameters
+
+##### key
+
+`string`
+
+the name of the native preference to set
+
+##### value
+
+`string`
+
+the value of the native preference to set
+
+#### Returns
+
+`Promise`\<`void`\>
+
+`Promise`
+
+***
+
+### registerVersion()
+
+> **registerVersion**(`_libraryKeyOrName`, `_version`, `_variant?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L55)
+
+Registers a library's name and version for platform logging purposes.
+
+#### Parameters
+
+##### \_libraryKeyOrName
+
+`string`
+
+library name or key.
+
+##### \_version
+
+`string`
+
+library version.
+
+##### \_variant?
+
+`string`
+
+library variant. Optional.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+`Promise`
+
+***
+
+### setLogLevel()
+
+> **setLogLevel**(`logLevel`): `void`
+
+Defined in: [modular.ts:123](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L123)
+
+Sets the log level across all Firebase SDKs.
+
+#### Parameters
+
+##### logLevel
+
+[`LogLevelString`](namespaces/ReactNativeFirebase.mdx#loglevelstring)
+
+The log level to set ('debug', 'verbose', 'info', 'warn', 'error', 'silent').
+
+#### Returns
+
+`void`
+
+void
+
+***
+
+### setReactNativeAsyncStorage()
+
+> **setReactNativeAsyncStorage**(`asyncStorage`): `void`
+
+Defined in: [modular.ts:138](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L138)
+
+The `AsyncStorage` implementation to use for persisting data on 'Other' platforms.
+If not specified, in memory persistence is used.
+
+This is required if you want to persist things like Auth sessions, Analytics device IDs, etc.
+
+#### Parameters
+
+##### asyncStorage
+
+[`ReactNativeAsyncStorage`](namespaces/ReactNativeFirebase.mdx#reactnativeasyncstorage)
+
+#### Returns
+
+`void`
+
+## Interfaces
+
+### LogCallbackParams
+
+Defined in: [types/app.ts:645](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L645)
+
+#### Properties
+
+##### args
+
+> **args**: `unknown`[]
+
+Defined in: [types/app.ts:648](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L648)
+
+##### level
+
+> **level**: [`LogLevelString`](namespaces/ReactNativeFirebase.mdx#loglevelstring)
+
+Defined in: [types/app.ts:646](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L646)
+
+##### message
+
+> **message**: `string`
+
+Defined in: [types/app.ts:647](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L647)
+
+##### type
+
+> **type**: `string`
+
+Defined in: [types/app.ts:649](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L649)
+
+***
+
+### LogOptions
+
+Defined in: [types/app.ts:654](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L654)
+
+#### Properties
+
+##### level?
+
+> `optional` **level?**: [`LogLevelString`](namespaces/ReactNativeFirebase.mdx#loglevelstring)
+
+Defined in: [types/app.ts:655](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L655)
+
+## Namespaces
+
+- [ReactNativeFirebase](namespaces/ReactNativeFirebase.mdx)
+- [Utils](namespaces/Utils.mdx)
+
+## References
+
+### default
+
+Renames and re-exports [firebase](#firebase)
+
+## Type Aliases
+
+### FirebaseApp
+
+> **FirebaseApp** = [`FirebaseApp`](namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+Defined in: [types/app.ts:659](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L659)
+
+***
+
+### LogCallback
+
+> **LogCallback** = (`callbackParams`) => `void`
+
+Defined in: [types/app.ts:652](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L652)
+
+#### Parameters
+
+##### callbackParams
+
+[`LogCallbackParams`](#logcallbackparams)
+
+#### Returns
+
+`void`
+
+## Variables
+
+### firebase
+
+> `const` **firebase**: `FirebaseRoot`
+
+Defined in: [namespaced.ts:21](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/namespaced.ts#L21)
+
+***
+
+### SDK\_VERSION
+
+> `const` **SDK\_VERSION**: `"24.0.0"` = `sdkVersion`
+
+Defined in: [modular.ts:219](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/modular.ts#L219)
+
+***
+
+### utils
+
+> **utils**: [`Statics`](namespaces/Utils.mdx#statics) & () => [`Module`](namespaces/Utils.mdx#abstract-module)
+
+Defined in: [utils/index.ts:85](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/utils/index.ts#L85)
diff --git a/docs/reference/@react-native-firebase/app/namespaces/ReactNativeFirebase.mdx b/docs/reference/@react-native-firebase/app/namespaces/ReactNativeFirebase.mdx
new file mode 100644
index 0000000000..e755d27fd0
--- /dev/null
+++ b/docs/reference/@react-native-firebase/app/namespaces/ReactNativeFirebase.mdx
@@ -0,0 +1,721 @@
+[**React Native Firebase**](../../../README.mdx)
+
+***
+
+[React Native Firebase](../../../packages.mdx) / [@react-native-firebase/app](../README.mdx) / ReactNativeFirebase
+
+# ReactNativeFirebase
+
+Core React Native Firebase package types.
+
+## Firebase
+
+app
+
+## Classes
+
+### `abstract` FirebaseModule
+
+Defined in: [types/app.ts:275](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L275)
+
+A class that all React Native Firebase modules extend from to provide default behaviour.
+
+#### Extended by
+
+- [`Module`](Utils.mdx#abstract-module)
+- [`Analytics`](../../analytics/README.mdx#analytics)
+- [`AppCheck`](../../app-check/README.mdx#appcheck)
+- [`Crashlytics`](../../crashlytics/README.mdx#crashlytics)
+- [`Functions`](../../functions/README.mdx#functions)
+- [`Messaging`](../../messaging/README.mdx#messaging)
+- [`Module`](../../ml/namespaces/FirebaseMLTypes.mdx#module)
+- [`Module`](../../perf/namespaces/FirebasePerformanceTypes.mdx#module)
+- [`Module`](../../remote-config/namespaces/FirebaseRemoteConfigTypes.mdx#module)
+- [`Module`](../../storage/namespaces/FirebaseStorageTypes.mdx#module)
+
+#### Constructors
+
+##### Constructor
+
+> **new FirebaseModule**(): [`FirebaseModule`](#abstract-firebasemodule)
+
+###### Returns
+
+[`FirebaseModule`](#abstract-firebasemodule)
+
+#### Properties
+
+##### app
+
+> `abstract` **app**: [`FirebaseApp`](#firebaseapp)
+
+Defined in: [types/app.ts:279](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L279)
+
+The current `FirebaseApp` instance for this Firebase service.
+
+## Interfaces
+
+### FirebaseApp
+
+Defined in: [types/app.ts:166](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L166)
+
+Full FirebaseApp interface that extends the base interface.
+Module-specific methods (auth(), analytics(), etc.) are added here via declaration merging
+from individual package .d.ts files.
+
+#### Extends
+
+- [`FirebaseAppBase`](#firebaseappbase)
+
+#### Methods
+
+##### delete()
+
+> **delete**(): `Promise`\<`void`\>
+
+Defined in: [types/app.ts:156](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L156)
+
+Make this app unusable and free up resources.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Inherited from
+
+[`FirebaseAppBase`](#firebaseappbase).[`delete`](#delete-1)
+
+##### utils()
+
+> **utils**(): [`Module`](Utils.mdx#abstract-module)
+
+Defined in: [types/app.ts:158](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L158)
+
+###### Returns
+
+[`Module`](Utils.mdx#abstract-module)
+
+###### Inherited from
+
+[`FirebaseAppBase`](#firebaseappbase).[`utils`](#utils-1)
+
+#### Properties
+
+##### automaticDataCollectionEnabled
+
+> **automaticDataCollectionEnabled**: `boolean`
+
+Defined in: [types/app.ts:151](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L151)
+
+The settable config flag for GDPR opt-in/opt-out
+
+###### Inherited from
+
+[`FirebaseAppBase`](#firebaseappbase).[`automaticDataCollectionEnabled`](#automaticdatacollectionenabled-1)
+
+##### name
+
+> `readonly` **name**: `string`
+
+Defined in: [types/app.ts:141](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L141)
+
+The name (identifier) for this App. '[DEFAULT]' is the default App.
+
+###### Inherited from
+
+[`FirebaseAppBase`](#firebaseappbase).[`name`](#name-1)
+
+##### options
+
+> `readonly` **options**: [`FirebaseAppOptions`](#firebaseappoptions-1)
+
+Defined in: [types/app.ts:146](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L146)
+
+The (read-only) configuration options from the app initialization.
+
+###### Inherited from
+
+[`FirebaseAppBase`](#firebaseappbase).[`options`](#options-1)
+
+***
+
+### FirebaseAppBase
+
+Defined in: [types/app.ts:137](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L137)
+
+Base interface for FirebaseApp containing core properties and methods.
+The concrete FirebaseApp class implements this interface.
+Module-specific methods (auth(), analytics(), etc.) are added to FirebaseApp via declaration merging.
+
+#### Extended by
+
+- [`FirebaseApp`](#firebaseapp)
+
+#### Methods
+
+##### delete()
+
+> **delete**(): `Promise`\<`void`\>
+
+Defined in: [types/app.ts:156](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L156)
+
+Make this app unusable and free up resources.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### utils()
+
+> **utils**(): [`Module`](Utils.mdx#abstract-module)
+
+Defined in: [types/app.ts:158](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L158)
+
+###### Returns
+
+[`Module`](Utils.mdx#abstract-module)
+
+#### Properties
+
+##### automaticDataCollectionEnabled
+
+> **automaticDataCollectionEnabled**: `boolean`
+
+Defined in: [types/app.ts:151](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L151)
+
+The settable config flag for GDPR opt-in/opt-out
+
+##### name
+
+> `readonly` **name**: `string`
+
+Defined in: [types/app.ts:141](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L141)
+
+The name (identifier) for this App. '[DEFAULT]' is the default App.
+
+##### options
+
+> `readonly` **options**: [`FirebaseAppOptions`](#firebaseappoptions-1)
+
+Defined in: [types/app.ts:146](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L146)
+
+The (read-only) configuration options from the app initialization.
+
+***
+
+### FirebaseAppConfig
+
+Defined in: [types/app.ts:111](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L111)
+
+#### Properties
+
+##### automaticDataCollectionEnabled?
+
+> `optional` **automaticDataCollectionEnabled?**: `boolean`
+
+Defined in: [types/app.ts:123](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L123)
+
+Default setting for data collection on startup that affects all Firebase module startup data collection settings,
+in the absence of module-specific overrides. This will start as false if you set "app_data_collection_default_enabled"
+to false in firebase.json and may be used in opt-in flows, for example a GDPR-compliant app.
+If configured false initially, set to true after obtaining consent, then enable module-specific settings as needed afterwards.
+
+##### automaticResourceManagement?
+
+> `optional` **automaticResourceManagement?**: `boolean`
+
+Defined in: [types/app.ts:129](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L129)
+
+If set to true it indicates that Firebase should close database connections
+automatically when the app is in the background. Disabled by default.
+
+##### name?
+
+> `optional` **name?**: `string`
+
+Defined in: [types/app.ts:115](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L115)
+
+The Firebase App name, defaults to [DEFAULT] if none provided.
+
+***
+
+### FirebaseAppOptions
+
+Defined in: [types/app.ts:54](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L54)
+
+#### Indexable
+
+> \[`name`: `string`\]: `any`
+
+#### Properties
+
+##### androidClientId?
+
+> `optional` **androidClientId?**: `string`
+
+Defined in: [types/app.ts:102](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L102)
+
+iOS only - The Android client ID used in Google AppInvite when an iOS app has its Android version, for
+example "12345.apps.googleusercontent.com".
+
+##### apiKey?
+
+> `optional` **apiKey?**: `string`
+
+Defined in: [types/app.ts:64](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L64)
+
+An API key used for authenticating requests from your app, e.g.
+"AIzaSyDdVgKwhZl0sTTTLZ7iTmt1r3N2cJLnaDk", used to identify your app to Google servers.
+
+##### appId
+
+> **appId**: `string`
+
+Defined in: [types/app.ts:58](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L58)
+
+The Google App ID that is used to uniquely identify an instance of an app.
+
+##### clientId?
+
+> `optional` **clientId?**: `string`
+
+Defined in: [types/app.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L96)
+
+iOS only - The OAuth2 client ID for iOS application used to authenticate Google users, for example
+"12345.apps.googleusercontent.com", used for signing in with Google.
+
+##### databaseURL?
+
+> `optional` **databaseURL?**: `string`
+
+Defined in: [types/app.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L69)
+
+The database root URL, e.g. "http://abc-xyz-123.firebaseio.com".
+
+##### deepLinkURLScheme?
+
+> `optional` **deepLinkURLScheme?**: `string`
+
+Defined in: [types/app.ts:107](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L107)
+
+iOS only - The URL scheme used to set up Durable Deep Link service.
+
+##### measurementId?
+
+> `optional` **measurementId?**: `string`
+
+Defined in: [types/app.ts:79](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L79)
+
+The tracking ID for Google Analytics, e.g. "UA-12345678-1", used to configure Google Analytics.
+
+##### messagingSenderId?
+
+> `optional` **messagingSenderId?**: `string`
+
+Defined in: [types/app.ts:90](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L90)
+
+The Project Number from the Google Developer's console, for example "012345678901", used to
+configure Google Cloud Messaging.
+
+##### projectId
+
+> **projectId**: `string`
+
+Defined in: [types/app.ts:74](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L74)
+
+The Project ID from the Firebase console, for example "abc-xyz-123".
+
+##### storageBucket?
+
+> `optional` **storageBucket?**: `string`
+
+Defined in: [types/app.ts:84](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L84)
+
+The Google Cloud Storage bucket name, e.g. "abc-xyz-123.storage.firebase.com".
+
+***
+
+### Module
+
+Defined in: [types/app.ts:203](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L203)
+
+#### Methods
+
+##### app()
+
+> **app**(`name?`): [`FirebaseApp`](#firebaseapp)
+
+Defined in: [types/app.ts:231](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L231)
+
+Retrieve an instance of a FirebaseApp.
+
+###### Parameters
+
+###### name?
+
+`string`
+
+The optional name of the app to return ('[DEFAULT]' if omitted)
+
+###### Returns
+
+[`FirebaseApp`](#firebaseapp)
+
+###### Example
+
+```js
+const app = firebase.app('foo');
+```
+
+##### initializeApp()
+
+###### Call Signature
+
+> **initializeApp**(`options`, `config?`): `Promise`\<[`FirebaseApp`](#firebaseapp)\>
+
+Defined in: [types/app.ts:210](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L210)
+
+Create (and initialize) a FirebaseApp.
+
+###### Parameters
+
+###### options
+
+[`FirebaseAppOptions`](#firebaseappoptions-1)
+
+Options to configure the services used in the App.
+
+###### config?
+
+[`FirebaseAppConfig`](#firebaseappconfig)
+
+The optional config for your firebase app
+
+###### Returns
+
+`Promise`\<[`FirebaseApp`](#firebaseapp)\>
+
+###### Call Signature
+
+> **initializeApp**(`options`, `name?`): `Promise`\<[`FirebaseApp`](#firebaseapp)\>
+
+Defined in: [types/app.ts:219](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L219)
+
+Create (and initialize) a FirebaseApp.
+
+###### Parameters
+
+###### options
+
+[`FirebaseAppOptions`](#firebaseappoptions-1)
+
+Options to configure the services used in the App.
+
+###### name?
+
+`string`
+
+The optional name of the app to initialize ('[DEFAULT]' if
+omitted)
+
+###### Returns
+
+`Promise`\<[`FirebaseApp`](#firebaseapp)\>
+
+##### setLogLevel()
+
+> **setLogLevel**(`logLevel`): `void`
+
+Defined in: [types/app.ts:244](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L244)
+
+Set the log level across all modules. Only applies to iOS currently, has no effect on Android.
+Should be one of 'error', 'warn', 'info', or 'debug'.
+Logs messages at the configured level or lower (less verbose / more important).
+Note that if an app is running from AppStore, it will never log above info even if
+level is set to a higher (more verbose) setting.
+Note that iOS is missing firebase-js-sdk log levels 'verbose' and 'silent'.
+'verbose' if used will map to 'debug', 'silent' has no valid mapping and will return an error if used.
+
+###### Parameters
+
+###### logLevel
+
+[`LogLevelString`](#loglevelstring)
+
+###### Returns
+
+`void`
+
+###### Ios
+
+##### setReactNativeAsyncStorage()
+
+> **setReactNativeAsyncStorage**(`asyncStorage`): `void`
+
+Defined in: [types/app.ts:252](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L252)
+
+The `AsyncStorage` implementation to use for persisting data on 'Other' platforms.
+If not specified, in memory persistence is used.
+
+This is required if you want to persist things like Auth sessions, Analytics device IDs, etc.
+
+###### Parameters
+
+###### asyncStorage
+
+[`ReactNativeAsyncStorage`](#reactnativeasyncstorage)
+
+###### Returns
+
+`void`
+
+#### Properties
+
+##### apps
+
+> **apps**: [`FirebaseApp`](#firebaseapp)[]
+
+Defined in: [types/app.ts:257](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L257)
+
+A (read-only) array of all the initialized Apps.
+
+##### SDK\_VERSION
+
+> `readonly` **SDK\_VERSION**: `string`
+
+Defined in: [types/app.ts:262](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L262)
+
+The current React Native Firebase version.
+
+##### utils
+
+> **utils**: [`Module`](Utils.mdx#abstract-module)
+
+Defined in: [types/app.ts:269](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L269)
+
+Utils provides a collection of utilities to aid in using Firebase
+and related services inside React Native, e.g. Test Lab helpers
+and Google Play Services version helpers.
+
+***
+
+### NativeFirebaseError
+
+Defined in: [types/app.ts:25](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L25)
+
+#### Extends
+
+- `Error`
+
+#### Properties
+
+##### code
+
+> `readonly` **code**: `string`
+
+Defined in: [types/app.ts:29](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L29)
+
+Firebase error code, e.g. `auth/invalid-email`
+
+##### message
+
+> `readonly` **message**: `string`
+
+Defined in: [types/app.ts:34](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L34)
+
+Firebase error message
+
+###### Overrides
+
+`Error.message`
+
+##### namespace
+
+> `readonly` **namespace**: `string`
+
+Defined in: [types/app.ts:39](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L39)
+
+The firebase module namespace that this error originated from, e.g. 'analytics'
+
+##### nativeErrorCode
+
+> `readonly` **nativeErrorCode**: `string` \| `number`
+
+Defined in: [types/app.ts:44](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L44)
+
+The native sdks returned error code, different per platform
+
+##### nativeErrorMessage
+
+> `readonly` **nativeErrorMessage**: `string`
+
+Defined in: [types/app.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L49)
+
+The native sdks returned error message, different per platform
+
+***
+
+### ReactNativeAsyncStorage
+
+Defined in: [types/app.ts:176](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L176)
+
+Interface for a supplied `AsyncStorage`.
+
+#### Indexable
+
+> \[`key`: `string`\]: `any`
+
+#### Properties
+
+##### getItem
+
+> **getItem**: `Function`
+
+Defined in: [types/app.ts:191](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L191)
+
+Retrieve an item from storage.
+
+###### Param
+
+storage key.
+
+##### removeItem
+
+> **removeItem**: `Function`
+
+Defined in: [types/app.ts:198](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L198)
+
+Remove an item from storage.
+
+###### Param
+
+storage key.
+
+##### setItem
+
+> **setItem**: `Function`
+
+Defined in: [types/app.ts:184](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L184)
+
+Persist an item in storage.
+
+###### Param
+
+storage key.
+
+###### Param
+
+storage value.
+
+## Type Aliases
+
+### FirebaseModuleWithStatics
+
+> **FirebaseModuleWithStatics**\<`M`, `S`\> = \{(): `M`; `SDK_VERSION`: `string`; \} & `S`
+
+Defined in: [types/app.ts:282](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L282)
+
+#### Type Parameters
+
+##### M
+
+`M`
+
+##### S
+
+`S` = \{ \}
+
+***
+
+### FirebaseModuleWithStaticsAndApp
+
+> **FirebaseModuleWithStaticsAndApp**\<`M`, `S`\> = \{(`app?`): `M`; `SDK_VERSION`: `string`; \} & `S`
+
+Defined in: [types/app.ts:291](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L291)
+
+#### Type Parameters
+
+##### M
+
+`M`
+
+##### S
+
+`S` = \{ \}
+
+***
+
+### FirebaseNamespacedExport
+
+> **FirebaseNamespacedExport**\<`Namespace`, `M`, `S`, `HasCustomArg`\> = [`Module`](#module) & `Record`\<`Namespace`, [`FirebaseModuleWithStaticsAndApp`](#firebasemodulewithstaticsandapp)\<`M`, `S`\>\> & `object`
+
+Defined in: [types/app.ts:322](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L322)
+
+Type for the `firebase` named export from module packages.
+Provides complete typing for:
+- Root level access: `firebase.functions(app?)`
+- App level access: `firebase.app().functions(region?)`
+- Statics: `firebase.functions.HttpsErrorCode`
+- Root properties: `firebase.SDK_VERSION`, `firebase.app()`, etc.
+
+#### Type Declaration
+
+##### app()
+
+> **app**(`name?`): [`FirebaseApp`](#firebaseapp) & `Record`\<`Namespace`, `HasCustomArg` *extends* `true` ? (`arg?`) => `M` : () => `M`\>
+
+###### Parameters
+
+###### name?
+
+`string`
+
+###### Returns
+
+[`FirebaseApp`](#firebaseapp) & `Record`\<`Namespace`, `HasCustomArg` *extends* `true` ? (`arg?`) => `M` : () => `M`\>
+
+#### Type Parameters
+
+##### Namespace
+
+`Namespace` *extends* `string`
+
+The module namespace (e.g., 'functions', 'auth', 'firestore')
+
+##### M
+
+`M` *extends* [`FirebaseModule`](#abstract-firebasemodule)
+
+The module instance type (must extend FirebaseModule with `app` property)
+
+##### S
+
+`S` *extends* `object` = `object`
+
+The module statics type
+
+##### HasCustomArg
+
+`HasCustomArg` *extends* `boolean` = `false`
+
+true if app-level accessor takes optional string (region/url/databaseId)
+
+#### Example
+
+```ts
+// In functions package:
+export const firebase = getFirebaseRoot() as ReactNativeFirebase.FirebaseNamespacedExport<
+ 'functions',
+ FunctionsModule,
+ FunctionsStatics,
+ true // functions() takes regionOrCustomDomain
+>;
+```
+
+***
+
+### LogLevelString
+
+> **LogLevelString** = `"debug"` \| `"verbose"` \| `"info"` \| `"warn"` \| `"error"` \| `"silent"`
+
+Defined in: [types/app.ts:52](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L52)
diff --git a/docs/reference/@react-native-firebase/app/namespaces/Utils.mdx b/docs/reference/@react-native-firebase/app/namespaces/Utils.mdx
new file mode 100644
index 0000000000..67ceceee40
--- /dev/null
+++ b/docs/reference/@react-native-firebase/app/namespaces/Utils.mdx
@@ -0,0 +1,596 @@
+[**React Native Firebase**](../../../README.mdx)
+
+***
+
+[React Native Firebase](../../../packages.mdx) / [@react-native-firebase/app](../README.mdx) / Utils
+
+# Utils
+
+## Firebase
+
+utils
+
+## Classes
+
+### `abstract` Module
+
+Defined in: [types/app.ts:568](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L568)
+
+The React Native Firebase Utils service interface.
+
+> This module is available for the default app only.
+
+#### Example
+
+Get the Utils service for the default app:
+
+```js
+const defaultAppUtils = firebase.utils();
+```
+
+#### Extends
+
+- [`FirebaseModule`](ReactNativeFirebase.mdx#abstract-firebasemodule)
+
+#### Constructors
+
+##### Constructor
+
+> **new Module**(): [`Module`](#abstract-module)
+
+###### Returns
+
+[`Module`](#abstract-module)
+
+###### Inherited from
+
+[`FirebaseModule`](ReactNativeFirebase.mdx#abstract-firebasemodule).[`constructor`](ReactNativeFirebase.mdx#constructor)
+
+#### Methods
+
+##### getPlayServicesStatus()
+
+> `abstract` **getPlayServicesStatus**(): `Promise`\<[`PlayServicesAvailability`](#playservicesavailability-1)\>
+
+Defined in: [types/app.ts:604](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L604)
+
+Returns PlayServicesAvailability properties
+
+#### Example
+
+```js
+const PlayServicesAvailability = await firebase.utils().getPlayServicesStatus();
+```
+
+###### Returns
+
+`Promise`\<[`PlayServicesAvailability`](#playservicesavailability-1)\>
+
+###### Android
+
+Android only - iOS always returns { isAvailable: true, status: 0 }
+
+##### makePlayServicesAvailable()
+
+> `abstract` **makePlayServicesAvailable**(): `Promise`\<`void`\>
+
+Defined in: [types/app.ts:629](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L629)
+
+Attempts to make Google Play services available on this device
+
+#### Example
+
+```js
+await firebase.utils().makePlayServicesAvailable();
+```
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Android
+
+Android only - iOS returns undefined
+
+##### promptForPlayServices()
+
+> `abstract` **promptForPlayServices**(): `Promise`\<`void`\>
+
+Defined in: [types/app.ts:617](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L617)
+
+A prompt appears on the device to ask the user to update play services
+
+#### Example
+
+```js
+await firebase.utils().promptForPlayServices();
+```
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Android
+
+Android only - iOS returns undefined
+
+##### resolutionForPlayServices()
+
+> `abstract` **resolutionForPlayServices**(): `Promise`\<`void`\>
+
+Defined in: [types/app.ts:641](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L641)
+
+Resolves an error by starting any intents requiring user interaction.
+
+#### Example
+
+```js
+await firebase.utils().resolutionForPlayServices();
+```
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Android
+
+Android only - iOS returns undefined
+
+#### Properties
+
+##### app
+
+> `abstract` **app**: [`FirebaseApp`](ReactNativeFirebase.mdx#firebaseapp)
+
+Defined in: [types/app.ts:279](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L279)
+
+The current `FirebaseApp` instance for this Firebase service.
+
+###### Inherited from
+
+[`FirebaseModule`](ReactNativeFirebase.mdx#abstract-firebasemodule).[`app`](ReactNativeFirebase.mdx#app)
+
+##### isRunningInTestLab
+
+> `abstract` **isRunningInTestLab**: `boolean`
+
+Defined in: [types/app.ts:579](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L579)
+
+Returns true if this app is running inside a Firebase Test Lab environment.
+
+#### Example
+
+```js
+const isRunningInTestLab = await firebase.utils().isRunningInTestLab;
+```
+
+###### Android
+
+Android only - iOS returns false
+
+##### playServicesAvailability
+
+> `abstract` **playServicesAvailability**: [`PlayServicesAvailability`](#playservicesavailability-1)
+
+Defined in: [types/app.ts:591](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L591)
+
+Returns PlayServicesAvailability properties
+
+#### Example
+
+```js
+const PlayServicesAvailability = await firebase.utils().playServicesAvailability;
+```
+
+###### Android
+
+Android only - iOS always returns { isAvailable: true, status: 0 }
+
+## Enumerations
+
+### PlayServicesAvailabilityStatusCodes
+
+Defined in: [types/app.ts:474](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L474)
+
+For further information on the status codes available & what they represent, please head over
+to ConnectionResult documentation:
+https://developers.google.com/android/reference/com/google/android/gms/common/ConnectionResult
+
+#### Enumeration Members
+
+##### API\_UNAVAILABLE
+
+> **API\_UNAVAILABLE**: `16`
+
+Defined in: [types/app.ts:475](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L475)
+
+##### CANCELED
+
+> **CANCELED**: `13`
+
+Defined in: [types/app.ts:476](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L476)
+
+##### DEVELOPER\_ERROR
+
+> **DEVELOPER\_ERROR**: `10`
+
+Defined in: [types/app.ts:477](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L477)
+
+##### DRIVE\_EXTERNAL\_STORAGE\_REQUIRED
+
+> **DRIVE\_EXTERNAL\_STORAGE\_REQUIRED**: `1500`
+
+Defined in: [types/app.ts:478](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L478)
+
+##### INTERNAL\_ERROR
+
+> **INTERNAL\_ERROR**: `8`
+
+Defined in: [types/app.ts:479](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L479)
+
+##### INTERRUPTED
+
+> **INTERRUPTED**: `15`
+
+Defined in: [types/app.ts:480](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L480)
+
+##### INVALID\_ACCOUNT
+
+> **INVALID\_ACCOUNT**: `5`
+
+Defined in: [types/app.ts:481](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L481)
+
+##### LICENSE\_CHECK\_FAILED
+
+> **LICENSE\_CHECK\_FAILED**: `11`
+
+Defined in: [types/app.ts:482](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L482)
+
+##### NETWORK\_ERROR
+
+> **NETWORK\_ERROR**: `7`
+
+Defined in: [types/app.ts:483](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L483)
+
+##### RESOLUTION\_REQUIRED
+
+> **RESOLUTION\_REQUIRED**: `6`
+
+Defined in: [types/app.ts:484](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L484)
+
+##### RESTRICTED\_PROFILE
+
+> **RESTRICTED\_PROFILE**: `20`
+
+Defined in: [types/app.ts:485](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L485)
+
+##### SERVICE\_DISABLED
+
+> **SERVICE\_DISABLED**: `3`
+
+Defined in: [types/app.ts:486](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L486)
+
+##### SERVICE\_INVALID
+
+> **SERVICE\_INVALID**: `9`
+
+Defined in: [types/app.ts:487](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L487)
+
+##### SERVICE\_MISSING
+
+> **SERVICE\_MISSING**: `1`
+
+Defined in: [types/app.ts:488](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L488)
+
+##### SERVICE\_MISSING\_PERMISSION
+
+> **SERVICE\_MISSING\_PERMISSION**: `19`
+
+Defined in: [types/app.ts:489](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L489)
+
+##### SERVICE\_UPDATING
+
+> **SERVICE\_UPDATING**: `18`
+
+Defined in: [types/app.ts:490](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L490)
+
+##### SERVICE\_VERSION\_UPDATE\_REQUIRED
+
+> **SERVICE\_VERSION\_UPDATE\_REQUIRED**: `2`
+
+Defined in: [types/app.ts:491](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L491)
+
+##### SIGN\_IN\_FAILED
+
+> **SIGN\_IN\_FAILED**: `17`
+
+Defined in: [types/app.ts:492](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L492)
+
+##### SIGN\_IN\_REQUIRED
+
+> **SIGN\_IN\_REQUIRED**: `4`
+
+Defined in: [types/app.ts:493](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L493)
+
+##### SUCCESS
+
+> **SUCCESS**: `0`
+
+Defined in: [types/app.ts:494](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L494)
+
+##### TIMEOUT
+
+> **TIMEOUT**: `14`
+
+Defined in: [types/app.ts:495](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L495)
+
+## Interfaces
+
+### FilePath
+
+Defined in: [types/app.ts:351](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L351)
+
+A collection of native device file paths to aid in the usage of file path based methods.
+
+Concatenate a file path with your target file name when using with Storage `putFile` or `writeToFile`.
+
+```js
+firebase.utils.FilePath;
+```
+
+#### Properties
+
+##### CACHES\_DIRECTORY
+
+> **CACHES\_DIRECTORY**: `string`
+
+Defined in: [types/app.ts:372](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L372)
+
+Returns an absolute path to the application specific cache directory on the filesystem.
+
+The system will automatically delete files in this directory when disk space is needed elsewhere on the device, starting with the oldest files first.
+
+```js
+firebase.utils.FilePath.CACHES_DIRECTORY;
+```
+
+##### DOCUMENT\_DIRECTORY
+
+> **DOCUMENT\_DIRECTORY**: `string`
+
+Defined in: [types/app.ts:388](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L388)
+
+Returns an absolute path to the users Documents directory.
+
+Use this directory to place documents that have been created by the user.
+
+Normally this is the external files directory on Android but if no external storage directory found,
+e.g. removable media has been ejected by the user, it will fall back to internal storage. This may
+under rare circumstances where device storage environment changes cause the directory to be different
+between runs of the application
+
+```js
+firebase.utils.FilePath.DOCUMENT_DIRECTORY;
+```
+
+##### EXTERNAL\_DIRECTORY
+
+> **EXTERNAL\_DIRECTORY**: `string` \| `null`
+
+Defined in: [types/app.ts:425](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L425)
+
+Returns an absolute path to the directory on the primary shared/external storage device.
+
+Here your application can place persistent files it owns. These files are internal to the application, and not typically visible to the user as media.
+
+Returns null if no external storage directory found, e.g. removable media has been ejected by the user.
+
+```js
+firebase.utils.FilePath.EXTERNAL_DIRECTORY;
+```
+
+###### Android
+
+Android only - iOS returns null
+
+##### EXTERNAL\_STORAGE\_DIRECTORY
+
+> **EXTERNAL\_STORAGE\_DIRECTORY**: `string` \| `null`
+
+Defined in: [types/app.ts:441](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L441)
+
+Returns an absolute path to the primary shared/external storage directory.
+
+Traditionally this is an SD card, but it may also be implemented as built-in storage on a device.
+
+Returns null if no external storage directory found, e.g. removable media has been ejected by the user.
+Requires special permission granted by Play Store review team on Android, is unlikely to be a valid path.
+
+```js
+firebase.utils.FilePath.EXTERNAL_STORAGE_DIRECTORY;
+```
+
+###### Android
+
+Android only - iOS returns null
+
+##### LIBRARY\_DIRECTORY
+
+> **LIBRARY\_DIRECTORY**: `string`
+
+Defined in: [types/app.ts:410](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L410)
+
+Returns an absolute path to the apps library/resources directory.
+
+E.g. this can be used for things like documentation, support files, and configuration files and generic resources.
+
+```js
+firebase.utils.FilePath.LIBRARY_DIRECTORY;
+```
+
+##### MAIN\_BUNDLE
+
+> **MAIN\_BUNDLE**: `string`
+
+Defined in: [types/app.ts:361](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L361)
+
+Returns an absolute path to the applications main bundle.
+
+```js
+firebase.utils.FilePath.MAIN_BUNDLE;
+```
+
+###### Ios
+
+iOS only
+
+##### MOVIES\_DIRECTORY
+
+> **MOVIES\_DIRECTORY**: `string`
+
+Defined in: [types/app.ts:461](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L461)
+
+Returns an absolute path to a directory in which to place movies that are available to the user.
+Requires special permission granted by Play Store review team on Android, is unlikely to be a valid path.
+
+```js
+firebase.utils.FilePath.MOVIES_DIRECTORY;
+```
+
+##### PICTURES\_DIRECTORY
+
+> **PICTURES\_DIRECTORY**: `string`
+
+Defined in: [types/app.ts:451](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L451)
+
+Returns an absolute path to a directory in which to place pictures that are available to the user.
+Requires special permission granted by Play Store review team on Android, is unlikely to be a valid path.
+
+```js
+firebase.utils.FilePath.PICTURES_DIRECTORY;
+```
+
+##### TEMP\_DIRECTORY
+
+> **TEMP\_DIRECTORY**: `string`
+
+Defined in: [types/app.ts:399](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L399)
+
+Returns an absolute path to a temporary directory.
+
+Use this directory to create temporary files. The system will automatically delete files in this directory when disk space is needed elsewhere on the device, starting with the oldest files first.
+
+```js
+firebase.utils.FilePath.TEMP_DIRECTORY;
+```
+
+***
+
+### PlayServicesAvailability
+
+Defined in: [types/app.ts:498](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L498)
+
+#### Properties
+
+##### error
+
+> **error**: `string` \| `undefined`
+
+Defined in: [types/app.ts:552](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L552)
+
+A human readable error string
+
+```js
+firebase.utils().playServicesAvailability.error;
+```
+
+###### Android
+
+Android only - iOS returns undefined
+
+##### hasResolution
+
+> **hasResolution**: `boolean` \| `undefined`
+
+Defined in: [types/app.ts:532](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L532)
+
+If Play Services is not available on the device, hasResolution indicates
+whether it is possible to do something about it (e.g. install Play Services).
+
+```js
+firebase.utils().playServicesAvailability.hasResolution;
+```
+
+###### Android
+
+Android only - iOS returns undefined
+
+##### isAvailable
+
+> **isAvailable**: `boolean`
+
+Defined in: [types/app.ts:521](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L521)
+
+Returns a boolean indicating whether Play Store is available on the device
+
+```js
+firebase.utils().playServicesAvailability.isAvailable;
+```
+
+###### Android
+
+Android only - iOS returns true
+
+##### isUserResolvableError
+
+> **isUserResolvableError**: `boolean` \| `undefined`
+
+Defined in: [types/app.ts:542](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L542)
+
+If an error was received, this indicates whether the error is resolvable
+
+```js
+firebase.utils().playServicesAvailability.isUserResolvableError;
+```
+
+###### Android
+
+Android only - iOS returns undefined
+
+##### status
+
+> **status**: [`PlayServicesAvailabilityStatusCodes`](#playservicesavailabilitystatuscodes)
+
+Defined in: [types/app.ts:510](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L510)
+
+Returns a numeric status code. Please refer to Android documentation
+for further information:
+https://developers.google.com/android/reference/com/google/android/gms/common/ConnectionResult
+
+```js
+firebase.utils().playServicesAvailability.status;
+```
+
+###### Android
+
+Android only - iOS returns 0
+
+***
+
+### Statics
+
+Defined in: [types/app.ts:464](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L464)
+
+#### Properties
+
+##### FilePath
+
+> **FilePath**: [`FilePath`](#filepath)
+
+Defined in: [types/app.ts:466](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L466)
+
+##### SDK\_VERSION
+
+> **SDK\_VERSION**: `string`
+
+Defined in: [types/app.ts:465](https://github.com/invertase/react-native-firebase/blob/main/packages/app/lib/types/app.ts#L465)
diff --git a/docs/reference/@react-native-firebase/auth.mdx b/docs/reference/@react-native-firebase/auth.mdx
new file mode 100644
index 0000000000..5d5c66f552
--- /dev/null
+++ b/docs/reference/@react-native-firebase/auth.mdx
@@ -0,0 +1,7 @@
+[**React Native Firebase**](../README.mdx)
+
+***
+
+[React Native Firebase](../packages.mdx) / @react-native-firebase/auth
+
+# @react-native-firebase/auth
diff --git a/docs/reference/@react-native-firebase/crashlytics/README.mdx b/docs/reference/@react-native-firebase/crashlytics/README.mdx
new file mode 100644
index 0000000000..c48e5bd607
--- /dev/null
+++ b/docs/reference/@react-native-firebase/crashlytics/README.mdx
@@ -0,0 +1,701 @@
+[**React Native Firebase**](../../README.mdx)
+
+***
+
+[React Native Firebase](../../packages.mdx) / @react-native-firebase/crashlytics
+
+# @react-native-firebase/crashlytics
+
+## Functions
+
+### checkForUnsentReports()
+
+> **checkForUnsentReports**(`crashlytics`): `Promise`\<`boolean`\>
+
+Defined in: [modular.ts:34](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/modular.ts#L34)
+
+Determines whether there are any unsent crash reports cached on the device. The callback only executes
+if automatic data collection is disabled.
+
+#### Example
+
+```js
+async checkReports() {
+// returns boolean value
+ const crashlytics = getCrashlytics();
+ const unsentReports = await checkForUnsentReports(crashlytics);
+}
+
+checkReports();
+```
+
+#### Parameters
+
+##### crashlytics
+
+[`Crashlytics`](#crashlytics)
+
+A crashlytics instance.
+
+#### Returns
+
+`Promise`\<`boolean`\>
+
+Promise that resolves to a boolean indicating if there are unsent reports.
+
+***
+
+### crash()
+
+> **crash**(`crashlytics`): `void`
+
+Defined in: [modular.ts:91](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/modular.ts#L91)
+
+Cause your app to crash for testing purposes. This is a native crash and will not contain a javascript stack trace.
+Note that crashes are intercepted by debuggers on iOS so no report will be seen under those conditions. Additionally
+if it is a debug build you will need to ensure your firebase.json is configured to enable crashlytics even in debug mode.
+
+#### Example
+
+```js
+const crashlytics = getCrashlytics();
+crash(crashlytics);
+```
+
+#### Parameters
+
+##### crashlytics
+
+[`Crashlytics`](#crashlytics)
+
+A crashlytics instance.
+
+#### Returns
+
+`void`
+
+***
+
+### deleteUnsentReports()
+
+> **deleteUnsentReports**(`crashlytics`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/modular.ts#L51)
+
+Deletes any unsent reports on the device. This method only applies if automatic data collection is
+disabled.
+
+#### Example
+
+```js
+const crashlytics = getCrashlytics();
+deleteUnsentReports(crashlytics);
+```
+
+#### Parameters
+
+##### crashlytics
+
+[`Crashlytics`](#crashlytics)
+
+A crashlytics instance.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### didCrashOnPreviousExecution()
+
+> **didCrashOnPreviousExecution**(`crashlytics`): `Promise`\<`boolean`\>
+
+Defined in: [modular.ts:73](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/modular.ts#L73)
+
+Returns a boolean value indicating whether the app crashed during the previous execution.
+
+#### Example
+
+```js
+async didCrashPreviously() {
+// returns boolean value
+const crashlytics = getCrashlytics();
+const didCrash = await didCrashOnPreviousExecution(crashlytics);
+}
+
+didCrashPreviously();
+```
+
+#### Parameters
+
+##### crashlytics
+
+[`Crashlytics`](#crashlytics)
+
+A crashlytics instance.
+
+#### Returns
+
+`Promise`\<`boolean`\>
+
+Promise that resolves to a boolean indicating if the app crashed previously.
+
+***
+
+### getCrashlytics()
+
+> **getCrashlytics**(): [`Crashlytics`](#crashlytics)
+
+Defined in: [modular.ts:12](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/modular.ts#L12)
+
+Returns Crashlytics instance.
+#### Example
+```js
+const crashlytics = getCrashlytics();
+```
+
+#### Returns
+
+[`Crashlytics`](#crashlytics)
+
+***
+
+### log()
+
+> **log**(`crashlytics`, `message`): `void`
+
+Defined in: [modular.ts:109](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/modular.ts#L109)
+
+Log a message that will appear in any subsequent Crash or Non-fatal error reports.
+
+#### Example
+
+```js
+const crashlytics = getCrashlytics();
+log(crashlytics, 'Testing a crash');
+crash(crashlytics);
+```
+
+#### Parameters
+
+##### crashlytics
+
+[`Crashlytics`](#crashlytics)
+
+A crashlytics instance.
+
+##### message
+
+`string`
+
+The message to log.
+
+#### Returns
+
+`void`
+
+***
+
+### recordError()
+
+> **recordError**(`crashlytics`, `error`, `jsErrorName?`): `void`
+
+Defined in: [modular.ts:134](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/modular.ts#L134)
+
+Record a JavaScript Error.
+
+The JavaScript stack trace is converted into a mock native iOS or Android exception before submission.
+The line numbers in the stack trace (if available) will be relative to the javascript bundle built by your packager,
+after whatever transpilation or minimization steps happen. You will need to maintain sourcemaps to decode them if desired.
+
+#### Example
+
+```js
+const crashlytics = getCrashlytics();
+recordError(
+ crashlytics,
+ new Error('An error was caught')
+);
+```
+
+#### Parameters
+
+##### crashlytics
+
+[`Crashlytics`](#crashlytics)
+
+A crashlytics instance.
+
+##### error
+
+`Error`
+
+Expects an instance of Error; e.g. classes that extend Error will also be supported.
+
+##### jsErrorName?
+
+`string`
+
+Optional string containing Javascript error name
+
+#### Returns
+
+`void`
+
+***
+
+### sendUnsentReports()
+
+> **sendUnsentReports**(`crashlytics`): `void`
+
+Defined in: [modular.ts:151](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/modular.ts#L151)
+
+Enqueues any unsent reports on the device to upload to Crashlytics. This method only applies if
+automatic data collection is disabled.
+
+#### Example
+
+```js
+const crashlytics = getCrashlytics();
+sendUnsentReports(crashlytics);
+```
+
+#### Parameters
+
+##### crashlytics
+
+[`Crashlytics`](#crashlytics)
+
+A crashlytics instance.
+
+#### Returns
+
+`void`
+
+***
+
+### setAttribute()
+
+> **setAttribute**(`crashlytics`, `name`, `value`): `Promise`\<`null`\>
+
+Defined in: [modular.ts:196](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/modular.ts#L196)
+
+Sets a string value to be associated with the given attribute name which will be visible in the Firebase Crashlytics console.
+
+#### Example
+
+```js
+const crashlytics = getCrashlytics();
+await setAttribute(crashlytics, 'role', 'admin');
+```
+
+#### Parameters
+
+##### crashlytics
+
+[`Crashlytics`](#crashlytics)
+
+A crashlytics instance.
+
+##### name
+
+`string`
+
+The name of the attribute to set.
+
+##### value
+
+`string`
+
+A string value for the given attribute.
+
+#### Returns
+
+`Promise`\<`null`\>
+
+***
+
+### setAttributes()
+
+> **setAttributes**(`crashlytics`, `attributes`): `Promise`\<`null`\>
+
+Defined in: [modular.ts:216](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/modular.ts#L216)
+
+Like `setAttribute` but for multiple attributes.
+
+#### Example
+
+```js
+const crashlytics = getCrashlytics();
+await setAttributes(crashlytics, {
+ role: 'admin',
+ followers: '13',
+});
+```
+
+#### Parameters
+
+##### crashlytics
+
+[`Crashlytics`](#crashlytics)
+
+A crashlytics instance.
+
+##### attributes
+
+An object of key/value attribute name and values.
+
+#### Returns
+
+`Promise`\<`null`\>
+
+***
+
+### setCrashlyticsCollectionEnabled()
+
+> **setCrashlyticsCollectionEnabled**(`crashlytics`, `enabled`): `Promise`\<`null`\>
+
+Defined in: [modular.ts:239](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/modular.ts#L239)
+
+Enable/disable Crashlytics reporting.
+
+Use this for opt-in first user data collection flows combined with `firebase.json` settings to disable auto collection.
+
+#### Example
+
+```js
+const crashlytics = getCrashlytics();
+// Disable crash reporting
+await setCrashlyticsCollectionEnabled(crashlytics, false);
+```
+
+#### Parameters
+
+##### crashlytics
+
+[`Crashlytics`](#crashlytics)
+
+A crashlytics instance.
+
+##### enabled
+
+`boolean`
+
+A boolean value representing whether to enable Crashlytics error collection.
+
+#### Returns
+
+`Promise`\<`null`\>
+
+***
+
+### setUserId()
+
+> **setUserId**(`crashlytics`, `userId`): `Promise`\<`null`\>
+
+Defined in: [modular.ts:178](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/modular.ts#L178)
+
+Specify a user identifier which will be visible in the Firebase Crashlytics console.
+
+It is recommended for privacy purposes that this value be a value that's meaningless to a third-party
+observer; such as an arbitrary string that ties an end-user to a record in your system e.g. a database record id.
+
+#### Example
+
+```js
+const auth = getAuth();
+const crashlytics = getCrashlytics();
+// Custom user id
+await setUserId(crashlytics, '123456789');
+// Firebase auth uid
+await setUserId(
+ crashlytics,
+ auth.currentUser.uid
+);
+```
+
+#### Parameters
+
+##### crashlytics
+
+[`Crashlytics`](#crashlytics)
+
+A crashlytics instance.
+
+##### userId
+
+`string`
+
+An arbitrary string that ties an end-user to a record in your system e.g. a database record id.
+
+#### Returns
+
+`Promise`\<`null`\>
+
+## Interfaces
+
+### Crashlytics
+
+Defined in: [types/crashlytics.ts:25](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L25)
+
+Crashlytics module instance - returned from firebase.crashlytics() or firebase.app().crashlytics()
+
+#### Extends
+
+- [`FirebaseModule`](../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule)
+
+#### Methods
+
+##### checkForUnsentReports()
+
+> **checkForUnsentReports**(): `Promise`\<`boolean`\>
+
+Defined in: [types/crashlytics.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L40)
+
+Determines whether there are any unsent crash reports cached on the device.
+The callback only executes if automatic data collection is disabled.
+
+###### Returns
+
+`Promise`\<`boolean`\>
+
+###### Throws
+
+Error if Crashlytics collection is enabled (reports are automatically sent)
+
+##### crash()
+
+> **crash**(): `void`
+
+Defined in: [types/crashlytics.ts:46](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L46)
+
+Cause your app to crash for testing purposes. This is a native crash and will not contain a javascript stack trace.
+Note that crashes are intercepted by debuggers on iOS so no report will be seen under those conditions.
+
+###### Returns
+
+`void`
+
+##### deleteUnsentReports()
+
+> **deleteUnsentReports**(): `Promise`\<`void`\>
+
+Defined in: [types/crashlytics.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L51)
+
+Deletes any unsent reports on the device. This method only applies if automatic data collection is disabled.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### didCrashOnPreviousExecution()
+
+> **didCrashOnPreviousExecution**(): `Promise`\<`boolean`\>
+
+Defined in: [types/crashlytics.ts:56](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L56)
+
+Returns a boolean value indicating whether the app crashed during the previous execution.
+
+###### Returns
+
+`Promise`\<`boolean`\>
+
+##### log()
+
+> **log**(`message`): `void`
+
+Defined in: [types/crashlytics.ts:63](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L63)
+
+Log a message that will appear in any subsequent Crash or Non-fatal error reports.
+
+###### Parameters
+
+###### message
+
+`string`
+
+The message to log.
+
+###### Returns
+
+`void`
+
+##### recordError()
+
+> **recordError**(`error`, `jsErrorName?`): `void`
+
+Defined in: [types/crashlytics.ts:73](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L73)
+
+Record a JavaScript Error.
+
+The JavaScript stack trace is converted into a mock native iOS or Android exception before submission.
+
+###### Parameters
+
+###### error
+
+`Error`
+
+Expects an instance of Error; e.g. classes that extend Error will also be supported.
+
+###### jsErrorName?
+
+`string`
+
+Optional string containing Javascript error name
+
+###### Returns
+
+`void`
+
+##### sendUnsentReports()
+
+> **sendUnsentReports**(): `void`
+
+Defined in: [types/crashlytics.ts:79](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L79)
+
+Enqueues any unsent reports on the device to upload to Crashlytics. This method only applies if
+automatic data collection is disabled.
+
+###### Returns
+
+`void`
+
+##### setAttribute()
+
+> **setAttribute**(`name`, `value`): `Promise`\<`null`\>
+
+Defined in: [types/crashlytics.ts:87](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L87)
+
+Sets a string value to be associated with the given attribute name which will be visible in the Firebase Crashlytics console.
+
+###### Parameters
+
+###### name
+
+`string`
+
+The name of the attribute to set.
+
+###### value
+
+`string`
+
+A string value for the given attribute.
+
+###### Returns
+
+`Promise`\<`null`\>
+
+##### setAttributes()
+
+> **setAttributes**(`attributes`): `Promise`\<`null`\>
+
+Defined in: [types/crashlytics.ts:94](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L94)
+
+Like `setAttribute` but for multiple attributes.
+
+###### Parameters
+
+###### attributes
+
+An object of key/value attribute name and values.
+
+###### Returns
+
+`Promise`\<`null`\>
+
+##### setCrashlyticsCollectionEnabled()
+
+> **setCrashlyticsCollectionEnabled**(`enabled`): `Promise`\<`null`\>
+
+Defined in: [types/crashlytics.ts:113](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L113)
+
+Enable/disable Crashlytics reporting.
+
+Use this for opt-in first user data collection flows combined with `firebase.json` settings to disable auto collection.
+
+###### Parameters
+
+###### enabled
+
+`boolean`
+
+A boolean value representing whether to enable Crashlytics error collection.
+
+###### Returns
+
+`Promise`\<`null`\>
+
+##### setUserId()
+
+> **setUserId**(`userId`): `Promise`\<`null`\>
+
+Defined in: [types/crashlytics.ts:104](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L104)
+
+Specify a user identifier which will be visible in the Firebase Crashlytics console.
+
+It is recommended for privacy purposes that this value be a value that's meaningless to a third-party
+observer; such as an arbitrary string that ties an end-user to a record in your system e.g. a database record id.
+
+###### Parameters
+
+###### userId
+
+`string`
+
+An arbitrary string that ties an end-user to a record in your system e.g. a database record id.
+
+###### Returns
+
+`Promise`\<`null`\>
+
+#### Properties
+
+##### app
+
+> **app**: [`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+Defined in: [types/crashlytics.ts:27](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L27)
+
+The FirebaseApp this module is associated with
+
+###### Overrides
+
+[`FirebaseModule`](../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule).[`app`](../app/namespaces/ReactNativeFirebase.mdx#app)
+
+##### isCrashlyticsCollectionEnabled
+
+> `readonly` **isCrashlyticsCollectionEnabled**: `boolean`
+
+Defined in: [types/crashlytics.ts:32](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L32)
+
+Whether Crashlytics reporting is enabled.
+
+## Namespaces
+
+- [~~FirebaseCrashlyticsTypes~~](namespaces/FirebaseCrashlyticsTypes.mdx)
+
+## Variables
+
+### default
+
+> **default**: `CrashlyticsNamespace`
+
+Defined in: [namespaced.ts:185](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/namespaced.ts#L185)
+
+***
+
+### firebase
+
+> `const` **firebase**: [`FirebaseNamespacedExport`](../app/namespaces/ReactNativeFirebase.mdx#firebasenamespacedexport)\<`"crashlytics"`, [`Crashlytics`](#crashlytics), `Statics`, `false`\>
+
+Defined in: [namespaced.ts:190](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/namespaced.ts#L190)
+
+***
+
+### SDK\_VERSION
+
+> `const` **SDK\_VERSION**: `"24.0.0"` = `version`
+
+Defined in: [namespaced.ts:161](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/namespaced.ts#L161)
diff --git a/docs/reference/@react-native-firebase/crashlytics/namespaces/FirebaseCrashlyticsTypes.mdx b/docs/reference/@react-native-firebase/crashlytics/namespaces/FirebaseCrashlyticsTypes.mdx
new file mode 100644
index 0000000000..19de75c36e
--- /dev/null
+++ b/docs/reference/@react-native-firebase/crashlytics/namespaces/FirebaseCrashlyticsTypes.mdx
@@ -0,0 +1,28 @@
+[**React Native Firebase**](../../../README.mdx)
+
+***
+
+[React Native Firebase](../../../packages.mdx) / [@react-native-firebase/crashlytics](../README.mdx) / FirebaseCrashlyticsTypes
+
+# ~~FirebaseCrashlyticsTypes~~
+
+## Deprecated
+
+Use the exported types directly instead.
+FirebaseCrashlyticsTypes namespace is kept for backwards compatibility.
+
+## Type Aliases
+
+### ~~Module~~
+
+> **Module** = [`Crashlytics`](../README.mdx#crashlytics)
+
+Defined in: [types/crashlytics.ts:156](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L156)
+
+***
+
+### ~~Statics~~
+
+> **Statics** = `_Statics`
+
+Defined in: [types/crashlytics.ts:157](https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/lib/types/crashlytics.ts#L157)
diff --git a/docs/reference/@react-native-firebase/database.mdx b/docs/reference/@react-native-firebase/database.mdx
new file mode 100644
index 0000000000..ef4474a518
--- /dev/null
+++ b/docs/reference/@react-native-firebase/database.mdx
@@ -0,0 +1,7 @@
+[**React Native Firebase**](../README.mdx)
+
+***
+
+[React Native Firebase](../packages.mdx) / @react-native-firebase/database
+
+# @react-native-firebase/database
diff --git a/docs/reference/@react-native-firebase/firestore/README.mdx b/docs/reference/@react-native-firebase/firestore/README.mdx
new file mode 100644
index 0000000000..d32189c7e5
--- /dev/null
+++ b/docs/reference/@react-native-firebase/firestore/README.mdx
@@ -0,0 +1,12 @@
+[**React Native Firebase**](../../README.mdx)
+
+***
+
+[React Native Firebase](../../packages.mdx) / @react-native-firebase/firestore
+
+# @react-native-firebase/firestore
+
+## Modules
+
+- [index](../../index/@react-native-firebase/firestore/index.mdx)
+- [pipelines](pipelines.mdx)
diff --git a/docs/reference/@react-native-firebase/firestore/pipelines.mdx b/docs/reference/@react-native-firebase/firestore/pipelines.mdx
new file mode 100644
index 0000000000..3cb27a7a67
--- /dev/null
+++ b/docs/reference/@react-native-firebase/firestore/pipelines.mdx
@@ -0,0 +1,8722 @@
+[**React Native Firebase**](../../README.mdx)
+
+***
+
+[React Native Firebase](../../packages.mdx) / [@react-native-firebase/firestore](README.mdx) / pipelines
+
+# pipelines
+
+## Functions
+
+### abs()
+
+#### Call Signature
+
+> **abs**(`_expr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1297](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1297)
+
+**`Beta`**
+
+Absolute value of a numeric expression.
+
+##### Parameters
+
+###### \_expr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **abs**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1302](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1302)
+
+**`Beta`**
+
+Absolute value of a field.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### add()
+
+#### Call Signature
+
+> **add**(`_first`, `_second`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1139](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1139)
+
+**`Beta`**
+
+Creates an expression that adds two or more expressions together.
+
+##### Parameters
+
+###### \_first
+
+[`Expression`](#expression)
+
+###### \_second
+
+`unknown`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+A new Expression representing the addition operation.
+
+#### Call Signature
+
+> **add**(`_fieldName`, `_second`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1148](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1148)
+
+**`Beta`**
+
+Creates an expression that adds a field's value to an expression.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_second
+
+`unknown`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+A new Expression representing the addition operation.
+
+***
+
+### and()
+
+> **and**(`first`, `second`, ...`more`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:846](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L846)
+
+**`Beta`**
+
+Logical AND of boolean expressions.
+
+#### Parameters
+
+##### first
+
+[`BooleanExpression`](#booleanexpression)
+
+##### second
+
+[`BooleanExpression`](#booleanexpression)
+
+##### more
+
+...[`BooleanExpression`](#booleanexpression)[]
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### array()
+
+> **array**(`_elements`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1091](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1091)
+
+**`Beta`**
+
+Array expression.
+
+#### Parameters
+
+##### \_elements
+
+`unknown`[]
+
+#### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### arrayAgg()
+
+#### Call Signature
+
+> **arrayAgg**(`_expression`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1410](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1410)
+
+**`Beta`**
+
+Collects all values of an expression across stage inputs into an array (aggregate).
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+`Accumulator`
+
+#### Call Signature
+
+> **arrayAgg**(`_fieldName`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1411](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1411)
+
+**`Beta`**
+
+Collects all values of an expression across stage inputs into an array (aggregate).
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+`Accumulator`
+
+***
+
+### arrayAggDistinct()
+
+#### Call Signature
+
+> **arrayAggDistinct**(`_expression`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1569](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1569)
+
+**`Beta`**
+
+Collects distinct values of an expression across stage inputs into an array (aggregate).
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+`Accumulator`
+
+#### Call Signature
+
+> **arrayAggDistinct**(`_fieldName`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1570](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1570)
+
+**`Beta`**
+
+Collects distinct values of an expression across stage inputs into an array (aggregate).
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+`Accumulator`
+
+***
+
+### arrayConcat()
+
+#### Call Signature
+
+> **arrayConcat**(`_firstArray`, `_secondArray`, ...`_otherArrays`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1579](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1579)
+
+**`Beta`**
+
+Concatenates two or more arrays.
+
+##### Parameters
+
+###### \_firstArray
+
+[`Expression`](#expression)
+
+###### \_secondArray
+
+`unknown`[] \| [`Expression`](#expression)
+
+###### \_otherArrays
+
+...(`unknown`[] \| [`Expression`](#expression))[]
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **arrayConcat**(`_firstArrayField`, `_secondArray`, ...`_otherArrays`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1584](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1584)
+
+**`Beta`**
+
+Concatenates two or more arrays.
+
+##### Parameters
+
+###### \_firstArrayField
+
+`string`
+
+###### \_secondArray
+
+`unknown`[] \| [`Expression`](#expression)
+
+###### \_otherArrays
+
+...(`unknown`[] \| [`Expression`](#expression))[]
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### arrayContains()
+
+> **arrayContains**(`_arrayOrFieldName`, `_element`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:972](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L972)
+
+**`Beta`**
+
+Checks if an array contains an element.
+
+#### Parameters
+
+##### \_arrayOrFieldName
+
+[`Expression`](#expression)
+
+##### \_element
+
+[`Expression`](#expression)
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### arrayContainsAll()
+
+> **arrayContainsAll**(`_arrayOrFieldName`, `_values`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:994](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L994)
+
+**`Beta`**
+
+Checks if an array contains all of the given values.
+
+#### Parameters
+
+##### \_arrayOrFieldName
+
+[`Expression`](#expression)
+
+##### \_values
+
+`unknown`[]
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### arrayContainsAny()
+
+> **arrayContainsAny**(`_arrayOrFieldName`, `_values`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:983](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L983)
+
+**`Beta`**
+
+Checks if an array contains any of the given values.
+
+#### Parameters
+
+##### \_arrayOrFieldName
+
+[`Expression`](#expression)
+
+##### \_values
+
+`unknown`[]
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### arrayGet()
+
+#### Call Signature
+
+> **arrayGet**(`_arrayField`, `_offset`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1601](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1601)
+
+**`Beta`**
+
+Gets element at offset in an array field or expression.
+
+##### Parameters
+
+###### \_arrayField
+
+`string`
+
+###### \_offset
+
+`number`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **arrayGet**(`_arrayField`, `_offsetExpr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1602](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1602)
+
+**`Beta`**
+
+Gets element at offset in an array field or expression.
+
+##### Parameters
+
+###### \_arrayField
+
+`string`
+
+###### \_offsetExpr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **arrayGet**(`_arrayExpression`, `_offset`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1603](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1603)
+
+**`Beta`**
+
+Gets element at offset in an array field or expression.
+
+##### Parameters
+
+###### \_arrayExpression
+
+[`Expression`](#expression)
+
+###### \_offset
+
+`number`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **arrayGet**(`_arrayExpression`, `_offsetExpr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1604](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1604)
+
+**`Beta`**
+
+Gets element at offset in an array field or expression.
+
+##### Parameters
+
+###### \_arrayExpression
+
+[`Expression`](#expression)
+
+###### \_offsetExpr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### arrayLength()
+
+#### Call Signature
+
+> **arrayLength**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1616](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1616)
+
+**`Beta`**
+
+Length of an array (field or expression).
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **arrayLength**(`_array`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1617](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1617)
+
+**`Beta`**
+
+Length of an array (field or expression).
+
+##### Parameters
+
+###### \_array
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### arraySum()
+
+#### Call Signature
+
+> **arraySum**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1626](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1626)
+
+**`Beta`**
+
+Sum of numeric values in an array (aggregate-like for arrays).
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **arraySum**(`_expression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1627](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1627)
+
+**`Beta`**
+
+Sum of numeric values in an array (aggregate-like for arrays).
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### ascending()
+
+> **ascending**(`_expr`): `Ordering`
+
+Defined in: [pipelines/expressions.ts:1051](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1051)
+
+**`Beta`**
+
+Ascending ordering (standalone). Use in sort().
+
+#### Parameters
+
+##### \_expr
+
+[`Expression`](#expression)
+
+#### Returns
+
+`Ordering`
+
+***
+
+### average()
+
+#### Call Signature
+
+> **average**(`_expression`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1281](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1281)
+
+**`Beta`**
+
+Creates an aggregation that calculates the average (mean) of values from an expression.
+SDK name: average (avg is RN alias).
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+`Accumulator`
+
+#### Call Signature
+
+> **average**(`_fieldName`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1286](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1286)
+
+**`Beta`**
+
+Creates an aggregation that calculates the average (mean) of a field's values.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+`Accumulator`
+
+***
+
+### byteLength()
+
+#### Call Signature
+
+> **byteLength**(`_expr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1634](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1634)
+
+##### Parameters
+
+###### \_expr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **byteLength**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1635](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1635)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### ceil()
+
+#### Call Signature
+
+> **ceil**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1311](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1311)
+
+**`Beta`**
+
+Rounds up to the nearest integer.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **ceil**(`_expression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1312](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1312)
+
+**`Beta`**
+
+Rounds up to the nearest integer.
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### charLength()
+
+#### Call Signature
+
+> **charLength**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1640](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1640)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **charLength**(`_stringExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1641](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1641)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### collectionId()
+
+#### Call Signature
+
+> **collectionId**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1646](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1646)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **collectionId**(`_expression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1647](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1647)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### concat()
+
+#### Call Signature
+
+> **concat**(`_first`, `_second`, ...`_others`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1420](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1420)
+
+**`Beta`**
+
+Concatenates two or more expressions (e.g. strings or arrays).
+
+##### Parameters
+
+###### \_first
+
+[`Expression`](#expression)
+
+###### \_second
+
+`unknown`
+
+###### \_others
+
+...`unknown`[]
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **concat**(`_fieldName`, `_second`, ...`_others`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1425](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1425)
+
+**`Beta`**
+
+Concatenates two or more expressions (e.g. strings or arrays).
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_second
+
+`unknown`
+
+###### \_others
+
+...`unknown`[]
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### conditional()
+
+> **conditional**(`_condition`, `_thenExpr`, `_elseExpr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1368](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1368)
+
+**`Beta`**
+
+Conditional expression: if condition then thenExpr else elseExpr.
+
+#### Parameters
+
+##### \_condition
+
+[`BooleanExpression`](#booleanexpression)
+
+##### \_thenExpr
+
+[`Expression`](#expression)
+
+##### \_elseExpr
+
+[`Expression`](#expression)
+
+#### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### constant()
+
+#### Call Signature
+
+> **constant**(`_value`): [`Expression`](#expression)
+
+Defined in: [pipelines/expressions.ts:1104](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1104)
+
+**`Beta`**
+
+Creates a constant expression for a number value.
+
+##### Parameters
+
+###### \_value
+
+`number`
+
+##### Returns
+
+[`Expression`](#expression)
+
+#### Call Signature
+
+> **constant**(`_value`): [`Expression`](#expression)
+
+Defined in: [pipelines/expressions.ts:1109](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1109)
+
+**`Beta`**
+
+Creates a constant expression for a string value.
+
+##### Parameters
+
+###### \_value
+
+`string`
+
+##### Returns
+
+[`Expression`](#expression)
+
+#### Call Signature
+
+> **constant**(`_value`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1114](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1114)
+
+**`Beta`**
+
+Creates a constant boolean expression.
+
+##### Parameters
+
+###### \_value
+
+`boolean`
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **constant**(`_value`): [`Expression`](#expression)
+
+Defined in: [pipelines/expressions.ts:1119](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1119)
+
+**`Beta`**
+
+Creates a constant expression for null.
+
+##### Parameters
+
+###### \_value
+
+`null`
+
+##### Returns
+
+[`Expression`](#expression)
+
+#### Call Signature
+
+> **constant**(`_value`): [`Expression`](#expression)
+
+Defined in: [pipelines/expressions.ts:1124](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1124)
+
+**`Beta`**
+
+Creates a constant expression for a value (e.g. GeoPoint, Timestamp, Date, Bytes, DocumentReference, VectorValue).
+
+##### Parameters
+
+###### \_value
+
+`unknown`
+
+##### Returns
+
+[`Expression`](#expression)
+
+***
+
+### cosineDistance()
+
+#### Call Signature
+
+> **cosineDistance**(`_fieldName`, `_vector`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1749](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1749)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_vector
+
+`number`[] \| [`VectorValue`](../../index/@react-native-firebase/firestore/index.mdx#vectorvalue)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **cosineDistance**(`_fieldName`, `_vectorExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1753](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1753)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_vectorExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **cosineDistance**(`_vectorExpression`, `_vector`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1757](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1757)
+
+##### Parameters
+
+###### \_vectorExpression
+
+[`Expression`](#expression)
+
+###### \_vector
+
+`number`[] \| [`VectorValue`](../../index/@react-native-firebase/firestore/index.mdx#vectorvalue)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **cosineDistance**(`_vectorExpression`, `_otherVectorExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1761](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1761)
+
+##### Parameters
+
+###### \_vectorExpression
+
+[`Expression`](#expression)
+
+###### \_otherVectorExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### count()
+
+#### Call Signature
+
+> **count**(`_expression`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1266](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1266)
+
+**`Beta`**
+
+Creates an aggregation that counts stage inputs with valid evaluations of the expression.
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+`Accumulator`
+
+#### Call Signature
+
+> **count**(`_fieldName`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1271](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1271)
+
+**`Beta`**
+
+Creates an aggregation that counts stage inputs where the field exists.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+`Accumulator`
+
+***
+
+### countAll()
+
+> **countAll**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1075](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1075)
+
+**`Beta`**
+
+Count-all aggregation (e.g. countAll().as('total')).
+
+#### Returns
+
+`Accumulator`
+
+***
+
+### countDistinct()
+
+> **countDistinct**(`_expr`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1380](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1380)
+
+**`Beta`**
+
+Count distinct values of an expression or field.
+
+#### Parameters
+
+##### \_expr
+
+[`Expression`](#expression)
+
+#### Returns
+
+`Accumulator`
+
+***
+
+### countIf()
+
+> **countIf**(`_booleanExpr`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1652](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1652)
+
+#### Parameters
+
+##### \_booleanExpr
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Returns
+
+`Accumulator`
+
+***
+
+### currentTimestamp()
+
+> **currentTimestamp**(): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1452](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1452)
+
+**`Beta`**
+
+Server timestamp at execution time.
+
+#### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### descending()
+
+> **descending**(`_expr`): `Ordering`
+
+Defined in: [pipelines/expressions.ts:1059](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1059)
+
+**`Beta`**
+
+Descending ordering (standalone). Use in sort().
+
+#### Parameters
+
+##### \_expr
+
+[`Expression`](#expression)
+
+#### Returns
+
+`Ordering`
+
+***
+
+### divide()
+
+#### Call Signature
+
+> **divide**(`_left`, `_right`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1189](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1189)
+
+**`Beta`**
+
+Creates an expression that divides the first by the second.
+
+##### Parameters
+
+###### \_left
+
+[`Expression`](#expression)
+
+###### \_right
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **divide**(`_expression`, `_value`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1194](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1194)
+
+**`Beta`**
+
+Creates an expression that divides an expression by a constant value.
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_value
+
+`unknown`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **divide**(`_fieldName`, `_expression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1199](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1199)
+
+**`Beta`**
+
+Creates an expression that divides a field's value by an expression.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **divide**(`_fieldName`, `_value`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1204](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1204)
+
+**`Beta`**
+
+Creates an expression that divides a field's value by a constant.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_value
+
+`unknown`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### documentId()
+
+#### Call Signature
+
+> **documentId**(`_documentPath`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1236](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1236)
+
+**`Beta`**
+
+Creates an expression that evaluates to the document ID (and optionally path).
+
+##### Parameters
+
+###### \_documentPath
+
+`string` \| [`DocumentReference`](../../index/@react-native-firebase/firestore/index.mdx#documentreference)\<[`DocumentData`](../../index/@react-native-firebase/firestore/index.mdx#documentdata), [`DocumentData`](../../index/@react-native-firebase/firestore/index.mdx#documentdata)\>
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+A new Expression representing the document ID.
+
+#### Call Signature
+
+> **documentId**(`_documentPathExpr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1241](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1241)
+
+**`Beta`**
+
+Creates an expression that evaluates to the document ID from a path expression.
+
+##### Parameters
+
+###### \_documentPathExpr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### dotProduct()
+
+#### Call Signature
+
+> **dotProduct**(`_fieldName`, `_vector`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1772](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1772)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_vector
+
+`number`[] \| [`VectorValue`](../../index/@react-native-firebase/firestore/index.mdx#vectorvalue)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **dotProduct**(`_fieldName`, `_vectorExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1773](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1773)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_vectorExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **dotProduct**(`_vectorExpression`, `_vector`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1774](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1774)
+
+##### Parameters
+
+###### \_vectorExpression
+
+[`Expression`](#expression)
+
+###### \_vector
+
+`number`[] \| [`VectorValue`](../../index/@react-native-firebase/firestore/index.mdx#vectorvalue)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **dotProduct**(`_vectorExpression`, `_otherVectorExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1778](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1778)
+
+##### Parameters
+
+###### \_vectorExpression
+
+[`Expression`](#expression)
+
+###### \_otherVectorExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### endsWith()
+
+#### Call Signature
+
+> **endsWith**(`_stringOrFieldName`, `_suffix`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1021](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1021)
+
+**`Beta`**
+
+Checks if a string ends with a suffix.
+
+##### Parameters
+
+###### \_stringOrFieldName
+
+`string`
+
+###### \_suffix
+
+`string`
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **endsWith**(`_stringOrFieldName`, `_suffix`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1022](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1022)
+
+**`Beta`**
+
+Checks if a string ends with a suffix.
+
+##### Parameters
+
+###### \_stringOrFieldName
+
+[`Expression`](#expression)
+
+###### \_suffix
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### equal()
+
+> **equal**(`_left`, `_right`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:900](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L900)
+
+**`Beta`**
+
+Equality comparison (alias for eq).
+
+#### Parameters
+
+##### \_left
+
+[`Expression`](#expression)
+
+##### \_right
+
+[`Expression`](#expression)
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### equalAny()
+
+#### Call Signature
+
+> **equalAny**(`_expression`, `_values`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1789](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1789)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_values
+
+`unknown`[]
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **equalAny**(`_expression`, `_arrayExpression`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1793](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1793)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_arrayExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **equalAny**(`_fieldName`, `_values`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1794](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1794)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_values
+
+`unknown`[]
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **equalAny**(`_fieldName`, `_arrayExpression`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1798](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1798)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_arrayExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### euclideanDistance()
+
+#### Call Signature
+
+> **euclideanDistance**(`_fieldName`, `_vector`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1806](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1806)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_vector
+
+`number`[] \| [`VectorValue`](../../index/@react-native-firebase/firestore/index.mdx#vectorvalue)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **euclideanDistance**(`_fieldName`, `_vectorExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1810](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1810)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_vectorExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **euclideanDistance**(`_vectorExpression`, `_vector`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1814](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1814)
+
+##### Parameters
+
+###### \_vectorExpression
+
+[`Expression`](#expression)
+
+###### \_vector
+
+`number`[] \| [`VectorValue`](../../index/@react-native-firebase/firestore/index.mdx#vectorvalue)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **euclideanDistance**(`_vectorExpression`, `_otherVectorExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1818](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1818)
+
+##### Parameters
+
+###### \_vectorExpression
+
+[`Expression`](#expression)
+
+###### \_otherVectorExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### execute()
+
+#### Call Signature
+
+> **execute**(`pipeline`): `Promise`\<[`PipelineSnapshot`](#pipelinesnapshot)\<[`DocumentData`](../../index/@react-native-firebase/firestore/index.mdx#documentdata)\>\>
+
+Defined in: [pipelines/pipeline\_impl.ts:34](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline_impl.ts#L34)
+
+**`Beta`**
+
+Executes a pipeline and returns a Promise that resolves to the pipeline snapshot.
+
+##### Parameters
+
+###### pipeline
+
+[`Pipeline`](#pipeline)
+
+##### Returns
+
+`Promise`\<[`PipelineSnapshot`](#pipelinesnapshot)\<[`DocumentData`](../../index/@react-native-firebase/firestore/index.mdx#documentdata)\>\>
+
+##### Example
+
+```
+const snapshot = await execute(
+ firestore.pipeline().collection('books').where(gt(field('rating'), 4.5)).select('title', 'author', 'rating')
+);
+```
+
+#### Call Signature
+
+> **execute**(`options`): `Promise`\<[`PipelineSnapshot`](#pipelinesnapshot)\<[`DocumentData`](../../index/@react-native-firebase/firestore/index.mdx#documentdata)\>\>
+
+Defined in: [pipelines/pipeline\_impl.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline_impl.ts#L40)
+
+**`Beta`**
+
+Executes a pipeline with options.
+
+##### Parameters
+
+###### options
+
+[`PipelineExecuteOptions`](#pipelineexecuteoptions)
+
+##### Returns
+
+`Promise`\<[`PipelineSnapshot`](#pipelinesnapshot)\<[`DocumentData`](../../index/@react-native-firebase/firestore/index.mdx#documentdata)\>\>
+
+***
+
+### exists()
+
+> **exists**(`_valueOrFieldName`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:964](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L964)
+
+**`Beta`**
+
+Checks if a field exists (or expression evaluates to a value).
+
+#### Parameters
+
+##### \_valueOrFieldName
+
+[`Expression`](#expression)
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### exp()
+
+#### Call Signature
+
+> **exp**(`_expression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1656](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1656)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **exp**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1657](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1657)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### field()
+
+> **field**(`_path`): [`Field`](#field)
+
+Defined in: [pipelines/expressions.ts:838](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L838)
+
+**`Beta`**
+
+Returns a Field reference for use in pipeline expressions.
+
+#### Parameters
+
+##### \_path
+
+`string`
+
+#### Returns
+
+[`Field`](#field)
+
+***
+
+### first()
+
+#### Call Signature
+
+> **first**(`_expression`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1388](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1388)
+
+**`Beta`**
+
+First value of the expression in each group (aggregate).
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+`Accumulator`
+
+#### Call Signature
+
+> **first**(`_fieldName`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1389](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1389)
+
+**`Beta`**
+
+First value of the expression in each group (aggregate).
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+`Accumulator`
+
+***
+
+### floor()
+
+#### Call Signature
+
+> **floor**(`_expr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1321](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1321)
+
+**`Beta`**
+
+Rounds down to the nearest integer.
+
+##### Parameters
+
+###### \_expr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **floor**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1322](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1322)
+
+**`Beta`**
+
+Rounds down to the nearest integer.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### greaterThan()
+
+> **greaterThan**(`_left`, `_right`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:884](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L884)
+
+**`Beta`**
+
+Greater-than comparison (alias for gt).
+
+#### Parameters
+
+##### \_left
+
+[`Expression`](#expression)
+
+##### \_right
+
+[`Expression`](#expression)
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### greaterThanOrEqual()
+
+> **greaterThanOrEqual**(`_left`, `_right`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:956](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L956)
+
+**`Beta`**
+
+Greater-than-or-equal comparison (alias for gte).
+
+#### Parameters
+
+##### \_left
+
+[`Expression`](#expression)
+
+##### \_right
+
+[`Expression`](#expression)
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### ifAbsent()
+
+#### Call Signature
+
+> **ifAbsent**(`_ifExpr`, `_elseExpr`): [`Expression`](#expression)
+
+Defined in: [pipelines/expressions.ts:1468](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1468)
+
+**`Beta`**
+
+If ifExpr is present use it, else use elseExpr/elseValue.
+
+##### Parameters
+
+###### \_ifExpr
+
+[`Expression`](#expression)
+
+###### \_elseExpr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`Expression`](#expression)
+
+#### Call Signature
+
+> **ifAbsent**(`_ifExpr`, `_elseValue`): [`Expression`](#expression)
+
+Defined in: [pipelines/expressions.ts:1469](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1469)
+
+**`Beta`**
+
+If ifExpr is present use it, else use elseExpr/elseValue.
+
+##### Parameters
+
+###### \_ifExpr
+
+[`Expression`](#expression)
+
+###### \_elseValue
+
+`unknown`
+
+##### Returns
+
+[`Expression`](#expression)
+
+#### Call Signature
+
+> **ifAbsent**(`_ifFieldName`, `_elseExpr`): [`Expression`](#expression)
+
+Defined in: [pipelines/expressions.ts:1470](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1470)
+
+**`Beta`**
+
+If ifExpr is present use it, else use elseExpr/elseValue.
+
+##### Parameters
+
+###### \_ifFieldName
+
+`string`
+
+###### \_elseExpr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`Expression`](#expression)
+
+#### Call Signature
+
+> **ifAbsent**(`_ifFieldName`, `_elseValue`): [`Expression`](#expression)
+
+Defined in: [pipelines/expressions.ts:1471](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1471)
+
+**`Beta`**
+
+If ifExpr is present use it, else use elseExpr/elseValue.
+
+##### Parameters
+
+###### \_ifFieldName
+
+[`Expression`](#expression)
+
+###### \_elseValue
+
+`unknown`
+
+##### Returns
+
+[`Expression`](#expression)
+
+***
+
+### ifError()
+
+#### Call Signature
+
+> **ifError**(`_tryExpr`, `_catchExpr`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1486](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1486)
+
+**`Beta`**
+
+If tryExpr errors, return catchExpr/catchValue (error handling expression).
+
+##### Parameters
+
+###### \_tryExpr
+
+[`BooleanExpression`](#booleanexpression)
+
+###### \_catchExpr
+
+[`BooleanExpression`](#booleanexpression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **ifError**(`_tryExpr`, `_catchExpr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1490](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1490)
+
+**`Beta`**
+
+If tryExpr errors, return catchExpr/catchValue (error handling expression).
+
+##### Parameters
+
+###### \_tryExpr
+
+[`Expression`](#expression)
+
+###### \_catchExpr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **ifError**(`_tryExpr`, `_catchValue`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1491](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1491)
+
+**`Beta`**
+
+If tryExpr errors, return catchExpr/catchValue (error handling expression).
+
+##### Parameters
+
+###### \_tryExpr
+
+[`Expression`](#expression)
+
+###### \_catchValue
+
+`unknown`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### isAbsent()
+
+#### Call Signature
+
+> **isAbsent**(`_value`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1829](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1829)
+
+##### Parameters
+
+###### \_value
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **isAbsent**(`_field`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1830](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1830)
+
+##### Parameters
+
+###### \_field
+
+`string`
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### isError()
+
+> **isError**(`_value`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1835](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1835)
+
+#### Parameters
+
+##### \_value
+
+[`Expression`](#expression)
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### isType()
+
+#### Call Signature
+
+> **isType**(`_fieldName`, `_type`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1839](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1839)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_type
+
+[`Type`](#type)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **isType**(`_expression`, `_type`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1840](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1840)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_type
+
+[`Type`](#type)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### join()
+
+#### Call Signature
+
+> **join**(`_arrayFieldName`, `_delimiter`): [`Expression`](#expression)
+
+Defined in: [pipelines/expressions.ts:1662](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1662)
+
+##### Parameters
+
+###### \_arrayFieldName
+
+`string`
+
+###### \_delimiter
+
+`string`
+
+##### Returns
+
+[`Expression`](#expression)
+
+#### Call Signature
+
+> **join**(`_arrayExpression`, `_delimiterExpression`): [`Expression`](#expression)
+
+Defined in: [pipelines/expressions.ts:1663](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1663)
+
+##### Parameters
+
+###### \_arrayExpression
+
+[`Expression`](#expression)
+
+###### \_delimiterExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`Expression`](#expression)
+
+#### Call Signature
+
+> **join**(`_arrayExpression`, `_delimiter`): [`Expression`](#expression)
+
+Defined in: [pipelines/expressions.ts:1664](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1664)
+
+##### Parameters
+
+###### \_arrayExpression
+
+[`Expression`](#expression)
+
+###### \_delimiter
+
+`string`
+
+##### Returns
+
+[`Expression`](#expression)
+
+#### Call Signature
+
+> **join**(`_arrayFieldName`, `_delimiterExpression`): [`Expression`](#expression)
+
+Defined in: [pipelines/expressions.ts:1665](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1665)
+
+##### Parameters
+
+###### \_arrayFieldName
+
+`string`
+
+###### \_delimiterExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`Expression`](#expression)
+
+***
+
+### last()
+
+#### Call Signature
+
+> **last**(`_expression`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1398](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1398)
+
+**`Beta`**
+
+Last value of the expression in each group (aggregate).
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+`Accumulator`
+
+#### Call Signature
+
+> **last**(`_fieldName`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1399](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1399)
+
+**`Beta`**
+
+Last value of the expression in each group (aggregate).
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+`Accumulator`
+
+***
+
+### length()
+
+#### Call Signature
+
+> **length**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2317](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2317)
+
+**`Beta`**
+
+Length of string, array, map, vector, or bytes (field or expression).
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **length**(`_expression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2318](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2318)
+
+**`Beta`**
+
+Length of string, array, map, vector, or bytes (field or expression).
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### lessThan()
+
+> **lessThan**(`_left`, `_right`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:932](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L932)
+
+**`Beta`**
+
+Less-than comparison (alias for lt).
+
+#### Parameters
+
+##### \_left
+
+[`Expression`](#expression)
+
+##### \_right
+
+[`Expression`](#expression)
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### lessThanOrEqual()
+
+> **lessThanOrEqual**(`_left`, `_right`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:948](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L948)
+
+**`Beta`**
+
+Less-than-or-equal comparison (alias for lte).
+
+#### Parameters
+
+##### \_left
+
+[`Expression`](#expression)
+
+##### \_right
+
+[`Expression`](#expression)
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### like()
+
+#### Call Signature
+
+> **like**(`_fieldName`, `_pattern`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1673](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1673)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_pattern
+
+`string`
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **like**(`_fieldName`, `_pattern`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1674](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1674)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_pattern
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **like**(`_stringExpression`, `_pattern`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1675](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1675)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+###### \_pattern
+
+`string`
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **like**(`_stringExpression`, `_pattern`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1676](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1676)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+###### \_pattern
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### ln()
+
+#### Call Signature
+
+> **ln**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1684](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1684)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **ln**(`_expression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1685](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1685)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### log()
+
+#### Call Signature
+
+> **log**(`_expression`, `_base`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1690](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1690)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_base
+
+`number`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **log**(`_expression`, `_base`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1691](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1691)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_base
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **log**(`_fieldName`, `_base`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1692](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1692)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_base
+
+`number`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **log**(`_fieldName`, `_base`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1693](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1693)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_base
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### log10()
+
+#### Call Signature
+
+> **log10**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1701](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1701)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **log10**(`_expression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1702](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1702)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### logicalMaximum()
+
+#### Call Signature
+
+> **logicalMaximum**(`_first`, `_second`, ...`_others`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1845](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1845)
+
+##### Parameters
+
+###### \_first
+
+[`Expression`](#expression)
+
+###### \_second
+
+`unknown`
+
+###### \_others
+
+...`unknown`[]
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **logicalMaximum**(`_fieldName`, `_second`, ...`_others`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1850](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1850)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_second
+
+`unknown`
+
+###### \_others
+
+...`unknown`[]
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### logicalMinimum()
+
+#### Call Signature
+
+> **logicalMinimum**(`_first`, `_second`, ...`_others`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1863](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1863)
+
+##### Parameters
+
+###### \_first
+
+[`Expression`](#expression)
+
+###### \_second
+
+`unknown`
+
+###### \_others
+
+...`unknown`[]
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **logicalMinimum**(`_fieldName`, `_second`, ...`_others`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1868](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1868)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_second
+
+`unknown`
+
+###### \_others
+
+...`unknown`[]
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### ltrim()
+
+#### Call Signature
+
+> **ltrim**(`_fieldName`, `_valueToTrim?`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1881](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1881)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_valueToTrim?
+
+[`Bytes`](../../index/@react-native-firebase/firestore/index.mdx#bytes) \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **ltrim**(`_expression`, `_valueToTrim?`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1885](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1885)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_valueToTrim?
+
+[`Bytes`](../../index/@react-native-firebase/firestore/index.mdx#bytes) \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### map()
+
+> **map**(`_entries`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1083](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1083)
+
+**`Beta`**
+
+Map expression for replaceWith etc.
+
+#### Parameters
+
+##### \_entries
+
+`Record`\<`string`, `unknown`\>
+
+#### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### mapEntries()
+
+#### Call Signature
+
+> **mapEntries**(`_mapField`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1952](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1952)
+
+##### Parameters
+
+###### \_mapField
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **mapEntries**(`_mapExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1953](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1953)
+
+##### Parameters
+
+###### \_mapExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### mapGet()
+
+#### Call Signature
+
+> **mapGet**(`_fieldName`, `_subField`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1958](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1958)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_subField
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **mapGet**(`_mapExpression`, `_subField`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1959](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1959)
+
+##### Parameters
+
+###### \_mapExpression
+
+[`Expression`](#expression)
+
+###### \_subField
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### mapKeys()
+
+#### Call Signature
+
+> **mapKeys**(`_mapField`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1964](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1964)
+
+##### Parameters
+
+###### \_mapField
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **mapKeys**(`_mapExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1965](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1965)
+
+##### Parameters
+
+###### \_mapExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### mapMerge()
+
+#### Call Signature
+
+> **mapMerge**(`_mapField`, `_secondMap`, ...`_otherMaps`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1970](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1970)
+
+##### Parameters
+
+###### \_mapField
+
+`string`
+
+###### \_secondMap
+
+`Record`\<`string`, `unknown`\> \| [`Expression`](#expression)
+
+###### \_otherMaps
+
+...(`Record`\<`string`, `unknown`\> \| [`Expression`](#expression))[]
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **mapMerge**(`_firstMap`, `_secondMap`, ...`_otherMaps`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1975](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1975)
+
+##### Parameters
+
+###### \_firstMap
+
+`Record`\<`string`, `unknown`\> \| [`Expression`](#expression)
+
+###### \_secondMap
+
+`Record`\<`string`, `unknown`\> \| [`Expression`](#expression)
+
+###### \_otherMaps
+
+...(`Record`\<`string`, `unknown`\> \| [`Expression`](#expression))[]
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### mapRemove()
+
+#### Call Signature
+
+> **mapRemove**(`_mapField`, `_key`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1988](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1988)
+
+##### Parameters
+
+###### \_mapField
+
+`string`
+
+###### \_key
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **mapRemove**(`_mapExpr`, `_key`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1989](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1989)
+
+##### Parameters
+
+###### \_mapExpr
+
+[`Expression`](#expression)
+
+###### \_key
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **mapRemove**(`_mapField`, `_keyExpr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1990](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1990)
+
+##### Parameters
+
+###### \_mapField
+
+`string`
+
+###### \_keyExpr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **mapRemove**(`_mapExpr`, `_keyExpr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1991](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1991)
+
+##### Parameters
+
+###### \_mapExpr
+
+[`Expression`](#expression)
+
+###### \_keyExpr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### mapSet()
+
+#### Call Signature
+
+> **mapSet**(`_mapField`, `_key`, `_value`, ...`_moreKeyValues`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1999](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1999)
+
+##### Parameters
+
+###### \_mapField
+
+`string`
+
+###### \_key
+
+[`Expression`](#expression)
+
+###### \_value
+
+`unknown`
+
+###### \_moreKeyValues
+
+...`unknown`[]
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **mapSet**(`_mapExpression`, `_key`, `_value`, ...`_moreKeyValues`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2005](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2005)
+
+##### Parameters
+
+###### \_mapExpression
+
+[`Expression`](#expression)
+
+###### \_key
+
+[`Expression`](#expression)
+
+###### \_value
+
+`unknown`
+
+###### \_moreKeyValues
+
+...`unknown`[]
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### mapValues()
+
+#### Call Signature
+
+> **mapValues**(`_mapField`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2020](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2020)
+
+##### Parameters
+
+###### \_mapField
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **mapValues**(`_mapExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2021](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2021)
+
+##### Parameters
+
+###### \_mapExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### maximum()
+
+#### Call Signature
+
+> **maximum**(`_expression`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1707](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1707)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+`Accumulator`
+
+#### Call Signature
+
+> **maximum**(`_fieldName`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1708](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1708)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+`Accumulator`
+
+***
+
+### minimum()
+
+#### Call Signature
+
+> **minimum**(`_expression`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1713](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1713)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+`Accumulator`
+
+#### Call Signature
+
+> **minimum**(`_fieldName`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1714](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1714)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+`Accumulator`
+
+***
+
+### mod()
+
+#### Call Signature
+
+> **mod**(`_left`, `_right`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1331](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1331)
+
+**`Beta`**
+
+Remainder (modulo) of left divided by right.
+
+##### Parameters
+
+###### \_left
+
+[`Expression`](#expression)
+
+###### \_right
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **mod**(`_expression`, `_value`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1332](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1332)
+
+**`Beta`**
+
+Remainder (modulo) of left divided by right.
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_value
+
+`unknown`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **mod**(`_fieldName`, `_expression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1333](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1333)
+
+**`Beta`**
+
+Remainder (modulo) of left divided by right.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **mod**(`_fieldName`, `_value`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1334](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1334)
+
+**`Beta`**
+
+Remainder (modulo) of left divided by right.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_value
+
+`unknown`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### multiply()
+
+#### Call Signature
+
+> **multiply**(`_first`, `_second`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1216](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1216)
+
+**`Beta`**
+
+Creates an expression that multiplies two or more expressions.
+
+##### Parameters
+
+###### \_first
+
+[`Expression`](#expression)
+
+###### \_second
+
+`unknown`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **multiply**(`_fieldName`, `_second`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1221](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1221)
+
+**`Beta`**
+
+Creates an expression that multiplies a field's value by an expression or literal.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_second
+
+`unknown`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### not()
+
+> **not**(`_booleanExpr`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1460](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1460)
+
+**`Beta`**
+
+Logical NOT of a boolean expression.
+
+#### Parameters
+
+##### \_booleanExpr
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### notEqual()
+
+> **notEqual**(`_left`, `_right`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:908](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L908)
+
+**`Beta`**
+
+Inequality comparison.
+
+#### Parameters
+
+##### \_left
+
+[`Expression`](#expression)
+
+##### \_right
+
+[`Expression`](#expression)
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### notEqualAny()
+
+#### Call Signature
+
+> **notEqualAny**(`_element`, `_values`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1896](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1896)
+
+##### Parameters
+
+###### \_element
+
+[`Expression`](#expression)
+
+###### \_values
+
+`unknown`[]
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **notEqualAny**(`_fieldName`, `_values`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1900](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1900)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_values
+
+`unknown`[]
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **notEqualAny**(`_element`, `_arrayExpression`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1904](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1904)
+
+##### Parameters
+
+###### \_element
+
+[`Expression`](#expression)
+
+###### \_arrayExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **notEqualAny**(`_fieldName`, `_arrayExpression`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1905](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1905)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_arrayExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### or()
+
+> **or**(`first`, `second`, ...`more`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:861](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L861)
+
+**`Beta`**
+
+Logical OR of boolean expressions.
+
+#### Parameters
+
+##### first
+
+[`BooleanExpression`](#booleanexpression)
+
+##### second
+
+[`BooleanExpression`](#booleanexpression)
+
+##### more
+
+...[`BooleanExpression`](#booleanexpression)[]
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### pipelineResultEqual()
+
+> **pipelineResultEqual**(`left`, `right`): `boolean`
+
+Defined in: [pipelines/pipeline-result.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-result.ts#L49)
+
+**`Beta`**
+
+Compares two pipeline results for equality.
+
+#### Parameters
+
+##### left
+
+[`PipelineResult`](#pipelineresult)
+
+##### right
+
+[`PipelineResult`](#pipelineresult)
+
+#### Returns
+
+`boolean`
+
+***
+
+### pow()
+
+#### Call Signature
+
+> **pow**(`_base`, `_exponent`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1719](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1719)
+
+##### Parameters
+
+###### \_base
+
+[`Expression`](#expression)
+
+###### \_exponent
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **pow**(`_base`, `_exponent`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1720](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1720)
+
+##### Parameters
+
+###### \_base
+
+[`Expression`](#expression)
+
+###### \_exponent
+
+`number`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **pow**(`_base`, `_exponent`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1721](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1721)
+
+##### Parameters
+
+###### \_base
+
+`string`
+
+###### \_exponent
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **pow**(`_base`, `_exponent`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1722](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1722)
+
+##### Parameters
+
+###### \_base
+
+`string`
+
+###### \_exponent
+
+`number`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### rand()
+
+> **rand**(): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1913](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1913)
+
+#### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### regexContains()
+
+#### Call Signature
+
+> **regexContains**(`_fieldName`, `_pattern`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:2026](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2026)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_pattern
+
+`string`
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **regexContains**(`_fieldName`, `_pattern`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:2027](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2027)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_pattern
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **regexContains**(`_stringExpression`, `_pattern`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:2028](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2028)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+###### \_pattern
+
+`string`
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **regexContains**(`_stringExpression`, `_pattern`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:2029](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2029)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+###### \_pattern
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### regexFind()
+
+#### Call Signature
+
+> **regexFind**(`_fieldName`, `_pattern`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2040](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2040)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_pattern
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **regexFind**(`_fieldName`, `_pattern`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2041](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2041)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_pattern
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **regexFind**(`_stringExpression`, `_pattern`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2042](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2042)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+###### \_pattern
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **regexFind**(`_stringExpression`, `_pattern`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2043](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2043)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+###### \_pattern
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### regexFindAll()
+
+#### Call Signature
+
+> **regexFindAll**(`_fieldName`, `_pattern`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2051](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2051)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_pattern
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **regexFindAll**(`_fieldName`, `_pattern`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2052](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2052)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_pattern
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **regexFindAll**(`_stringExpression`, `_pattern`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2053](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2053)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+###### \_pattern
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **regexFindAll**(`_stringExpression`, `_pattern`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2054](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2054)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+###### \_pattern
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### regexMatch()
+
+#### Call Signature
+
+> **regexMatch**(`_fieldName`, `_pattern`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:2065](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2065)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_pattern
+
+`string`
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **regexMatch**(`_fieldName`, `_pattern`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:2066](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2066)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_pattern
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **regexMatch**(`_stringExpression`, `_pattern`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:2067](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2067)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+###### \_pattern
+
+`string`
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **regexMatch**(`_stringExpression`, `_pattern`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:2068](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2068)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+###### \_pattern
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### reverse()
+
+#### Call Signature
+
+> **reverse**(`_stringExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1730](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1730)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **reverse**(`_field`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1731](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1731)
+
+##### Parameters
+
+###### \_field
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### round()
+
+#### Call Signature
+
+> **round**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1346](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1346)
+
+**`Beta`**
+
+Rounds to the nearest integer (or to decimalPlaces when provided).
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **round**(`_expression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1347](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1347)
+
+**`Beta`**
+
+Rounds to the nearest integer (or to decimalPlaces when provided).
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **round**(`_expression`, `_decimalPlaces`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1352](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1352)
+
+**`Beta`**
+
+Rounds to the given number of decimal places.
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_decimalPlaces
+
+`number` \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **round**(`_fieldName`, `_decimalPlaces`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1356](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1356)
+
+**`Beta`**
+
+Rounds to the nearest integer (or to decimalPlaces when provided).
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_decimalPlaces
+
+`number` \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### rtrim()
+
+#### Call Signature
+
+> **rtrim**(`_fieldName`, `_valueToTrim?`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1917](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1917)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_valueToTrim?
+
+[`Bytes`](../../index/@react-native-firebase/firestore/index.mdx#bytes) \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **rtrim**(`_expression`, `_valueToTrim?`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1921](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1921)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_valueToTrim?
+
+[`Bytes`](../../index/@react-native-firebase/firestore/index.mdx#bytes) \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### split()
+
+#### Call Signature
+
+> **split**(`_fieldName`, `_delimiter`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1736](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1736)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_delimiter
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **split**(`_fieldName`, `_delimiter`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1737](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1737)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_delimiter
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **split**(`_expression`, `_delimiter`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1738](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1738)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_delimiter
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **split**(`_expression`, `_delimiter`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1739](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1739)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_delimiter
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### sqrt()
+
+#### Call Signature
+
+> **sqrt**(`_expression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1442](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1442)
+
+**`Beta`**
+
+Square root of a numeric expression.
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **sqrt**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1443](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1443)
+
+**`Beta`**
+
+Square root of a numeric expression.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### startsWith()
+
+#### Call Signature
+
+> **startsWith**(`_stringOrFieldName`, `_prefix`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1005](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1005)
+
+**`Beta`**
+
+Checks if a string starts with a prefix.
+
+##### Parameters
+
+###### \_stringOrFieldName
+
+`string`
+
+###### \_prefix
+
+`string`
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **startsWith**(`_stringOrFieldName`, `_prefix`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:1006](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1006)
+
+**`Beta`**
+
+Checks if a string starts with a prefix.
+
+##### Parameters
+
+###### \_stringOrFieldName
+
+[`Expression`](#expression)
+
+###### \_prefix
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### stringConcat()
+
+#### Call Signature
+
+> **stringConcat**(`_fieldName`, `_secondString`, ...`_otherStrings`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1932](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1932)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_secondString
+
+[`Expression`](#expression)
+
+###### \_otherStrings
+
+...[`Expression`](#expression)[]
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **stringConcat**(`_firstString`, `_secondString`, ...`_otherStrings`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1937](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1937)
+
+##### Parameters
+
+###### \_firstString
+
+[`Expression`](#expression)
+
+###### \_secondString
+
+[`Expression`](#expression)
+
+###### \_otherStrings
+
+...[`Expression`](#expression)[]
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### stringContains()
+
+#### Call Signature
+
+> **stringContains**(`_fieldName`, `_substring`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:2076](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2076)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_substring
+
+`string`
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **stringContains**(`_fieldName`, `_substring`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:2077](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2077)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_substring
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **stringContains**(`_stringExpression`, `_substring`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:2078](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2078)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+###### \_substring
+
+`string`
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+#### Call Signature
+
+> **stringContains**(`_stringExpression`, `_substring`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:2082](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2082)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+###### \_substring
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+***
+
+### stringIndexOf()
+
+#### Call Signature
+
+> **stringIndexOf**(`_fieldName`, `_search`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2093](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2093)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_search
+
+[`Bytes`](../../index/@react-native-firebase/firestore/index.mdx#bytes) \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **stringIndexOf**(`_expression`, `_search`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2097](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2097)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_search
+
+[`Bytes`](../../index/@react-native-firebase/firestore/index.mdx#bytes) \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### stringRepeat()
+
+#### Call Signature
+
+> **stringRepeat**(`_fieldName`, `_repetitions`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2108](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2108)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_repetitions
+
+`number` \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **stringRepeat**(`_expression`, `_repetitions`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2112](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2112)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_repetitions
+
+`number` \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### stringReplaceAll()
+
+#### Call Signature
+
+> **stringReplaceAll**(`_fieldName`, `_find`, `_replacement`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2123](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2123)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_find
+
+[`Bytes`](../../index/@react-native-firebase/firestore/index.mdx#bytes) \| [`Expression`](#expression)
+
+###### \_replacement
+
+[`Bytes`](../../index/@react-native-firebase/firestore/index.mdx#bytes) \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **stringReplaceAll**(`_expression`, `_find`, `_replacement`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2128](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2128)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_find
+
+[`Bytes`](../../index/@react-native-firebase/firestore/index.mdx#bytes) \| [`Expression`](#expression)
+
+###### \_replacement
+
+[`Bytes`](../../index/@react-native-firebase/firestore/index.mdx#bytes) \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### stringReplaceOne()
+
+#### Call Signature
+
+> **stringReplaceOne**(`_fieldName`, `_find`, `_replacement`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2145](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2145)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_find
+
+[`Bytes`](../../index/@react-native-firebase/firestore/index.mdx#bytes) \| [`Expression`](#expression)
+
+###### \_replacement
+
+[`Bytes`](../../index/@react-native-firebase/firestore/index.mdx#bytes) \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **stringReplaceOne**(`_expression`, `_find`, `_replacement`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2150](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2150)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_find
+
+[`Bytes`](../../index/@react-native-firebase/firestore/index.mdx#bytes) \| [`Expression`](#expression)
+
+###### \_replacement
+
+[`Bytes`](../../index/@react-native-firebase/firestore/index.mdx#bytes) \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### stringReverse()
+
+#### Call Signature
+
+> **stringReverse**(`_stringExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2163](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2163)
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **stringReverse**(`_field`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2164](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2164)
+
+##### Parameters
+
+###### \_field
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### substring()
+
+#### Call Signature
+
+> **substring**(`_field`, `_position`, `_length?`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1539](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1539)
+
+**`Beta`**
+
+Substring from position with optional length.
+
+##### Parameters
+
+###### \_field
+
+`string`
+
+###### \_position
+
+`number`
+
+###### \_length?
+
+`number`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **substring**(`_input`, `_position`, `_length?`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1540](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1540)
+
+**`Beta`**
+
+Substring from position with optional length.
+
+##### Parameters
+
+###### \_input
+
+[`Expression`](#expression)
+
+###### \_position
+
+`number`
+
+###### \_length?
+
+`number`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **substring**(`_field`, `_position`, `_length?`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1545](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1545)
+
+**`Beta`**
+
+Substring from position with optional length.
+
+##### Parameters
+
+###### \_field
+
+`string`
+
+###### \_position
+
+[`Expression`](#expression)
+
+###### \_length?
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **substring**(`_input`, `_position`, `_length?`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1550](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1550)
+
+**`Beta`**
+
+Substring from position with optional length.
+
+##### Parameters
+
+###### \_input
+
+[`Expression`](#expression)
+
+###### \_position
+
+[`Expression`](#expression)
+
+###### \_length?
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### subtract()
+
+#### Call Signature
+
+> **subtract**(`_left`, `_right`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1160](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1160)
+
+**`Beta`**
+
+Creates an expression that subtracts the second from the first.
+
+##### Parameters
+
+###### \_left
+
+[`Expression`](#expression)
+
+###### \_right
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **subtract**(`_expression`, `_value`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1165](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1165)
+
+**`Beta`**
+
+Creates an expression that subtracts a constant value from an expression.
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_value
+
+`unknown`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **subtract**(`_fieldName`, `_expression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1170](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1170)
+
+**`Beta`**
+
+Creates an expression that subtracts an expression from a field's value.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **subtract**(`_fieldName`, `_value`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1175](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1175)
+
+**`Beta`**
+
+Creates an expression that subtracts a constant value from a field's value.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_value
+
+`unknown`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### sum()
+
+#### Call Signature
+
+> **sum**(`_expression`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1252](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1252)
+
+**`Beta`**
+
+Creates an aggregation that sums values from an expression across stage inputs.
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+`Accumulator`
+
+#### Call Signature
+
+> **sum**(`_fieldName`): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:1257](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1257)
+
+**`Beta`**
+
+Creates an aggregation that sums a field's values across stage inputs.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+`Accumulator`
+
+***
+
+### timestampAdd()
+
+#### Call Signature
+
+> **timestampAdd**(`_timestamp`, `_unit`, `_amount`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2169](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2169)
+
+##### Parameters
+
+###### \_timestamp
+
+[`Expression`](#expression)
+
+###### \_unit
+
+[`Expression`](#expression)
+
+###### \_amount
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **timestampAdd**(`_timestamp`, `_unit`, `_amount`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2174](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2174)
+
+##### Parameters
+
+###### \_timestamp
+
+[`Expression`](#expression)
+
+###### \_unit
+
+`TimestampUnit`
+
+###### \_amount
+
+`number`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **timestampAdd**(`_fieldName`, `_unit`, `_amount`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2179](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2179)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_unit
+
+`TimestampUnit`
+
+###### \_amount
+
+`number`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### timestampSubtract()
+
+#### Call Signature
+
+> **timestampSubtract**(`_timestamp`, `_unit`, `_amount`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2192](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2192)
+
+##### Parameters
+
+###### \_timestamp
+
+[`Expression`](#expression)
+
+###### \_unit
+
+[`Expression`](#expression)
+
+###### \_amount
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **timestampSubtract**(`_timestamp`, `_unit`, `_amount`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2197](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2197)
+
+##### Parameters
+
+###### \_timestamp
+
+[`Expression`](#expression)
+
+###### \_unit
+
+`TimestampUnit`
+
+###### \_amount
+
+`number`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **timestampSubtract**(`_fieldName`, `_unit`, `_amount`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2202](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2202)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_unit
+
+`TimestampUnit`
+
+###### \_amount
+
+`number`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### timestampToUnixMicros()
+
+#### Call Signature
+
+> **timestampToUnixMicros**(`_expr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2215](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2215)
+
+##### Parameters
+
+###### \_expr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **timestampToUnixMicros**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2216](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2216)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### timestampToUnixMillis()
+
+#### Call Signature
+
+> **timestampToUnixMillis**(`_expr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2221](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2221)
+
+##### Parameters
+
+###### \_expr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **timestampToUnixMillis**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2222](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2222)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### timestampToUnixSeconds()
+
+#### Call Signature
+
+> **timestampToUnixSeconds**(`_expr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2227](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2227)
+
+##### Parameters
+
+###### \_expr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **timestampToUnixSeconds**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2228](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2228)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### timestampTruncate()
+
+#### Call Signature
+
+> **timestampTruncate**(`_fieldName`, `_granularity`, `_timezone?`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2233](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2233)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_granularity
+
+[`TimeGranularity`](#timegranularity)
+
+###### \_timezone?
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **timestampTruncate**(`_fieldName`, `_granularity`, `_timezone?`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2238](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2238)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_granularity
+
+[`Expression`](#expression)
+
+###### \_timezone?
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **timestampTruncate**(`_timestampExpression`, `_granularity`, `_timezone?`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2243](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2243)
+
+##### Parameters
+
+###### \_timestampExpression
+
+[`Expression`](#expression)
+
+###### \_granularity
+
+[`TimeGranularity`](#timegranularity)
+
+###### \_timezone?
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **timestampTruncate**(`_timestampExpression`, `_granularity`, `_timezone?`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2248](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2248)
+
+##### Parameters
+
+###### \_timestampExpression
+
+[`Expression`](#expression)
+
+###### \_granularity
+
+[`Expression`](#expression)
+
+###### \_timezone?
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### toLower()
+
+#### Call Signature
+
+> **toLower**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1503](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1503)
+
+**`Beta`**
+
+Converts string to lower case.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **toLower**(`_stringExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1504](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1504)
+
+**`Beta`**
+
+Converts string to lower case.
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### toUpper()
+
+#### Call Signature
+
+> **toUpper**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1513](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1513)
+
+**`Beta`**
+
+Converts string to upper case.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **toUpper**(`_stringExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1514](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1514)
+
+**`Beta`**
+
+Converts string to upper case.
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### trim()
+
+#### Call Signature
+
+> **trim**(`_fieldName`, `_valueToTrim?`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1523](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1523)
+
+**`Beta`**
+
+Trims whitespace (or optional valueToTrim) from string.
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_valueToTrim?
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **trim**(`_stringExpression`, `_valueToTrim?`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:1524](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1524)
+
+**`Beta`**
+
+Trims whitespace (or optional valueToTrim) from string.
+
+##### Parameters
+
+###### \_stringExpression
+
+[`Expression`](#expression)
+
+###### \_valueToTrim?
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### trunc()
+
+#### Call Signature
+
+> **trunc**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2261](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2261)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **trunc**(`_expression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2262](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2262)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **trunc**(`_fieldName`, `_decimalPlaces`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2263](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2263)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+###### \_decimalPlaces
+
+`number` \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **trunc**(`_expression`, `_decimalPlaces`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2264](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2264)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+###### \_decimalPlaces
+
+`number` \| [`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### type()
+
+#### Call Signature
+
+> **type**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2275](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2275)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **type**(`_expression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2276](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2276)
+
+##### Parameters
+
+###### \_expression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### unixMicrosToTimestamp()
+
+#### Call Signature
+
+> **unixMicrosToTimestamp**(`_expr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2281](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2281)
+
+##### Parameters
+
+###### \_expr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **unixMicrosToTimestamp**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2282](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2282)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### unixMillisToTimestamp()
+
+#### Call Signature
+
+> **unixMillisToTimestamp**(`_expr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2287](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2287)
+
+##### Parameters
+
+###### \_expr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **unixMillisToTimestamp**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2288](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2288)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### unixSecondsToTimestamp()
+
+#### Call Signature
+
+> **unixSecondsToTimestamp**(`_expr`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2293](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2293)
+
+##### Parameters
+
+###### \_expr
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **unixSecondsToTimestamp**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2294](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2294)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### vectorLength()
+
+#### Call Signature
+
+> **vectorLength**(`_vectorExpression`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2299](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2299)
+
+##### Parameters
+
+###### \_vectorExpression
+
+[`Expression`](#expression)
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+#### Call Signature
+
+> **vectorLength**(`_fieldName`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:2300](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2300)
+
+##### Parameters
+
+###### \_fieldName
+
+`string`
+
+##### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+***
+
+### xor()
+
+> **xor**(`_first`, `_second`, ...`_additionalConditions`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:2305](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L2305)
+
+#### Parameters
+
+##### \_first
+
+[`BooleanExpression`](#booleanexpression)
+
+##### \_second
+
+[`BooleanExpression`](#booleanexpression)
+
+##### \_additionalConditions
+
+...[`BooleanExpression`](#booleanexpression)[]
+
+#### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+## Interfaces
+
+### AliasedAggregate
+
+Defined in: [pipelines/expressions.ts:185](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L185)
+
+**`Beta`**
+
+An aggregate function with an output alias.
+
+#### Properties
+
+##### aggregate
+
+> `readonly` **aggregate**: `Accumulator`
+
+Defined in: [pipelines/expressions.ts:186](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L186)
+
+**`Beta`**
+
+##### alias
+
+> `readonly` **alias**: `string`
+
+Defined in: [pipelines/expressions.ts:187](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L187)
+
+**`Beta`**
+
+***
+
+### AliasedExpression
+
+Defined in: [pipelines/expressions.ts:194](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L194)
+
+**`Beta`**
+
+An expression with an output alias (implements Selectable).
+
+#### Extends
+
+- [`Selectable`](#selectable-4)
+
+#### Properties
+
+##### alias
+
+> `readonly` **alias**: `string`
+
+Defined in: [pipelines/expressions.ts:196](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L196)
+
+**`Beta`**
+
+##### expr
+
+> `readonly` **expr**: [`Expression`](#expression)
+
+Defined in: [pipelines/expressions.ts:195](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L195)
+
+**`Beta`**
+
+##### exprType?
+
+> `optional` **exprType?**: [`ExpressionType`](#expressiontype)
+
+Defined in: [pipelines/expressions.ts:197](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L197)
+
+**`Beta`**
+
+##### selectable
+
+> **selectable**: `true`
+
+Defined in: [pipelines/expressions.ts:122](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L122)
+
+**`Beta`**
+
+###### Inherited from
+
+[`Selectable`](#selectable-4).[`selectable`](#selectable-5)
+
+***
+
+### BooleanExpression
+
+Defined in: [pipelines/expressions.ts:113](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L113)
+
+**`Beta`**
+
+Selectable for pipeline field selection/expressions (e.g. field('a').as('b'), expressions).
+
+#### Extends
+
+- [`Selectable`](#selectable-4).`FluentExpressionMethods`
+
+#### Methods
+
+##### add()
+
+###### Call Signature
+
+> **add**(`value`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:93](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L93)
+
+###### Parameters
+
+###### value
+
+[`Expression`](#expression)
+
+###### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.add`
+
+###### Call Signature
+
+> **add**(`value`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:94](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L94)
+
+###### Parameters
+
+###### value
+
+`unknown`
+
+###### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.add`
+
+##### arrayAgg()
+
+> **arrayAgg**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:109](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L109)
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.arrayAgg`
+
+##### arrayAggDistinct()
+
+> **arrayAggDistinct**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:110](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L110)
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.arrayAggDistinct`
+
+##### as()
+
+> **as**(`name`): [`AliasedExpression`](#aliasedexpression)
+
+Defined in: [pipelines/expressions.ts:90](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L90)
+
+###### Parameters
+
+###### name
+
+`string`
+
+###### Returns
+
+[`AliasedExpression`](#aliasedexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.as`
+
+##### ascending()
+
+> **ascending**(): `Ordering`
+
+Defined in: [pipelines/expressions.ts:91](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L91)
+
+###### Returns
+
+`Ordering`
+
+###### Inherited from
+
+`FluentExpressionMethods.ascending`
+
+##### average()
+
+> **average**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:95](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L95)
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.average`
+
+##### count()
+
+> **count**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L96)
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.count`
+
+##### countDistinct()
+
+> **countDistinct**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:97](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L97)
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.countDistinct`
+
+##### descending()
+
+> **descending**(): `Ordering`
+
+Defined in: [pipelines/expressions.ts:92](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L92)
+
+###### Returns
+
+`Ordering`
+
+###### Inherited from
+
+`FluentExpressionMethods.descending`
+
+##### equal()
+
+###### Call Signature
+
+> **equal**(`expression`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:98](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L98)
+
+###### Parameters
+
+###### expression
+
+[`Expression`](#expression)
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.equal`
+
+###### Call Signature
+
+> **equal**(`value`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:99](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L99)
+
+###### Parameters
+
+###### value
+
+`unknown`
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.equal`
+
+##### first()
+
+> **first**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:100](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L100)
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.first`
+
+##### greaterThan()
+
+###### Call Signature
+
+> **greaterThan**(`expression`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:101](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L101)
+
+###### Parameters
+
+###### expression
+
+[`Expression`](#expression)
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.greaterThan`
+
+###### Call Signature
+
+> **greaterThan**(`value`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:102](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L102)
+
+###### Parameters
+
+###### value
+
+`unknown`
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.greaterThan`
+
+##### greaterThanOrEqual()
+
+###### Call Signature
+
+> **greaterThanOrEqual**(`expression`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:103](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L103)
+
+###### Parameters
+
+###### expression
+
+[`Expression`](#expression)
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.greaterThanOrEqual`
+
+###### Call Signature
+
+> **greaterThanOrEqual**(`value`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:104](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L104)
+
+###### Parameters
+
+###### value
+
+`unknown`
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.greaterThanOrEqual`
+
+##### last()
+
+> **last**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:105](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L105)
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.last`
+
+##### maximum()
+
+> **maximum**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:106](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L106)
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.maximum`
+
+##### minimum()
+
+> **minimum**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:107](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L107)
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.minimum`
+
+##### sum()
+
+> **sum**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:108](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L108)
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.sum`
+
+#### Properties
+
+##### \_brand?
+
+> `readonly` `optional` **\_brand?**: `"BooleanExpression"`
+
+Defined in: [pipelines/expressions.ts:114](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L114)
+
+##### selectable
+
+> **selectable**: `true`
+
+Defined in: [pipelines/expressions.ts:122](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L122)
+
+**`Beta`**
+
+###### Inherited from
+
+[`Selectable`](#selectable-4).[`selectable`](#selectable-5)
+
+***
+
+### Field
+
+Defined in: [pipelines/expressions.ts:129](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L129)
+
+**`Beta`**
+
+Field reference for pipeline stages.
+
+#### Extends
+
+- [`Selectable`](#selectable-4).`FluentExpressionMethods`
+
+#### Methods
+
+##### add()
+
+###### Call Signature
+
+> **add**(`value`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:93](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L93)
+
+**`Beta`**
+
+###### Parameters
+
+###### value
+
+[`Expression`](#expression)
+
+###### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.add`
+
+###### Call Signature
+
+> **add**(`value`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:94](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L94)
+
+**`Beta`**
+
+###### Parameters
+
+###### value
+
+`unknown`
+
+###### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.add`
+
+##### arrayAgg()
+
+> **arrayAgg**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:109](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L109)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.arrayAgg`
+
+##### arrayAggDistinct()
+
+> **arrayAggDistinct**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:110](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L110)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.arrayAggDistinct`
+
+##### as()
+
+> **as**(`name`): [`AliasedExpression`](#aliasedexpression)
+
+Defined in: [pipelines/expressions.ts:90](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L90)
+
+**`Beta`**
+
+###### Parameters
+
+###### name
+
+`string`
+
+###### Returns
+
+[`AliasedExpression`](#aliasedexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.as`
+
+##### ascending()
+
+> **ascending**(): `Ordering`
+
+Defined in: [pipelines/expressions.ts:91](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L91)
+
+**`Beta`**
+
+###### Returns
+
+`Ordering`
+
+###### Inherited from
+
+`FluentExpressionMethods.ascending`
+
+##### average()
+
+> **average**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:95](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L95)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.average`
+
+##### count()
+
+> **count**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L96)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.count`
+
+##### countDistinct()
+
+> **countDistinct**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:97](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L97)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.countDistinct`
+
+##### descending()
+
+> **descending**(): `Ordering`
+
+Defined in: [pipelines/expressions.ts:92](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L92)
+
+**`Beta`**
+
+###### Returns
+
+`Ordering`
+
+###### Inherited from
+
+`FluentExpressionMethods.descending`
+
+##### equal()
+
+###### Call Signature
+
+> **equal**(`expression`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:98](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L98)
+
+**`Beta`**
+
+###### Parameters
+
+###### expression
+
+[`Expression`](#expression)
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.equal`
+
+###### Call Signature
+
+> **equal**(`value`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:99](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L99)
+
+**`Beta`**
+
+###### Parameters
+
+###### value
+
+`unknown`
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.equal`
+
+##### first()
+
+> **first**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:100](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L100)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.first`
+
+##### greaterThan()
+
+###### Call Signature
+
+> **greaterThan**(`expression`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:101](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L101)
+
+**`Beta`**
+
+###### Parameters
+
+###### expression
+
+[`Expression`](#expression)
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.greaterThan`
+
+###### Call Signature
+
+> **greaterThan**(`value`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:102](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L102)
+
+**`Beta`**
+
+###### Parameters
+
+###### value
+
+`unknown`
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.greaterThan`
+
+##### greaterThanOrEqual()
+
+###### Call Signature
+
+> **greaterThanOrEqual**(`expression`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:103](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L103)
+
+**`Beta`**
+
+###### Parameters
+
+###### expression
+
+[`Expression`](#expression)
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.greaterThanOrEqual`
+
+###### Call Signature
+
+> **greaterThanOrEqual**(`value`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:104](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L104)
+
+**`Beta`**
+
+###### Parameters
+
+###### value
+
+`unknown`
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.greaterThanOrEqual`
+
+##### last()
+
+> **last**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:105](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L105)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.last`
+
+##### maximum()
+
+> **maximum**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:106](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L106)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.maximum`
+
+##### minimum()
+
+> **minimum**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:107](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L107)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.minimum`
+
+##### sum()
+
+> **sum**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:108](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L108)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.sum`
+
+#### Properties
+
+##### \_brand?
+
+> `readonly` `optional` **\_brand?**: `"Field"`
+
+Defined in: [pipelines/expressions.ts:130](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L130)
+
+**`Beta`**
+
+##### selectable
+
+> **selectable**: `true`
+
+Defined in: [pipelines/expressions.ts:122](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L122)
+
+**`Beta`**
+
+###### Inherited from
+
+[`Selectable`](#selectable-4).[`selectable`](#selectable-5)
+
+***
+
+### FunctionExpression
+
+Defined in: [pipelines/expressions.ts:137](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L137)
+
+**`Beta`**
+
+Function expression (e.g. map(...), array(...)). Used as return type and in Expression union.
+
+#### Extends
+
+- [`Selectable`](#selectable-4).`FluentExpressionMethods`
+
+#### Methods
+
+##### add()
+
+###### Call Signature
+
+> **add**(`value`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:93](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L93)
+
+**`Beta`**
+
+###### Parameters
+
+###### value
+
+[`Expression`](#expression)
+
+###### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.add`
+
+###### Call Signature
+
+> **add**(`value`): [`FunctionExpression`](#functionexpression)
+
+Defined in: [pipelines/expressions.ts:94](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L94)
+
+**`Beta`**
+
+###### Parameters
+
+###### value
+
+`unknown`
+
+###### Returns
+
+[`FunctionExpression`](#functionexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.add`
+
+##### arrayAgg()
+
+> **arrayAgg**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:109](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L109)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.arrayAgg`
+
+##### arrayAggDistinct()
+
+> **arrayAggDistinct**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:110](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L110)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.arrayAggDistinct`
+
+##### as()
+
+> **as**(`name`): [`AliasedExpression`](#aliasedexpression)
+
+Defined in: [pipelines/expressions.ts:90](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L90)
+
+**`Beta`**
+
+###### Parameters
+
+###### name
+
+`string`
+
+###### Returns
+
+[`AliasedExpression`](#aliasedexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.as`
+
+##### ascending()
+
+> **ascending**(): `Ordering`
+
+Defined in: [pipelines/expressions.ts:91](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L91)
+
+**`Beta`**
+
+###### Returns
+
+`Ordering`
+
+###### Inherited from
+
+`FluentExpressionMethods.ascending`
+
+##### average()
+
+> **average**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:95](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L95)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.average`
+
+##### count()
+
+> **count**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L96)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.count`
+
+##### countDistinct()
+
+> **countDistinct**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:97](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L97)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.countDistinct`
+
+##### descending()
+
+> **descending**(): `Ordering`
+
+Defined in: [pipelines/expressions.ts:92](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L92)
+
+**`Beta`**
+
+###### Returns
+
+`Ordering`
+
+###### Inherited from
+
+`FluentExpressionMethods.descending`
+
+##### equal()
+
+###### Call Signature
+
+> **equal**(`expression`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:98](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L98)
+
+**`Beta`**
+
+###### Parameters
+
+###### expression
+
+[`Expression`](#expression)
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.equal`
+
+###### Call Signature
+
+> **equal**(`value`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:99](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L99)
+
+**`Beta`**
+
+###### Parameters
+
+###### value
+
+`unknown`
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.equal`
+
+##### first()
+
+> **first**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:100](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L100)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.first`
+
+##### greaterThan()
+
+###### Call Signature
+
+> **greaterThan**(`expression`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:101](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L101)
+
+**`Beta`**
+
+###### Parameters
+
+###### expression
+
+[`Expression`](#expression)
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.greaterThan`
+
+###### Call Signature
+
+> **greaterThan**(`value`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:102](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L102)
+
+**`Beta`**
+
+###### Parameters
+
+###### value
+
+`unknown`
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.greaterThan`
+
+##### greaterThanOrEqual()
+
+###### Call Signature
+
+> **greaterThanOrEqual**(`expression`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:103](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L103)
+
+**`Beta`**
+
+###### Parameters
+
+###### expression
+
+[`Expression`](#expression)
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.greaterThanOrEqual`
+
+###### Call Signature
+
+> **greaterThanOrEqual**(`value`): [`BooleanExpression`](#booleanexpression)
+
+Defined in: [pipelines/expressions.ts:104](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L104)
+
+**`Beta`**
+
+###### Parameters
+
+###### value
+
+`unknown`
+
+###### Returns
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Inherited from
+
+`FluentExpressionMethods.greaterThanOrEqual`
+
+##### last()
+
+> **last**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:105](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L105)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.last`
+
+##### maximum()
+
+> **maximum**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:106](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L106)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.maximum`
+
+##### minimum()
+
+> **minimum**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:107](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L107)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.minimum`
+
+##### sum()
+
+> **sum**(): `Accumulator`
+
+Defined in: [pipelines/expressions.ts:108](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L108)
+
+**`Beta`**
+
+###### Returns
+
+`Accumulator`
+
+###### Inherited from
+
+`FluentExpressionMethods.sum`
+
+#### Properties
+
+##### \_brand?
+
+> `readonly` `optional` **\_brand?**: `"FunctionExpression"`
+
+Defined in: [pipelines/expressions.ts:139](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L139)
+
+**`Beta`**
+
+##### selectable
+
+> **selectable**: `true`
+
+Defined in: [pipelines/expressions.ts:138](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L138)
+
+**`Beta`**
+
+###### Overrides
+
+[`Selectable`](#selectable-4).[`selectable`](#selectable-5)
+
+***
+
+### Pipeline
+
+Defined in: [pipelines/pipeline.ts:45](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L45)
+
+**`Beta`**
+
+Pipeline with chained stages. Each stage returns a new Pipeline (immutable chain).
+
+#### Type Parameters
+
+##### T
+
+`T` = [`DocumentData`](../../index/@react-native-firebase/firestore/index.mdx#documentdata)
+
+#### Methods
+
+##### addFields()
+
+###### Call Signature
+
+> **addFields**(...`field`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:58](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L58)
+
+**`Beta`**
+
+###### Parameters
+
+###### field
+
+...[`Selectable`](#selectable-4)[]
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Call Signature
+
+> **addFields**(`options`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L59)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+###### field
+
+[`Selectable`](#selectable-4)[]
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+##### aggregate()
+
+###### Call Signature
+
+> **aggregate**(...`accumulator`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:73](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L73)
+
+**`Beta`**
+
+###### Parameters
+
+###### accumulator
+
+...[`AliasedAggregate`](#aliasedaggregate)[]
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Call Signature
+
+> **aggregate**(`options`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:74](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L74)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+`PipelineAggregateOptions`
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+##### distinct()
+
+###### Call Signature
+
+> **distinct**(...`group`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:76](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L76)
+
+**`Beta`**
+
+###### Parameters
+
+###### group
+
+...(`string` \| [`Field`](#field))[]
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Call Signature
+
+> **distinct**(`options`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:77](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L77)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+`PipelineDistinctOptions`
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+##### findNearest()
+
+> **findNearest**(`options`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:79](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L79)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+`PipelineFindNearestOptions`
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+##### limit()
+
+###### Call Signature
+
+> **limit**(`n`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:67](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L67)
+
+**`Beta`**
+
+###### Parameters
+
+###### n
+
+`number`
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Call Signature
+
+> **limit**(`options`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:68](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L68)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+###### n
+
+`number`
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+##### offset()
+
+###### Call Signature
+
+> **offset**(`n`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:70](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L70)
+
+**`Beta`**
+
+###### Parameters
+
+###### n
+
+`number`
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Call Signature
+
+> **offset**(`options`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:71](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L71)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+###### n
+
+`number`
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+##### rawStage()
+
+> **rawStage**(`name`, `params`, `options?`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:94](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L94)
+
+**`Beta`**
+
+###### Parameters
+
+###### name
+
+`string`
+
+###### params
+
+`Record`\<`string`, `unknown`\>
+
+###### options?
+
+`PipelineRawStageOptions`
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+##### removeFields()
+
+###### Call Signature
+
+> **removeFields**(...`field`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L61)
+
+**`Beta`**
+
+###### Parameters
+
+###### field
+
+...(`string` \| [`Field`](#field))[]
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Call Signature
+
+> **removeFields**(`options`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:62](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L62)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+###### field
+
+(`string` \| [`Field`](#field))[]
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+##### replaceWith()
+
+###### Call Signature
+
+> **replaceWith**(`fieldName`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:81](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L81)
+
+**`Beta`**
+
+###### Parameters
+
+###### fieldName
+
+`string`
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Call Signature
+
+> **replaceWith**(`expr`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:82](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L82)
+
+**`Beta`**
+
+###### Parameters
+
+###### expr
+
+[`Selectable`](#selectable-4)
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Call Signature
+
+> **replaceWith**(`options`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:83](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L83)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+`PipelineReplaceWithOptions`
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+##### sample()
+
+###### Call Signature
+
+> **sample**(`n`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:85](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L85)
+
+**`Beta`**
+
+###### Parameters
+
+###### n
+
+`number`
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Call Signature
+
+> **sample**(`options`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:86](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L86)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+`PipelineSampleOptions`
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+##### select()
+
+###### Call Signature
+
+> **select**(...`selection`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L55)
+
+**`Beta`**
+
+###### Parameters
+
+###### selection
+
+...(`string` \| [`Selectable`](#selectable-4))[]
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Call Signature
+
+> **select**(`options`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:56](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L56)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+###### selection
+
+(`string` \| [`Selectable`](#selectable-4))[]
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+##### serialize()
+
+> **serialize**(): `FirestorePipelineSerializedInternal`
+
+Defined in: [pipelines/pipeline.ts:50](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L50)
+
+**`Internal`**
+
+Serializes the source + stage chain to the wire format.
+
+###### Returns
+
+`FirestorePipelineSerializedInternal`
+
+##### sort()
+
+###### Call Signature
+
+> **sort**(...`ordering`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:64](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L64)
+
+**`Beta`**
+
+###### Parameters
+
+###### ordering
+
+...`Ordering`[]
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Call Signature
+
+> **sort**(`options`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:65](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L65)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+###### ordering
+
+`Ordering`[]
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+##### union()
+
+###### Call Signature
+
+> **union**(`otherPipeline`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:88](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L88)
+
+**`Beta`**
+
+###### Parameters
+
+###### otherPipeline
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Call Signature
+
+> **union**(`options`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:89](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L89)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+`PipelineUnionOptions`\<`T`\>
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+##### unnest()
+
+###### Call Signature
+
+> **unnest**(`selectable`, `indexField?`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:91](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L91)
+
+**`Beta`**
+
+###### Parameters
+
+###### selectable
+
+[`Selectable`](#selectable-4)
+
+###### indexField?
+
+`string`
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Call Signature
+
+> **unnest**(`options`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:92](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L92)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+`PipelineUnnestOptions`
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+##### where()
+
+###### Call Signature
+
+> **where**(`condition`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:52](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L52)
+
+**`Beta`**
+
+###### Parameters
+
+###### condition
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+###### Call Signature
+
+> **where**(`options`): [`Pipeline`](#pipeline)\<`T`\>
+
+Defined in: [pipelines/pipeline.ts:53](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline.ts#L53)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+###### condition
+
+[`BooleanExpression`](#booleanexpression)
+
+###### Returns
+
+[`Pipeline`](#pipeline)\<`T`\>
+
+***
+
+### PipelineExecuteOptions
+
+Defined in: [pipelines/pipeline\_options.ts:28](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline_options.ts#L28)
+
+**`Beta`**
+
+Options for pipeline execute().
+
+Note: `indexMode` and `rawOptions` are currently applied on Android and web only. iOS rejects
+them because the native Firestore pipeline SDK does not yet expose execute options.
+
+#### Extends
+
+- [`StageOptions`](#stageoptions)
+
+#### Properties
+
+##### indexMode?
+
+> `optional` **indexMode?**: `"recommended"`
+
+Defined in: [pipelines/pipeline\_options.ts:30](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline_options.ts#L30)
+
+**`Beta`**
+
+##### pipeline
+
+> **pipeline**: [`Pipeline`](#pipeline)
+
+Defined in: [pipelines/pipeline\_options.ts:29](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline_options.ts#L29)
+
+**`Beta`**
+
+##### rawOptions?
+
+> `optional` **rawOptions?**: `object`
+
+Defined in: [pipelines/pipeline\_options.ts:31](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline_options.ts#L31)
+
+**`Beta`**
+
+Escape hatch for options not known at build time (e.g. backend-specific snake_case options).
+
+###### Index Signature
+
+\[`name`: `string`\]: `unknown`
+
+###### Overrides
+
+[`StageOptions`](#stageoptions).[`rawOptions`](#rawoptions-1)
+
+***
+
+### PipelineResult
+
+Defined in: [pipelines/pipeline-result.ts:27](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-result.ts#L27)
+
+**`Beta`**
+
+Result of running a pipeline. One per document (or per group with aggregation, or single for global aggregation).
+
+#### Type Parameters
+
+##### T
+
+`T` = [`DocumentData`](../../index/@react-native-firebase/firestore/index.mdx#documentdata)
+
+#### Methods
+
+##### data()
+
+> **data**(): `T`
+
+Defined in: [pipelines/pipeline-result.ts:28](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-result.ts#L28)
+
+**`Beta`**
+
+###### Returns
+
+`T`
+
+##### get()
+
+> **get**(`fieldPath`): `unknown`
+
+Defined in: [pipelines/pipeline-result.ts:29](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-result.ts#L29)
+
+**`Beta`**
+
+###### Parameters
+
+###### fieldPath
+
+`string` \| [`FieldPath`](../../index/@react-native-firebase/firestore/index.mdx#fieldpath) \| [`Field`](#field)
+
+###### Returns
+
+`unknown`
+
+#### Properties
+
+##### createTime?
+
+> `readonly` `optional` **createTime?**: [`Timestamp`](../../index/@react-native-firebase/firestore/index.mdx#timestamp)
+
+Defined in: [pipelines/pipeline-result.ts:32](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-result.ts#L32)
+
+**`Beta`**
+
+##### id?
+
+> `readonly` `optional` **id?**: `string`
+
+Defined in: [pipelines/pipeline-result.ts:31](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-result.ts#L31)
+
+**`Beta`**
+
+##### ref?
+
+> `readonly` `optional` **ref?**: [`DocumentReference`](../../index/@react-native-firebase/firestore/index.mdx#documentreference)\<[`DocumentData`](../../index/@react-native-firebase/firestore/index.mdx#documentdata), [`DocumentData`](../../index/@react-native-firebase/firestore/index.mdx#documentdata)\>
+
+Defined in: [pipelines/pipeline-result.ts:30](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-result.ts#L30)
+
+**`Beta`**
+
+##### updateTime?
+
+> `readonly` `optional` **updateTime?**: [`Timestamp`](../../index/@react-native-firebase/firestore/index.mdx#timestamp)
+
+Defined in: [pipelines/pipeline-result.ts:33](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-result.ts#L33)
+
+**`Beta`**
+
+***
+
+### PipelineSnapshot
+
+Defined in: [pipelines/pipeline-result.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-result.ts#L40)
+
+**`Beta`**
+
+Snapshot returned from `execute(pipeline)`.
+
+#### Type Parameters
+
+##### T
+
+`T` = [`DocumentData`](../../index/@react-native-firebase/firestore/index.mdx#documentdata)
+
+#### Properties
+
+##### executionTime
+
+> `readonly` **executionTime**: [`Timestamp`](../../index/@react-native-firebase/firestore/index.mdx#timestamp)
+
+Defined in: [pipelines/pipeline-result.ts:42](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-result.ts#L42)
+
+**`Beta`**
+
+##### results
+
+> `readonly` **results**: [`PipelineResult`](#pipelineresult)\<`T`\>[]
+
+Defined in: [pipelines/pipeline-result.ts:41](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-result.ts#L41)
+
+**`Beta`**
+
+***
+
+### PipelineSource
+
+Defined in: [pipelines/pipeline-source.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-source.ts#L69)
+
+**`Beta`**
+
+PipelineSource defines the input for a pipeline. Call exactly one of collection, collectionGroup, database, documents, or createFrom.
+
+#### Type Parameters
+
+##### TPipeline
+
+`TPipeline` *extends* [`Pipeline`](#pipeline) = [`Pipeline`](#pipeline)
+
+#### Methods
+
+##### collection()
+
+###### Call Signature
+
+> **collection**(`path`): `TPipeline`
+
+Defined in: [pipelines/pipeline-source.ts:70](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-source.ts#L70)
+
+**`Beta`**
+
+###### Parameters
+
+###### path
+
+`string`
+
+###### Returns
+
+`TPipeline`
+
+###### Call Signature
+
+> **collection**(`collectionRef`): `TPipeline`
+
+Defined in: [pipelines/pipeline-source.ts:71](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-source.ts#L71)
+
+**`Beta`**
+
+###### Parameters
+
+###### collectionRef
+
+[`CollectionReference`](../../index/@react-native-firebase/firestore/index.mdx#collectionreference)
+
+###### Returns
+
+`TPipeline`
+
+###### Call Signature
+
+> **collection**(`options`): `TPipeline`
+
+Defined in: [pipelines/pipeline-source.ts:72](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-source.ts#L72)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+`PipelineCollectionSourceOptions`
+
+###### Returns
+
+`TPipeline`
+
+##### collectionGroup()
+
+###### Call Signature
+
+> **collectionGroup**(`collectionId`): `TPipeline`
+
+Defined in: [pipelines/pipeline-source.ts:74](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-source.ts#L74)
+
+**`Beta`**
+
+###### Parameters
+
+###### collectionId
+
+`string`
+
+###### Returns
+
+`TPipeline`
+
+###### Call Signature
+
+> **collectionGroup**(`options`): `TPipeline`
+
+Defined in: [pipelines/pipeline-source.ts:75](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-source.ts#L75)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+`PipelineCollectionGroupSourceOptions`
+
+###### Returns
+
+`TPipeline`
+
+##### createFrom()
+
+> **createFrom**(`query`): `TPipeline`
+
+Defined in: [pipelines/pipeline-source.ts:82](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-source.ts#L82)
+
+**`Beta`**
+
+###### Parameters
+
+###### query
+
+[`Query`](../../index/@react-native-firebase/firestore/index.mdx#query-2)
+
+###### Returns
+
+`TPipeline`
+
+##### database()
+
+> **database**(`options?`): `TPipeline`
+
+Defined in: [pipelines/pipeline-source.ts:77](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-source.ts#L77)
+
+**`Beta`**
+
+###### Parameters
+
+###### options?
+
+`PipelineDatabaseSourceOptions`
+
+###### Returns
+
+`TPipeline`
+
+##### documents()
+
+###### Call Signature
+
+> **documents**(`docs`): `TPipeline`
+
+Defined in: [pipelines/pipeline-source.ts:79](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-source.ts#L79)
+
+**`Beta`**
+
+###### Parameters
+
+###### docs
+
+(`string` \| [`DocumentReference`](../../index/@react-native-firebase/firestore/index.mdx#documentreference)\<[`DocumentData`](../../index/@react-native-firebase/firestore/index.mdx#documentdata), [`DocumentData`](../../index/@react-native-firebase/firestore/index.mdx#documentdata)\>)[]
+
+###### Returns
+
+`TPipeline`
+
+###### Call Signature
+
+> **documents**(`options`): `TPipeline`
+
+Defined in: [pipelines/pipeline-source.ts:80](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/pipeline-source.ts#L80)
+
+**`Beta`**
+
+###### Parameters
+
+###### options
+
+`PipelineDocumentsSourceOptions`
+
+###### Returns
+
+`TPipeline`
+
+***
+
+### Selectable
+
+Defined in: [pipelines/expressions.ts:121](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L121)
+
+**`Beta`**
+
+Selectable for pipeline field selection/expressions (e.g. field('a').as('b'), expressions).
+
+#### Extended by
+
+- [`BooleanExpression`](#booleanexpression)
+- [`Field`](#field)
+- [`FunctionExpression`](#functionexpression)
+- [`AliasedExpression`](#aliasedexpression)
+
+#### Properties
+
+##### selectable
+
+> **selectable**: `true`
+
+Defined in: [pipelines/expressions.ts:122](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L122)
+
+**`Beta`**
+
+***
+
+### StageOptions
+
+Defined in: [pipelines/stage\_options.ts:112](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L112)
+
+**`Beta`**
+
+Options defining how a Stage is evaluated. Base type for stage option types.
+
+#### Extended by
+
+- [`PipelineExecuteOptions`](#pipelineexecuteoptions)
+
+#### Properties
+
+##### rawOptions?
+
+> `optional` **rawOptions?**: `object`
+
+Defined in: [pipelines/stage\_options.ts:117](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L117)
+
+**`Beta`**
+
+Escape hatch for options not known at build time (e.g. backend-specific snake_case options).
+
+###### Index Signature
+
+\[`name`: `string`\]: `unknown`
+
+## Type Aliases
+
+### AddFieldsStageOptions
+
+> **AddFieldsStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:126](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L126)
+
+**`Beta`**
+
+Options for AddFields stage. At least one field required.
+
+#### Type Declaration
+
+##### fields
+
+> **fields**: [`Selectable`](#selectable-4)[]
+
+**`Beta`**
+
+The fields to add to each document, specified as a Selectable. At least one field is required.
+
+***
+
+### AggregateFunction
+
+> **AggregateFunction** = `Accumulator`
+
+Defined in: [pipelines/expressions.ts:179](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L179)
+
+**`Beta`**
+
+Aggregate function (e.g. countAll()). Alias for Accumulator.
+
+***
+
+### AggregateStageOptions
+
+> **AggregateStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:138](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L138)
+
+**`Beta`**
+
+Options for Aggregate stage.
+
+#### Type Declaration
+
+##### accumulators
+
+> **accumulators**: [`AliasedAggregate`](#aliasedaggregate)[]
+
+**`Beta`**
+
+The AliasedAggregate values specifying aggregate operations to perform on the input documents.
+
+##### groups?
+
+> `optional` **groups?**: (`string` \| [`Selectable`](#selectable-4))[]
+
+**`Beta`**
+
+The Selectable expressions or field names to consider when determining distinct value combinations (groups), which will be aggregated over.
+
+***
+
+### CollectionGroupStageOptions
+
+> **CollectionGroupStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:155](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L155)
+
+**`Beta`**
+
+Options for CollectionGroup stage.
+
+#### Type Declaration
+
+##### collectionId
+
+> **collectionId**: `string`
+
+**`Beta`**
+
+ID of the collection group to use as the Pipeline source.
+
+##### forceIndex?
+
+> `optional` **forceIndex?**: `string`
+
+**`Beta`**
+
+Specifies the name of an index to be used for a query, overriding the query optimizer's default choice. This can be useful for performance tuning in specific scenarios where the default index selection does not yield optimal performance. This property is optional. When provided, it should be the exact name of the index to force.
+
+***
+
+### CollectionStageOptions
+
+> **CollectionStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:172](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L172)
+
+**`Beta`**
+
+Options for Collection stage.
+
+#### Type Declaration
+
+##### collection
+
+> **collection**: `string` \| [`Query`](../../index/@react-native-firebase/firestore/index.mdx#query-2)
+
+**`Beta`**
+
+Name or reference to the collection that will be used as the Pipeline source.
+
+##### forceIndex?
+
+> `optional` **forceIndex?**: `string`
+
+**`Beta`**
+
+Specifies the name of an index to be used for a query, overriding the query optimizer's default choice. This can be useful for performance tuning in specific scenarios where the default index selection does not yield optimal performance. This property is optional. When provided, it should be the exact name of the index to force.
+
+***
+
+### DatabaseStageOptions
+
+> **DatabaseStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:189](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L189)
+
+**`Beta`**
+
+Options for Database stage.
+
+***
+
+### DistinctStageOptions
+
+> **DistinctStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:195](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L195)
+
+**`Beta`**
+
+Options for Distinct stage.
+
+#### Type Declaration
+
+##### groups
+
+> **groups**: (`string` \| [`Selectable`](#selectable-4))[]
+
+**`Beta`**
+
+The Selectable expressions or field names to consider when determining distinct value combinations (groups).
+
+***
+
+### DocumentsStageOptions
+
+> **DocumentsStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:207](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L207)
+
+**`Beta`**
+
+Options for Documents stage.
+
+#### Type Declaration
+
+##### docs
+
+> **docs**: (`string` \| [`DocumentReference`](../../index/@react-native-firebase/firestore/index.mdx#documentreference))[]
+
+**`Beta`**
+
+An array of paths and DocumentReferences specifying the individual documents that will be the source of this pipeline. The converters for these DocumentReferences will be ignored and not have an effect on this pipeline. There must be at least one document specified in the array.
+
+***
+
+### Expression
+
+> **Expression** = [`Field`](#field) \| [`FunctionExpression`](#functionexpression) \| `ConstantExpression` \| [`Selectable`](#selectable-4) \| `string`
+
+Defined in: [pipelines/expressions.ts:154](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L154)
+
+**`Beta`**
+
+Expression type for pipeline parameters (field refs, literals, function results).
+
+***
+
+### ExpressionType
+
+> **ExpressionType** = `"Field"` \| `"Constant"` \| `"Function"` \| `"AggregateFunction"` \| `"ListOfExpressions"` \| `"AliasedExpression"`
+
+Defined in: [pipelines/expressions.ts:26](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L26)
+
+**`Beta`**
+
+Expression type kind (for internal/backend use).
+
+***
+
+### FindNearestStageOptions
+
+> **FindNearestStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:219](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L219)
+
+**`Beta`**
+
+Options for FindNearest stage (vector search).
+
+#### Type Declaration
+
+##### distanceField?
+
+> `optional` **distanceField?**: `string`
+
+**`Beta`**
+
+If set, specifies the field on the output documents that will contain the computed vector distance for the document. If not set, the computed vector distance will not be returned.
+
+##### distanceMeasure
+
+> **distanceMeasure**: `"euclidean"` \| `"cosine"` \| `"dot_product"`
+
+**`Beta`**
+
+Specifies the method used to compute the distance between vectors. Possible values are: 'euclidean', 'cosine', 'dot_product'.
+
+##### field
+
+> **field**: [`Field`](#field) \| `string`
+
+**`Beta`**
+
+Specifies the field to be used. This can be a string representing the field path (e.g., 'fieldName', 'nested.fieldName') or an object of type Field representing a more complex field expression.
+
+##### limit?
+
+> `optional` **limit?**: `number`
+
+**`Beta`**
+
+The maximum number of documents to return from the FindNearest stage.
+
+##### vectorValue
+
+> **vectorValue**: [`VectorValue`](../../index/@react-native-firebase/firestore/index.mdx#vectorvalue) \| `number`[]
+
+**`Beta`**
+
+Specifies the query vector value, to which the vector distance will be computed.
+
+***
+
+### LimitStageOptions
+
+> **LimitStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:251](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L251)
+
+**`Beta`**
+
+Options for Limit stage.
+
+#### Type Declaration
+
+##### limit
+
+> **limit**: `number`
+
+**`Beta`**
+
+The maximum number of documents to return.
+
+***
+
+### OffsetStageOptions
+
+> **OffsetStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:263](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L263)
+
+**`Beta`**
+
+Options for Offset stage.
+
+#### Type Declaration
+
+##### offset
+
+> **offset**: `number`
+
+**`Beta`**
+
+The number of documents to skip.
+
+***
+
+### OneOf
+
+> **OneOf**\<`T`\> = `{ [K in keyof T]: Pick & { [P in Exclude]?: undefined } }`\[keyof `T`\]
+
+Defined in: [pipelines/types.ts:22](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/types.ts#L22)
+
+**`Beta`**
+
+Utility type: only one property of T may be set.
+
+#### Type Parameters
+
+##### T
+
+`T`
+
+***
+
+### RemoveFieldsStageOptions
+
+> **RemoveFieldsStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:275](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L275)
+
+**`Beta`**
+
+Options for RemoveFields stage.
+
+#### Type Declaration
+
+##### fields
+
+> **fields**: ([`Field`](#field) \| `string`)[]
+
+**`Beta`**
+
+The fields to remove from each document.
+
+***
+
+### ReplaceWithStageOptions
+
+> **ReplaceWithStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:287](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L287)
+
+**`Beta`**
+
+Options for ReplaceWith stage.
+
+#### Type Declaration
+
+##### map
+
+> **map**: [`Expression`](#expression) \| `string`
+
+**`Beta`**
+
+The name of a field that contains a map or an Expression that evaluates to a map.
+
+***
+
+### SampleStageOptions
+
+> **SampleStageOptions** = [`StageOptions`](#stageoptions) & [`OneOf`](#oneof)\<\{ `documents`: `number`; `percentage`: `number`; \}\>
+
+Defined in: [pipelines/stage\_options.ts:299](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L299)
+
+**`Beta`**
+
+Options for Sample stage (documents or percentage, one of).
+
+***
+
+### SelectStageOptions
+
+> **SelectStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:317](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L317)
+
+**`Beta`**
+
+Options for Select stage.
+
+#### Type Declaration
+
+##### selections
+
+> **selections**: ([`Selectable`](#selectable-4) \| `string`)[]
+
+**`Beta`**
+
+The fields to include in the output documents, specified as Selectable expression or as a string value indicating the field name.
+
+***
+
+### SortStageOptions
+
+> **SortStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:329](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L329)
+
+**`Beta`**
+
+Options for Sort stage.
+
+#### Type Declaration
+
+##### orderings
+
+> **orderings**: `Ordering`[]
+
+**`Beta`**
+
+Orderings specify how the input documents are sorted. One or more ordering are required.
+
+***
+
+### TimeGranularity
+
+> **TimeGranularity** = `"microsecond"` \| `"millisecond"` \| `"second"` \| `"minute"` \| `"hour"` \| `"day"` \| `"week"` \| `"week(monday)"` \| `"week(tuesday)"` \| `"week(wednesday)"` \| `"week(thursday)"` \| `"week(friday)"` \| `"week(saturday)"` \| `"week(sunday)"` \| `"isoWeek"` \| `"month"` \| `"quarter"` \| `"year"` \| `"isoYear"`
+
+Defined in: [pipelines/expressions.ts:64](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L64)
+
+**`Beta`**
+
+Time granularity for timestampTruncate.
+
+***
+
+### Type
+
+> **Type** = `"null"` \| `"array"` \| `"boolean"` \| `"bytes"` \| `"timestamp"` \| `"geo_point"` \| `"number"` \| `"int32"` \| `"int64"` \| `"float64"` \| `"decimal128"` \| `"map"` \| `"reference"` \| `"string"` \| `"vector"` \| `"max_key"` \| `"min_key"` \| `"object_id"` \| `"regex"` \| `"request_timestamp"`
+
+Defined in: [pipelines/expressions.ts:38](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L38)
+
+**`Beta`**
+
+Firestore value type for isType() checks.
+
+***
+
+### UnionStageOptions
+
+> **UnionStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:341](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L341)
+
+**`Beta`**
+
+Options for Union stage.
+
+#### Type Declaration
+
+##### other
+
+> **other**: [`Pipeline`](#pipeline)
+
+**`Beta`**
+
+Specifies the other Pipeline to union with.
+
+***
+
+### UnnestStageOptions
+
+> **UnnestStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:353](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L353)
+
+**`Beta`**
+
+Options for Unnest stage.
+
+#### Type Declaration
+
+##### indexField?
+
+> `optional` **indexField?**: `string`
+
+**`Beta`**
+
+If set, specifies the field on the output documents that will contain the offset (starting at zero) that the element is from the original array.
+
+##### selectable
+
+> **selectable**: [`Selectable`](#selectable-4)
+
+**`Beta`**
+
+A Selectable object that defines an array expression to be un-nested and the alias for the un-nested field.
+
+***
+
+### WhereStageOptions
+
+> **WhereStageOptions** = [`StageOptions`](#stageoptions) & `object`
+
+Defined in: [pipelines/stage\_options.ts:370](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/stage_options.ts#L370)
+
+**`Beta`**
+
+Options for Where stage.
+
+#### Type Declaration
+
+##### condition
+
+> **condition**: [`BooleanExpression`](#booleanexpression)
+
+**`Beta`**
+
+The BooleanExpression to apply as a filter for each input document to this stage.
+
+## Variables
+
+### Ordering
+
+> `const` **Ordering**: `object`
+
+Defined in: [pipelines/expressions.ts:1037](https://github.com/invertase/react-native-firebase/blob/main/packages/firestore/lib/pipelines/expressions.ts#L1037)
+
+**`Beta`**
+
+Ordering helper (e.g. Ordering.of(field('rating')).descending()).
+
+#### Type Declaration
+
+##### of()
+
+> **of**(`_fieldOrOrdering`): `Ordering`
+
+###### Parameters
+
+###### \_fieldOrOrdering
+
+[`Field`](#field) \| `Ordering`
+
+###### Returns
+
+`Ordering`
diff --git a/docs/reference/@react-native-firebase/functions/README.mdx b/docs/reference/@react-native-firebase/functions/README.mdx
new file mode 100644
index 0000000000..356bab733c
--- /dev/null
+++ b/docs/reference/@react-native-firebase/functions/README.mdx
@@ -0,0 +1,621 @@
+[**React Native Firebase**](../../README.mdx)
+
+***
+
+[React Native Firebase](../../packages.mdx) / @react-native-firebase/functions
+
+# @react-native-firebase/functions
+
+## Functions
+
+### connectFunctionsEmulator()
+
+> **connectFunctionsEmulator**(`functionsInstance`, `host`, `port`): `void`
+
+Defined in: [modular.ts:43](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/modular.ts#L43)
+
+Modify this instance to communicate with the Cloud Functions emulator.
+Note: this must be called before this instance has been used to do any operations.
+
+#### Parameters
+
+##### functionsInstance
+
+[`Functions`](#functions)
+
+A functions instance.
+
+##### host
+
+`string`
+
+The emulator host. (ex: localhost)
+
+##### port
+
+`number`
+
+The emulator port. (ex: 5001)
+
+#### Returns
+
+`void`
+
+***
+
+### getFunctions()
+
+> **getFunctions**(`app?`, `regionOrCustomDomain?`): [`Functions`](#functions)
+
+Defined in: [modular.ts:28](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/modular.ts#L28)
+
+Returns a Functions instance for the given app.
+
+#### Parameters
+
+##### app?
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+The FirebaseApp to use. Optional.
+
+##### regionOrCustomDomain?
+
+`string`
+
+One of: a) The region the callable functions are located in (ex: us-central1) b) A custom domain hosting the callable functions (ex: https://mydomain.com). Optional.
+
+#### Returns
+
+[`Functions`](#functions)
+
+Functions instance for the given app.
+
+***
+
+### httpsCallable()
+
+> **httpsCallable**\<`RequestData`, `ResponseData`, `StreamData`\>(`functionsInstance`, `name`, `options?`): [`HttpsCallable`](#httpscallable-1)\<`RequestData`, `ResponseData`, `StreamData`\>
+
+Defined in: [modular.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/modular.ts#L59)
+
+Returns a reference to the callable HTTPS trigger with the given name.
+
+#### Type Parameters
+
+##### RequestData
+
+`RequestData` = `unknown`
+
+##### ResponseData
+
+`ResponseData` = `unknown`
+
+##### StreamData
+
+`StreamData` = `unknown`
+
+#### Parameters
+
+##### functionsInstance
+
+[`Functions`](#functions)
+
+A functions instance.
+
+##### name
+
+`string`
+
+The name of the trigger.
+
+##### options?
+
+[`HttpsCallableOptions`](#httpscallableoptions)
+
+An interface for metadata about how calls should be executed.
+
+#### Returns
+
+[`HttpsCallable`](#httpscallable-1)\<`RequestData`, `ResponseData`, `StreamData`\>
+
+HttpsCallable instance
+
+***
+
+### httpsCallableFromUrl()
+
+> **httpsCallableFromUrl**\<`RequestData`, `ResponseData`, `StreamData`\>(`functionsInstance`, `url`, `options?`): [`HttpsCallable`](#httpscallable-1)\<`RequestData`, `ResponseData`, `StreamData`\>
+
+Defined in: [modular.ts:80](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/modular.ts#L80)
+
+Returns a reference to the callable HTTPS trigger with the specified url.
+
+#### Type Parameters
+
+##### RequestData
+
+`RequestData` = `unknown`
+
+##### ResponseData
+
+`ResponseData` = `unknown`
+
+##### StreamData
+
+`StreamData` = `unknown`
+
+#### Parameters
+
+##### functionsInstance
+
+[`Functions`](#functions)
+
+A functions instance.
+
+##### url
+
+`string`
+
+The url of the trigger.
+
+##### options?
+
+[`HttpsCallableOptions`](#httpscallableoptions)
+
+An instance of HttpsCallableOptions containing metadata about how calls should be executed.
+
+#### Returns
+
+[`HttpsCallable`](#httpscallable-1)\<`RequestData`, `ResponseData`, `StreamData`\>
+
+HttpsCallable instance
+
+## Interfaces
+
+### Functions
+
+Defined in: [types/functions.ts:136](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L136)
+
+Functions module instance - returned from firebase.functions() or firebase.app().functions()
+
+#### Extends
+
+- [`FirebaseModule`](../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule)
+
+#### Methods
+
+##### httpsCallable()
+
+> **httpsCallable**\<`RequestData`, `ResponseData`, `StreamData`\>(`name`, `options?`): [`HttpsCallable`](#httpscallable-1)\<`RequestData`, `ResponseData`, `StreamData`\>
+
+Defined in: [types/functions.ts:146](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L146)
+
+Returns a reference to the callable HTTPS trigger with the given name.
+
+###### Type Parameters
+
+###### RequestData
+
+`RequestData` = `unknown`
+
+###### ResponseData
+
+`ResponseData` = `unknown`
+
+###### StreamData
+
+`StreamData` = `unknown`
+
+###### Parameters
+
+###### name
+
+`string`
+
+The name of the trigger.
+
+###### options?
+
+[`HttpsCallableOptions`](#httpscallableoptions)
+
+Optional settings for the callable function.
+
+###### Returns
+
+[`HttpsCallable`](#httpscallable-1)\<`RequestData`, `ResponseData`, `StreamData`\>
+
+##### httpsCallableFromUrl()
+
+> **httpsCallableFromUrl**\<`RequestData`, `ResponseData`, `StreamData`\>(`url`, `options?`): [`HttpsCallable`](#httpscallable-1)\<`RequestData`, `ResponseData`, `StreamData`\>
+
+Defined in: [types/functions.ts:157](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L157)
+
+Returns a reference to the callable HTTPS trigger with the given URL.
+
+###### Type Parameters
+
+###### RequestData
+
+`RequestData` = `unknown`
+
+###### ResponseData
+
+`ResponseData` = `unknown`
+
+###### StreamData
+
+`StreamData` = `unknown`
+
+###### Parameters
+
+###### url
+
+`string`
+
+The URL of the trigger.
+
+###### options?
+
+[`HttpsCallableOptions`](#httpscallableoptions)
+
+Optional settings for the callable function.
+
+###### Returns
+
+[`HttpsCallable`](#httpscallable-1)\<`RequestData`, `ResponseData`, `StreamData`\>
+
+##### useEmulator()
+
+> **useEmulator**(`host`, `port`): `void`
+
+Defined in: [types/functions.ts:176](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L176)
+
+Changes this instance to point to a Cloud Functions emulator running locally.
+
+###### Parameters
+
+###### host
+
+`string`
+
+The host of the emulator, e.g. "localhost" or "10.0.2.2" for Android.
+
+###### port
+
+`number`
+
+The port of the emulator, e.g. 5001.
+
+###### Returns
+
+`void`
+
+##### ~~useFunctionsEmulator()~~
+
+> **useFunctionsEmulator**(`origin`): `void`
+
+Defined in: [types/functions.ts:168](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L168)
+
+Changes this instance to point to a Cloud Functions emulator running locally.
+
+###### Parameters
+
+###### origin
+
+`string`
+
+The origin of the local emulator, e.g. "http://localhost:5001".
+
+###### Returns
+
+`void`
+
+###### Deprecated
+
+Use useEmulator(host, port) instead.
+
+#### Properties
+
+##### app
+
+> **app**: [`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+Defined in: [types/functions.ts:138](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L138)
+
+The FirebaseApp this module is associated with
+
+###### Overrides
+
+[`FirebaseModule`](../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule).[`app`](../app/namespaces/ReactNativeFirebase.mdx#app)
+
+***
+
+### HttpsCallable()
+
+Defined in: [types/functions.ts:69](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L69)
+
+#### Type Parameters
+
+##### RequestData
+
+`RequestData` = `unknown`
+
+##### ResponseData
+
+`ResponseData` = `unknown`
+
+##### StreamData
+
+`StreamData` = `unknown`
+
+> **HttpsCallable**(`data?`): `Promise`\<[`HttpsCallableResult`](#httpscallableresult)\<`ResponseData`\>\>
+
+Defined in: [types/functions.ts:74](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L74)
+
+#### Parameters
+
+##### data?
+
+`RequestData` \| `null`
+
+#### Returns
+
+`Promise`\<[`HttpsCallableResult`](#httpscallableresult)\<`ResponseData`\>\>
+
+#### Properties
+
+##### stream
+
+> **stream**: (`data?`, `options?`) => `Promise`\<`HttpsCallableStreamResult`\<`ResponseData`, `StreamData`\>\>
+
+Defined in: [types/functions.ts:75](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L75)
+
+###### Parameters
+
+###### data?
+
+`RequestData` \| `null`
+
+###### options?
+
+`HttpsCallableStreamOptions`
+
+###### Returns
+
+`Promise`\<`HttpsCallableStreamResult`\<`ResponseData`, `StreamData`\>\>
+
+***
+
+### HttpsCallableOptions
+
+Defined in: [types/functions.ts:26](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L26)
+
+Use for iOS, Android and web for https callable only. For streaming, this is for android and iOS only.
+For web streaming, use `HttpsCallableStreamOptions` instead.
+
+#### Properties
+
+##### limitedUseAppCheckTokens?
+
+> `optional` **limitedUseAppCheckTokens?**: `boolean`
+
+Defined in: [types/functions.ts:40](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L40)
+
+Use for iOS, Android and web for https callable only. For streaming, this is for android and iOS only.
+For web streaming, use `HttpsCallableStreamOptions` instead.
+If set to true, uses a limited-use App Check token for callable function or stream requests from this
+instance of [Functions](#functions). You must use limited-use tokens to call functions with
+replay protection enabled. By default, this is false.
+
+##### timeout?
+
+> `optional` **timeout?**: `number`
+
+Defined in: [types/functions.ts:32](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L32)
+
+Use for iOS, Android and web for https callable only. For streaming, this is for android and iOS only.
+For web streaming, use `HttpsCallableStreamOptions` instead.
+The timeout for the callable function or stream request.
+
+***
+
+### HttpsCallableResult
+
+Defined in: [types/functions.ts:60](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L60)
+
+#### Type Parameters
+
+##### ResponseData
+
+`ResponseData` = `unknown`
+
+#### Properties
+
+##### data
+
+> `readonly` **data**: `ResponseData`
+
+Defined in: [types/functions.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L61)
+
+## Namespaces
+
+- [~~FirebaseFunctionsTypes~~](namespaces/FirebaseFunctionsTypes.mdx)
+
+## Variables
+
+### default
+
+> **default**: `FunctionsNamespace`
+
+Defined in: [namespaced.ts:460](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/namespaced.ts#L460)
+
+***
+
+### firebase
+
+> `const` **firebase**: [`FirebaseNamespacedExport`](../app/namespaces/ReactNativeFirebase.mdx#firebasenamespacedexport)\<`"functions"`, [`Functions`](#functions), `FunctionsStatics`, `true`\>
+
+Defined in: [namespaced.ts:465](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/namespaced.ts#L465)
+
+***
+
+### HttpsErrorCode
+
+> `const` **HttpsErrorCode**: `object`
+
+Defined in: [namespaced.ts:42](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/namespaced.ts#L42)
+
+#### Type Declaration
+
+##### aborted
+
+> `readonly` **aborted**: `"aborted"` = `'aborted'`
+
+##### ABORTED
+
+> `readonly` **ABORTED**: `"aborted"` = `'aborted'`
+
+##### ALREADY\_EXISTS
+
+> `readonly` **ALREADY\_EXISTS**: `"already-exists"` = `'already-exists'`
+
+##### already-exists
+
+> `readonly` **already-exists**: `"already-exists"` = `'already-exists'`
+
+##### cancelled
+
+> `readonly` **cancelled**: `"cancelled"` = `'cancelled'`
+
+##### CANCELLED
+
+> `readonly` **CANCELLED**: `"cancelled"` = `'cancelled'`
+
+##### DATA\_LOSS
+
+> `readonly` **DATA\_LOSS**: `"data-loss"` = `'data-loss'`
+
+##### data-loss
+
+> `readonly` **data-loss**: `"data-loss"` = `'data-loss'`
+
+##### DEADLINE\_EXCEEDED
+
+> `readonly` **DEADLINE\_EXCEEDED**: `"deadline-exceeded"` = `'deadline-exceeded'`
+
+##### deadline-exceeded
+
+> `readonly` **deadline-exceeded**: `"deadline-exceeded"` = `'deadline-exceeded'`
+
+##### FAILED\_PRECONDITION
+
+> `readonly` **FAILED\_PRECONDITION**: `"failed-precondition"` = `'failed-precondition'`
+
+##### FAILED\_TO\_PARSE\_WRAPPED\_NUMBER
+
+> `readonly` **FAILED\_TO\_PARSE\_WRAPPED\_NUMBER**: `"failed-to-parse-wrapped-number"` = `'failed-to-parse-wrapped-number'`
+
+##### failed-precondition
+
+> `readonly` **failed-precondition**: `"failed-precondition"` = `'failed-precondition'`
+
+##### internal
+
+> `readonly` **internal**: `"internal"` = `'internal'`
+
+##### INTERNAL
+
+> `readonly` **INTERNAL**: `"internal"` = `'internal'`
+
+##### INVALID\_ARGUMENT
+
+> `readonly` **INVALID\_ARGUMENT**: `"invalid-argument"` = `'invalid-argument'`
+
+##### invalid-argument
+
+> `readonly` **invalid-argument**: `"invalid-argument"` = `'invalid-argument'`
+
+##### NOT\_FOUND
+
+> `readonly` **NOT\_FOUND**: `"not-found"` = `'not-found'`
+
+##### not-found
+
+> `readonly` **not-found**: `"not-found"` = `'not-found'`
+
+##### ok
+
+> `readonly` **ok**: `"ok"` = `'ok'`
+
+##### OK
+
+> `readonly` **OK**: `"ok"` = `'ok'`
+
+##### OUT\_OF\_RANGE
+
+> `readonly` **OUT\_OF\_RANGE**: `"out-of-range"` = `'out-of-range'`
+
+##### out-of-range
+
+> `readonly` **out-of-range**: `"out-of-range"` = `'out-of-range'`
+
+##### PERMISSION\_DENIED
+
+> `readonly` **PERMISSION\_DENIED**: `"permission-denied"` = `'permission-denied'`
+
+##### permission-denied
+
+> `readonly` **permission-denied**: `"permission-denied"` = `'permission-denied'`
+
+##### RESOURCE\_EXHAUSTED
+
+> `readonly` **RESOURCE\_EXHAUSTED**: `"resource-exhausted"` = `'resource-exhausted'`
+
+##### resource-exhausted
+
+> `readonly` **resource-exhausted**: `"resource-exhausted"` = `'resource-exhausted'`
+
+##### unauthenticated
+
+> `readonly` **unauthenticated**: `"unauthenticated"` = `'unauthenticated'`
+
+##### UNAUTHENTICATED
+
+> `readonly` **UNAUTHENTICATED**: `"unauthenticated"` = `'unauthenticated'`
+
+##### unavailable
+
+> `readonly` **unavailable**: `"unavailable"` = `'unavailable'`
+
+##### UNAVAILABLE
+
+> `readonly` **UNAVAILABLE**: `"unavailable"` = `'unavailable'`
+
+##### unimplemented
+
+> `readonly` **unimplemented**: `"unimplemented"` = `'unimplemented'`
+
+##### UNIMPLEMENTED
+
+> `readonly` **UNIMPLEMENTED**: `"unimplemented"` = `'unimplemented'`
+
+##### unknown
+
+> `readonly` **unknown**: `"unknown"` = `'unknown'`
+
+##### UNKNOWN
+
+> `readonly` **UNKNOWN**: `"unknown"` = `'unknown'`
+
+##### UNSUPPORTED\_TYPE
+
+> `readonly` **UNSUPPORTED\_TYPE**: `"unsupported-type"` = `'unsupported-type'`
+
+***
+
+### SDK\_VERSION
+
+> `const` **SDK\_VERSION**: `"24.0.0"` = `version`
+
+Defined in: [namespaced.ts:435](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/namespaced.ts#L435)
diff --git a/docs/reference/@react-native-firebase/functions/namespaces/FirebaseFunctionsTypes.mdx b/docs/reference/@react-native-firebase/functions/namespaces/FirebaseFunctionsTypes.mdx
new file mode 100644
index 0000000000..71d168c9b4
--- /dev/null
+++ b/docs/reference/@react-native-firebase/functions/namespaces/FirebaseFunctionsTypes.mdx
@@ -0,0 +1,208 @@
+[**React Native Firebase**](../../../README.mdx)
+
+***
+
+[React Native Firebase](../../../packages.mdx) / [@react-native-firebase/functions](../README.mdx) / FirebaseFunctionsTypes
+
+# ~~FirebaseFunctionsTypes~~
+
+## Deprecated
+
+Use the exported types directly instead.
+FirebaseFunctionsTypes namespace is kept for backwards compatibility.
+
+## Type Aliases
+
+### ~~Callable~~
+
+> **Callable**\<`RequestData`, `ResponseData`, `StreamData`\> = [`HttpsCallable`](#httpscallable)\<`RequestData`, `ResponseData`, `StreamData`\>
+
+Defined in: [types/functions.ts:242](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L242)
+
+#### Type Parameters
+
+##### RequestData
+
+`RequestData` = `unknown`
+
+##### ResponseData
+
+`ResponseData` = `unknown`
+
+##### StreamData
+
+`StreamData` = `unknown`
+
+***
+
+### ~~CallableOptions~~
+
+> **CallableOptions** = [`HttpsCallableOptions`](#httpscallableoptions)
+
+Defined in: [types/functions.ts:247](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L247)
+
+***
+
+### ~~CallableResult~~
+
+> **CallableResult**\<`ResponseData`\> = [`HttpsCallableResult`](#httpscallableresult)\<`ResponseData`\>
+
+Defined in: [types/functions.ts:237](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L237)
+
+#### Type Parameters
+
+##### ResponseData
+
+`ResponseData` = `unknown`
+
+***
+
+### ~~CallableStreamOptions~~
+
+> **CallableStreamOptions** = [`HttpsCallableStreamOptions`](#httpscallablestreamoptions)
+
+Defined in: [types/functions.ts:248](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L248)
+
+***
+
+### ~~CallableStreamResult~~
+
+> **CallableStreamResult**\<`ResponseData`, `StreamData`\> = [`HttpsCallableStreamResult`](#httpscallablestreamresult)\<`ResponseData`, `StreamData`\>
+
+Defined in: [types/functions.ts:238](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L238)
+
+#### Type Parameters
+
+##### ResponseData
+
+`ResponseData` = `unknown`
+
+##### StreamData
+
+`StreamData` = `unknown`
+
+***
+
+### ~~Error~~
+
+> **Error** = [`HttpsError`](#httpserror)
+
+Defined in: [types/functions.ts:249](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L249)
+
+***
+
+### ~~ErrorCode~~
+
+> **ErrorCode** = `FunctionsErrorCode`
+
+Defined in: [types/functions.ts:236](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L236)
+
+***
+
+### ~~ErrorCodeMap~~
+
+> **ErrorCodeMap** = [`HttpsErrorCode`](#httpserrorcode)
+
+Defined in: [types/functions.ts:250](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L250)
+
+***
+
+### ~~HttpsCallable~~
+
+> **HttpsCallable**\<`RequestData`, `ResponseData`, `StreamData`\> = `_HttpsCallable`\<`RequestData`, `ResponseData`, `StreamData`\>
+
+Defined in: [types/functions.ts:261](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L261)
+
+#### Type Parameters
+
+##### RequestData
+
+`RequestData` = `unknown`
+
+##### ResponseData
+
+`ResponseData` = `unknown`
+
+##### StreamData
+
+`StreamData` = `unknown`
+
+***
+
+### ~~HttpsCallableOptions~~
+
+> **HttpsCallableOptions** = `_HttpsCallableOptions`
+
+Defined in: [types/functions.ts:266](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L266)
+
+***
+
+### ~~HttpsCallableResult~~
+
+> **HttpsCallableResult**\<`T`\> = `_HttpsCallableResult`\<`T`\>
+
+Defined in: [types/functions.ts:256](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L256)
+
+#### Type Parameters
+
+##### T
+
+`T` = `unknown`
+
+***
+
+### ~~HttpsCallableStreamOptions~~
+
+> **HttpsCallableStreamOptions** = `_HttpsCallableStreamOptions`
+
+Defined in: [types/functions.ts:267](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L267)
+
+***
+
+### ~~HttpsCallableStreamResult~~
+
+> **HttpsCallableStreamResult**\<`ResponseData`, `StreamData`\> = `_HttpsCallableStreamResult`\<`ResponseData`, `StreamData`\>
+
+Defined in: [types/functions.ts:257](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L257)
+
+#### Type Parameters
+
+##### ResponseData
+
+`ResponseData` = `unknown`
+
+##### StreamData
+
+`StreamData` = `unknown`
+
+***
+
+### ~~HttpsError~~
+
+> **HttpsError** = `_HttpsError`
+
+Defined in: [types/functions.ts:268](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L268)
+
+***
+
+### ~~HttpsErrorCode~~
+
+> **HttpsErrorCode** = `_HttpsErrorCode`
+
+Defined in: [types/functions.ts:269](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L269)
+
+***
+
+### ~~Module~~
+
+> **Module** = [`Functions`](../README.mdx#functions)
+
+Defined in: [types/functions.ts:252](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L252)
+
+***
+
+### ~~Statics~~
+
+> **Statics** = `FunctionsStatics`
+
+Defined in: [types/functions.ts:251](https://github.com/invertase/react-native-firebase/blob/main/packages/functions/lib/types/functions.ts#L251)
diff --git a/docs/reference/@react-native-firebase/in-app-messaging.mdx b/docs/reference/@react-native-firebase/in-app-messaging.mdx
new file mode 100644
index 0000000000..e911352baa
--- /dev/null
+++ b/docs/reference/@react-native-firebase/in-app-messaging.mdx
@@ -0,0 +1,7 @@
+[**React Native Firebase**](../README.mdx)
+
+***
+
+[React Native Firebase](../packages.mdx) / @react-native-firebase/in-app-messaging
+
+# @react-native-firebase/in-app-messaging
diff --git a/docs/reference/@react-native-firebase/installations.mdx b/docs/reference/@react-native-firebase/installations.mdx
new file mode 100644
index 0000000000..d474d22acb
--- /dev/null
+++ b/docs/reference/@react-native-firebase/installations.mdx
@@ -0,0 +1,7 @@
+[**React Native Firebase**](../README.mdx)
+
+***
+
+[React Native Firebase](../packages.mdx) / @react-native-firebase/installations
+
+# @react-native-firebase/installations
diff --git a/docs/reference/@react-native-firebase/messaging/README.mdx b/docs/reference/@react-native-firebase/messaging/README.mdx
new file mode 100644
index 0000000000..8aac9a0360
--- /dev/null
+++ b/docs/reference/@react-native-firebase/messaging/README.mdx
@@ -0,0 +1,2269 @@
+[**React Native Firebase**](../../README.mdx)
+
+***
+
+[React Native Firebase](../../packages.mdx) / @react-native-firebase/messaging
+
+# @react-native-firebase/messaging
+
+## Functions
+
+### deleteToken()
+
+> **deleteToken**(`messaging`, `tokenOptions?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:52](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L52)
+
+Removes access to an FCM token previously authorized by its scope.
+Messages sent by the server to this token will fail.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### tokenOptions?
+
+[`NativeTokenOptions`](#nativetokenoptions)
+
+Options to override senderId (iOS) and projectId (Android).
+
+#### Returns
+
+`Promise`\<`void`\>
+
+Promise that resolves when the token is deleted.
+
+***
+
+### experimentalSetDeliveryMetricsExportedToBigQueryEnabled()
+
+> **experimentalSetDeliveryMetricsExportedToBigQueryEnabled**(`messaging`, `enabled`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:431](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L431)
+
+Sets whether message delivery metrics are exported to BigQuery is enabled or disabled.
+The value is false by default. Set this to true to allow exporting of message delivery metrics to BigQuery.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### enabled
+
+`boolean`
+
+A boolean value to enable or disable exporting of message delivery metrics to BigQuery.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+Promise that resolves when the setting is updated.
+
+***
+
+### getAPNSToken()
+
+> **getAPNSToken**(`messaging`): `Promise`\<`string` \| `null`\>
+
+Defined in: [modular.ts:223](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L223)
+
+On iOS, it is possible to get the users APNs token. This may be required if you want to send messages to your
+iOS devices without using the FCM service.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+#### Returns
+
+`Promise`\<`string` \| `null`\>
+
+Promise that resolves with the APNs token or null.
+
+***
+
+### getDidOpenSettingsForNotification()
+
+> **getDidOpenSettingsForNotification**(`messaging`): `Promise`\<`boolean`\>
+
+Defined in: [modular.ts:170](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L170)
+
+When the app is opened from iOS notifications settings from a quit state,
+this method will return `true` or `false` if the app was opened via another method.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+#### Returns
+
+`Promise`\<`boolean`\>
+
+Promise that resolves with a boolean indicating if the app was opened from settings.
+
+***
+
+### getInitialNotification()
+
+> **getInitialNotification**(`messaging`): `Promise`\<[`RemoteMessage`](#remotemessage) \| `null`\>
+
+Defined in: [modular.ts:159](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L159)
+
+When a notification from FCM has triggered the application to open from a quit state,
+this method will return a `RemoteMessage` containing the notification data, or `null` if
+the app was opened via another method.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+#### Returns
+
+`Promise`\<[`RemoteMessage`](#remotemessage) \| `null`\>
+
+Promise that resolves with the initial notification or null.
+
+***
+
+### getIsHeadless()
+
+> **getIsHeadless**(`messaging`): `Promise`\<`boolean`\>
+
+Defined in: [modular.ts:181](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L181)
+
+Returns whether the root view is headless or not
+i.e true if the app was launched in the background (for example, by data-only cloud message)
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+#### Returns
+
+`Promise`\<`boolean`\>
+
+Promise that resolves with a boolean indicating if the app is headless.
+
+***
+
+### getMessaging()
+
+> **getMessaging**(`app?`): [`Messaging`](#messaging)
+
+Defined in: [modular.ts:37](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L37)
+
+Returns a Messaging instance for the given app.
+
+#### Parameters
+
+##### app?
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+FirebaseApp. Optional.
+
+#### Returns
+
+[`Messaging`](#messaging)
+
+Messaging instance
+
+***
+
+### getToken()
+
+> **getToken**(`messaging`, `options?`): `Promise`\<`string`\>
+
+Defined in: [modular.ts:66](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L66)
+
+Returns an FCM token for this device. Optionally, you can specify custom options for your own use case.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### options?
+
+[`GetTokenOptions`](#gettokenoptions) & [`NativeTokenOptions`](#nativetokenoptions)
+
+Options to override senderId (iOS) and appName.
+
+#### Returns
+
+`Promise`\<`string`\>
+
+Promise that resolves with the FCM token.
+
+***
+
+### hasPermission()
+
+> **hasPermission**(`messaging`): `Promise`\<`AuthorizationStatus`\>
+
+Defined in: [modular.ts:261](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L261)
+
+Returns a `AuthorizationStatus` as to whether the user has messaging permission for this app.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+#### Returns
+
+`Promise`\<`AuthorizationStatus`\>
+
+Promise that resolves with the authorization status.
+
+***
+
+### isAutoInitEnabled()
+
+> **isAutoInitEnabled**(`messaging`): `boolean`
+
+Defined in: [modular.ts:137](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L137)
+
+Returns whether messaging auto initialization is enabled or disabled for the device.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+#### Returns
+
+`boolean`
+
+Boolean indicating whether auto initialization is enabled.
+
+***
+
+### isDeliveryMetricsExportToBigQueryEnabled()
+
+> **isDeliveryMetricsExportToBigQueryEnabled**(`messaging`): `boolean`
+
+Defined in: [modular.ts:380](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L380)
+
+Returns a boolean whether message delivery metrics are exported to BigQuery.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+#### Returns
+
+`boolean`
+
+Boolean indicating if message delivery metrics are exported to BigQuery.
+
+***
+
+### isDeviceRegisteredForRemoteMessages()
+
+> **isDeviceRegisteredForRemoteMessages**(`messaging`): `boolean`
+
+Defined in: [modular.ts:203](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L203)
+
+Returns a boolean value whether the user has registered for remote notifications via
+`registerDeviceForRemoteMessages()`. For iOS. Android always returns `true`.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+#### Returns
+
+`boolean`
+
+Boolean indicating if the device is registered for remote messages.
+
+***
+
+### isNotificationDelegationEnabled()
+
+> **isNotificationDelegationEnabled**(`messaging`): `boolean`
+
+Defined in: [modular.ts:390](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L390)
+
+Returns a boolean whether message delegation is enabled. Android only,
+always returns false on iOS
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+#### Returns
+
+`boolean`
+
+Boolean indicating if notification delegation is enabled.
+
+***
+
+### isSupported()
+
+> **isSupported**(`messaging`): `Promise`\<`boolean`\>
+
+Defined in: [modular.ts:419](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L419)
+
+Checks if all required APIs exist in the browser.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+#### Returns
+
+`Promise`\<`boolean`\>
+
+Promise that resolves with a boolean indicating if the APIs are supported.
+
+***
+
+### onDeletedMessages()
+
+> **onDeletedMessages**(`messaging`, `listener`): () => `void`
+
+Defined in: [modular.ts:272](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L272)
+
+Called when the FCM server deletes pending messages.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### listener
+
+() => `void`
+
+Called when the FCM deletes pending messages.
+
+#### Returns
+
+Function to unsubscribe from the deleted messages listener.
+
+() => `void`
+
+***
+
+### onMessage()
+
+> **onMessage**(`messaging`, `listener`): () => `void`
+
+Defined in: [modular.ts:81](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L81)
+
+When any FCM payload is received, the listener callback is called with a `RemoteMessage`.
+> This subscriber method is only called when the app is active (in the foreground).
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### listener
+
+(`message`) => `any`
+
+Called with a `RemoteMessage` when a new FCM payload is received from the server.
+
+#### Returns
+
+Function to unsubscribe from the message listener.
+
+() => `void`
+
+***
+
+### onMessageSent()
+
+> **onMessageSent**(`messaging`, `listener`): () => `void`
+
+Defined in: [modular.ts:283](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L283)
+
+When sending a `RemoteMessage`, this listener is called when the message has been sent to FCM.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### listener
+
+(`messageId`) => `any`
+
+Called when the FCM sends the remote message to FCM.
+
+#### Returns
+
+Function to unsubscribe from the message sent listener.
+
+() => `void`
+
+***
+
+### onNotificationOpenedApp()
+
+> **onNotificationOpenedApp**(`messaging`, `listener`): () => `void`
+
+Defined in: [modular.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L96)
+
+When the user presses a notification displayed via FCM, this listener will be called if the app
+has opened from a background state.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### listener
+
+(`message`) => `any`
+
+Called with a `RemoteMessage` when a notification press opens the application.
+
+#### Returns
+
+Function to unsubscribe from the notification opened listener.
+
+() => `void`
+
+***
+
+### onSendError()
+
+> **onSendError**(`messaging`, `listener`): () => `void`
+
+Defined in: [modular.ts:298](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L298)
+
+When sending a `RemoteMessage`, this listener is called when an error is thrown and the
+message could not be sent.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### listener
+
+(`evt`) => `any`
+
+Called when the FCM sends the remote message to FCM.
+
+#### Returns
+
+Function to unsubscribe from the send error listener.
+
+() => `void`
+
+***
+
+### onTokenRefresh()
+
+> **onTokenRefresh**(`messaging`, `listener`): () => `void`
+
+Defined in: [modular.ts:112](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L112)
+
+Called when a new registration token is generated for the device. For example, this event can happen when a
+token expires or when the server invalidates the token.
+> This subscriber method is only called when the app is active (in the foreground).
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### listener
+
+(`token`) => `any`
+
+Called with a FCM token when the token is refreshed.
+
+#### Returns
+
+Function to unsubscribe from the token refresh listener.
+
+() => `void`
+
+***
+
+### registerDeviceForRemoteMessages()
+
+> **registerDeviceForRemoteMessages**(`messaging`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:192](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L192)
+
+On iOS, if your app wants to receive remote messages from FCM (via APNs), you must explicitly register
+with APNs if auto-registration has been disabled.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+Promise that resolves when the device is registered.
+
+***
+
+### requestPermission()
+
+> **requestPermission**(`messaging`, `iosPermissions?`): `Promise`\<`AuthorizationStatus`\>
+
+Defined in: [modular.ts:124](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L124)
+
+On iOS, messaging permission must be requested by the current application before messages can
+be received or sent.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### iosPermissions?
+
+[`IOSPermissions`](#iospermissions)
+
+All the available permissions for iOS that can be requested.
+
+#### Returns
+
+`Promise`\<`AuthorizationStatus`\>
+
+Promise that resolves with the authorization status.
+
+***
+
+### sendMessage()
+
+> **sendMessage**(`messaging`, `message`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:347](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L347)
+
+Send a new `RemoteMessage` to the FCM server.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### message
+
+[`RemoteMessage`](#remotemessage)
+
+A `RemoteMessage` interface.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+Promise that resolves when the message is sent.
+
+***
+
+### setAPNSToken()
+
+> **setAPNSToken**(`messaging`, `token`, `type?`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:251](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L251)
+
+On iOS, This method is used to set the APNs Token received by the application delegate.
+Note that the token is expected to be a hexadecimal string, as it is an NSData type in
+the underlying native firebase SDK, and raw data may only be passed as a string if it is
+hex encoded. Calling code is responsible for correct encoding, you should verify by comparing
+the results of `getAPNSToken()` with your token parameter to make sure they are equivalent.
+
+Messaging uses method swizzling to ensure that the APNs token is set automatically.
+However, if you have disabled swizzling by setting FirebaseAppDelegateProxyEnabled to NO
+in your app's Info.plist, you should manually set the APNs token in your application
+delegate's application(_:didRegisterForRemoteNotificationsWithDeviceToken:) method.
+
+If you would like to set the type of the APNs token, rather than relying on automatic
+detection, provide a type of either 'prod', 'sandbox'. Omitting the type parameter
+or specifying 'unknown' will rely on automatic type detection based on provisioning profile.
+
+At a native level you may also call objective-c `[FIRMessaging setAPNSToken];` as needed.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### token
+
+`string`
+
+A hexadecimal string representing your APNs token.
+
+##### type?
+
+`string`
+
+Optional. A string specifying 'prod', 'sandbox' or 'unknown' token type.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+Promise that resolves when the APNs token is set.
+
+***
+
+### setAutoInitEnabled()
+
+> **setAutoInitEnabled**(`messaging`, `enabled`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:147](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L147)
+
+Sets whether messaging auto initialization is enabled or disabled for the device.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### enabled
+
+`boolean`
+
+A boolean value to enable or disable auto initialization.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+Promise that resolves when the setting is updated.
+
+***
+
+### setBackgroundMessageHandler()
+
+> **setBackgroundMessageHandler**(`messaging`, `handler`): `void`
+
+Defined in: [modular.ts:314](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L314)
+
+Set a message handler function which is called when the app is in the background
+or terminated. In Android, a headless task is created, allowing you to access the React Native environment
+to perform tasks such as updating local storage, or sending a network request.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### handler
+
+(`message`) => `Promise`\<`any`\>
+
+Called when a message is sent and the application is in a background or terminated state.
+
+#### Returns
+
+`void`
+
+void
+
+***
+
+### setNotificationDelegationEnabled()
+
+> **setNotificationDelegationEnabled**(`messaging`, `enabled`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:402](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L402)
+
+Sets whether message notification delegation is enabled or disabled.
+The value is false by default. Set this to true to allow delegation of notification to Google Play Services.
+Note if true message handlers will not function on Android, and it has no effect on iOS
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### enabled
+
+`boolean`
+
+A boolean value to enable or disable delegation of messages to Google Play Services.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+Promise that resolves when the setting is updated.
+
+***
+
+### setOpenSettingsForNotificationsHandler()
+
+> **setOpenSettingsForNotificationsHandler**(`messaging`, `handler`): `void`
+
+Defined in: [modular.ts:329](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L329)
+
+Set a handler function which is called when the `${App Name} notifications settings`
+link in iOS settings is clicked.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### handler
+
+(`message`) => `any`
+
+Called when link in iOS settings is clicked.
+
+#### Returns
+
+`void`
+
+void
+
+***
+
+### subscribeToTopic()
+
+> **subscribeToTopic**(`messaging`, `topic`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:359](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L359)
+
+Apps can subscribe to a topic, which allows the FCM server to send targeted messages to only those
+devices subscribed to that topic.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### topic
+
+`string`
+
+The topic name.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+Promise that resolves when the subscription is complete.
+
+***
+
+### unregisterDeviceForRemoteMessages()
+
+> **unregisterDeviceForRemoteMessages**(`messaging`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:212](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L212)
+
+Unregisters the app from receiving remote notifications.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+Promise that resolves when the device is unregistered.
+
+***
+
+### unsubscribeFromTopic()
+
+> **unsubscribeFromTopic**(`messaging`, `topic`): `Promise`\<`void`\>
+
+Defined in: [modular.ts:370](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/modular.ts#L370)
+
+Unsubscribe the device from a topic.
+
+#### Parameters
+
+##### messaging
+
+[`Messaging`](#messaging)
+
+Messaging instance.
+
+##### topic
+
+`string`
+
+The topic name.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+Promise that resolves when the unsubscription is complete.
+
+## Enumerations
+
+### MessagePriority
+
+Defined in: [types/messaging.ts:127](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L127)
+
+Represents the priority of a RemoteMessage
+
+Note: this is an android-specific property of RemoteMessages
+
+#### Enumeration Members
+
+##### PRIORITY\_HIGH
+
+> **PRIORITY\_HIGH**: `1`
+
+Defined in: [types/messaging.ts:136](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L136)
+
+High priority - Activities may start foreground services if they receive high priority messages
+
+##### PRIORITY\_NORMAL
+
+> **PRIORITY\_NORMAL**: `2`
+
+Defined in: [types/messaging.ts:141](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L141)
+
+Normal priority - Activities have restrictions and may only perform unobtrusive actions on receipt
+
+##### PRIORITY\_UNKNOWN
+
+> **PRIORITY\_UNKNOWN**: `0`
+
+Defined in: [types/messaging.ts:131](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L131)
+
+Unknown priority, this will be returned as the default on non-android platforms
+
+## Interfaces
+
+### FcmOptions
+
+Defined in: [types/messaging.ts:147](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L147)
+
+Options for features provided by the FCM SDK for Web.
+
+#### Properties
+
+##### analyticsLabel?
+
+> `optional` **analyticsLabel?**: `string`
+
+Defined in: [types/messaging.ts:156](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L156)
+
+The label associated with the message's analytics data.
+
+##### link?
+
+> `optional` **link?**: `string`
+
+Defined in: [types/messaging.ts:151](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L151)
+
+The link to open when the user clicks on the notification.
+
+***
+
+### GetTokenOptions
+
+Defined in: [types/messaging.ts:181](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L181)
+
+Options for `getToken()`
+
+#### Properties
+
+##### serviceWorkerRegistration?
+
+> `optional` **serviceWorkerRegistration?**: `any`
+
+Defined in: [types/messaging.ts:198](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L198)
+
+The service worker registration for receiving push messaging.
+If the registration is not provided explicitly, you need to
+have a firebase-messaging-sw.js at your root location.
+
+###### Platform
+
+web
+
+##### vapidKey?
+
+> `optional` **vapidKey?**: `string`
+
+Defined in: [types/messaging.ts:189](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L189)
+
+The VAPID key used to authenticate the push subscribers
+ to receive push messages only from sending servers
+that hold the corresponding private key.
+
+###### Platform
+
+web
+
+***
+
+### IOSPermissions
+
+Defined in: [types/messaging.ts:398](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L398)
+
+An interface representing all the available permissions that can be requested by your app via
+the `requestPermission` API.
+
+#### Properties
+
+##### alert?
+
+> `optional` **alert?**: `boolean`
+
+Defined in: [types/messaging.ts:404](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L404)
+
+Request permission to display alerts.
+
+Defaults to true.
+
+##### announcement?
+
+> `optional` **announcement?**: `boolean`
+
+Defined in: [types/messaging.ts:413](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L413)
+
+Request permission for Siri to automatically read out notification messages over AirPods.
+
+Defaults to false.
+
+###### Platform
+
+ios iOS >= 13
+
+##### badge?
+
+> `optional` **badge?**: `boolean`
+
+Defined in: [types/messaging.ts:420](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L420)
+
+Request permission to update the application badge.
+
+Defaults to true.
+
+##### carPlay?
+
+> `optional` **carPlay?**: `boolean`
+
+Defined in: [types/messaging.ts:434](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L434)
+
+Request permission to display notifications in a CarPlay environment.
+
+Defaults to true.
+
+##### criticalAlert?
+
+> `optional` **criticalAlert?**: `boolean`
+
+Defined in: [types/messaging.ts:427](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L427)
+
+Request permission for critical alerts.
+
+Defaults to false.
+
+##### providesAppNotificationSettings?
+
+> `optional` **providesAppNotificationSettings?**: `boolean`
+
+Defined in: [types/messaging.ts:459](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L459)
+
+Request permission to display a button for in-app notification settings.
+
+Default to false
+
+###### Platform
+
+ios iOS >= 12
+
+##### provisional?
+
+> `optional` **provisional?**: `boolean`
+
+Defined in: [types/messaging.ts:443](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L443)
+
+Request permission to provisionally create non-interrupting notifications.
+
+Defaults to false.
+
+###### Platform
+
+ios iOS >= 12
+
+##### sound?
+
+> `optional` **sound?**: `boolean`
+
+Defined in: [types/messaging.ts:450](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L450)
+
+Request permission to play sounds.
+
+Defaults to true.
+
+***
+
+### Messaging
+
+Defined in: [types/messaging.ts:497](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L497)
+
+The Firebase Messaging service interface.
+
+> This module is available for the default app only.
+
+#### Extends
+
+- [`FirebaseModule`](../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule)
+
+#### Methods
+
+##### deleteToken()
+
+> **deleteToken**(`options?`): `Promise`\<`void`\>
+
+Defined in: [types/messaging.ts:549](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L549)
+
+Removes access to an FCM token previously authorized by it's scope. Messages sent by the server
+to this token will fail.
+
+###### Parameters
+
+###### options?
+
+[`NativeTokenOptions`](#nativetokenoptions)
+
+Options to override senderId (iOS) and appName (android)
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### getAPNSToken()
+
+> **getAPNSToken**(): `Promise`\<`string` \| `null`\>
+
+Defined in: [types/messaging.ts:639](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L639)
+
+On iOS, it is possible to get the users APNs token. This may be required if you want to send messages to your
+iOS devices without using the FCM service.
+
+> You can safely call this method on Android without platform checks. It's a no-op on Android and will promise resolve `null`.
+
+###### Returns
+
+`Promise`\<`string` \| `null`\>
+
+###### Platform
+
+ios
+
+##### getDidOpenSettingsForNotification()
+
+> **getDidOpenSettingsForNotification**(): `Promise`\<`boolean`\>
+
+Defined in: [types/messaging.ts:526](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L526)
+
+When the app is opened from iOS notifications settings from a quit state,
+this method will return `true` or `false` if the app was opened via another method.
+
+###### Returns
+
+`Promise`\<`boolean`\>
+
+###### Ios
+
+iOS >= 12
+
+##### getInitialNotification()
+
+> **getInitialNotification**(): `Promise`\<[`RemoteMessage`](#remotemessage) \| `null`\>
+
+Defined in: [types/messaging.ts:518](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L518)
+
+When a notification from FCM has triggered the application to open from a quit state,
+this method will return a `RemoteMessage` containing the notification data, or `null` if
+the app was opened via another method.
+
+###### Returns
+
+`Promise`\<[`RemoteMessage`](#remotemessage) \| `null`\>
+
+##### getIsHeadless()
+
+> **getIsHeadless**(): `Promise`\<`boolean`\>
+
+Defined in: [types/messaging.ts:534](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L534)
+
+Returns whether the root view is headless or not
+i.e true if the app was launched in the background (for example, by data-only cloud message)
+
+###### Returns
+
+`Promise`\<`boolean`\>
+
+###### Platform
+
+ios iOS
+
+##### getToken()
+
+> **getToken**(`options?`): `Promise`\<`string`\>
+
+Defined in: [types/messaging.ts:541](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L541)
+
+Returns an FCM token for this device. Optionally you can specify a custom options to your own use-case.
+
+###### Parameters
+
+###### options?
+
+[`GetTokenOptions`](#gettokenoptions) & [`NativeTokenOptions`](#nativetokenoptions)
+
+Options composite type with all members of `GetTokenOptions` and `NativeTokenOptions`
+
+###### Returns
+
+`Promise`\<`string`\>
+
+##### hasPermission()
+
+> **hasPermission**(): `Promise`\<`AuthorizationStatus`\>
+
+Defined in: [types/messaging.ts:655](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L655)
+
+Returns a `AuthorizationStatus` as to whether the user has messaging permission for this app.
+
+###### Returns
+
+`Promise`\<`AuthorizationStatus`\>
+
+##### isSupported()
+
+> **isSupported**(): `Promise`\<`boolean`\>
+
+Defined in: [types/messaging.ts:750](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L750)
+
+Checks if all required APIs exist in the browser.
+
+###### Returns
+
+`Promise`\<`boolean`\>
+
+###### Web
+
+##### onDeletedMessages()
+
+> **onDeletedMessages**(`listener`): () => `void`
+
+Defined in: [types/messaging.ts:666](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L666)
+
+Called when the FCM server deletes pending messages.
+
+Returns an unsubscribe function to stop listening for deleted messages.
+
+NOTE: Android only
+
+###### Parameters
+
+###### listener
+
+() => `void`
+
+Called when the FCM deletes pending messages.
+
+###### Returns
+
+() => `void`
+
+##### onMessage()
+
+> **onMessage**(`listener`): () => `void`
+
+Defined in: [types/messaging.ts:560](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L560)
+
+When any FCM payload is received, the listener callback is called with a `RemoteMessage`.
+
+Returns an unsubscribe function to stop listening for new messages.
+
+> This subscriber method is only called when the app is active (in the foreground).
+
+###### Parameters
+
+###### listener
+
+(`message`) => `any`
+
+Called with a `RemoteMessage` when a new FCM payload is received from the server.
+
+###### Returns
+
+() => `void`
+
+##### onMessageSent()
+
+> **onMessageSent**(`listener`): () => `void`
+
+Defined in: [types/messaging.ts:677](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L677)
+
+When sending a `RemoteMessage`, this listener is called when the message has been sent to FCM.
+
+Returns an unsubscribe function to stop listening for sent messages.
+
+NOTE: Android only
+
+###### Parameters
+
+###### listener
+
+(`messageId`) => `any`
+
+Called when the FCM sends the remote message to FCM.
+
+###### Returns
+
+() => `void`
+
+##### onNotificationOpenedApp()
+
+> **onNotificationOpenedApp**(`listener`): () => `void`
+
+Defined in: [types/messaging.ts:568](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L568)
+
+When the user presses a notification displayed via FCM, this listener will be called if the app
+has opened from a background state.
+
+###### Parameters
+
+###### listener
+
+(`message`) => `any`
+
+Called with a `RemoteMessage` when a notification press opens the application.
+
+###### Returns
+
+() => `void`
+
+##### onSendError()
+
+> **onSendError**(`listener`): () => `void`
+
+Defined in: [types/messaging.ts:689](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L689)
+
+When sending a `RemoteMessage`, this listener is called when an error is thrown and the
+message could not be sent.
+
+Returns an unsubscribe function to stop listening for sent errors.
+
+NOTE: Android only
+
+###### Parameters
+
+###### listener
+
+(`evt`) => `any`
+
+###### Returns
+
+() => `void`
+
+##### onTokenRefresh()
+
+> **onTokenRefresh**(`listener`): () => `void`
+
+Defined in: [types/messaging.ts:580](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L580)
+
+Called when a new registration token is generated for the device. For example, this event can happen when a
+token expires or when the server invalidates the token.
+
+Returns an unsubscribe function to stop listening for token refresh events.
+
+> This subscriber method is only called when the app is active (in the foreground).
+
+###### Parameters
+
+###### listener
+
+(`token`) => `any`
+
+Called with a FCM token when the token is refreshed.
+
+###### Returns
+
+() => `void`
+
+##### registerDeviceForRemoteMessages()
+
+> **registerDeviceForRemoteMessages**(): `Promise`\<`void`\>
+
+Defined in: [types/messaging.ts:598](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L598)
+
+On iOS, if your app wants to receive remote messages from FCM (via APNs), you must explicitly register
+with APNs if auto-registration has been disabled.
+
+> You can safely call this method on Android without platform checks. It's a no-op on Android and will promise resolve `void`.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### requestPermission()
+
+> **requestPermission**(`permissions?`): `Promise`\<`AuthorizationStatus`\>
+
+Defined in: [types/messaging.ts:590](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L590)
+
+On iOS, messaging permission must be requested by the current application before messages can
+be received or sent.
+
+> You can safely call this method on Android without platform checks. It's a no-op on Android and will promise resolve `AuthorizationStatus.AUTHORIZED`.
+
+###### Parameters
+
+###### permissions?
+
+[`IOSPermissions`](#iospermissions)
+
+###### Returns
+
+`Promise`\<`AuthorizationStatus`\>
+
+###### Ios
+
+##### sendMessage()
+
+> **sendMessage**(`message`): `Promise`\<`void`\>
+
+Defined in: [types/messaging.ts:714](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L714)
+
+Send a new `RemoteMessage` to the FCM server.
+
+NOTE: Android only
+
+###### Parameters
+
+###### message
+
+[`RemoteMessage`](#remotemessage)
+
+A `RemoteMessage` interface.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### setAPNSToken()
+
+> **setAPNSToken**(`token`, `type?`): `Promise`\<`void`\>
+
+Defined in: [types/messaging.ts:650](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L650)
+
+On iOS, This method is used to set the APNs Token received by the application delegate.
+
+> You can safely call this method on Android without platform checks. It's a no-op on Android and will promise resolve `null`.
+
+###### Parameters
+
+###### token
+
+`string`
+
+a hexadecimal string representing your APNS token
+
+###### type?
+
+`string`
+
+optional string specifying 'prod', 'sandbox' or 'unknown' token type
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Platform
+
+ios
+
+##### setAutoInitEnabled()
+
+> **setAutoInitEnabled**(`enabled`): `Promise`\<`void`\>
+
+Defined in: [types/messaging.ts:511](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L511)
+
+Sets whether auto initialization for messaging is enabled or disabled.
+
+###### Parameters
+
+###### enabled
+
+`boolean`
+
+A boolean value to enable or disable auto initialization.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### setBackgroundMessageHandler()
+
+> **setBackgroundMessageHandler**(`handler`): `void`
+
+Defined in: [types/messaging.ts:697](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L697)
+
+Set a message handler function which is called when the app is in the background
+or terminated.
+
+###### Parameters
+
+###### handler
+
+(`message`) => `Promise`\<`any`\>
+
+called with an argument of type messaging.RemoteMessage that must be async and return a Promise
+
+###### Returns
+
+`void`
+
+##### setDeliveryMetricsExportToBigQuery()
+
+> **setDeliveryMetricsExportToBigQuery**(`enabled`): `Promise`\<`void`\>
+
+Defined in: [types/messaging.ts:736](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L736)
+
+Sets whether message delivery metrics are exported to BigQuery is enabled or disabled.
+
+###### Parameters
+
+###### enabled
+
+`boolean`
+
+A boolean value to enable or disable exporting of message delivery metrics to BigQuery.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### setNotificationDelegationEnabled()
+
+> **setNotificationDelegationEnabled**(`enabled`): `Promise`\<`void`\>
+
+Defined in: [types/messaging.ts:743](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L743)
+
+Sets whether remote notification delegation to Google Play Services is enabled or disabled.
+
+###### Parameters
+
+###### enabled
+
+`boolean`
+
+A boolean value to enable or disable remote notification delegation to Google Play Services.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### setOpenSettingsForNotificationsHandler()
+
+> **setOpenSettingsForNotificationsHandler**(`handler`): `void`
+
+Defined in: [types/messaging.ts:705](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L705)
+
+Set a handler function which is called when the `${App Name} notifications settings`
+link in iOS settings is clicked.
+
+###### Parameters
+
+###### handler
+
+(`message`) => `any`
+
+###### Returns
+
+`void`
+
+###### Ios
+
+iOS >= 12
+
+##### subscribeToTopic()
+
+> **subscribeToTopic**(`topic`): `Promise`\<`void`\>
+
+Defined in: [types/messaging.ts:722](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L722)
+
+Apps can subscribe to a topic, which allows the FCM server to send targeted messages to only those
+devices subscribed to that topic.
+
+###### Parameters
+
+###### topic
+
+`string`
+
+The topic name.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### unregisterDeviceForRemoteMessages()
+
+> **unregisterDeviceForRemoteMessages**(): `Promise`\<`void`\>
+
+Defined in: [types/messaging.ts:629](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L629)
+
+Unregisters the app from receiving remote notifications.
+
+> You can safely call this method on Android without platform checks. It's a no-op on Android and will promise resolve `void`.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Platform
+
+ios
+
+##### unsubscribeFromTopic()
+
+> **unsubscribeFromTopic**(`topic`): `Promise`\<`void`\>
+
+Defined in: [types/messaging.ts:729](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L729)
+
+Unsubscribe the device from a topic.
+
+###### Parameters
+
+###### topic
+
+`string`
+
+The topic name.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+#### Properties
+
+##### app
+
+> **app**: [`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+Defined in: [types/messaging.ts:499](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L499)
+
+The FirebaseApp this module is associated with
+
+###### Overrides
+
+[`FirebaseModule`](../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule).[`app`](../app/namespaces/ReactNativeFirebase.mdx#app)
+
+##### isAutoInitEnabled
+
+> **isAutoInitEnabled**: `boolean`
+
+Defined in: [types/messaging.ts:504](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L504)
+
+Returns whether messaging auto initialization is enabled or disabled for the device.
+
+##### isDeliveryMetricsExportToBigQueryEnabled
+
+> **isDeliveryMetricsExportToBigQueryEnabled**: `boolean`
+
+Defined in: [types/messaging.ts:620](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L620)
+
+Returns whether message delivery metrics are exported to BigQuery.
+
+##### isDeviceRegisteredForRemoteMessages
+
+> **isDeviceRegisteredForRemoteMessages**: `boolean`
+
+Defined in: [types/messaging.ts:608](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L608)
+
+Returns a boolean value whether the user has registered for remote notifications via
+`registerDeviceForRemoteMessages()`.
+
+> You can safely access this property on Android without platform checks. Android returns `true` only.
+
+###### Platform
+
+ios
+
+##### isNotificationDelegationEnabled
+
+> **isNotificationDelegationEnabled**: `boolean`
+
+Defined in: [types/messaging.ts:615](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L615)
+
+Returns whether remote notification delegation to Google Play Services is enabled or disabled.
+
+> You can safely access this property on iOS without platform checks. iOS returns `false` only.
+
+***
+
+### NativeTokenOptions
+
+Defined in: [types/messaging.ts:162](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L162)
+
+Options for `getToken()` and `deleteToken()`
+
+#### Properties
+
+##### appName?
+
+> `optional` **appName?**: `string`
+
+Defined in: [types/messaging.ts:168](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L168)
+
+The app name of the FirebaseApp instance.
+
+###### Platform
+
+android Android
+
+##### senderId?
+
+> `optional` **senderId?**: `string`
+
+Defined in: [types/messaging.ts:175](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L175)
+
+The senderID for a particular Firebase project.
+
+###### Platform
+
+ios iOS
+
+***
+
+### Notification
+
+Defined in: [types/messaging.ts:207](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L207)
+
+#### Properties
+
+##### android?
+
+> `optional` **android?**: `object`
+
+Defined in: [types/messaging.ts:281](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L281)
+
+Additional Android specific properties set on the notification.
+
+###### channelId?
+
+> `optional` **channelId?**: `string`
+
+The channel ID set on the notification. If not set, the notification uses the default
+"Miscellaneous" channel set by FCM.
+
+###### clickAction?
+
+> `optional` **clickAction?**: `string`
+
+Name of the click action set on the notification.
+
+###### color?
+
+> `optional` **color?**: `string`
+
+The custom color used to tint the notification content.
+
+###### count?
+
+> `optional` **count?**: `number`
+
+The current unread notification count for this application, managed by the device.
+
+###### imageUrl?
+
+> `optional` **imageUrl?**: `string`
+
+The custom image was provided and displayed in the notification body.
+
+###### link?
+
+> `optional` **link?**: `string`
+
+Deep link URL provided to the notification.
+
+###### priority?
+
+> `optional` **priority?**: `NotificationAndroidPriority`
+
+The notification priority.
+
+Note; on devices which have channel support (Android 8.0 (API level 26) +),
+this value will be ignored. Instead, the channel "importance" level is used.
+
+###### smallIcon?
+
+> `optional` **smallIcon?**: `string`
+
+The custom small icon used to display on the notification. If not set, uses the default
+application icon defined in the AndroidManifest file.
+
+###### sound?
+
+> `optional` **sound?**: `string`
+
+The sound played when the notification was delivered on the device (channel settings permitted).
+
+Set as "default" if the default device notification sound was used.
+
+###### ticker?
+
+> `optional` **ticker?**: `string`
+
+Ticker text set on the notification.
+
+Ticker text is used for devices with accessibility enabled (e.g. to read out the message).
+
+###### visibility?
+
+> `optional` **visibility?**: `NotificationAndroidVisibility`
+
+The visibility of a notification. This value determines how the notification is shown on the users
+devices (e.g. on the lock-screen).
+
+##### body?
+
+> `optional` **body?**: `string`
+
+Defined in: [types/messaging.ts:221](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L221)
+
+The notification body content.
+
+##### bodyLocArgs?
+
+> `optional` **bodyLocArgs?**: `string`[]
+
+Defined in: [types/messaging.ts:247](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L247)
+
+Any arguments that should be formatted into the resource specified by bodyLocKey.
+
+##### bodyLocKey?
+
+> `optional` **bodyLocKey?**: `string`
+
+Defined in: [types/messaging.ts:242](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L242)
+
+The native localization key for the notification body content.
+
+##### icon?
+
+> `optional` **icon?**: `string`
+
+Defined in: [types/messaging.ts:227](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L227)
+
+Web only. The URL to use for the notification's icon. If you don't send this key in the request,
+FCM displays the launcher icon specified in your app manifest.
+
+##### image?
+
+> `optional` **image?**: `string`
+
+Defined in: [types/messaging.ts:232](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L232)
+
+Web only. The URL of an image that is downloaded on the device and displayed in the notification.
+
+##### ios?
+
+> `optional` **ios?**: `object`
+
+Defined in: [types/messaging.ts:249](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L249)
+
+###### badge?
+
+> `optional` **badge?**: `string`
+
+The value of the badge on the home screen app icon.
+If not specified, the badge is not changed.
+If set to 0, the badge has been removed.
+
+###### sound?
+
+> `optional` **sound?**: `string` \| [`NotificationIOSCriticalSound`](#notificationioscriticalsound)
+
+The sound played when the notification was delivered on the device (if permissions permit).
+
+###### subtitle?
+
+> `optional` **subtitle?**: `string`
+
+The notification's subtitle.
+
+###### subtitleLocArgs?
+
+> `optional` **subtitleLocArgs?**: `string`[]
+
+Any arguments that should be formatted into the resource specified by subtitleLocKey.
+
+###### subtitleLocKey?
+
+> `optional` **subtitleLocKey?**: `string`
+
+The native localization key for the notification's subtitle.
+
+##### title?
+
+> `optional` **title?**: `string`
+
+Defined in: [types/messaging.ts:237](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L237)
+
+Web only. The notification's title.
+
+##### titleLocArgs?
+
+> `optional` **titleLocArgs?**: `string`[]
+
+Defined in: [types/messaging.ts:216](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L216)
+
+Any arguments that should be formatted into the resource specified by titleLocKey.
+
+##### titleLocKey?
+
+> `optional` **titleLocKey?**: `string`
+
+Defined in: [types/messaging.ts:211](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L211)
+
+The native localization key for the notification title.
+
+***
+
+### NotificationIOSCriticalSound
+
+Defined in: [types/messaging.ts:353](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L353)
+
+Represents a critical sound configuration that can be included in the
+`aps` dictionary of an APNs payload.
+
+#### Properties
+
+##### critical?
+
+> `optional` **critical?**: `boolean`
+
+Defined in: [types/messaging.ts:357](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L357)
+
+The critical alert flag. Set to `true` to enable the critical alert.
+
+##### name
+
+> **name**: `string`
+
+Defined in: [types/messaging.ts:364](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L364)
+
+The name of a sound file in the app's main bundle or in the `Library/Sounds`
+folder of the app's container directory. Specify the string "default" to play
+the system sound.
+
+##### volume?
+
+> `optional` **volume?**: `number`
+
+Defined in: [types/messaging.ts:370](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L370)
+
+The volume for the critical alert's sound. Must be a value between 0.0
+(silent) and 1.0 (full volume).
+
+***
+
+### RemoteMessage
+
+Defined in: [types/messaging.ts:30](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L30)
+
+The `RemoteMessage` interface describes an outgoing & incoming message from the remote FCM server.
+
+#### Properties
+
+##### category?
+
+> `optional` **category?**: `string`
+
+Defined in: [types/messaging.ts:99](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L99)
+
+The iOS category this notification is assigned to.
+
+###### Platform
+
+ios iOS
+
+##### collapseKey?
+
+> `optional` **collapseKey?**: `string`
+
+Defined in: [types/messaging.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L35)
+
+The collapse key a message was sent with. Used to override existing messages with the same
+key.
+
+##### contentAvailable?
+
+> `optional` **contentAvailable?**: `boolean`
+
+Defined in: [types/messaging.ts:84](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L84)
+
+Whether the iOS APNs message was configured as a background update notification.
+
+###### Platform
+
+ios iOS
+
+##### data?
+
+> `optional` **data?**: `object`
+
+Defined in: [types/messaging.ts:72](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L72)
+
+Any additional data sent with the message.
+
+###### Index Signature
+
+\[`key`: `string`\]: `string` \| `object`
+
+##### fcmOptions
+
+> **fcmOptions**: [`FcmOptions`](#fcmoptions)
+
+Defined in: [types/messaging.ts:109](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L109)
+
+Options for features provided by the FCM SDK for Web.
+
+##### from?
+
+> `optional` **from?**: `string`
+
+Defined in: [types/messaging.ts:51](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L51)
+
+The topic name or message identifier.
+
+##### messageId?
+
+> `optional` **messageId?**: `string`
+
+Defined in: [types/messaging.ts:42](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L42)
+
+A unique ID assigned to every message.
+
+If not provided, a random unique ID is generated.
+
+##### messageType?
+
+> `optional` **messageType?**: `string`
+
+Defined in: [types/messaging.ts:47](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L47)
+
+The message type of the message.
+
+##### mutableContent?
+
+> `optional` **mutableContent?**: `boolean`
+
+Defined in: [types/messaging.ts:92](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L92)
+
+Whether the iOS APNs `mutable-content` property on the message was set
+allowing the app to modify the notification via app extensions.
+
+###### Platform
+
+ios iOS
+
+##### notification?
+
+> `optional` **notification?**: [`Notification`](#notification)
+
+Defined in: [types/messaging.ts:77](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L77)
+
+Additional NotificationPayload data sent with the message
+
+##### originalPriority?
+
+> `optional` **originalPriority?**: [`MessagePriority`](#messagepriority)
+
+Defined in: [types/messaging.ts:119](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L119)
+
+Original priority - android-specific, undefined on non-android platforms, default PRIORITY_UNKNOWN
+
+##### priority?
+
+> `optional` **priority?**: [`MessagePriority`](#messagepriority)
+
+Defined in: [types/messaging.ts:114](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L114)
+
+Priority - android-specific, undefined on non-android platforms, default PRIORITY_UNKNOWN
+
+##### sentTime?
+
+> `optional` **sentTime?**: `number`
+
+Defined in: [types/messaging.ts:67](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L67)
+
+The time the message was sent, in milliseconds since the start of unix epoch
+
+##### threadId?
+
+> `optional` **threadId?**: `string`
+
+Defined in: [types/messaging.ts:104](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L104)
+
+An iOS app specific identifier used for notification grouping.
+
+##### to?
+
+> `optional` **to?**: `string`
+
+Defined in: [types/messaging.ts:55](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L55)
+
+The address for the message.
+
+##### ttl?
+
+> `optional` **ttl?**: `number`
+
+Defined in: [types/messaging.ts:62](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L62)
+
+The time to live for the message in seconds.
+
+Defaults to 3600.
+
+***
+
+### SendErrorEvent
+
+Defined in: [types/messaging.ts:478](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L478)
+
+An event that is received when a message fails to send.
+
+#### Properties
+
+##### error
+
+> **error**: [`NativeFirebaseError`](../app/namespaces/ReactNativeFirebase.mdx#nativefirebaseerror)
+
+Defined in: [types/messaging.ts:487](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L487)
+
+A native firebase error that indicates the failure reason.
+
+##### messageId
+
+> **messageId**: `string`
+
+Defined in: [types/messaging.ts:482](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L482)
+
+The id of the message that failed to send
+
+## Namespaces
+
+- [FirebaseMessagingTypes](namespaces/FirebaseMessagingTypes.mdx)
+
+## Variables
+
+### AuthorizationStatus
+
+> `const` **AuthorizationStatus**: `object`
+
+Defined in: [statics.ts:4](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/statics.ts#L4)
+
+#### Type Declaration
+
+##### AUTHORIZED
+
+> `readonly` **AUTHORIZED**: `1` = `1`
+
+##### DENIED
+
+> `readonly` **DENIED**: `0` = `0`
+
+##### EPHEMERAL
+
+> `readonly` **EPHEMERAL**: `3` = `3`
+
+##### NOT\_DETERMINED
+
+> `readonly` **NOT\_DETERMINED**: `-1` = `-1`
+
+##### PROVISIONAL
+
+> `readonly` **PROVISIONAL**: `2` = `2`
+
+***
+
+### default
+
+> **default**: `MessagingNamespace`
+
+Defined in: [namespaced.ts:572](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/namespaced.ts#L572)
+
+***
+
+### firebase
+
+> `const` **firebase**: [`FirebaseNamespacedExport`](../app/namespaces/ReactNativeFirebase.mdx#firebasenamespacedexport)\<`"messaging"`, [`Messaging`](#messaging), `Statics`, `false`\>
+
+Defined in: [namespaced.ts:577](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/namespaced.ts#L577)
+
+***
+
+### NotificationAndroidPriority
+
+> `const` **NotificationAndroidPriority**: `object`
+
+Defined in: [statics.ts:12](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/statics.ts#L12)
+
+#### Type Declaration
+
+##### PRIORITY\_DEFAULT
+
+> `readonly` **PRIORITY\_DEFAULT**: `0` = `0`
+
+##### PRIORITY\_HIGH
+
+> `readonly` **PRIORITY\_HIGH**: `1` = `1`
+
+##### PRIORITY\_LOW
+
+> `readonly` **PRIORITY\_LOW**: `-1` = `-1`
+
+##### PRIORITY\_MAX
+
+> `readonly` **PRIORITY\_MAX**: `2` = `2`
+
+##### PRIORITY\_MIN
+
+> `readonly` **PRIORITY\_MIN**: `-2` = `-2`
+
+***
+
+### NotificationAndroidVisibility
+
+> `const` **NotificationAndroidVisibility**: `object`
+
+Defined in: [statics.ts:20](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/statics.ts#L20)
+
+#### Type Declaration
+
+##### VISIBILITY\_PRIVATE
+
+> `readonly` **VISIBILITY\_PRIVATE**: `0` = `0`
+
+##### VISIBILITY\_PUBLIC
+
+> `readonly` **VISIBILITY\_PUBLIC**: `1` = `1`
+
+##### VISIBILITY\_SECRET
+
+> `readonly` **VISIBILITY\_SECRET**: `-1` = `-1`
+
+***
+
+### SDK\_VERSION
+
+> `const` **SDK\_VERSION**: `"24.0.0"` = `version`
+
+Defined in: [namespaced.ts:538](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/namespaced.ts#L538)
diff --git a/docs/reference/@react-native-firebase/messaging/namespaces/FirebaseMessagingTypes.mdx b/docs/reference/@react-native-firebase/messaging/namespaces/FirebaseMessagingTypes.mdx
new file mode 100644
index 0000000000..6eb21bbdec
--- /dev/null
+++ b/docs/reference/@react-native-firebase/messaging/namespaces/FirebaseMessagingTypes.mdx
@@ -0,0 +1,127 @@
+[**React Native Firebase**](../../../README.mdx)
+
+***
+
+[React Native Firebase](../../../packages.mdx) / [@react-native-firebase/messaging](../README.mdx) / FirebaseMessagingTypes
+
+# FirebaseMessagingTypes
+
+## Type Aliases
+
+### AuthorizationStatus
+
+> **AuthorizationStatus** = `_AuthorizationStatus`
+
+Defined in: [types/messaging.ts:812](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L812)
+
+***
+
+### FcmOptions
+
+> **FcmOptions** = `_FcmOptions`
+
+Defined in: [types/messaging.ts:803](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L803)
+
+***
+
+### GetTokenOptions
+
+> **GetTokenOptions** = `_GetTokenOptions`
+
+Defined in: [types/messaging.ts:805](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L805)
+
+***
+
+### IOSPermissions
+
+> **IOSPermissions** = `_IOSPermissions`
+
+Defined in: [types/messaging.ts:811](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L811)
+
+***
+
+### MessagePriority
+
+> **MessagePriority** = `_MessagePriority`
+
+Defined in: [types/messaging.ts:802](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L802)
+
+***
+
+### Module
+
+> **Module** = `_Messaging`
+
+Defined in: [types/messaging.ts:799](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L799)
+
+***
+
+### NativeTokenOptions
+
+> **NativeTokenOptions** = `_NativeTokenOptions`
+
+Defined in: [types/messaging.ts:804](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L804)
+
+***
+
+### Notification
+
+> **Notification** = `_Notification`
+
+Defined in: [types/messaging.ts:806](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L806)
+
+***
+
+### NotificationAndroidPriority
+
+> **NotificationAndroidPriority** = `_NotificationAndroidPriority`
+
+Defined in: [types/messaging.ts:809](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L809)
+
+***
+
+### NotificationAndroidVisibility
+
+> **NotificationAndroidVisibility** = `_NotificationAndroidVisibility`
+
+Defined in: [types/messaging.ts:810](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L810)
+
+***
+
+### NotificationIOSCriticalSound
+
+> **NotificationIOSCriticalSound** = `_NotificationIOSCriticalSound`
+
+Defined in: [types/messaging.ts:808](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L808)
+
+***
+
+### NotificationPayload
+
+> **NotificationPayload** = `_NotificationPayload`
+
+Defined in: [types/messaging.ts:807](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L807)
+
+***
+
+### RemoteMessage
+
+> **RemoteMessage** = `_RemoteMessage`
+
+Defined in: [types/messaging.ts:801](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L801)
+
+***
+
+### SendErrorEvent
+
+> **SendErrorEvent** = `_SendErrorEvent`
+
+Defined in: [types/messaging.ts:813](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L813)
+
+***
+
+### Statics
+
+> **Statics** = `_MessagingStatics`
+
+Defined in: [types/messaging.ts:800](https://github.com/invertase/react-native-firebase/blob/main/packages/messaging/lib/types/messaging.ts#L800)
diff --git a/docs/reference/@react-native-firebase/ml/README.mdx b/docs/reference/@react-native-firebase/ml/README.mdx
new file mode 100644
index 0000000000..3604ed0538
--- /dev/null
+++ b/docs/reference/@react-native-firebase/ml/README.mdx
@@ -0,0 +1,79 @@
+[**React Native Firebase**](../../README.mdx)
+
+***
+
+[React Native Firebase](../../packages.mdx) / @react-native-firebase/ml
+
+# @react-native-firebase/ml
+
+## Functions
+
+### getML()
+
+> **getML**(`app?`): [`Module`](namespaces/FirebaseMLTypes.mdx#module)
+
+Defined in: [modular/index.d.ts:14](https://github.com/invertase/react-native-firebase/blob/main/packages/ml/lib/modular/index.d.ts#L14)
+
+Returns the existing default [FirebaseML](#firebaseml) instance that is associated with the
+default @firebase/app#FirebaseApp. If no instance exists, initializes a new
+instance with default settings.
+
+#### Parameters
+
+##### app?
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+#### Returns
+
+[`Module`](namespaces/FirebaseMLTypes.mdx#module)
+
+The [FirebaseML](#firebaseml) instance of the provided app.
+
+## Namespaces
+
+- [FirebaseMLTypes](namespaces/FirebaseMLTypes.mdx)
+
+## Type Aliases
+
+### FirebaseML
+
+> **FirebaseML** = [`Module`](namespaces/FirebaseMLTypes.mdx#module)
+
+Defined in: [modular/index.d.ts:4](https://github.com/invertase/react-native-firebase/blob/main/packages/ml/lib/modular/index.d.ts#L4)
+
+## Variables
+
+### default
+
+> `const` **default**: `MLNamespace`
+
+Defined in: [index.d.ts:78](https://github.com/invertase/react-native-firebase/blob/main/packages/ml/lib/index.d.ts#L78)
+
+***
+
+### firebase
+
+> `const` **firebase**: [`Module`](../app/namespaces/ReactNativeFirebase.mdx#module) & `object`
+
+Defined in: [index.d.ts:80](https://github.com/invertase/react-native-firebase/blob/main/packages/ml/lib/index.d.ts#L80)
+
+#### Type Declaration
+
+##### ml
+
+> **ml**: *typeof* [`default`](#default)
+
+##### app()
+
+> **app**(`name?`): [`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp) & `object`
+
+###### Parameters
+
+###### name?
+
+`string`
+
+###### Returns
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp) & `object`
diff --git a/docs/reference/@react-native-firebase/ml/namespaces/FirebaseMLTypes.mdx b/docs/reference/@react-native-firebase/ml/namespaces/FirebaseMLTypes.mdx
new file mode 100644
index 0000000000..813def10a2
--- /dev/null
+++ b/docs/reference/@react-native-firebase/ml/namespaces/FirebaseMLTypes.mdx
@@ -0,0 +1,98 @@
+[**React Native Firebase**](../../../README.mdx)
+
+***
+
+[React Native Firebase](../../../packages.mdx) / [@react-native-firebase/ml](../README.mdx) / FirebaseMLTypes
+
+# FirebaseMLTypes
+
+Firebase ML package for React Native.
+
+#### Example 1
+
+Access the firebase export from the `ml` package:
+
+```js
+import { firebase } from '@react-native-firebase/ml';
+
+// firebase.ml().X
+```
+
+#### Example 2
+
+Using the default export from the `ml` package:
+
+```js
+import ml from '@react-native-firebase/ml';
+
+// ml().X
+```
+
+#### Example 3
+
+Using the default export from the `app` package:
+
+```js
+import firebase from '@react-native-firebase/app';
+import '@react-native-firebase/ml';
+
+// firebase.ml().X
+```
+
+## Firebase
+
+ml
+
+## Classes
+
+### Module
+
+Defined in: [index.d.ts:62](https://github.com/invertase/react-native-firebase/blob/main/packages/ml/lib/index.d.ts#L62)
+
+A class that all React Native Firebase modules extend from to provide default behaviour.
+
+#### Extends
+
+- [`FirebaseModule`](../../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule)
+
+#### Constructors
+
+##### Constructor
+
+> **new Module**(): [`Module`](#module)
+
+###### Returns
+
+[`Module`](#module)
+
+###### Inherited from
+
+[`FirebaseModule`](../../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule).[`constructor`](../../app/namespaces/ReactNativeFirebase.mdx#constructor)
+
+#### Properties
+
+##### app
+
+> **app**: [`FirebaseApp`](../../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+Defined in: [index.d.ts:66](https://github.com/invertase/react-native-firebase/blob/main/packages/ml/lib/index.d.ts#L66)
+
+The current `FirebaseApp` instance for this Firebase service.
+
+###### Overrides
+
+[`FirebaseModule`](../../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule).[`app`](../../app/namespaces/ReactNativeFirebase.mdx#app)
+
+## Interfaces
+
+### Statics
+
+Defined in: [index.d.ts:58](https://github.com/invertase/react-native-firebase/blob/main/packages/ml/lib/index.d.ts#L58)
+
+#### Properties
+
+##### SDK\_VERSION
+
+> **SDK\_VERSION**: `string`
+
+Defined in: [index.d.ts:59](https://github.com/invertase/react-native-firebase/blob/main/packages/ml/lib/index.d.ts#L59)
diff --git a/docs/reference/@react-native-firebase/perf/README.mdx b/docs/reference/@react-native-firebase/perf/README.mdx
new file mode 100644
index 0000000000..b11d9aff36
--- /dev/null
+++ b/docs/reference/@react-native-firebase/perf/README.mdx
@@ -0,0 +1,241 @@
+[**React Native Firebase**](../../README.mdx)
+
+***
+
+[React Native Firebase](../../packages.mdx) / @react-native-firebase/perf
+
+# @react-native-firebase/perf
+
+## Functions
+
+### getPerformance()
+
+> **getPerformance**(`app?`): [`Module`](namespaces/FirebasePerformanceTypes.mdx#module)
+
+Defined in: [modular/index.d.ts:33](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/modular/index.d.ts#L33)
+
+Returns a Performance instance for the given app.
+
+#### Parameters
+
+##### app?
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+FirebaseApp. Optional.
+
+#### Returns
+
+[`Module`](namespaces/FirebasePerformanceTypes.mdx#module)
+
+***
+
+### httpMetric()
+
+> **httpMetric**(`perf`, `identifier`, `httpMethod`): [`HttpMetric`](namespaces/FirebasePerformanceTypes.mdx#httpmetric)
+
+Defined in: [modular/index.d.ts:65](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/modular/index.d.ts#L65)
+
+Returns a HttpMetric instance.
+
+#### Parameters
+
+##### perf
+
+[`Module`](namespaces/FirebasePerformanceTypes.mdx#module)
+
+Performance instance.
+
+##### identifier
+
+`string`
+
+A String to identify the HttpMetric instance.
+
+##### httpMethod
+
+[`HttpMethod`](namespaces/FirebasePerformanceTypes.mdx#httpmethod)
+
+The HTTP method for the HttpMetric instance.
+
+#### Returns
+
+[`HttpMetric`](namespaces/FirebasePerformanceTypes.mdx#httpmetric)
+
+***
+
+### initializePerformance()
+
+> **initializePerformance**(`app`, `settings?`): `Promise`\<[`Module`](namespaces/FirebasePerformanceTypes.mdx#module)\>
+
+Defined in: [modular/index.d.ts:45](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/modular/index.d.ts#L45)
+
+Returns a Performance instance for the given app.
+
+#### Parameters
+
+##### app
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+FirebaseApp. Required.
+
+##### settings?
+
+[`PerformanceSettings`](#performancesettings)
+
+Optional PerformanceSettings. Set "dataCollectionEnabled" which will enable/disable Performance collection.
+
+#### Returns
+
+`Promise`\<[`Module`](namespaces/FirebasePerformanceTypes.mdx#module)\>
+
+***
+
+### newScreenTrace()
+
+> **newScreenTrace**(`perf`, `identifier`): [`ScreenTrace`](namespaces/FirebasePerformanceTypes.mdx#screentrace)
+
+Defined in: [modular/index.d.ts:79](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/modular/index.d.ts#L79)
+
+Creates a ScreenTrace instance with the given identifier.
+Throws if hardware acceleration is disabled or if Android is 9.0 or 9.1.
+
+#### Parameters
+
+##### perf
+
+[`Module`](namespaces/FirebasePerformanceTypes.mdx#module)
+
+Performance instance.
+
+##### identifier
+
+`string`
+
+Name of the trace, no leading or trailing whitespace allowed, no leading underscore '_' character allowed, max length is 100.
+
+#### Returns
+
+[`ScreenTrace`](namespaces/FirebasePerformanceTypes.mdx#screentrace)
+
+#### Platform
+
+android Android !== 9.0.0 && Android !== 9.1.0
+
+***
+
+### startScreenTrace()
+
+> **startScreenTrace**(`perf`, `identifier`): `Promise`\<[`ScreenTrace`](namespaces/FirebasePerformanceTypes.mdx#screentrace)\>
+
+Defined in: [modular/index.d.ts:89](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/modular/index.d.ts#L89)
+
+Creates a ScreenTrace instance with the given identifier and immediately starts it.
+Throws if hardware acceleration is disabled or if Android is 9.0 or 9.1.
+
+#### Parameters
+
+##### perf
+
+[`Module`](namespaces/FirebasePerformanceTypes.mdx#module)
+
+Performance instance.
+
+##### identifier
+
+`string`
+
+Name of the screen.
+
+#### Returns
+
+`Promise`\<[`ScreenTrace`](namespaces/FirebasePerformanceTypes.mdx#screentrace)\>
+
+#### Platform
+
+android Android !== 9.0.0 && Android !== 9.1.0
+
+***
+
+### trace()
+
+> **trace**(`perf`, `identifier`): `Trace`
+
+Defined in: [modular/index.d.ts:56](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/modular/index.d.ts#L56)
+
+Returns a Trace instance.
+
+#### Parameters
+
+##### perf
+
+[`Module`](namespaces/FirebasePerformanceTypes.mdx#module)
+
+Performance instance.
+
+##### identifier
+
+`string`
+
+A String to identify the Trace instance.
+
+#### Returns
+
+`Trace`
+
+## Namespaces
+
+- [FirebasePerformanceTypes](namespaces/FirebasePerformanceTypes.mdx)
+
+## Type Aliases
+
+### PerformanceSettings
+
+> **PerformanceSettings** = `object`
+
+Defined in: [modular/index.d.ts:35](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/modular/index.d.ts#L35)
+
+#### Properties
+
+##### dataCollectionEnabled
+
+> **dataCollectionEnabled**: `boolean`
+
+Defined in: [modular/index.d.ts:36](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/modular/index.d.ts#L36)
+
+## Variables
+
+### default
+
+> `const` **default**: `PerfNamespace`
+
+Defined in: [index.d.ts:556](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L556)
+
+***
+
+### firebase
+
+> `const` **firebase**: [`Module`](../app/namespaces/ReactNativeFirebase.mdx#module) & `object`
+
+Defined in: [index.d.ts:558](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L558)
+
+#### Type Declaration
+
+##### perf
+
+> **perf**: *typeof* [`default`](#default)
+
+##### app()
+
+> **app**(`name?`): [`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp) & `object`
+
+###### Parameters
+
+###### name?
+
+`string`
+
+###### Returns
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp) & `object`
diff --git a/docs/reference/@react-native-firebase/perf/namespaces/FirebasePerformanceTypes.mdx b/docs/reference/@react-native-firebase/perf/namespaces/FirebasePerformanceTypes.mdx
new file mode 100644
index 0000000000..efa83531ca
--- /dev/null
+++ b/docs/reference/@react-native-firebase/perf/namespaces/FirebasePerformanceTypes.mdx
@@ -0,0 +1,962 @@
+[**React Native Firebase**](../../../README.mdx)
+
+***
+
+[React Native Firebase](../../../packages.mdx) / [@react-native-firebase/perf](../README.mdx) / FirebasePerformanceTypes
+
+# FirebasePerformanceTypes
+
+Firebase Performance Monitoring package for React Native.
+
+#### Example 1
+
+Access the firebase export from the `perf` package:
+
+```js
+import { firebase } from '@react-native-firebase/perf';
+
+// firebase.perf().X
+```
+
+#### Example 2
+
+Using the default export from the `perf` package:
+
+```js
+import perf from '@react-native-firebase/perf';
+
+// perf().X
+```
+
+#### Example 3
+
+Using the default export from the `app` package:
+
+```js
+import firebase from '@react-native-firebase/app';
+import '@react-native-firebase/perf';
+
+// firebase.perf().X
+```
+
+## Firebase
+
+perf
+
+## Classes
+
+### HttpMetric
+
+Defined in: [index.d.ts:259](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L259)
+
+Metric used to collect data for network requests/responses. A new instance must be used for every request/response.
+
+#### Constructors
+
+##### Constructor
+
+> **new HttpMetric**(): [`HttpMetric`](#httpmetric)
+
+###### Returns
+
+[`HttpMetric`](#httpmetric)
+
+#### Methods
+
+##### getAttribute()
+
+> **getAttribute**(`attribute`): `string` \| `null`
+
+Defined in: [index.d.ts:271](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L271)
+
+Returns the value of an attribute. Returns null if it does not exist.
+
+#### Example
+
+```js
+const attribute = metric.getAttribute('user_role');
+```
+
+###### Parameters
+
+###### attribute
+
+`string`
+
+Name of the attribute to fetch the value of
+
+###### Returns
+
+`string` \| `null`
+
+##### getAttributes()
+
+> **getAttributes**(): `object`
+
+Defined in: [index.d.ts:286](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L286)
+
+Returns an object of all the currently added attributes.
+
+#### Example
+
+```js
+const attributes = metric.getAttributes();
+
+attributes.forEach(($) => {
+ console.log($);
+});
+```
+
+###### Returns
+
+`object`
+
+##### putAttribute()
+
+> **putAttribute**(`attribute`, `value`): `void`
+
+Defined in: [index.d.ts:301](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L301)
+
+Sets a String value for the specified attribute. Updates the value of the attribute if it already exists.
+The maximum number of attributes that can be added is 5.
+
+#### Example
+
+```js
+metric.putAttribute('user_role', 'admin');
+```
+
+###### Parameters
+
+###### attribute
+
+`string`
+
+Name of the attribute. Max length is 40 chars.
+
+###### value
+
+`string`
+
+Value of the attribute. Max length is 100 chars.
+
+###### Returns
+
+`void`
+
+##### removeAttribute()
+
+> **removeAttribute**(`attribute`): `void`
+
+Defined in: [index.d.ts:314](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L314)
+
+Removes an already added attribute. Does nothing if attribute does not exist.
+
+#### Example
+
+```js
+metric.removeAttribute('user_role');
+```
+
+###### Parameters
+
+###### attribute
+
+`string`
+
+Name of the attribute to be removed.
+
+###### Returns
+
+`void`
+
+##### setHttpResponseCode()
+
+> **setHttpResponseCode**(`code`): `void`
+
+Defined in: [index.d.ts:330](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L330)
+
+Sets the httpResponse code of the request.
+
+#### Example
+
+```js
+const response = await fetch(url);
+metric.setHttpResponseCode(response.status);
+```
+> This is required for every request, if you do not provide this your metric will not be captured.
+
+###### Parameters
+
+###### code
+
+`number` \| `null`
+
+Value must be greater than 0. Set to null to remove. Invalid usage will be logged natively.
+
+###### Returns
+
+`void`
+
+##### setRequestPayloadSize()
+
+> **setRequestPayloadSize**(`bytes`): `void`
+
+Defined in: [index.d.ts:344](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L344)
+
+Sets the size of the request payload.
+
+#### Example
+
+```js
+const response = await fetch(url);
+metric.setRequestPayloadSize(response.headers.get('Content-Type'));
+```
+
+###### Parameters
+
+###### bytes
+
+`number` \| `null`
+
+Value must be greater than 0. Set to null to remove. Invalid usage will be logged natively.
+
+###### Returns
+
+`void`
+
+##### setResponseContentType()
+
+> **setResponseContentType**(`contentType`): `void`
+
+Defined in: [index.d.ts:372](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L372)
+
+Content type of the response e.g. `text/html` or `application/json`.
+
+#### Example
+
+```js
+const response = await fetch(url);
+metric.setResponsePayloadSize(response.headers.get('Content-Type'));
+```
+
+###### Parameters
+
+###### contentType
+
+`string` \| `null`
+
+Valid string of MIME type. Set to null to remove. Invalid usage will be logged natively.
+
+###### Returns
+
+`void`
+
+##### setResponsePayloadSize()
+
+> **setResponsePayloadSize**(`bytes`): `void`
+
+Defined in: [index.d.ts:358](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L358)
+
+Sets the size of the response payload.
+
+#### Example
+
+```js
+const response = await fetch(url);
+metric.setResponsePayloadSize(response.headers.get('Content-Length'));
+```
+
+###### Parameters
+
+###### bytes
+
+`number` \| `null`
+
+Value must be greater than 0. Set to null to remove. Invalid usage will be logged natively.
+
+###### Returns
+
+`void`
+
+##### start()
+
+> **start**(): `Promise`\<`null`\>
+
+Defined in: [index.d.ts:384](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L384)
+
+Marks the start time of the request. Does nothing if already started.
+
+#### Example
+
+```js
+const metric = firebase.perf().newHttpMetric('https://api.com/login', 'POST');
+await metric.start();
+```
+
+###### Returns
+
+`Promise`\<`null`\>
+
+##### stop()
+
+> **stop**(): `Promise`\<`null`\>
+
+Defined in: [index.d.ts:398](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L398)
+
+Marks the end time of the response and queues the network request metric on the device for transmission. Does nothing if already stopped.
+
+#### Example
+
+```js
+const metric = firebase.perf().newHttpMetric('https://api.com/login', 'POST');
+await metric.start();
+metric.putAttribute('user_role', 'admin');
+await metric.stop();
+```
+
+###### Returns
+
+`Promise`\<`null`\>
+
+***
+
+### Module
+
+Defined in: [index.d.ts:418](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L418)
+
+The Firebase Performance Monitoring service interface.
+
+> This module is available for the default app only.
+
+#### Example
+
+Get the Performance Monitoring service for the default app:
+
+```js
+const defaultAppPerf = firebase.perf();
+```
+
+#### Extends
+
+- [`FirebaseModule`](../../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule)
+
+#### Constructors
+
+##### Constructor
+
+> **new Module**(): [`Module`](#module)
+
+###### Returns
+
+[`Module`](#module)
+
+###### Inherited from
+
+[`FirebaseModule`](../../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule).[`constructor`](../../app/namespaces/ReactNativeFirebase.mdx#constructor)
+
+#### Methods
+
+##### newHttpMetric()
+
+> **newHttpMetric**(`url`, `httpMethod`): [`HttpMetric`](#httpmetric)
+
+Defined in: [index.d.ts:544](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L544)
+
+Creates a HttpMetric instance for collecting network performance data for a single request/response
+
+#### Example
+
+```js
+const metric = firebase.perf().newHttpMetric('https://api.com/user/1', 'GET');
+await metric.start();
+```
+
+###### Parameters
+
+###### url
+
+`string`
+
+A valid url String, cannot be empty
+
+###### httpMethod
+
+[`HttpMethod`](#httpmethod)
+
+One of the values GET, PUT, POST, DELETE, HEAD, PATCH, OPTIONS, TRACE, or CONNECT
+
+###### Returns
+
+[`HttpMetric`](#httpmetric)
+
+##### newScreenTrace()
+
+> **newScreenTrace**(`identifier`): [`ScreenTrace`](#screentrace)
+
+Defined in: [index.d.ts:509](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L509)
+
+Creates a ScreenTrace instance with the given identifier.
+Throws if hardware acceleration is disabled or if Android is 9.0 or 9.1.
+
+#### Example
+
+```js
+try {
+ const trace = firebase.perf().newScreenTrace('FooScreen');
+ await trace.start();
+} catch (e) {
+
+}
+```
+
+###### Parameters
+
+###### identifier
+
+`string`
+
+Name of the trace, no leading or trailing whitespace allowed, no leading underscore '_' character allowed, max length is 100.
+
+###### Returns
+
+[`ScreenTrace`](#screentrace)
+
+##### newTrace()
+
+> **newTrace**(`identifier`): [`Trace`](#trace)
+
+Defined in: [index.d.ts:477](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L477)
+
+Creates a Trace instance with the given identifier.
+
+#### Example
+
+```js
+const trace = firebase.perf().newTrace('user_profile');
+await trace.start();
+```
+
+###### Parameters
+
+###### identifier
+
+`string`
+
+Name of the trace, no leading or trailing whitespace allowed, no leading underscore '_' character allowed, max length is 100.
+
+###### Returns
+
+[`Trace`](#trace)
+
+##### ~~setPerformanceCollectionEnabled()~~
+
+> **setPerformanceCollectionEnabled**(`enabled`): `Promise`\<`null`\>
+
+Defined in: [index.d.ts:463](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L463)
+
+Enables or disables performance monitoring.
+
+#### Example
+
+```js
+// Disable performance monitoring collection
+await firebase.perf().setPerformanceCollectionEnabled(false);
+```
+
+###### Parameters
+
+###### enabled
+
+`boolean`
+
+Should performance monitoring be enabled. For iOS only, this also toggles whether instrumentation
+is enabled. See: https://firebase.google.com/docs/reference/ios/firebaseperformance/api/reference/Classes/FIRPerformance#instrumentationenabled
+
+###### Returns
+
+`Promise`\<`null`\>
+
+###### Deprecated
+
+prefer setting `dataCollectionEnabled = boolean`.
+
+##### startScreenTrace()
+
+> **startScreenTrace**(`identifier`): `Promise`\<[`ScreenTrace`](#screentrace)\>
+
+Defined in: [index.d.ts:529](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L529)
+
+Creates a ScreenTrace instance with the given identifier and immediately starts it.
+Throws if hardware acceleration is disabled or if Android is 9.0 or 9.1.
+
+#### Example
+
+```js
+try {
+ const trace = await firebase.perf().startScreenTrace('FooScreen');
+ await trace.stop();
+} catch (e) {
+
+}
+```
+
+###### Parameters
+
+###### identifier
+
+`string`
+
+Name of the screen
+
+###### Returns
+
+`Promise`\<[`ScreenTrace`](#screentrace)\>
+
+###### Platform
+
+android Android !== 9.0.0 && Android !== 9.1.0
+
+##### startTrace()
+
+> **startTrace**(`identifier`): `Promise`\<[`Trace`](#trace)\>
+
+Defined in: [index.d.ts:490](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L490)
+
+Creates a Trace instance with the given identifier and immediately starts it.
+
+#### Example
+
+```js
+const trace = await firebase.perf().startTrace('user_profile');
+```
+
+###### Parameters
+
+###### identifier
+
+`string`
+
+Name of the trace, no leading or trailing whitespace allowed, no leading underscore '_' character allowed, max length is 100.
+
+###### Returns
+
+`Promise`\<[`Trace`](#trace)\>
+
+#### Properties
+
+##### app
+
+> **app**: [`FirebaseApp`](../../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+Defined in: [index.d.ts:422](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L422)
+
+The current `FirebaseApp` instance for this Firebase service.
+
+###### Overrides
+
+[`FirebaseModule`](../../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule).[`app`](../../app/namespaces/ReactNativeFirebase.mdx#app)
+
+##### dataCollectionEnabled
+
+> **dataCollectionEnabled**: `boolean`
+
+Defined in: [index.d.ts:449](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L449)
+
+Determines whether performance monitoring is enabled or disabled.
+
+#### Example
+
+```js
+const isEnabled = firebase.perf().dataCollectionEnabled;
+console.log('Performance collection enabled: ', isEnabled);
+```
+
+##### instrumentationEnabled
+
+> **instrumentationEnabled**: `boolean`
+
+Defined in: [index.d.ts:438](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L438)
+
+Determines whether to collect 'out of the box' (i.e already setup for Firebase Performance) events.
+This can be set for iOS. Android will always return "true" as it has to be set at gradle level.
+
+##### isPerformanceCollectionEnabled
+
+> **isPerformanceCollectionEnabled**: `boolean`
+
+Defined in: [index.d.ts:433](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L433)
+
+Determines whether performance monitoring is enabled or disabled.
+
+#### Example
+
+```js
+const isEnabled = firebase.perf().isPerformanceCollectionEnabled;
+console.log('Performance collection enabled: ', isEnabled);
+```
+
+***
+
+### ScreenTrace
+
+Defined in: [index.d.ts:220](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L220)
+
+ScreenTrace allows you to record a custom screen rendering trace of slow and frozen frames.
+Throws on constructor if hardware acceleration is off or if Android is 9.0 or 9.1.
+
+#### Platform
+
+android Android !== 9.0.0 && Adnroid !== 9.1.0
+
+#### Constructors
+
+##### Constructor
+
+> **new ScreenTrace**(): [`ScreenTrace`](#screentrace)
+
+###### Returns
+
+[`ScreenTrace`](#screentrace)
+
+#### Methods
+
+##### start()
+
+> **start**(): `Promise`\<`null`\>
+
+Defined in: [index.d.ts:236](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L236)
+
+Starts a new screen trace. Does nothing if already started.
+
+#### Example
+
+```js
+try {
+ const trace = firebase.perf().newScreenTrace('FooScreen');
+ await trace.start();
+} catch (e) {
+
+}
+```
+
+###### Returns
+
+`Promise`\<`null`\>
+
+###### Platform
+
+android Android >= 9.0.0
+
+##### stop()
+
+> **stop**(): `Promise`\<`null`\>
+
+Defined in: [index.d.ts:253](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L253)
+
+Stops and sends the screen trace.
+
+#### Example
+
+```js
+try {
+ const trace = firebase.perf().newScreenTrace('FooScreen');
+ await trace.start();
+ await trace.stop();
+} catch (e) {
+
+}
+```
+
+###### Returns
+
+`Promise`\<`null`\>
+
+###### Platform
+
+android Android >= 9.0.0
+
+***
+
+### Trace
+
+Defined in: [index.d.ts:85](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L85)
+
+Trace allows you to time the beginning to end of a certain action in your app with additional metric values and attributes.
+
+#### Constructors
+
+##### Constructor
+
+> **new Trace**(): [`Trace`](#trace)
+
+###### Returns
+
+[`Trace`](#trace)
+
+#### Methods
+
+##### getAttribute()
+
+> **getAttribute**(`attribute`): `string` \| `null`
+
+Defined in: [index.d.ts:97](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L97)
+
+Returns the value of an attribute. Returns null if it does not exist.
+
+#### Example
+
+```js
+const attribute = trace.getAttribute('userId');
+```
+
+###### Parameters
+
+###### attribute
+
+`string`
+
+Name of the attribute to fetch the value of.
+
+###### Returns
+
+`string` \| `null`
+
+##### getMetric()
+
+> **getMetric**(`metricName`): `number`
+
+Defined in: [index.d.ts:126](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L126)
+
+Gets the value of the metric with the given name in the current trace. If the metric
+doesn't exist, it will not be created and a 0 is returned.
+
+#### Example
+
+```js
+const metric = trace.getMetric('hits');
+```
+
+###### Parameters
+
+###### metricName
+
+`string`
+
+Name of the metric to get.
+
+###### Returns
+
+`number`
+
+##### getMetrics()
+
+> **getMetrics**(): `object`
+
+Defined in: [index.d.ts:141](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L141)
+
+Returns an object of all the currently added metrics and their number values.
+
+#### Example
+
+```js
+const metrics = trace.getMetrics();
+
+metrics.forEach(($) => {
+ console.log($);
+});
+```
+
+###### Returns
+
+`object`
+
+##### incrementMetric()
+
+> **incrementMetric**(`metricName`, `incrementBy`): `void`
+
+Defined in: [index.d.ts:172](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L172)
+
+Increments the named metric by the `incrementBy` value.
+
+If a metric with the given name doesn't exist, a new one will be created starting with the value of `incrementBy`.
+
+```js
+trace.incrementMetric('hits', 1);
+```
+
+###### Parameters
+
+###### metricName
+
+`string`
+
+Name of the metric to increment. Must not have a leading or trailing whitespace, no leading underscore '_' character and have a max length of 32 characters.
+
+###### incrementBy
+
+`number`
+
+The value the metric should be incremented by.
+
+###### Returns
+
+`void`
+
+##### putAttribute()
+
+> **putAttribute**(`attribute`, `value`): `void`
+
+Defined in: [index.d.ts:112](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L112)
+
+Sets a String value for the specified attribute. Updates the value of the attribute if it already exists.
+The maximum number of attributes that can be added is 5.
+
+#### Example
+
+```js
+trace.putAttribute('userId', '123456789');
+```
+
+###### Parameters
+
+###### attribute
+
+`string`
+
+Name of the attribute. Max length is 40 chars.
+
+###### value
+
+`string`
+
+Value of the attribute. Max length is 100 chars.
+
+###### Returns
+
+`void`
+
+##### putMetric()
+
+> **putMetric**(`metricName`, `value`): `void`
+
+Defined in: [index.d.ts:158](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L158)
+
+Sets the value of the named metric with the provided number.
+
+If a metric with the given name exists it will be overwritten.
+If a metric with the given name doesn't exist, a new one will be created.
+
+#### Example
+
+```js
+trace.putMetric('hits', 1);
+```
+
+###### Parameters
+
+###### metricName
+
+`string`
+
+Name of the metric to set. Must not have a leading or trailing whitespace, no leading underscore '_' character and have a max length of 32 characters.
+
+###### value
+
+`number`
+
+The value the metric should be set to.
+
+###### Returns
+
+`void`
+
+##### removeMetric()
+
+> **removeMetric**(`metricName`): `void`
+
+Defined in: [index.d.ts:185](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L185)
+
+Removes a metric by name if it exists.
+
+#### Example
+
+```js
+trace.removeMetric('hits');
+```
+
+###### Parameters
+
+###### metricName
+
+`string`
+
+Name of the metric to remove.
+
+###### Returns
+
+`void`
+
+##### start()
+
+> **start**(): `Promise`\<`null`\>
+
+Defined in: [index.d.ts:197](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L197)
+
+Marks the start time of the trace. Does nothing if already started.
+
+#### Example
+
+```js
+const trace = firebase.perf().newTrace('example');
+await trace.start();
+```
+
+###### Returns
+
+`Promise`\<`null`\>
+
+##### stop()
+
+> **stop**(): `Promise`\<`null`\>
+
+Defined in: [index.d.ts:211](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L211)
+
+Marks the end time of the trace and queues the metric on the device for transmission. Does nothing if already stopped.
+
+* #### Example
+
+```js
+const trace = firebase.perf().newTrace('example');
+await trace.start();
+trace.putMetric('hits', 1);
+await trace.stop();
+```
+
+###### Returns
+
+`Promise`\<`null`\>
+
+## Interfaces
+
+### Statics
+
+Defined in: [index.d.ts:401](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L401)
+
+#### Properties
+
+##### SDK\_VERSION
+
+> **SDK\_VERSION**: `string`
+
+Defined in: [index.d.ts:402](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L402)
+
+## Type Aliases
+
+### HttpMethod
+
+> **HttpMethod** = `"GET"` \| `"HEAD"` \| `"PUT"` \| `"POST"` \| `"PATCH"` \| `"TRACE"` \| `"DELETE"` \| `"CONNECT"` \| `"OPTIONS"`
+
+Defined in: [index.d.ts:71](https://github.com/invertase/react-native-firebase/blob/main/packages/perf/lib/index.d.ts#L71)
+
+Valid HTTP methods.
diff --git a/docs/reference/@react-native-firebase/remote-config/README.mdx b/docs/reference/@react-native-firebase/remote-config/README.mdx
new file mode 100644
index 0000000000..ec03c68958
--- /dev/null
+++ b/docs/reference/@react-native-firebase/remote-config/README.mdx
@@ -0,0 +1,718 @@
+[**React Native Firebase**](../../README.mdx)
+
+***
+
+[React Native Firebase](../../packages.mdx) / @react-native-firebase/remote-config
+
+# @react-native-firebase/remote-config
+
+## Functions
+
+### activate()
+
+> **activate**(`remoteConfig`): `Promise`\<`boolean`\>
+
+Defined in: [modular/index.d.ts:53](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L53)
+
+Returns a Boolean which resolves to true if the current call
+activated the fetched configs.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+#### Returns
+
+`Promise`\<`boolean`\>
+
+`Promise`
+
+***
+
+### ensureInitialized()
+
+> **ensureInitialized**(`remoteConfig`): `Promise`\<`void`\>
+
+Defined in: [modular/index.d.ts:60](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L60)
+
+Ensures the last activated config are available to the getters.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+#### Returns
+
+`Promise`\<`void`\>
+
+`Promise`
+
+***
+
+### fetch()
+
+> **fetch**(`remoteConfig`, `expirationDurationSeconds?`): `Promise`\<`void`\>
+
+Defined in: [modular/index.d.ts:185](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L185)
+
+Fetches parameter values for your app.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+##### expirationDurationSeconds?
+
+`number`
+
+number
+
+#### Returns
+
+`Promise`\<`void`\>
+
+`Promise`
+
+***
+
+### fetchAndActivate()
+
+> **fetchAndActivate**(`remoteConfig`): `Promise`\<`boolean`\>
+
+Defined in: [modular/index.d.ts:68](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L68)
+
+Performs a fetch and returns a Boolean which resolves to true
+if the current call activated the fetched configs.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+#### Returns
+
+`Promise`\<`boolean`\>
+
+`Promise`
+
+***
+
+### fetchConfig()
+
+> **fetchConfig**(`remoteConfig`): `Promise`\<`void`\>
+
+Defined in: [modular/index.d.ts:75](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L75)
+
+Fetches and caches configuration from the Remote Config service.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+#### Returns
+
+`Promise`\<`void`\>
+
+`Promise`
+
+***
+
+### fetchTimeMillis()
+
+> **fetchTimeMillis**(`remoteConfig`): `number`
+
+Defined in: [modular/index.d.ts:141](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L141)
+
+Indicates the default value in milliseconds to abandon a pending fetch
+request made to the Remote Config server. Defaults to 60000 (One minute).
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+#### Returns
+
+`number`
+
+number
+
+***
+
+### getAll()
+
+> **getAll**(`remoteConfig`): [`ConfigValues`](namespaces/FirebaseRemoteConfigTypes.mdx#configvalues)
+
+Defined in: [modular/index.d.ts:82](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L82)
+
+Gets all config.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+#### Returns
+
+[`ConfigValues`](namespaces/FirebaseRemoteConfigTypes.mdx#configvalues)
+
+ConfigValues
+
+***
+
+### getBoolean()
+
+> **getBoolean**(`remoteConfig`, `key`): `boolean`
+
+Defined in: [modular/index.d.ts:90](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L90)
+
+Gets the value for the given key as a boolean.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+##### key
+
+`string`
+
+key for boolean value
+
+#### Returns
+
+`boolean`
+
+boolean
+
+***
+
+### getNumber()
+
+> **getNumber**(`remoteConfig`, `key`): `number`
+
+Defined in: [modular/index.d.ts:98](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L98)
+
+Gets the value for the given key as a number.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+##### key
+
+`string`
+
+key for number value
+
+#### Returns
+
+`number`
+
+number
+
+***
+
+### getRemoteConfig()
+
+> **getRemoteConfig**(`app?`): [`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+Defined in: [modular/index.d.ts:45](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L45)
+
+Returns a RemoteConfig instance for the given app.
+
+#### Parameters
+
+##### app?
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+FirebaseApp. Optional.
+
+#### Returns
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig
+
+***
+
+### getString()
+
+> **getString**(`remoteConfig`, `key`): `string`
+
+Defined in: [modular/index.d.ts:106](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L106)
+
+Gets the value for the given key as a string.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+##### key
+
+`string`
+
+key for string value
+
+#### Returns
+
+`string`
+
+string
+
+***
+
+### getValue()
+
+> **getValue**(`remoteConfig`, `key`): [`ConfigValue`](namespaces/FirebaseRemoteConfigTypes.mdx#configvalue)
+
+Defined in: [modular/index.d.ts:114](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L114)
+
+Gets the value for the given key
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+##### key
+
+`string`
+
+key for the given value
+
+#### Returns
+
+[`ConfigValue`](namespaces/FirebaseRemoteConfigTypes.mdx#configvalue)
+
+ConfigValue
+
+***
+
+### isSupported()
+
+> **isSupported**(): `Promise`\<`boolean`\>
+
+Defined in: [modular/index.d.ts:133](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L133)
+
+Checks two different things.
+1. Check if IndexedDB exists in the browser environment.
+2. Check if the current browser context allows IndexedDB open() calls.
+
+#### Returns
+
+`Promise`\<`boolean`\>
+
+`Promise`
+
+***
+
+### lastFetchStatus()
+
+> **lastFetchStatus**(`remoteConfig`): [`LastFetchStatusType`](namespaces/FirebaseRemoteConfigTypes.mdx#lastfetchstatustype)
+
+Defined in: [modular/index.d.ts:156](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L156)
+
+The status of the latest Remote RemoteConfig fetch action.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+#### Returns
+
+[`LastFetchStatusType`](namespaces/FirebaseRemoteConfigTypes.mdx#lastfetchstatustype)
+
+LastFetchStatusType
+
+***
+
+### onConfigUpdate()
+
+> **onConfigUpdate**(`remoteConfig`, `observer`): [`Unsubscribe`](namespaces/FirebaseRemoteConfigTypes.mdx#unsubscribe)
+
+Defined in: [modular/index.d.ts:226](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L226)
+
+Starts listening for real-time config updates from the Remote Config backend and automatically
+fetches updates from the Remote Config backend when they are available.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+The [RemoteConfig](namespaces/FirebaseRemoteConfigTypes.mdx#module) instance.
+
+##### observer
+
+[`ConfigUpdateObserver`](namespaces/FirebaseRemoteConfigTypes.mdx#configupdateobserver)
+
+The [ConfigUpdateObserver](namespaces/FirebaseRemoteConfigTypes.mdx#configupdateobserver) to be notified of config updates.
+
+#### Returns
+
+[`Unsubscribe`](namespaces/FirebaseRemoteConfigTypes.mdx#unsubscribe)
+
+Unsubscribe function to remove the listener.
+
+#### Remarks
+
+If a connection to the Remote Config backend is not already open, calling this method will
+open it. Multiple listeners can be added by calling this method again, but subsequent calls
+re-use the same connection to the backend.
+
+The list of updated keys passed to the callback will include all keys not currently active,
+and the config update process fetches the new config but does not automatically activate
+it for you. Typically you will activate the config in your callback to use the new values.
+
+***
+
+### ~~onConfigUpdated()~~
+
+> **onConfigUpdated**(`remoteConfig`, `callback`): () => `void`
+
+Defined in: [modular/index.d.ts:239](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L239)
+
+Registers a listener to changes in the configuration.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+##### callback
+
+[`CallbackOrObserver`](namespaces/FirebaseRemoteConfigTypes.mdx#callbackorobserver)\<[`OnConfigUpdatedListenerCallback`](namespaces/FirebaseRemoteConfigTypes.mdx#onconfigupdatedlistenercallback)\>
+
+function called on config change
+
+#### Returns
+
+unsubscribe listener
+
+() => `void`
+
+#### Deprecated
+
+use official firebase-js-sdk onConfigUpdate now that web supports realtime
+
+***
+
+### reset()
+
+> **reset**(`remoteConfig`): `Promise`\<`void`\>
+
+Defined in: [modular/index.d.ts:165](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L165)
+
+Deletes all activated, fetched and defaults configs and
+resets all Firebase Remote Config settings.
+Android only. iOS does not reset anything.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+#### Returns
+
+`Promise`\<`void`\>
+
+`Promise`
+
+***
+
+### setConfigSettings()
+
+> **setConfigSettings**(`remoteConfig`, `settings`): `Promise`\<`void`\>
+
+Defined in: [modular/index.d.ts:174](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L174)
+
+Set the Remote RemoteConfig settings, currently able to set
+`fetchTimeMillis` & `minimumFetchIntervalMillis`
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+##### settings
+
+[`ConfigSettings`](namespaces/FirebaseRemoteConfigTypes.mdx#configsettings)
+
+ConfigSettings instance
+
+#### Returns
+
+`Promise`\<`void`\>
+
+`Promise`
+
+***
+
+### setCustomSignals()
+
+> **setCustomSignals**(`remoteConfig`, `customSignals`): `Promise`\<`void`\>
+
+Defined in: [modular/index.d.ts:262](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L262)
+
+Sets the custom signals for the app instance.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+##### customSignals
+
+[`CustomSignals`](#customsignals)
+
+CustomSignals instance
+
+#### Returns
+
+`Promise`\<`void`\>
+
+`Promise`
+
+***
+
+### setDefaults()
+
+> **setDefaults**(`remoteConfig`, `defaults`): `Promise`\<`void`\>
+
+Defined in: [modular/index.d.ts:196](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L196)
+
+Fetches parameter values for your app.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+##### defaults
+
+[`ConfigDefaults`](namespaces/FirebaseRemoteConfigTypes.mdx#configdefaults)
+
+ConfigDefaults
+
+#### Returns
+
+`Promise`\<`void`\>
+
+`Promise`
+
+***
+
+### setDefaultsFromResource()
+
+> **setDefaultsFromResource**(`remoteConfig`, `resourceName`): `Promise`\<`null`\>
+
+Defined in: [modular/index.d.ts:204](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L204)
+
+Fetches parameter values for your app.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+##### resourceName
+
+`string`
+
+string
+
+#### Returns
+
+`Promise`\<`null`\>
+
+`Promise`
+
+***
+
+### setLogLevel()
+
+> **setLogLevel**(`remoteConfig`, `logLevel`): [`RemoteConfigLogLevel`](namespaces/FirebaseRemoteConfigTypes.mdx#remoteconfigloglevel)
+
+Defined in: [modular/index.d.ts:122](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L122)
+
+Defines the log level to use.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+##### logLevel
+
+[`RemoteConfigLogLevel`](namespaces/FirebaseRemoteConfigTypes.mdx#remoteconfigloglevel)
+
+The log level to set
+
+#### Returns
+
+[`RemoteConfigLogLevel`](namespaces/FirebaseRemoteConfigTypes.mdx#remoteconfigloglevel)
+
+RemoteConfigLogLevel
+
+***
+
+### settings()
+
+> **settings**(`remoteConfig`): [`ConfigSettings`](namespaces/FirebaseRemoteConfigTypes.mdx#configsettings)
+
+Defined in: [modular/index.d.ts:149](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L149)
+
+Returns a ConfigSettings object which provides the properties `minimumFetchIntervalMillis` and `fetchTimeMillis` if they have been set
+using `setConfigSettings({ fetchTimeMillis: number, minimumFetchIntervalMillis: number })`.
+
+#### Parameters
+
+##### remoteConfig
+
+[`Module`](namespaces/FirebaseRemoteConfigTypes.mdx#module)
+
+RemoteConfig instance
+
+#### Returns
+
+[`ConfigSettings`](namespaces/FirebaseRemoteConfigTypes.mdx#configsettings)
+
+ConfigSettings
+
+## Interfaces
+
+### CustomSignals
+
+Defined in: [modular/index.d.ts:251](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L251)
+
+Defines the type for representing custom signals and their values.
+The values in CustomSignals must be one of the following types: string, number, or null.
+There are additional limitations on key and value length, for a full description see [https://firebase.google.com/docs/remote-config/parameters?template_type=client#custom_signal_conditions]
+Failing to stay within these limitations will result in a silent API failure with only a warning in device logs
+
+#### Indexable
+
+> \[`key`: `string`\]: `string` \| `number` \| `null`
+
+## Namespaces
+
+- [FirebaseRemoteConfigTypes](namespaces/FirebaseRemoteConfigTypes.mdx)
+
+## Variables
+
+### default
+
+> `const` **default**: `RemoteConfigNamespace`
+
+Defined in: [index.d.ts:630](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L630)
+
+***
+
+### firebase
+
+> `const` **firebase**: [`Module`](../app/namespaces/ReactNativeFirebase.mdx#module) & `object`
+
+Defined in: [index.d.ts:632](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L632)
+
+#### Type Declaration
+
+##### remoteConfig
+
+> **remoteConfig**: *typeof* [`default`](#default)
+
+##### app()
+
+> **app**(`name?`): [`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp) & `object`
+
+###### Parameters
+
+###### name?
+
+`string`
+
+###### Returns
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp) & `object`
+
+***
+
+### LastFetchStatus
+
+> `const` **LastFetchStatus**: [`LastFetchStatus`](namespaces/FirebaseRemoteConfigTypes.mdx#lastfetchstatus-1)
+
+Defined in: [modular/index.d.ts:37](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L37)
+
+***
+
+### ValueSource
+
+> `const` **ValueSource**: [`ValueSource`](namespaces/FirebaseRemoteConfigTypes.mdx#valuesource-1)
+
+Defined in: [modular/index.d.ts:38](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/modular/index.d.ts#L38)
diff --git a/docs/reference/@react-native-firebase/remote-config/namespaces/FirebaseRemoteConfigTypes.mdx b/docs/reference/@react-native-firebase/remote-config/namespaces/FirebaseRemoteConfigTypes.mdx
new file mode 100644
index 0000000000..eef092e58d
--- /dev/null
+++ b/docs/reference/@react-native-firebase/remote-config/namespaces/FirebaseRemoteConfigTypes.mdx
@@ -0,0 +1,1043 @@
+[**React Native Firebase**](../../../README.mdx)
+
+***
+
+[React Native Firebase](../../../packages.mdx) / [@react-native-firebase/remote-config](../README.mdx) / FirebaseRemoteConfigTypes
+
+# FirebaseRemoteConfigTypes
+
+Firebase Remote RemoteConfig package for React Native.
+
+#### Example 1
+
+Access the firebase export from the `config` package:
+
+```js
+import { firebase } from '@react-native-firebase/remote-config';
+
+// firebase.remoteConfig().X
+```
+
+#### Example 2
+
+Using the default export from the `config` package:
+
+```js
+import remoteConfig from '@react-native-firebase/remote-config';
+
+// remoteConfig().X
+```
+
+#### Example 3
+
+Using the default export from the `app` package:
+
+```js
+import firebase from '@react-native-firebase/app';
+import '@react-native-firebase/remote-config';
+
+// firebase.remoteConfig().X
+```
+
+## Firebase
+
+remote-config
+
+## Classes
+
+### Module
+
+Defined in: [index.d.ts:347](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L347)
+
+The Firebase Remote RemoteConfig service interface.
+
+> This module is available for the default app only.
+
+#### Example
+
+Get the Remote RemoteConfig service for the default app:
+
+```js
+const defaultAppRemoteConfig = firebase.remoteConfig();
+```
+
+#### Extends
+
+- [`FirebaseModule`](../../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule)
+
+#### Constructors
+
+##### Constructor
+
+> **new Module**(): [`Module`](#module)
+
+###### Returns
+
+[`Module`](#module)
+
+###### Inherited from
+
+[`FirebaseModule`](../../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule).[`constructor`](../../app/namespaces/ReactNativeFirebase.mdx#constructor)
+
+#### Methods
+
+##### activate()
+
+> **activate**(): `Promise`\<`boolean`\>
+
+Defined in: [index.d.ts:472](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L472)
+
+Moves fetched data to the apps active config.
+Resolves with a boolean value true if new local values were activated
+
+#### Example
+
+```js
+// Fetch values
+await firebase.remoteConfig().fetch();
+const activated = await firebase.remoteConfig().activate();
+
+if (activated) {
+ console.log('Fetched values successfully activated.');
+} else {
+ console.log('Fetched values were already activated.');
+}
+```
+
+###### Returns
+
+`Promise`\<`boolean`\>
+
+##### ensureInitialized()
+
+> **ensureInitialized**(): `Promise`\<`void`\>
+
+Defined in: [index.d.ts:483](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L483)
+
+Ensures the last activated config are available to the getters.
+
+#### Example
+
+```js
+await firebase.remoteConfig().ensureInitialized();
+// get remote config values
+```
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### fetch()
+
+> **fetch**(`expirationDurationSeconds?`): `Promise`\<`void`\>
+
+Defined in: [index.d.ts:497](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L497)
+
+Fetches the remote config data from Firebase, as defined in the dashboard. If duration is defined (seconds), data will be locally cached for this duration.
+
+#### Example
+
+```js
+// Fetch and cache for 5 minutes
+await firebase.remoteConfig().fetch(300);
+```
+
+###### Parameters
+
+###### expirationDurationSeconds?
+
+`number`
+
+Duration in seconds to cache the data for. To skip cache, use a duration of 0.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### fetchAndActivate()
+
+> **fetchAndActivate**(): `Promise`\<`boolean`\>
+
+Defined in: [index.d.ts:517](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L517)
+
+Fetches the remote config data from Firebase, as defined in the dashboard.
+Once fetching is complete this method immediately calls activate and returns a boolean value true if new values were activated
+
+#### Example
+
+```js
+// Fetch, cache for 5 minutes and activate
+const fetchedRemotely = await firebase.remoteConfig().fetchAndActivate();
+
+if (fetchedRemotely) {
+ console.log('New configs were retrieved from the backend and activated.');
+} else {
+ console.log('No new configs were fetched from the backend, and the local configs were already activated');
+}
+```
+
+###### Returns
+
+`Promise`\<`boolean`\>
+
+##### getAll()
+
+> **getAll**(): [`ConfigValues`](#configvalues)
+
+Defined in: [index.d.ts:536](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L536)
+
+Returns all available config values.
+
+#### Example
+
+```js
+const values = firebase.remoteConfig().getAll();
+
+Object.entries(values).forEach(($) => {
+ const [key, entry] = $;
+ console.log('Key: ', key);
+ console.log('Source: ', entry.getSource());
+ console.log('Value: ', entry.asString());
+});
+```
+
+###### Returns
+
+[`ConfigValues`](#configvalues)
+
+##### getBoolean()
+
+> **getBoolean**(`key`): `boolean`
+
+Defined in: [index.d.ts:564](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L564)
+
+Gets a config property using the key and converts to a boolean value
+
+#### Example
+
+```js
+// true or false depending on truthy or falsy nature of value
+const configValue = firebase.remoteConfig().getBoolean('experiment');
+```
+
+###### Parameters
+
+###### key
+
+`string`
+
+A key used to retrieve a specific value.
+
+###### Returns
+
+`boolean`
+
+##### getNumber()
+
+> **getNumber**(`key`): `number`
+
+Defined in: [index.d.ts:591](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L591)
+
+Gets a config property using the key and converts to a number value. It
+will be 0 if the value is not a number.
+
+#### Example
+
+```js
+// number value of 'experiment' property
+const configValue = firebase.remoteConfig().getNumber('experiment');
+```
+
+###### Parameters
+
+###### key
+
+`string`
+
+A key used to retrieve a specific value.
+
+###### Returns
+
+`number`
+
+##### getString()
+
+> **getString**(`key`): `string`
+
+Defined in: [index.d.ts:577](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L577)
+
+Gets a config property using the key and converts to a string value
+
+#### Example
+
+```js
+// string value of 'experiment' property
+const configValue = firebase.remoteConfig().getString('experiment');
+```
+
+###### Parameters
+
+###### key
+
+`string`
+
+A key used to retrieve a specific value.
+
+###### Returns
+
+`string`
+
+##### getValue()
+
+> **getValue**(`key`): [`ConfigValue`](#configvalue)
+
+Defined in: [index.d.ts:551](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L551)
+
+Gets a ConfigValue by key.
+
+#### Example
+
+```js
+const configValue = firebase.remoteConfig().getValue('experiment');
+console.log('Source: ', configValue.getSource());
+console.log('Value: ', configValue.asString());
+```
+
+###### Parameters
+
+###### key
+
+`string`
+
+A key used to retrieve a specific value.
+
+###### Returns
+
+[`ConfigValue`](#configvalue)
+
+##### onConfigUpdate()
+
+> **onConfigUpdate**(`remoteConfig`, `observer`): [`Unsubscribe`](#unsubscribe)
+
+Defined in: [index.d.ts:441](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L441)
+
+Starts listening for real-time config updates from the Remote Config backend and automatically
+fetches updates from the Remote Config backend when they are available.
+
+###### Parameters
+
+###### remoteConfig
+
+`RemoteConfig`
+
+The RemoteConfig instance.
+
+###### observer
+
+[`ConfigUpdateObserver`](#configupdateobserver)
+
+The [ConfigUpdateObserver](#configupdateobserver) to be notified of config updates.
+
+###### Returns
+
+[`Unsubscribe`](#unsubscribe)
+
+An [Unsubscribe](#unsubscribe) function to remove the listener.
+
+###### Remarks
+
+If a connection to the Remote Config backend is not already open, calling this method will
+open it. Multiple listeners can be added by calling this method again, but subsequent calls
+re-use the same connection to the backend.
+
+The list of updated keys passed to the callback will include all keys not currently active,
+and the config update process fetches the new config but does not automatically activate
+it for you. Typically you will activate the config in your callback to use the new values.
+
+##### ~~onConfigUpdated()~~
+
+> **onConfigUpdated**(`listener`): () => `void`
+
+Defined in: [index.d.ts:452](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L452)
+
+Start listening for real-time config updates from the Remote Config backend and
+automatically fetch updates when they’re available. Note that the list of updated keys
+passed to the callback will include all keys not currently active, and the config update
+process fetches the new config but does not automatically activate for you. Typically
+you will want to activate the config in your callback so the new values are in force.
+
+###### Parameters
+
+###### listener
+
+[`CallbackOrObserver`](#callbackorobserver)\<[`OnConfigUpdatedListenerCallback`](#onconfigupdatedlistenercallback)\>
+
+called with either array of updated keys or error arg when config changes
+
+###### Returns
+
+() => `void`
+
+###### Deprecated
+
+use official firebase-js-sdk onConfigUpdate now that web supports realtime
+
+##### reset()
+
+> **reset**(): `Promise`\<`void`\>
+
+Defined in: [index.d.ts:605](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L605)
+
+Deletes all activated, fetched and defaults configs and resets all Firebase Remote Config settings.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+###### Android
+
+Android only - iOS returns Promise but does not reset anything
+
+#### Example
+
+```js
+await firebase.remoteConfig().reset();
+// get remote config values
+```
+
+##### setConfigSettings()
+
+> **setConfigSettings**(`configSettings`): `Promise`\<`void`\>
+
+Defined in: [index.d.ts:390](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L390)
+
+Set the Remote RemoteConfig settings, currently able to set `fetchTimeMillis` & `minimumFetchIntervalMillis`
+
+#### Example
+
+```js
+await firebase.remoteConfig().setConfigSettings({
+ minimumFetchIntervalMillis: 30000,
+});
+```
+
+###### Parameters
+
+###### configSettings
+
+[`ConfigSettings`](#configsettings)
+
+A ConfigSettingsWrite instance used to set Remote RemoteConfig settings.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### setDefaults()
+
+> **setDefaults**(`defaults`): `Promise`\<`null`\>
+
+Defined in: [index.d.ts:406](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L406)
+
+Sets default values for the app to use when accessing values.
+Any data fetched and activated will override any default values. Any values in the defaults but not on Firebase will be untouched.
+
+#### Example
+
+```js
+await firebase.remoteConfig().setDefaults({
+ experiment_enabled: false,
+});
+```
+
+###### Parameters
+
+###### defaults
+
+[`ConfigDefaults`](#configdefaults)
+
+A ConfigDefaults instance used to set default values.
+
+###### Returns
+
+`Promise`\<`null`\>
+
+##### setDefaultsFromResource()
+
+> **setDefaultsFromResource**(`resourceName`): `Promise`\<`null`\>
+
+Defined in: [index.d.ts:422](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L422)
+
+Sets the default values from a resource file.
+On iOS this is a plist file and on Android this is an XML defaultsMap file.
+
+```js
+// put in either your iOS or Android directory without the file extension included (.plist or .xml)
+ await firebase.remoteConfig().setDefaultsFromResource('config_resource');
+
+// resource values will now be loaded in with your other config values
+const config = firebase.remoteConfig().getAll();
+```
+
+###### Parameters
+
+###### resourceName
+
+`string`
+
+The plist/xml file name with no extension.
+
+###### Returns
+
+`Promise`\<`null`\>
+
+#### Properties
+
+##### app
+
+> **app**: [`FirebaseApp`](../../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+Defined in: [index.d.ts:351](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L351)
+
+The current `FirebaseApp` instance for this Firebase service.
+
+###### Overrides
+
+[`FirebaseModule`](../../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule).[`app`](../../app/namespaces/ReactNativeFirebase.mdx#app)
+
+##### defaultConfig
+
+> **defaultConfig**: [`ConfigDefaults`](#configdefaults)
+
+Defined in: [index.d.ts:375](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L375)
+
+Provides an object with the type ConfigDefaults for default configuration values
+
+##### fetchTimeMillis
+
+> **fetchTimeMillis**: `number`
+
+Defined in: [index.d.ts:356](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L356)
+
+The number of milliseconds since the last Remote RemoteConfig fetch was performed.
+
+##### lastFetchStatus
+
+> **lastFetchStatus**: [`LastFetchStatusType`](#lastfetchstatustype)
+
+Defined in: [index.d.ts:362](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L362)
+
+The status of the latest Remote RemoteConfig fetch action.
+
+See the `LastFetchStatus` statics definition.
+
+##### settings
+
+> **settings**: [`ConfigSettings`](#configsettings)
+
+Defined in: [index.d.ts:370](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L370)
+
+Provides an object which provides the properties `minimumFetchIntervalMillis` & `fetchTimeMillis` if they have been set
+using setConfigSettings({ fetchTimeMillis: number, minimumFetchIntervalMillis: number }). A description of the properties
+can be found above
+
+## Interfaces
+
+### ConfigDefaults
+
+Defined in: [index.d.ts:286](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L286)
+
+Set default config values by updating `defaultConfig` with an object & the properties you require as default.
+
+#### Example
+
+```js
+await firebase.remoteConfig().setDefaults({
+ experiment_enabled: false,
+});
+```
+
+#### Indexable
+
+> \[`key`: `string`\]: `string` \| `number` \| `boolean`
+
+***
+
+### ConfigSettings
+
+Defined in: [index.d.ts:263](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L263)
+
+An Interface representing settable config settings.
+
+#### Example
+
+The example below shows how to set a time limit to the length of time the request for remote config values
+
+```js
+await firebase.remoteConfig().setConfigSettings({
+ fetchTimeMillis: 6000,
+});
+```
+
+#### Properties
+
+##### fetchTimeMillis?
+
+> `optional` **fetchTimeMillis?**: `number`
+
+Defined in: [index.d.ts:272](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L272)
+
+Indicates the default value in milliseconds to abandon a pending fetch request made to the Remote Config server. Defaults to 60000 (One minute).
+
+##### minimumFetchIntervalMillis?
+
+> `optional` **minimumFetchIntervalMillis?**: `number`
+
+Defined in: [index.d.ts:268](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L268)
+
+Indicates the default value in milliseconds to set for the minimum interval that needs to elapse
+before a fetch request can again be made to the Remote Config server. Defaults to 43200000 (Twelve hours).
+
+***
+
+### ConfigUpdate
+
+Defined in: [index.d.ts:298](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L298)
+
+Contains information about which keys have been updated.
+
+#### Methods
+
+##### getUpdatedKeys()
+
+> **getUpdatedKeys**(): `Set`\<`string`\>
+
+Defined in: [index.d.ts:303](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L303)
+
+Parameter keys whose values have been updated from the currently activated values.
+Includes keys that are added, deleted, or whose value, value source, or metadata has changed.
+
+###### Returns
+
+`Set`\<`string`\>
+
+***
+
+### ConfigUpdateObserver
+
+Defined in: [index.d.ts:312](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L312)
+
+Observer interface for receiving real-time Remote Config update notifications.
+
+NOTE: Although an `complete` callback can be provided, it will
+never be called because the ConfigUpdate stream is never-ending.
+
+#### Properties
+
+##### complete
+
+> **complete**: () => `void`
+
+Defined in: [index.d.ts:326](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L326)
+
+Called when the stream is gracefully terminated.
+
+###### Returns
+
+`void`
+
+##### error
+
+> **error**: (`error`) => `void`
+
+Defined in: [index.d.ts:321](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L321)
+
+Called if an error occurs during the stream.
+
+###### Parameters
+
+###### error
+
+`FirebaseError`
+
+###### Returns
+
+`void`
+
+##### next
+
+> **next**: (`configUpdate`) => `void`
+
+Defined in: [index.d.ts:316](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L316)
+
+Called when a new ConfigUpdate is available.
+
+###### Parameters
+
+###### configUpdate
+
+[`ConfigUpdate`](#configupdate)
+
+###### Returns
+
+`void`
+
+***
+
+### ConfigValue
+
+Defined in: [index.d.ts:184](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L184)
+
+An Interface representing a RemoteConfig value.
+
+#### Methods
+
+##### asBoolean()
+
+> **asBoolean**(): `boolean`
+
+Defined in: [index.d.ts:212](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L212)
+
+The returned value.
+
+#### Example
+
+```js
+const configValue = firebase.remoteConfig().getValue('dev_mode');
+console.log('Boolean: ', configValue.asBoolean());
+```
+
+###### Returns
+
+`boolean`
+
+##### asNumber()
+
+> **asNumber**(): `number`
+
+Defined in: [index.d.ts:223](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L223)
+
+The returned value.
+
+#### Example
+
+```js
+const configValue = firebase.remoteConfig().getValue('user_count');
+console.log('Count: ', configValue.asNumber());
+```
+
+###### Returns
+
+`number`
+
+##### asString()
+
+> **asString**(): `string`
+
+Defined in: [index.d.ts:234](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L234)
+
+The returned value.
+
+#### Example
+
+```js
+const configValue = firebase.remoteConfig().getValue('username');
+console.log('Name: ', configValue.asString());
+```
+
+###### Returns
+
+`string`
+
+##### getSource()
+
+> **getSource**(): `"remote"` \| `"default"` \| `"static"`
+
+Defined in: [index.d.ts:201](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L201)
+
+Where the value was retrieved from.
+
+- `remote`: If the value was retrieved from the server.
+- `default`: If the value was set as a default value.
+- `static`: If no value was found and a static default value was returned instead.
+
+See the `ValueSource` statics definition.
+
+#### Example
+
+```js
+const configValue = firebase.remoteConfig().getValue('beta_enabled');
+console.log('Value source: ', configValue.getSource());
+```
+
+###### Returns
+
+`"remote"` \| `"default"` \| `"static"`
+
+***
+
+### ConfigValues
+
+Defined in: [index.d.ts:246](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L246)
+
+An Interface representing multiple RemoteConfig Values.
+
+#### Example
+
+```js
+const values = firebase.remoteConfig().getAll();
+```
+
+#### Indexable
+
+> \[`key`: `string`\]: [`ConfigValue`](#configvalue)
+
+***
+
+### LastFetchStatus
+
+Defined in: [index.d.ts:71](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L71)
+
+A pseudo-enum for usage with ConfigSettingsRead.lastFetchStatus to determine the last fetch status.
+
+#### Example
+
+```js
+firebase.remoteConfig.LastFetchStatus;
+```
+
+#### Properties
+
+##### FAILURE
+
+> **FAILURE**: `"failure"`
+
+Defined in: [index.d.ts:88](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L88)
+
+A value indicating that the last fetch failed.
+
+```js
+firebase.remoteConfig.LastFetchStatus.FAILURE;
+```
+
+##### NO\_FETCH\_YET
+
+> **NO\_FETCH\_YET**: `"no_fetch_yet"`
+
+Defined in: [index.d.ts:110](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L110)
+
+A value indicating that no fetches have occurred yet.
+
+This usually means you've not called fetch yet.
+
+```js
+firebase.remoteConfig.LastFetchStatus.NO_FETCH_YET;
+```
+
+##### SUCCESS
+
+> **SUCCESS**: `"success"`
+
+Defined in: [index.d.ts:79](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L79)
+
+A value indicating that the last fetch was successful.
+
+```js
+firebase.remoteConfig.LastFetchStatus.SUCCESS;
+```
+
+##### THROTTLED
+
+> **THROTTLED**: `"throttled"`
+
+Defined in: [index.d.ts:99](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L99)
+
+A value indicating that the last fetch was throttled.
+
+This usually occurs when calling fetch often with a low expiration duration.
+
+```js
+firebase.remoteConfig.LastFetchStatus.THROTTLED;
+```
+
+***
+
+### Statics
+
+Defined in: [index.d.ts:156](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L156)
+
+Firebase Remote RemoteConfig statics.
+
+```js
+firebase.config;
+```
+
+#### Properties
+
+##### LastFetchStatus
+
+> **LastFetchStatus**: [`LastFetchStatus`](#lastfetchstatus-1)
+
+Defined in: [index.d.ts:177](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L177)
+
+A pseudo-enum for usage with `firebase.remoteConfig().lastFetchStatus` to determine the last fetch status.
+
+#### Example
+
+```js
+firebase.remoteConfig.LastFetchStatus;
+```
+
+##### SDK\_VERSION
+
+> **SDK\_VERSION**: `string`
+
+Defined in: [index.d.ts:178](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L178)
+
+##### ValueSource
+
+> **ValueSource**: [`ValueSource`](#valuesource-1)
+
+Defined in: [index.d.ts:166](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L166)
+
+A pseudo-enum for usage with ConfigValue.source to determine the value source.
+
+#### Example
+
+```js
+firebase.remoteConfig.ValueSource;
+```
+
+***
+
+### ValueSource
+
+Defined in: [index.d.ts:122](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L122)
+
+A pseudo-enum for usage with ConfigValue.source to determine the value source.
+
+#### Example
+
+```js
+firebase.remoteConfig.ValueSource;
+```
+
+#### Properties
+
+##### DEFAULT
+
+> **DEFAULT**: `"default"`
+
+Defined in: [index.d.ts:138](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L138)
+
+If the value was set as a default value.
+
+```js
+firebase.remoteConfig.ValueSource.DEFAULT;
+```
+
+##### REMOTE
+
+> **REMOTE**: `"remote"`
+
+Defined in: [index.d.ts:130](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L130)
+
+If the value was retrieved from the server.
+
+```js
+firebase.remoteConfig.ValueSource.REMOTE;
+```
+
+##### STATIC
+
+> **STATIC**: `"static"`
+
+Defined in: [index.d.ts:146](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L146)
+
+If no value was found and a static default value was returned instead.
+
+```js
+firebase.remoteConfig.ValueSource.STATIC;
+```
+
+## Type Aliases
+
+### CallbackOrObserver
+
+> **CallbackOrObserver**\<`T`\> = `T` \| \{ `next`: `T`; \}
+
+Defined in: [index.d.ts:609](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L609)
+
+#### Type Parameters
+
+##### T
+
+`T` *extends* (...`args`) => `any`
+
+***
+
+### LastFetchStatusType
+
+> **LastFetchStatusType** = `"success"` \| `"failure"` \| `"no_fetch_yet"` \| `"throttled"`
+
+Defined in: [index.d.ts:293](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L293)
+
+The status of the latest Remote RemoteConfig fetch action.
+
+***
+
+### OnConfigUpdatedListenerCallback
+
+> **OnConfigUpdatedListenerCallback** = (`event?`, `error?`) => `void`
+
+Defined in: [index.d.ts:612](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L612)
+
+#### Parameters
+
+##### event?
+
+###### updatedKeys
+
+`string`[]
+
+##### error?
+
+###### code
+
+`string`
+
+###### message
+
+`string`
+
+###### nativeErrorMessage
+
+`string`
+
+#### Returns
+
+`void`
+
+***
+
+### RemoteConfigLogLevel
+
+> **RemoteConfigLogLevel** = `"debug"` \| `"error"` \| `"silent"`
+
+Defined in: [index.d.ts:61](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L61)
+
+Defines levels of Remote Config logging. Web only.
+
+***
+
+### Unsubscribe
+
+> **Unsubscribe** = () => `void`
+
+Defined in: [index.d.ts:332](https://github.com/invertase/react-native-firebase/blob/main/packages/remote-config/lib/index.d.ts#L332)
+
+A function that unsubscribes from a real-time event stream.
+
+#### Returns
+
+`void`
diff --git a/docs/reference/@react-native-firebase/storage/README.mdx b/docs/reference/@react-native-firebase/storage/README.mdx
new file mode 100644
index 0000000000..8d0f644dde
--- /dev/null
+++ b/docs/reference/@react-native-firebase/storage/README.mdx
@@ -0,0 +1,866 @@
+[**React Native Firebase**](../../README.mdx)
+
+***
+
+[React Native Firebase](../../packages.mdx) / @react-native-firebase/storage
+
+# @react-native-firebase/storage
+
+## Functions
+
+### child()
+
+> **child**(`storageRef`, `path`): [`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+Defined in: [modular/index.d.ts:269](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L269)
+
+Returns a reference to a relative path from the given reference.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) as the base.
+
+##### path
+
+`string`
+
+The relative path from the base reference.
+
+#### Returns
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+A new [Reference](namespaces/FirebaseStorageTypes.mdx#reference).
+
+***
+
+### connectStorageEmulator()
+
+> **connectStorageEmulator**(`storage`, `host`, `port`, `options?`): `void`
+
+Defined in: [modular/index.d.ts:83](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L83)
+
+Connects a [Storage](namespaces/FirebaseStorageTypes.mdx#module) instance to the Firebase Storage emulator.
+
+#### Parameters
+
+##### storage
+
+[`Module`](namespaces/FirebaseStorageTypes.mdx#module)
+
+A reference to the `Storage` instance.
+
+##### host
+
+`string`
+
+Emulator host, e.g., 'localhost'.
+
+##### port
+
+`number`
+
+Emulator port, e.g., 9199.
+
+##### options?
+
+[`EmulatorMockTokenOptions`](namespaces/FirebaseStorageTypes.mdx#emulatormocktokenoptions)
+
+Optional. [EmulatorMockTokenOptions](namespaces/FirebaseStorageTypes.mdx#emulatormocktokenoptions) instance.
+
+#### Returns
+
+`void`
+
+***
+
+### deleteObject()
+
+> **deleteObject**(`storageRef`): `Promise`\<`void`\>
+
+Defined in: [modular/index.d.ts:103](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L103)
+
+Deletes the object at the given reference's location.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) to the object to delete.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+A promise that resolves when the delete is complete.
+
+***
+
+### getBlob()
+
+> **getBlob**(`storageRef`, `maxDownloadSizeBytes?`): `Promise`\<`Blob`\>
+
+Defined in: [modular/index.d.ts:111](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L111)
+
+Retrieves the blob at the given reference's location. Throws an error if the object is not found.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) to the object.
+
+##### maxDownloadSizeBytes?
+
+`number`
+
+Optional. Maximum size in bytes to retrieve.
+
+#### Returns
+
+`Promise`\<`Blob`\>
+
+A promise resolving to the Blob.
+
+***
+
+### getBytes()
+
+> **getBytes**(`storageRef`, `maxDownloadSizeBytes?`): `Promise`\<`ArrayBuffer`\>
+
+Defined in: [modular/index.d.ts:120](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L120)
+
+Retrieves bytes (up to the specified max size) from an object at the given reference's location.
+Throws an error if the object is not found or if the size exceeds the maximum allowed.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) to the object.
+
+##### maxDownloadSizeBytes?
+
+`number`
+
+Optional. Maximum size in bytes to retrieve.
+
+#### Returns
+
+`Promise`\<`ArrayBuffer`\>
+
+A promise resolving to an ArrayBuffer.
+
+***
+
+### getDownloadURL()
+
+> **getDownloadURL**(`storageRef`): `Promise`\<`string`\>
+
+Defined in: [modular/index.d.ts:130](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L130)
+
+Retrieves a long-lived download URL for the object at the given reference's location.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) to the object.
+
+#### Returns
+
+`Promise`\<`string`\>
+
+A promise resolving to the URL string.
+
+***
+
+### getMetadata()
+
+> **getMetadata**(`storageRef`): `Promise`\<[`FullMetadata`](namespaces/FirebaseStorageTypes.mdx#fullmetadata)\>
+
+Defined in: [modular/index.d.ts:137](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L137)
+
+Retrieves metadata for the object at the given reference's location.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) to the object.
+
+#### Returns
+
+`Promise`\<[`FullMetadata`](namespaces/FirebaseStorageTypes.mdx#fullmetadata)\>
+
+A promise resolving to the object's [FullMetadata](namespaces/FirebaseStorageTypes.mdx#fullmetadata).
+
+***
+
+### getStorage()
+
+#### Call Signature
+
+> **getStorage**(`app?`, `bucketUrl?`): [`Module`](namespaces/FirebaseStorageTypes.mdx#module)
+
+Defined in: [modular/index.d.ts:49](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L49)
+
+Returns the existing default [Storage](namespaces/FirebaseStorageTypes.mdx#module) instance that is associated with the
+default [FirebaseApp](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp). The default storage bucket is used. If no instance exists, initializes a new
+instance with default settings.
+
+##### Parameters
+
+###### app?
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+Firebase app to get FirebaseStorage instance for.
+
+###### bucketUrl?
+
+`string`
+
+The gs:// url to your Firebase Storage Bucket. If not passed, uses the app's default Storage Bucket.
+
+##### Returns
+
+[`Module`](namespaces/FirebaseStorageTypes.mdx#module)
+
+The [Storage](namespaces/FirebaseStorageTypes.mdx#module) instance of the provided app.
+
+#### Call Signature
+
+> **getStorage**(`app?`): [`Module`](namespaces/FirebaseStorageTypes.mdx#module)
+
+Defined in: [modular/index.d.ts:60](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L60)
+
+Returns the existing default [Storage](namespaces/FirebaseStorageTypes.mdx#module) instance that is associated with the
+provided [FirebaseApp](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp). The default storage bucket is used. If no instance exists, initializes a new
+instance with default settings.
+
+##### Parameters
+
+###### app?
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+The [FirebaseApp](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp) instance that the returned [Storage](namespaces/FirebaseStorageTypes.mdx#module)
+instance is associated with.
+
+##### Returns
+
+[`Module`](namespaces/FirebaseStorageTypes.mdx#module)
+
+The Firestore instance of the provided app.
+
+#### Call Signature
+
+> **getStorage**(`app?`, `bucketUrl?`): [`Module`](namespaces/FirebaseStorageTypes.mdx#module)
+
+Defined in: [modular/index.d.ts:72](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L72)
+
+Returns the existing default [Storage](namespaces/FirebaseStorageTypes.mdx#module) instance that is associated with the
+provided [FirebaseApp](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp). If no instance exists, initializes a new
+instance with default settings.
+
+##### Parameters
+
+###### app?
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+The [FirebaseApp](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp) instance that the returned [Storage](namespaces/FirebaseStorageTypes.mdx#module)
+instance is associated with. If `null` the default app is used.
+
+###### bucketUrl?
+
+`string`
+
+The gs:// url to the Firebase Storage Bucket. If `null` the default bucket is used.
+
+##### Returns
+
+[`Module`](namespaces/FirebaseStorageTypes.mdx#module)
+
+The Firestore instance of the provided app.
+
+#### Call Signature
+
+> **getStorage**(`app?`, `bucketUrl?`): [`Module`](namespaces/FirebaseStorageTypes.mdx#module)
+
+Defined in: [modular/index.d.ts:74](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L74)
+
+Returns the existing default [Storage](namespaces/FirebaseStorageTypes.mdx#module) instance that is associated with the
+default [FirebaseApp](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp). The default storage bucket is used. If no instance exists, initializes a new
+instance with default settings.
+
+##### Parameters
+
+###### app?
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+Firebase app to get FirebaseStorage instance for.
+
+###### bucketUrl?
+
+`string`
+
+The gs:// url to your Firebase Storage Bucket. If not passed, uses the app's default Storage Bucket.
+
+##### Returns
+
+[`Module`](namespaces/FirebaseStorageTypes.mdx#module)
+
+The [Storage](namespaces/FirebaseStorageTypes.mdx#module) instance of the provided app.
+
+***
+
+### getStream()
+
+> **getStream**(`storageRef`, `maxDownloadSizeBytes?`): `ReadableStream`
+
+Defined in: [modular/index.d.ts:145](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L145)
+
+Retrieves a readable stream for the object at the given reference's location. This API is only available in Node.js.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) to the object.
+
+##### maxDownloadSizeBytes?
+
+`number`
+
+Optional. Maximum size in bytes to retrieve.
+
+#### Returns
+
+`ReadableStream`
+
+A NodeJS ReadableStream.
+
+***
+
+### list()
+
+> **list**(`storageRef`, `options?`): `Promise`\<[`ListResult`](namespaces/FirebaseStorageTypes.mdx#listresult)\>
+
+Defined in: [modular/index.d.ts:156](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L156)
+
+Lists items and prefixes under the given reference.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) under which to list items.
+
+##### options?
+
+[`ListOptions`](namespaces/FirebaseStorageTypes.mdx#listoptions)
+
+Optional. Configuration for listing.
+
+#### Returns
+
+`Promise`\<[`ListResult`](namespaces/FirebaseStorageTypes.mdx#listresult)\>
+
+A promise resolving to a [ListResult](namespaces/FirebaseStorageTypes.mdx#listresult).
+
+***
+
+### listAll()
+
+> **listAll**(`storageRef`): `Promise`\<[`ListResult`](namespaces/FirebaseStorageTypes.mdx#listresult)\>
+
+Defined in: [modular/index.d.ts:163](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L163)
+
+Lists all items and prefixes under the given reference.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) under which to list items.
+
+#### Returns
+
+`Promise`\<[`ListResult`](namespaces/FirebaseStorageTypes.mdx#listresult)\>
+
+A promise resolving to a [ListResult](namespaces/FirebaseStorageTypes.mdx#listresult).
+
+***
+
+### putFile()
+
+> **putFile**(`storageRef`, `filePath`, `metadata?`): [`Task`](namespaces/FirebaseStorageTypes.mdx#task)
+
+Defined in: [modular/index.d.ts:246](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L246)
+
+Puts a file from a local disk onto the storage bucket at the given reference.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) where the file should be uploaded.
+
+##### filePath
+
+`string`
+
+The local file path of the file to upload.
+
+##### metadata?
+
+[`SettableMetadata`](namespaces/FirebaseStorageTypes.mdx#settablemetadata)
+
+Optional. Metadata to associate with the uploaded file.
+
+#### Returns
+
+[`Task`](namespaces/FirebaseStorageTypes.mdx#task)
+
+A [Task](namespaces/FirebaseStorageTypes.mdx#task) associated with the upload process.
+
+***
+
+### ref()
+
+> **ref**(`storage`, `path?`): [`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+Defined in: [modular/index.d.ts:96](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L96)
+
+Creates a [Reference](namespaces/FirebaseStorageTypes.mdx#reference) from a given path or URL.
+
+#### Parameters
+
+##### storage
+
+[`Module`](namespaces/FirebaseStorageTypes.mdx#module)
+
+The [Storage](namespaces/FirebaseStorageTypes.mdx#module) instance.
+
+##### path?
+
+`string`
+
+Optional. A string pointing to a location within the storage bucket.
+
+#### Returns
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+A new [Reference](namespaces/FirebaseStorageTypes.mdx#reference).
+
+***
+
+### refFromURL()
+
+> **refFromURL**(`storage`, `url`): [`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+Defined in: [modular/index.d.ts:223](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L223)
+
+Creates a [Reference](namespaces/FirebaseStorageTypes.mdx#reference) from a storage bucket URL.
+
+#### Parameters
+
+##### storage
+
+[`Module`](namespaces/FirebaseStorageTypes.mdx#module)
+
+The [Storage](namespaces/FirebaseStorageTypes.mdx#module) instance.
+
+##### url
+
+`string`
+
+A URL pointing to a file or location in a storage bucket.
+
+#### Returns
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+A [Reference](namespaces/FirebaseStorageTypes.mdx#reference) pointing to the specified URL.
+
+***
+
+### setMaxDownloadRetryTime()
+
+> **setMaxDownloadRetryTime**(`storage`, `time`): `Promise`\<`void`\>
+
+Defined in: [modular/index.d.ts:276](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L276)
+
+Sets the maximum time in milliseconds to retry download operations if a failure occurs.
+
+#### Parameters
+
+##### storage
+
+[`Module`](namespaces/FirebaseStorageTypes.mdx#module)
+
+The [Storage](namespaces/FirebaseStorageTypes.mdx#module) instance.
+
+##### time
+
+`number`
+
+The new maximum download retry time in milliseconds.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### setMaxOperationRetryTime()
+
+> **setMaxOperationRetryTime**(`storage`, `time`): `Promise`\<`void`\>
+
+Defined in: [modular/index.d.ts:230](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L230)
+
+Sets the maximum time in milliseconds to retry operations other than upload and download if a failure occurs.
+
+#### Parameters
+
+##### storage
+
+[`Module`](namespaces/FirebaseStorageTypes.mdx#module)
+
+The [Storage](namespaces/FirebaseStorageTypes.mdx#module) instance.
+
+##### time
+
+`number`
+
+The new maximum operation retry time in milliseconds.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### setMaxUploadRetryTime()
+
+> **setMaxUploadRetryTime**(`storage`, `time`): `Promise`\<`void`\>
+
+Defined in: [modular/index.d.ts:237](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L237)
+
+Sets the maximum time in milliseconds to retry upload operations if a failure occurs.
+
+#### Parameters
+
+##### storage
+
+[`Module`](namespaces/FirebaseStorageTypes.mdx#module)
+
+The [Storage](namespaces/FirebaseStorageTypes.mdx#module) instance.
+
+##### time
+
+`number`
+
+The new maximum upload retry time in milliseconds.
+
+#### Returns
+
+`Promise`\<`void`\>
+
+***
+
+### toString()
+
+> **toString**(`storageRef`): `string`
+
+Defined in: [modular/index.d.ts:261](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L261)
+
+Returns a gs:// URL for the object at the given reference.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) to the object.
+
+#### Returns
+
+`string`
+
+The URL as a string.
+
+***
+
+### updateMetadata()
+
+> **updateMetadata**(`storageRef`, `metadata`): `Promise`\<[`FullMetadata`](namespaces/FirebaseStorageTypes.mdx#fullmetadata)\>
+
+Defined in: [modular/index.d.ts:171](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L171)
+
+Updates metadata for the object at the given reference.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) to the object.
+
+##### metadata
+
+[`SettableMetadata`](namespaces/FirebaseStorageTypes.mdx#settablemetadata)
+
+The metadata to update.
+
+#### Returns
+
+`Promise`\<[`FullMetadata`](namespaces/FirebaseStorageTypes.mdx#fullmetadata)\>
+
+A promise resolving to the updated [FullMetadata](namespaces/FirebaseStorageTypes.mdx#fullmetadata).
+
+***
+
+### uploadBytes()
+
+> **uploadBytes**(`storageRef`, `data`, `metadata?`): `Promise`\<[`TaskResult`](namespaces/FirebaseStorageTypes.mdx#taskresult)\>
+
+Defined in: [modular/index.d.ts:183](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L183)
+
+Uploads data to the object's location at the given reference. The upload is not resumable.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) where the data should be uploaded.
+
+##### data
+
+`Blob` \| `ArrayBuffer` \| `Uint8Array`\<`ArrayBufferLike`\>
+
+The data to upload.
+
+##### metadata?
+
+[`SettableMetadata`](namespaces/FirebaseStorageTypes.mdx#settablemetadata)
+
+Optional. Metadata to associate with the uploaded object.
+
+#### Returns
+
+`Promise`\<[`TaskResult`](namespaces/FirebaseStorageTypes.mdx#taskresult)\>
+
+A promise resolving to a [TaskResult](namespaces/FirebaseStorageTypes.mdx#taskresult).
+
+***
+
+### uploadBytesResumable()
+
+> **uploadBytesResumable**(`storageRef`, `data`, `metadata?`): [`Task`](namespaces/FirebaseStorageTypes.mdx#task)
+
+Defined in: [modular/index.d.ts:196](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L196)
+
+Initiates a resumable upload session for the data to the object's location at the given reference.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) where the data should be uploaded.
+
+##### data
+
+`Blob` \| `ArrayBuffer` \| `Uint8Array`\<`ArrayBufferLike`\>
+
+The data to upload.
+
+##### metadata?
+
+[`SettableMetadata`](namespaces/FirebaseStorageTypes.mdx#settablemetadata)
+
+Optional. Metadata to associate with the uploaded object.
+
+#### Returns
+
+[`Task`](namespaces/FirebaseStorageTypes.mdx#task)
+
+A [Task](namespaces/FirebaseStorageTypes.mdx#task) associated with the upload process.
+
+***
+
+### uploadString()
+
+> **uploadString**(`storageRef`, `data`, `format?`, `metadata?`): [`Task`](namespaces/FirebaseStorageTypes.mdx#task)
+
+Defined in: [modular/index.d.ts:210](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L210)
+
+Uploads a string to the object's location at the given reference. The string format must be specified.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) where the string should be uploaded.
+
+##### data
+
+`string`
+
+The string data to upload.
+
+##### format?
+
+[`StringFormat`](#stringformat)
+
+Optional. The format of the string ('raw', 'base64', 'base64url', 'data_url').
+
+##### metadata?
+
+[`SettableMetadata`](namespaces/FirebaseStorageTypes.mdx#settablemetadata)
+
+Optional. Metadata to associate with the uploaded object.
+
+#### Returns
+
+[`Task`](namespaces/FirebaseStorageTypes.mdx#task)
+
+A [Task](namespaces/FirebaseStorageTypes.mdx#task) associated with the upload process.
+
+***
+
+### writeToFile()
+
+> **writeToFile**(`storageRef`, `filePath`): [`Task`](namespaces/FirebaseStorageTypes.mdx#task)
+
+Defined in: [modular/index.d.ts:254](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L254)
+
+Downloads a file to the specified local file path on the device.
+
+#### Parameters
+
+##### storageRef
+
+[`Reference`](namespaces/FirebaseStorageTypes.mdx#reference)
+
+The [Reference](namespaces/FirebaseStorageTypes.mdx#reference) from which the file should be downloaded.
+
+##### filePath
+
+`string`
+
+The local file path where the file should be written.
+
+#### Returns
+
+[`Task`](namespaces/FirebaseStorageTypes.mdx#task)
+
+A [Task](namespaces/FirebaseStorageTypes.mdx#task) associated with the download process.
+
+## Namespaces
+
+- [FirebaseStorageTypes](namespaces/FirebaseStorageTypes.mdx)
+
+## Type Aliases
+
+### StringFormat
+
+> **StringFormat** = *typeof* [`StringFormat`](#stringformat-1)\[keyof *typeof* [`StringFormat`](#stringformat-1)\]
+
+Defined in: [modular/index.d.ts:32](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L32)
+
+Union of literal string values in StringFormat "enum" object
+
+## Variables
+
+### default
+
+> `const` **default**: `StorageNamespace`
+
+Defined in: [index.d.ts:1159](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L1159)
+
+***
+
+### firebase
+
+> `const` **firebase**: [`Module`](../app/namespaces/ReactNativeFirebase.mdx#module) & `object`
+
+Defined in: [index.d.ts:1161](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L1161)
+
+#### Type Declaration
+
+##### storage
+
+> **storage**: *typeof* [`default`](#default)
+
+##### app()
+
+> **app**(`name?`): [`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp) & `object`
+
+###### Parameters
+
+###### name?
+
+`string`
+
+###### Returns
+
+[`FirebaseApp`](../app/namespaces/ReactNativeFirebase.mdx#firebaseapp) & `object`
+
+***
+
+### StringFormat
+
+> `const` **StringFormat**: [`StringFormat`](namespaces/FirebaseStorageTypes.mdx#stringformat-1)
+
+Defined in: [modular/index.d.ts:32](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L32)
+
+***
+
+### TaskEvent
+
+> `const` **TaskEvent**: [`TaskEvent`](namespaces/FirebaseStorageTypes.mdx#taskevent-1)
+
+Defined in: [modular/index.d.ts:33](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L33)
+
+***
+
+### TaskState
+
+> `const` **TaskState**: [`TaskState`](namespaces/FirebaseStorageTypes.mdx#taskstate-1)
+
+Defined in: [modular/index.d.ts:34](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/modular/index.d.ts#L34)
diff --git a/docs/reference/@react-native-firebase/storage/namespaces/FirebaseStorageTypes.mdx b/docs/reference/@react-native-firebase/storage/namespaces/FirebaseStorageTypes.mdx
new file mode 100644
index 0000000000..fbebb0fa0d
--- /dev/null
+++ b/docs/reference/@react-native-firebase/storage/namespaces/FirebaseStorageTypes.mdx
@@ -0,0 +1,1873 @@
+[**React Native Firebase**](../../../README.mdx)
+
+***
+
+[React Native Firebase](../../../packages.mdx) / [@react-native-firebase/storage](../README.mdx) / FirebaseStorageTypes
+
+# FirebaseStorageTypes
+
+Firebase Cloud Storage package for React Native.
+
+#### Example 1
+
+Access the firebase export from the `storage` package:
+
+```js
+import { firebase } from '@react-native-firebase/storage';
+
+// firebase.storage().X
+```
+
+#### Example 2
+
+Using the default export from the `storage` package:
+
+```js
+import storage from '@react-native-firebase/storage';
+
+// storage().X
+```
+
+#### Example 3
+
+Using the default export from the `app` package:
+
+```js
+import firebase from '@react-native-firebase/app';
+import '@react-native-firebase/storage';
+
+// firebase.storage().X
+```
+
+## Firebase
+
+storage
+
+## Classes
+
+### Module
+
+Defined in: [index.d.ts:1023](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L1023)
+
+The Cloud Storage service is available for the default app, a given app or a specific storage bucket.
+
+#### Example 1
+
+Get the storage instance for the **default app**:
+
+```js
+const storageForDefaultApp = firebase.storage();
+```
+
+#### Example 2
+
+Get the storage instance for a **secondary app**:
+
+```js
+const otherApp = firebase.app('otherApp');
+const storageForOtherApp = firebase.storage(otherApp);
+```
+
+#### Example 3
+
+Get the storage instance for a **specific storage bucket**:
+
+```js
+const defaultApp = firebase.app();
+const storageForBucket = defaultApp.storage('gs://another-bucket-url');
+
+const otherApp = firebase.app('otherApp');
+const storageForOtherAppBucket = otherApp.storage('gs://another-bucket-url');
+```
+
+#### Extends
+
+- [`FirebaseModule`](../../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule)
+
+#### Constructors
+
+##### Constructor
+
+> **new Module**(): [`Module`](#module)
+
+###### Returns
+
+[`Module`](#module)
+
+###### Inherited from
+
+[`FirebaseModule`](../../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule).[`constructor`](../../app/namespaces/ReactNativeFirebase.mdx#constructor)
+
+#### Methods
+
+##### ref()
+
+> **ref**(`path?`): [`Reference`](#reference)
+
+Defined in: [index.d.ts:1113](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L1113)
+
+Returns a new storage.Reference instance.
+
+#### Example
+
+```js
+const ref = firebase.storage().ref('cats.gif');
+```
+
+###### Parameters
+
+###### path?
+
+`string`
+
+An optional string pointing to a location on the storage bucket. If no path
+is provided, the returned reference will be the bucket root path.
+
+###### Returns
+
+[`Reference`](#reference)
+
+##### refFromURL()
+
+> **refFromURL**(`url`): [`Reference`](#reference)
+
+Defined in: [index.d.ts:1132](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L1132)
+
+Returns a new storage.Reference instance from a storage bucket URL.
+
+#### Example
+
+```js
+const gsUrl = 'gs://react-native-firebase-testing/cats.gif';
+const httpUrl = 'https://firebasestorage.googleapis.com/v0/b/react-native-firebase-testing.appspot.com/o/cats.gif';
+
+const refFromGsUrl = firebase.storage().refFromURL(gsUrl);
+// or
+const refFromHttpUrl = firebase.storage().refFromURL(httpUrl);
+```
+
+###### Parameters
+
+###### url
+
+`string`
+
+A storage bucket URL pointing to a single file or location. Must be either a `gs://` url or an `http` url,
+e.g. `gs://assets/logo.png` or `https://firebasestorage.googleapis.com/v0/b/react-native-firebase-testing.appspot.com/o/cats.gif`.
+
+###### Returns
+
+[`Reference`](#reference)
+
+##### setMaxDownloadRetryTime()
+
+> **setMaxDownloadRetryTime**(`time`): `Promise`\<`void`\>
+
+Defined in: [index.d.ts:1075](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L1075)
+
+Sets the maximum time in milliseconds to retry a download if a failure occurs.
+
+#### Example
+
+```js
+await firebase.storage().setMaxDownloadRetryTime(25000);
+```
+
+###### Parameters
+
+###### time
+
+`number`
+
+The new maximum download retry time in milliseconds.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### setMaxOperationRetryTime()
+
+> **setMaxOperationRetryTime**(`time`): `Promise`\<`void`\>
+
+Defined in: [index.d.ts:1099](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L1099)
+
+Sets the maximum time in milliseconds to retry operations other than upload and download if a failure occurs.
+
+#### Example
+
+```js
+await firebase.storage().setMaxOperationRetryTime(5000);
+```
+
+###### Parameters
+
+###### time
+
+`number`
+
+The new maximum operation retry time in milliseconds.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### setMaxUploadRetryTime()
+
+> **setMaxUploadRetryTime**(`time`): `Promise`\<`void`\>
+
+Defined in: [index.d.ts:1051](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L1051)
+
+Sets the maximum time in milliseconds to retry an upload if a failure occurs.
+
+#### Example
+
+```js
+await firebase.storage().setMaxUploadRetryTime(25000);
+```
+
+###### Parameters
+
+###### time
+
+`number`
+
+The new maximum upload retry time in milliseconds.
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### useEmulator()
+
+> **useEmulator**(`host`, `port`): `void`
+
+Defined in: [index.d.ts:1147](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L1147)
+
+Modify this Storage instance to communicate with the Firebase Storage emulator.
+This must be called synchronously immediately following the first call to firebase.storage().
+Do not use with production credentials as emulator traffic is not encrypted.
+
+Note: on android, hosts 'localhost' and '127.0.0.1' are automatically remapped to '10.0.2.2' (the
+"host" computer IP address for android emulators) to make the standard development experience easy.
+If you want to use the emulator on a real android device, you will need to specify the actual host
+computer IP address.
+
+###### Parameters
+
+###### host
+
+`string`
+
+###### port
+
+`number`
+
+###### Returns
+
+`void`
+
+#### Properties
+
+##### app
+
+> **app**: [`FirebaseApp`](../../app/namespaces/ReactNativeFirebase.mdx#firebaseapp)
+
+Defined in: [index.d.ts:1027](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L1027)
+
+The current `FirebaseApp` instance for this Firebase service.
+
+###### Overrides
+
+[`FirebaseModule`](../../app/namespaces/ReactNativeFirebase.mdx#abstract-firebasemodule).[`app`](../../app/namespaces/ReactNativeFirebase.mdx#app)
+
+##### maxDownloadRetryTime
+
+> **maxDownloadRetryTime**: `number`
+
+Defined in: [index.d.ts:1062](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L1062)
+
+Returns the current maximum time in milliseconds to retry a download if a failure occurs.
+
+#### Example
+
+```js
+const downloadRetryTime = firebase.storage().maxUploadRetryTime;
+```
+
+##### maxOperationRetryTime
+
+> **maxOperationRetryTime**: `number`
+
+Defined in: [index.d.ts:1086](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L1086)
+
+Returns the current maximum time in milliseconds to retry operations other than upload and download if a failure occurs.
+
+#### Example
+
+```js
+const maxOperationRetryTime = firebase.storage().maxOperationRetryTime;
+```
+
+##### maxUploadRetryTime
+
+> **maxUploadRetryTime**: `number`
+
+Defined in: [index.d.ts:1038](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L1038)
+
+Returns the current maximum time in milliseconds to retry an upload if a failure occurs.
+
+#### Example
+
+```js
+const uploadRetryTime = firebase.storage().maxUploadRetryTime;
+```
+
+## Interfaces
+
+### EmulatorMockTokenOptions
+
+Defined in: [index.d.ts:983](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L983)
+
+Storage Emulator options. Web only.
+
+#### Properties
+
+##### mockUserToken?
+
+> `optional` **mockUserToken?**: `string`
+
+Defined in: [index.d.ts:987](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L987)
+
+the mock auth token to use for unit testing Security Rules.
+
+***
+
+### FullMetadata
+
+Defined in: [index.d.ts:348](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L348)
+
+The full readable metadata returned by `TaskSnapshot.metadata` or `StorageReference.getMetadata()`.
+
+#### Extends
+
+- [`SettableMetadata`](#settablemetadata)
+
+#### Properties
+
+##### bucket
+
+> **bucket**: `string`
+
+Defined in: [index.d.ts:363](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L363)
+
+The bucket this storage object is contained in.
+
+#### Example Value
+
+```
+gs://my-project-storage-bucket
+```
+
+##### cacheControl?
+
+> `optional` **cacheControl?**: `string` \| `null`
+
+Defined in: [index.d.ts:273](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L273)
+
+The 'Cache-Control' HTTP header that will be set on the storage object when it's requested.
+
+#### Example 1
+
+To turn off caching, you can set the following cacheControl value.
+
+```js
+{
+ cacheControl: 'no-store',
+}
+```
+
+#### Example 2
+
+To aggressively cache an object, e.g. static assets, you can set the following cacheControl value.
+
+```js
+{
+ cacheControl: 'public, max-age=31536000',
+}
+```
+
+[Learn more about this header on Mozilla.](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Cache-Control)
+
+###### Inherited from
+
+[`SettableMetadata`](#settablemetadata).[`cacheControl`](#cachecontrol-1)
+
+##### contentDisposition?
+
+> `optional` **contentDisposition?**: `string` \| `null`
+
+Defined in: [index.d.ts:280](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L280)
+
+The 'Content-Disposition' HTTP header that will be set on the storage object when it's requested.
+
+[Learn more about this header on Mozilla.](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition)
+
+###### Inherited from
+
+[`SettableMetadata`](#settablemetadata).[`contentDisposition`](#contentdisposition-1)
+
+##### contentEncoding?
+
+> `optional` **contentEncoding?**: `string` \| `null`
+
+Defined in: [index.d.ts:287](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L287)
+
+The 'Content-Encoding' HTTP header that will be used on the storage object when it's requested.
+
+[Learn more about this header on Mozilla.](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding)
+
+###### Inherited from
+
+[`SettableMetadata`](#settablemetadata).[`contentEncoding`](#contentencoding-1)
+
+##### contentLanguage?
+
+> `optional` **contentLanguage?**: `string` \| `null`
+
+Defined in: [index.d.ts:294](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L294)
+
+The 'Content-Language' HTTP header that will be set on the storage object when it's requested.
+
+[Learn more about this header on Mozilla.](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Language)
+
+###### Inherited from
+
+[`SettableMetadata`](#settablemetadata).[`contentLanguage`](#contentlanguage-1)
+
+##### contentType?
+
+> `optional` **contentType?**: `string` \| `null`
+
+Defined in: [index.d.ts:317](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L317)
+
+The 'Content-Type' HTTP header that will be set on the object when it's requested.
+
+This is used to indicate the media type (or MIME type) of the object. When uploading a file
+Firebase Cloud Storage for React Native will attempt to automatically detect this if `contentType`
+is not already set, if it fails to detect a media type it will default to `application/octet-stream`.
+
+For `DATA_URL` string formats uploaded via `putString` this will also be automatically extracted if available.
+
+#### Example
+
+Setting the content type as JSON, e.g. for when uploading a JSON string via `putString`.
+
+```js
+{
+ contentType: 'application/json',
+}
+```
+
+[Learn more about this header on Mozilla.](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type)
+
+###### Inherited from
+
+[`SettableMetadata`](#settablemetadata).[`contentType`](#contenttype-1)
+
+##### customMetadata?
+
+> `optional` **customMetadata?**: \{\[`key`: `string`\]: `string`; \} \| `null`
+
+Defined in: [index.d.ts:340](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L340)
+
+Additional user-defined custom metadata for this storage object.
+
+All values must be strings. Set to null to delete all. Any keys ommitted during update will be removed.
+
+#### Example
+
+Adding a user controlled NSFW meta data field.
+
+```js
+{
+ customMetadata: {
+ 'nsfw': 'true'
+ },
+}
+
+###### Inherited from
+
+[`SettableMetadata`](#settablemetadata).[`customMetadata`](#custommetadata-1)
+
+##### fullPath
+
+> **fullPath**: `string`
+
+Defined in: [index.d.ts:374](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L374)
+
+The full path to this storage object in its bucket.
+
+#### Example Value
+
+```
+invertase/logo.png
+```
+
+##### generation
+
+> **generation**: `string`
+
+Defined in: [index.d.ts:381](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L381)
+
+Storage object generation values enable users to uniquely identify data resources, e.g. object versioning.
+
+Read more on generation on the [Google Cloud Storage documentation](https://cloud.google.com/storage/docs/generations-preconditions).
+
+##### md5hash?
+
+> `optional` **md5hash?**: `string` \| `null`
+
+Defined in: [index.d.ts:322](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L322)
+
+You may specify the md5hash of the file in metadata on upload only. It may not be updated via updateMetadata
+
+###### Inherited from
+
+[`SettableMetadata`](#settablemetadata).[`md5hash`](#md5hash-2)
+
+##### md5Hash
+
+> **md5Hash**: `string` \| `null`
+
+Defined in: [index.d.ts:352](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L352)
+
+A Base64-encoded MD5 hash of the storage object being uploaded.
+
+##### metageneration
+
+> **metageneration**: `string`
+
+Defined in: [index.d.ts:388](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L388)
+
+Storage object metageneration values enable users to uniquely identify data resources, e.g. object versioning.
+
+Read more on metageneration on the [Google Cloud Storage documentation](https://cloud.google.com/storage/docs/generations-preconditions).
+
+##### name
+
+> **name**: `string`
+
+Defined in: [index.d.ts:399](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L399)
+
+The short name of storage object in its bucket, e.g. it's file name.
+
+#### Example Value
+
+```
+logo.png
+```
+
+##### size
+
+> **size**: `number`
+
+Defined in: [index.d.ts:404](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L404)
+
+The size of this storage object in bytes.
+
+##### timeCreated
+
+> **timeCreated**: `string`
+
+Defined in: [index.d.ts:415](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L415)
+
+A date string representing when this storage object was created.
+
+#### Example Value
+
+```
+2019-05-02T00:34:56.264Z
+```
+
+##### updated
+
+> **updated**: `string`
+
+Defined in: [index.d.ts:426](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L426)
+
+A date string representing when this storage object was last updated.
+
+#### Example Value
+
+```
+2019-05-02T00:35:56.264Z
+```
+
+***
+
+### ListOptions
+
+Defined in: [index.d.ts:946](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L946)
+
+The options `list()` accepts.
+
+#### Properties
+
+##### maxResults?
+
+> `optional` **maxResults?**: `number`
+
+Defined in: [index.d.ts:950](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L950)
+
+If set, limits the total number of `prefixes` and `items` to return. The default and maximum maxResults is 1000.
+
+##### pageToken?
+
+> `optional` **pageToken?**: `string`
+
+Defined in: [index.d.ts:955](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L955)
+
+The `nextPageToken` from a previous call to `list()`. If provided, listing is resumed from the previous position.
+
+***
+
+### ListResult
+
+Defined in: [index.d.ts:961](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L961)
+
+Result returned by `list()`.
+
+#### Properties
+
+##### items
+
+> **items**: [`Reference`](#reference)[]
+
+Defined in: [index.d.ts:965](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L965)
+
+Objects in this directory. You can call `getMetadata()` and `getDownloadUrl()` on them.
+
+##### nextPageToken
+
+> **nextPageToken**: `string` \| `null`
+
+Defined in: [index.d.ts:970](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L970)
+
+If set, there might be more results for this list. Use this token to resume the list.
+
+##### prefixes
+
+> **prefixes**: [`Reference`](#reference)[]
+
+Defined in: [index.d.ts:977](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L977)
+
+References to prefixes (sub-folders). You can call `list()` on them to get its contents.
+
+Folders are implicit based on '/' in the object paths. For example, if a bucket has two objects '/a/b/1' and '/a/b/2', list('/a') will return '/a/b' as a prefix.
+
+***
+
+### Reference
+
+Defined in: [index.d.ts:450](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L450)
+
+Represents a reference to a Google Cloud Storage object in React Native Firebase.
+
+A reference can be used to upload and download storage objects, get/set storage object metadata, retrieve storage object download urls and delete storage objects.
+
+#### Example 1
+
+Get a reference to a specific storage path.
+
+```js
+const ref = firebase.storage().ref('invertase/logo.png');
+```
+
+#### Example 2
+
+Get a reference to a specific storage path on another bucket in the same firebase project.
+
+```js
+const ref = firebase.storage().refFromURL('gs://other-bucket/invertase/logo.png');
+```
+
+#### Methods
+
+##### child()
+
+> **child**(`path`): [`Reference`](#reference)
+
+Defined in: [index.d.ts:501](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L501)
+
+Returns a reference to a relative path from this reference.
+
+#### Example
+
+```js
+const parent = firebase.storage().ref('invertase');
+const ref = parent.child('logo.png');
+```
+
+###### Parameters
+
+###### path
+
+`string`
+
+The relative path from this reference. Leading, trailing, and consecutive slashes are removed.
+
+###### Returns
+
+[`Reference`](#reference)
+
+##### delete()
+
+> **delete**(): `Promise`\<`void`\>
+
+Defined in: [index.d.ts:513](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L513)
+
+Deletes the object at this reference's location.
+
+#### Example
+
+```js
+const ref = firebase.storage().ref('invertase/logo.png');
+await ref.delete();
+```
+
+###### Returns
+
+`Promise`\<`void`\>
+
+##### getDownloadURL()
+
+> **getDownloadURL**(): `Promise`\<`string`\>
+
+Defined in: [index.d.ts:525](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L525)
+
+Fetches a long lived download URL for this object.
+
+#### Example
+
+```js
+const ref = firebase.storage().ref('invertase/logo.png');
+const url = await ref.getDownloadURL();
+```
+
+###### Returns
+
+`Promise`\<`string`\>
+
+##### getMetadata()
+
+> **getMetadata**(): `Promise`\<[`FullMetadata`](#fullmetadata)\>
+
+Defined in: [index.d.ts:538](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L538)
+
+Fetches metadata for the object at this location, if one exists.
+
+#### Example
+
+```js
+const ref = firebase.storage().ref('invertase/logo.png');
+const metadata = await ref.getMetadata();
+console.log('Cache control: ', metadata.cacheControl);
+```
+
+###### Returns
+
+`Promise`\<[`FullMetadata`](#fullmetadata)\>
+
+##### list()
+
+> **list**(`options?`): `Promise`\<[`ListResult`](#listresult)\>
+
+Defined in: [index.d.ts:563](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L563)
+
+List items (files) and prefixes (folders) under this storage reference.
+
+List API is only available for Firebase Rules Version 2.
+
+GCS is a key-blob store. Firebase Storage imposes the semantic of '/' delimited folder structure.
+Refer to GCS's List API if you want to learn more.
+
+To adhere to Firebase Rules's Semantics, Firebase Storage does not support objects whose paths
+end with "/" or contain two consecutive "/"s. Firebase Storage List API will filter these unsupported objects.
+list() may fail if there are too many unsupported objects in the bucket.
+
+#### Example
+
+```js
+const ref = firebase.storage().ref('/');
+const results = await ref.list({
+ maxResults: 30,
+});
+```
+
+###### Parameters
+
+###### options?
+
+[`ListOptions`](#listoptions)
+
+An optional ListOptions interface.
+
+###### Returns
+
+`Promise`\<[`ListResult`](#listresult)\>
+
+##### listAll()
+
+> **listAll**(): `Promise`\<[`ListResult`](#listresult)\>
+
+Defined in: [index.d.ts:581](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L581)
+
+List all items (files) and prefixes (folders) under this storage reference.
+
+This is a helper method for calling list() repeatedly until there are no more results. The default pagination size is 1000.
+
+Note: The results may not be consistent if objects are changed while this operation is running.
+
+Warning: `listAll` may potentially consume too many resources if there are too many results.
+
+#### Example
+
+```js
+const ref = firebase.storage().ref('/');
+const results = await ref.listAll();
+```
+
+###### Returns
+
+`Promise`\<[`ListResult`](#listresult)\>
+
+##### put()
+
+> **put**(`data`, `metadata?`): [`Task`](#task)
+
+Defined in: [index.d.ts:632](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L632)
+
+Puts data onto the storage bucket.
+
+#### Example
+
+```js
+const ref = firebase.storage().ref('invertase/new-logo.png');
+const task = ref.put(BLOB, {
+ cacheControl: 'no-store', // disable caching
+});
+```
+
+###### Parameters
+
+###### data
+
+`Blob` \| `ArrayBuffer` \| `Uint8Array`\<`ArrayBufferLike`\>
+
+The data to upload to the storage bucket at the reference location.
+
+###### metadata?
+
+[`SettableMetadata`](#settablemetadata)
+
+###### Returns
+
+[`Task`](#task)
+
+##### putFile()
+
+> **putFile**(`localFilePath`, `metadata?`): [`Task`](#task)
+
+Defined in: [index.d.ts:599](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L599)
+
+Puts a file from local disk onto the storage bucket.
+
+#### Example
+
+```js
+const ref = firebase.storage().ref('invertase/new-logo.png');
+const path = `${firebase.utils.FilePath.DOCUMENT_DIRECTORY}/new-logo.png`;
+const task = ref.putFile(path, {
+ cacheControl: 'no-store', // disable caching
+});
+```
+
+###### Parameters
+
+###### localFilePath
+
+`string`
+
+The local file path to upload to the bucket at the reference location.
+
+###### metadata?
+
+[`SettableMetadata`](#settablemetadata)
+
+Any additional `SettableMetadata` for this task.
+
+###### Returns
+
+[`Task`](#task)
+
+##### putString()
+
+> **putString**(`data`, `format?`, `metadata?`): [`Task`](#task)
+
+Defined in: [index.d.ts:650](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L650)
+
+Puts a string on the storage bucket. Depending on the string type, set a storage.StringFormat type.
+
+#### Example
+
+```js
+const ref = firebase.storage().ref('invertase/new-logo.png');
+const task = ref.putString('PEZvbyBCYXI+', firebase.storage.StringFormat.BASE64, {
+ cacheControl: 'no-store', // disable caching
+});
+```
+
+###### Parameters
+
+###### data
+
+`string`
+
+The string data, must match the format provided.
+
+###### format?
+
+`"raw"` \| `"base64"` \| `"base64url"` \| `"data_url"`
+
+The format type of the string, e.g. a Base64 format string.
+
+###### metadata?
+
+[`SettableMetadata`](#settablemetadata)
+
+Any additional `SettableMetadata` for this task.
+
+###### Returns
+
+[`Task`](#task)
+
+##### toString()
+
+> **toString**(): `string`
+
+Defined in: [index.d.ts:487](https://github.com/invertase/react-native-firebase/blob/main/packages/storage/lib/index.d.ts#L487)
+
+Returns a gs:// URL for this object in the form `gs://///