import firestore, { FieldValue, Timestamp, FieldPath } from 'firebase/firestore'; import { DocumentData, 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 = firestore.CollectionReference | firestore.Query | firestore.Query; type CollectionLike = CollectionReference | CollectionGroup | Query; type InferCollectionLike = O extends firestore.CollectionReference ? CollectionReference : O extends firestore.Query ? CollectionGroup : O extends firestore.Query ? Query : never; declare function wrapCollectionLike(origin: O): InferCollectionLike; declare function unwrapCollectionLike(collection: CollectionLike): Origin; declare class FirebaseFirestoreAdapter extends FirestoreAdapter { firestore: firestore.Firestore; constructor(firestore?: firestore.Firestore); get FieldValue(): typeof FieldValue; get Timestamp(): typeof Timestamp; get FieldPath(): FieldPath; protected isTimestamp(v: any): v is Timestamp; protected isFieldValue(v: any): v is FieldValue; doc(path: string): DocumentReference; collection(path: string): CollectionReference; collectionGroup(collectionId: string): CollectionGroup; query(collection: CollectionReference, ...queryFnArray: QueryFn[]): Query; where(fieldPath: string, opStr: WhereFilterOp, value: unknown): QueryFn; orderBy(key: string, order?: 'asc' | 'desc'): QueryFn; limit(n: number): QueryFn; runTransaction(): void; batch(): firestore.WriteBatch; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; } export { FirebaseFirestoreAdapter, unwrapCollectionLike, wrapCollectionLike };