• Returns {
        authWithGoogle: () => Promise<UserCredential>;
        createUserWithEmail: (
            email: string,
            password: string,
        ) => Promise<UserCredential>;
        deleteUser: () => Promise<void>;
        isAuthenticated: boolean;
        linkWithGoogle: () => Promise<void>;
        reAuthenticate: (currentPassword: string) => Promise<void>;
        sendEmailVerification: () => Promise<void>;
        sendPasswordResetEmail: (email: string) => Promise<void>;
        signInWithEmail: (
            email: string,
            password: string,
        ) => Promise<UserCredential>;
        signOut: () => Promise<void>;
        unlinkProvider: (providerId: string) => Promise<void>;
        updateEmail: (newEmail: string) => Promise<void>;
        updatePassword: (newPassword: string) => Promise<void>;
        updateProfile: (newEmail: string) => Promise<void>;
        user: User;
    }