import { MFDao } from './mf-dao'; import { MFModel } from './mf-model'; import * as admin from 'firebase-admin'; import { IMFAuthDaoSyncOptions } from '@modelata/fire/lib/node'; import { MFFlattableDao } from './mf-flattable-dao'; /** * Abstract class allowing to sync user document with authUser */ export declare abstract class MFAuthDAO, UserDao extends MFDao | MFFlattableDao> { private auth; private userDao; /** * Called with super * * @param auth Firebase auth service * @param userDao Dao used to interact with user document */ constructor(auth: admin.auth.Auth, userDao: UserDao); /** * Updates user document with data from auth user * * @param userId Uid of the auth user (as well as user document id) * @param options (properties to sync) */ updateUserDocumentFromAuth(userId: string, options?: IMFAuthDaoSyncOptions): Promise; /** * Updates authUser with data from user document * * @param userId Uid of the auth user (as well as user document id) * @param options (properties to sync) */ updateAuthUserFromDocument(userId: string, options?: IMFAuthDaoSyncOptions): Promise; }