import type { Authenticatable, Credentials } from "./Authenticatable"; export interface UserProvider { validateCredentials(user: Authenticatable, credentials: Credentials): boolean; retrieveByCredentials(credentials: Credentials): Promise; retrieveById(id: string): Promise; /** * Update the "remember me" token for the given user in storage. */ updateRememberToken(user: Authenticatable, token: string): Promise; /** * Retrieve a user by their unique identifier and "remember me" token. */ retrieveByToken(identifier: any, token: string): Promise; }