import admin from 'firebase-admin'; import { DocumentData, Transaction } from 'firebase-admin/firestore'; import { CollectionReference as CollectionReference$1, CollectionGroup as CollectionGroup$1, Query as Query$1, FirestoreAdapter, DocumentReference, QueryFn as QueryFn$1, WhereFilterOp } from '@nx-ddd/firestore'; import * as i0 from '@angular/core'; type CollectionReference = CollectionReference$1>; type CollectionGroup = CollectionGroup$1>; type Query = Query$1>; type QueryFn = QueryFn$1; type Origin = admin.firestore.CollectionReference | admin.firestore.CollectionGroup | admin.firestore.Query; type CollectionLike = CollectionReference | CollectionGroup | Query; type InferCollectionLike = O extends admin.firestore.CollectionReference ? CollectionReference : O extends admin.firestore.CollectionGroup ? CollectionGroup : O extends admin.firestore.Query ? Query : never; declare function wrapCollectionLike(origin: O): InferCollectionLike; declare function unwrapCollectionLike(collection: CollectionLike): Origin; declare class AdminFirestoreAdapter extends FirestoreAdapter { protected firestore: admin.firestore.Firestore; get FieldValue(): typeof admin.firestore.FieldValue; get Timestamp(): typeof admin.firestore.Timestamp; get FieldPath(): typeof admin.firestore.FieldPath; protected isTimestamp(v: any): v is admin.firestore.Timestamp; protected isFieldValue(v: any): v is admin.firestore.FieldValue; convertDateToTimestamp(date: Date): admin.firestore.Timestamp; doc(path: string): DocumentReference; collection(path: string): CollectionReference; collectionGroup(collectionId: string): CollectionGroup; runTransaction(updateFunction: (transaction: Transaction) => Promise): Promise; query(collection: CollectionLike, ...queryFnArray: QueryFn[]): Query; where(key: string, evaluation: WhereFilterOp, value: unknown): QueryFn; orderBy(key: string, order?: 'asc' | 'desc'): QueryFn; limit(n: number): QueryFn; batch(): admin.firestore.WriteBatch; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; } declare function provideFirestoreAdapter(): { provide: typeof FirestoreAdapter; useClass: new () => FirestoreAdapter; }; export { AdminFirestoreAdapter, provideFirestoreAdapter, unwrapCollectionLike, wrapCollectionLike };