UNPKG

@react-native-firebase/app

Version:

A well tested, feature rich Firebase implementation for React Native, supporting iOS & Android. Individual module support for Admob, Analytics, Auth, Crash Reporting, Cloud Firestore, Database, Dynamic Links, Functions, Messaging (FCM), Remote Config, Sto

83 lines 3.07 kB
import type { ReactNativeFirebase } from '../types/app'; /** * Base type for all React Native Firebase native modules. * Each package can extend this interface via module augmentation to add their own native methods. */ export interface ReactNativeFirebaseNativeModules { } /** * Interface for wrapped native modules returned by getAppModule() and getNativeModule() * This represents the native module after wrapping with error handling */ export interface WrappedNativeModule { [key: string]: unknown; } /** * App Module native methods that are always available */ export interface RNFBAppModuleInterface { NATIVE_FIREBASE_APPS: Array<{ appConfig: ReactNativeFirebase.FirebaseAppConfig; options: ReactNativeFirebase.FirebaseAppOptions; }>; FIREBASE_RAW_JSON: string; initializeApp(options: ReactNativeFirebase.FirebaseAppOptions, appConfig: ReactNativeFirebase.FirebaseAppConfig): Promise<void>; deleteApp(name: string): Promise<void>; setLogLevel(logLevel: string): void; metaGetAll(): Promise<{ [key: string]: string | boolean; }>; jsonGetAll(): Promise<{ [key: string]: string | boolean; }>; preferencesClearAll(): Promise<void>; preferencesGetAll(): Promise<{ [key: string]: string | boolean; }>; preferencesSetBool(key: string, value: boolean): Promise<void>; preferencesSetString(key: string, value: string): Promise<void>; setAutomaticDataCollectionEnabled(name: string, enabled: boolean): void; eventsNotifyReady(ready: boolean): void; eventsAddListener(eventType: string): void; eventsRemoveListener(eventType: string, removeAll: boolean): void; addListener?: (eventName: string) => void; removeListeners?: (count: number) => void; } /** * Utils Module native methods (from the app package) */ export interface RNFBUtilsModuleInterface { isRunningInTestLab: boolean; androidPlayServices: { isAvailable: boolean; status: number; hasResolution: boolean; isUserResolvableError: boolean; error: string | undefined; }; androidGetPlayServicesStatus(): Promise<{ isAvailable: boolean; status: number; hasResolution: boolean; isUserResolvableError: boolean; error: string | undefined; }>; androidPromptForPlayServices(): Promise<void>; androidMakePlayServicesAvailable(): Promise<void>; androidResolutionForPlayServices(): Promise<void>; } declare module './NativeModules' { interface ReactNativeFirebaseNativeModules { RNFBUtilsModule: RNFBUtilsModuleInterface; RNFBAppModule: RNFBAppModuleInterface; } } /** * Helper type to get a specific native module type by name */ export type GetNativeModule<T extends keyof ReactNativeFirebaseNativeModules> = ReactNativeFirebaseNativeModules[T]; /** * Union type of all available native module types */ export type AnyNativeModule = ReactNativeFirebaseNativeModules[keyof ReactNativeFirebaseNativeModules]; //# sourceMappingURL=NativeModules.d.ts.map