import * as i0 from '@angular/core'; import { Provider } from '@angular/core'; import { FirebaseApp as FirebaseApp$1 } from 'firebase/app'; import { Query, QueryDocumentSnapshot, DocumentReference, onSnapshot, Firestore } from 'firebase/firestore'; import { onAuthStateChanged, Auth as Auth$1, User } from 'firebase/auth'; import { FirebaseStorage as FirebaseStorage$1 } from 'firebase/storage'; import { Functions as Functions$1 } from 'firebase/functions'; import { Analytics as Analytics$1 } from 'firebase/analytics'; import { Observable } from 'rxjs'; declare abstract class FirebaseApp { } declare abstract class Auth { } declare abstract class FirebaseStorage { } declare abstract class Functions { } declare abstract class Analytics { } declare const firebaseSdk: { onSnapshot: typeof onSnapshot; onAuthStateChanged: typeof onAuthStateChanged; }; /** * Wraps onSnapshot for a document reference. */ declare function docData(ref: DocumentReference): Observable; /** * Wraps onSnapshot for a query/collection. */ declare function collectionSnapshots(q: Query): Observable[]>; /** * Wraps onAuthStateChanged to monitor auth state. */ declare function user(auth: Auth): Observable; /** * Custom ScreenTrackingService to replace @angular/fire/analytics ScreenTrackingService. * Automatically tracks page views on router navigation events. */ declare class ScreenTrackingService { private analytics; private router; constructor(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare function provideFirebaseApp(fn: () => FirebaseApp$1): Provider; declare function provideFirestore(fn: () => Firestore): Provider; declare function provideAuth(fn: () => Auth$1): Provider; declare function provideStorage(fn: () => FirebaseStorage$1): Provider; declare function provideFunctions(fn: () => Functions$1): Provider; declare function provideAnalytics(fn: () => Analytics$1): Provider; export { Analytics, Auth, FirebaseApp, FirebaseStorage, Functions, ScreenTrackingService, collectionSnapshots, docData, firebaseSdk, provideAnalytics, provideAuth, provideFirebaseApp, provideFirestore, provideFunctions, provideStorage, user };