/** * @license * Copyright 2020 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import * as exp from '@firebase/auth/internal'; import * as compat from '@firebase/auth-types'; import { Compat } from '@firebase/util'; export declare class User implements compat.User, Compat { readonly _delegate: exp.User; private static readonly USER_MAP; readonly multiFactor: compat.MultiFactorUser; private constructor(); static getOrCreate(user: exp.User): User; delete(): Promise; reload(): Promise; toJSON(): object; getIdTokenResult(forceRefresh?: boolean): Promise; getIdToken(forceRefresh?: boolean): Promise; linkAndRetrieveDataWithCredential(credential: compat.AuthCredential): Promise; linkWithCredential(credential: compat.AuthCredential): Promise; linkWithPhoneNumber(phoneNumber: string, applicationVerifier: compat.ApplicationVerifier): Promise; linkWithPopup(provider: compat.AuthProvider): Promise; linkWithRedirect(provider: compat.AuthProvider): Promise; reauthenticateAndRetrieveDataWithCredential(credential: compat.AuthCredential): Promise; reauthenticateWithCredential(credential: compat.AuthCredential): Promise; reauthenticateWithPhoneNumber(phoneNumber: string, applicationVerifier: compat.ApplicationVerifier): Promise; reauthenticateWithPopup(provider: compat.AuthProvider): Promise; reauthenticateWithRedirect(provider: compat.AuthProvider): Promise; sendEmailVerification(actionCodeSettings?: compat.ActionCodeSettings | null): Promise; unlink(providerId: string): Promise; updateEmail(newEmail: string): Promise; updatePassword(newPassword: string): Promise; updatePhoneNumber(phoneCredential: compat.AuthCredential): Promise; updateProfile(profile: { displayName?: string | null; photoURL?: string | null; }): Promise; verifyBeforeUpdateEmail(newEmail: string, actionCodeSettings?: compat.ActionCodeSettings | null): Promise; get emailVerified(): boolean; get isAnonymous(): boolean; get metadata(): compat.UserMetadata; get phoneNumber(): string | null; get providerData(): Array; get refreshToken(): string; get tenantId(): string | null; get displayName(): string | null; get email(): string | null; get photoURL(): string | null; get providerId(): string; get uid(): string; private get auth(); }