import { Logger, MessageBus } from '@tangential/core'; import { FirebaseProvider } from '@tangential/firebase-util'; import { Observable } from 'rxjs'; import { AuthSubject } from '../../media-type'; import { AuthUser } from '../../media-type'; import { SessionInfoCdm } from '../../media-type'; import { AuthUserKey } from '../../media-type'; import { EmailPasswordCredentials } from '../../media-type'; import { SignInState } from '../../sign-in-state'; import { UserService } from '../user-service/user-service'; import { AuthenticationService } from './authentication-service'; import * as i0 from "@angular/core"; export declare class FirebaseAuthenticationService extends AuthenticationService { protected logger: Logger; private fb; protected userService: UserService; signInStateValue: SignInState; private authSubjectObserver; private readonly auth; private readonly db; constructor(bus: MessageBus, logger: Logger, fb: FirebaseProvider, userService: UserService); obtainAcceptLanguageHeader(): Promise; addSignInEvent(subject: AuthSubject): Promise; authSubject$(): Observable; awaitKnownAuthSubject$(): Observable; /** * Auth state changes - including which user is set as currentAuthUser - are handled by listening for * changes sent down by firebase, NOT by manually setting the currentUser here. We have to set the login state * here because that information can't be derived from what is supplied by firebase. * * @param payload * @param suppressUserInfoSynchronization * @returns {Promise} */ signInWithEmailAndPassword(payload: EmailPasswordCredentials, suppressUserInfoSynchronization?: boolean): Promise; signInAnonymously(): Promise; createUserWithEmailAndPassword(payload: EmailPasswordCredentials): Promise; createOwnUserAccount(user: AuthUser): Promise; updateOwnUserAccount(user: AuthUser): Promise; removeOwnUserAccount(childKey: AuthUserKey): Promise; signOut(): Promise; deleteAccount(): Promise; sendResetPasswordEmail(emailAddress: string): Promise; linkAnonymousAccount(payload: EmailPasswordCredentials): Promise; private init; private handleAuthStateChanged; private setCurrentUser; private isSignedInResponse; private setSignInState; private subjectFromFirebaseResponse; private handleUserSignedIn; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }