import { Commit } from 'vuex'; import { SubscribeOptionsParameter } from '../parameters'; import { FirestoreRef } from '../types'; import { FirestoreMapper } from './firestore-mapper.model'; export interface Subscriber { readonly ref: FirestoreRef; readonly statePropName: string | undefined; bindTo: (statePropName: string) => this; subscribe: (state: any, commit: Commit, options?: SubscribeOptionsParameter) => void; subscribeOnce: (commit: Commit, options?: SubscribeOptionsParameter) => Promise; mapOf: (className: T) => this; isDocumentRef(): boolean; }