import { EventEmitter } from 'events'; import admin from 'firebase-admin'; import { TelegramNotifier } from './telegramNotifier'; import { Notifiable } from '../types/common'; import { FirebaseStrategySettingsValues, FormatSettingMessageArgs, SettingChange } from '../types/firebase'; export interface FirebaseServiceBaseArgs { documentPath: string; defaultData: T; telegramNotifier: TelegramNotifier; } export declare class FirebaseServiceBase extends EventEmitter implements Notifiable { private firestore; private documentReference; private settingsListener; private currentData; private defaultData; onNotify: Notifiable['onNotify']; onError: Notifiable['onError']; constructor(args: FirebaseServiceBaseArgs); initialize(): Promise; private subscribeToDataChanges; private updateCurrentData; getData(): T; updateData(data: Partial): Promise; getDocumentReference(): admin.firestore.DocumentReference; getFirestore(): admin.firestore.Firestore; getChangedSettings(current: T, previous: T): SettingChange[]; protected getAddedAndRemovedItemsMessage(current: Item[], previous: Item[]): string; private getConfigByKey; protected formatSettingMessage(args: FormatSettingMessageArgs): string; disconnect(): Promise; } //# sourceMappingURL=firebaseServiceBase.d.ts.map