import 'firebase/compat/firestore'; import firebase from 'firebase/compat/app'; import { DocumentReference, DocumentSnapshot, FieldValue, QueryDocumentSnapshot, Timestamp } from 'firebase/firestore'; import { DocumentReference as DocumentReferenceAdmin, Timestamp as TimestampAdmin, FieldValue as FieldValueAdmin, DocumentSnapshot as DocumentSnapshotAdmin, QueryDocumentSnapshot as QueryDocumentSnapshotAdmin } from '@google-cloud/firestore'; export type FirebaseTimestampGeneric = Timestamp | TimestampAdmin | firebase.firestore.Timestamp; export type FirebaseDocumentReferenceGeneric = DocumentReference | DocumentReferenceAdmin | firebase.firestore.DocumentReference; export type FirebaseFieldValueGeneric = FieldValue | FieldValueAdmin | firebase.firestore.FieldValue; export type FirebaseDocumentSnapshotGeneric = DocumentSnapshot | DocumentSnapshotAdmin | firebase.firestore.DocumentSnapshot; export type FirebaseQueryDocumentSnapshotGeneric = QueryDocumentSnapshot | QueryDocumentSnapshotAdmin | firebase.firestore.QueryDocumentSnapshot; export declare abstract class FlitModelsDependencyInjection { private static _injected; private static _injectCount; private static _firestoreDocumentReferenceFromPath; private static _firestoreTimestampFromDateConstructor; private static _firestoreTimestampFromMillsConstructor; static inject({ firestoreDocumentReferenceFromPath, firestoreTimestampFromDateConstructor, firestoreTimestampFromMillsConstructor, }: { firestoreDocumentReferenceFromPath: (path: string) => FirebaseDocumentReferenceGeneric | null; firestoreTimestampFromDateConstructor: (date: Date) => FirebaseTimestampGeneric | null; firestoreTimestampFromMillsConstructor: (milliseconds: number) => FirebaseTimestampGeneric | null; }, enableReinject?: boolean): void; static DocumentReferenceFromPath(path: string): firebase.firestore.DocumentReference | DocumentReference | DocumentReferenceAdmin; static TimestampFromDate(date: Date): FirebaseTimestampGeneric; static TimestampFromMills(milliseconds: number): FirebaseTimestampGeneric; }