import * as React from 'react'; import type { AppCheck } from 'firebase/app-check'; import type { Auth } from 'firebase/auth'; import type { Analytics } from 'firebase/analytics'; import type { Database } from 'firebase/database'; import type { Firestore } from 'firebase/firestore'; import type { Functions } from 'firebase/functions'; import type { FirebasePerformance } from 'firebase/performance'; import type { FirebaseStorage } from 'firebase/storage'; import type { RemoteConfig } from 'firebase/remote-config'; import { FirebaseApp } from 'firebase/app'; import { ObservableStatus } from './useObservable'; import { ReactFireOptions } from '.'; export declare const AppCheckSdkContext: React.Context; export declare const AuthSdkContext: React.Context; export declare const AnalyticsSdkContext: React.Context; export declare const DatabaseSdkContext: React.Context; export declare const FirestoreSdkContext: React.Context; export declare const FunctionsSdkContext: React.Context; export declare const StorageSdkContext: React.Context; export declare const PerformanceSdkContext: React.Context; export declare const RemoteConfigSdkContext: React.Context; declare type FirebaseSdks = Analytics | AppCheck | Auth | Database | Firestore | FirebasePerformance | FirebaseStorage | Functions | RemoteConfig; export declare const AppCheckProvider: (props: React.PropsWithChildren<{ sdk: AppCheck; }>) => JSX.Element; export declare const AuthProvider: (props: React.PropsWithChildren<{ sdk: Auth; }>) => JSX.Element; export declare const AnalyticsProvider: (props: React.PropsWithChildren<{ sdk: Analytics; }>) => JSX.Element; export declare const DatabaseProvider: (props: React.PropsWithChildren<{ sdk: Database; }>) => JSX.Element; export declare const FirestoreProvider: (props: React.PropsWithChildren<{ sdk: Firestore; }>) => JSX.Element; export declare const FunctionsProvider: (props: React.PropsWithChildren<{ sdk: Functions; }>) => JSX.Element; export declare const PerformanceProvider: (props: React.PropsWithChildren<{ sdk: FirebasePerformance; }>) => JSX.Element; export declare const StorageProvider: (props: React.PropsWithChildren<{ sdk: FirebaseStorage; }>) => JSX.Element; export declare const RemoteConfigProvider: (props: React.PropsWithChildren<{ sdk: RemoteConfig; }>) => JSX.Element; export declare const useAppCheck: () => AppCheck; export declare const useAuth: () => Auth; export declare const useAnalytics: () => Analytics; export declare const useDatabase: () => Database; export declare const useFirestore: () => Firestore; export declare const useFunctions: () => Functions; export declare const usePerformance: () => FirebasePerformance; export declare const useStorage: () => FirebaseStorage; export declare const useRemoteConfig: () => RemoteConfig; declare type InitSdkHook = (initializer: (firebaseApp: FirebaseApp) => Promise, options?: ReactFireOptions) => ObservableStatus; export declare const useInitAppCheck: InitSdkHook; export declare const useInitAuth: InitSdkHook; export declare const useInitAnalytics: InitSdkHook; export declare const useInitDatabase: InitSdkHook; export declare const useInitFirestore: InitSdkHook; export declare const useInitFunctions: InitSdkHook; export declare const useInitPerformance: InitSdkHook; export declare const useInitRemoteConfig: InitSdkHook; export declare const useInitStorage: InitSdkHook; export {};