@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
TypeScript
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