import { AngularFireAuth } from '@angular/fire/compat/auth'; import firebase from 'firebase/compat/app'; import { Observable } from 'rxjs'; import { AuthContext } from './models/authContext'; import User = firebase.User; import * as i0 from "@angular/core"; export declare class NgxFirebaseAuthService { private afAuth; /** * Get the current User Observable from AngularFireAuth * @return Observable if the user is authenticated. */ get currentUser$(): Observable; /** * Gets the current user. * @return The user or null if the user is not authenticated. */ get currentUser(): firebase.User | null; /** * Gets the current user id. * @return The user id or null if the user is not authenticated. */ get currentUserId(): string; /** * Checks is the user is authenticated. * @return True if the user is authenticated. */ get authenticated(): boolean; /** * Checks if the user email is verified. * @return True if the user is authorized. */ get isVerified(): boolean | null; private authState; constructor(afAuth: AngularFireAuth); /** * Register the user. * @param context The register parameters. * @return The user credentials. */ register(context: AuthContext): Promise; /** * Login the user. * @param context The login parameters. * @return The user credentials. */ login(context: AuthContext): Promise; /** * Logs out the user and clear credentials. * @return void */ logout(): Promise; /** * Sends Email Verification e.g. after registration. * @return void */ sendEmailVerification(): Promise; /** * Sends reset password mail * @return void */ sendPasswordResetEmail(email: string): Promise; /** * Reauthenticate an user, e.g. when updating user email * @return return new firebase user */ reauthenticateUser(password: string): Promise; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }