import { Event } from '@we-scrum/core'; import { firestore } from 'firebase-admin'; export declare class Context { readonly db: firestore.Firestore; readonly factory: Context.Factory; readonly user?: Context.User; readonly handledEventSnapShot?: firestore.DocumentSnapshot; private factoryMap; private events; private operations; constructor(db: firestore.Firestore, factory: Context.Factory, user?: Context.User, handledEventSnapShot?: firestore.DocumentSnapshot); deleteHandledEvent(): Promise; saveDocumentsAndPublishEvents(): Promise; get(type: new (_context: Context) => T): T; addEvent(event: Event): void; getEvents(): Event[]; createDocument(document: Context.Document): void; updateDocument(document: Context.Document): void; deleteDocument(document: Context.Document): void; getOperations(): Context.Operation[]; } export declare namespace Context { interface Document { type: string; _path: string; } interface Operation { document: Document; action: Action; } enum Action { Create, Update, Delete } type Factory = (type: new (context: Context) => T, context: Context) => T; interface User { uid: string; displayName?: string; email?: string; emailVerified: boolean; photoURL?: string; } }