import { Observable } from 'rxjs'; import * as firebase from 'firebase/app'; import { AngularFirestore, AngularFirestoreCollection, AngularFirestoreDocument } from "@angular/fire/firestore"; import FieldValue = firebase.firestore.FieldValue; export declare type CollectionPredicate = string | AngularFirestoreCollection; export declare type DocPredicate = string | AngularFirestoreDocument; export declare type WithId = T & { id: string; updatedAt?: FieldValue; createdAt?: FieldValue; }; export declare class FirestoreService { private afs; constructor(afs: AngularFirestore); col(ref: CollectionPredicate, queryFn?: any): AngularFirestoreCollection; doc(ref: DocPredicate): AngularFirestoreDocument; doc$(ref: DocPredicate): Observable>; col$(ref: CollectionPredicate, queryFn?: any): Observable; colWithIds$(ref: CollectionPredicate, queryFn?: any): Observable[]>; get timestamp(): FieldValue; set$(ref: DocPredicate, data: WithId, merge?: boolean): Observable>; set(ref: DocPredicate, data: any): Promise; update(ref: DocPredicate, data: any): Promise; delete$(ref: DocPredicate): Observable; delete(ref: DocPredicate): Promise; add(ref: CollectionPredicate, data: any): Promise>; add$(ref: CollectionPredicate, data: any): Observable>; geopoint(lat: number, lng: number): firebase.firestore.GeoPoint; upsert(ref: DocPredicate, data: any): Promise; inspectDoc(ref: DocPredicate): void; inspectCol(ref: CollectionPredicate): void; connect(host: DocPredicate, key: string, doc: DocPredicate): Promise; docWithRefs$(ref: DocPredicate): Observable; atomic(): Promise; /** * Delete a collection, in batches of batchSize. Note that this does * not recursively delete subcollections of documents in the collection * from: https://github.com/AngularFirebase/80-delete-firestore-collections/blob/master/src/app/firestore.service.ts */ deleteCollection(path: string, batchSize: number): Observable; private deleteBatch; }