import { Key } from "../../domain/entities/Key" ; import { User } from "../../domain/entities/User" ; export interface IUserRepository { updateUserChallenge ( user , challenge ) : Promise < void > ; loadByEmail ( email ) : Promise < User > ; addKeyToUser ( user , key ) : Promise < void > ; loadByChallenge ( challenge ) : Promise < User > ; loadByEmailAndPassword ( email , password ) : Promise < User > ; loadById ( id ) : Promise < User > ; create ( email , challenge ) : Promise < User > ; }