import type { Authenticatable } from './Authenticatable.js'; /** * Retrieves and validates users for guards. */ export interface UserProvider { /** * @param id - Primary key. * @returns User or null. */ retrieveById(id: string | number): Promise; /** * @param id - Primary key. * @param token - Plain remember token. * @returns User or null. */ retrieveByToken(id: string | number, token: string): Promise; /** * @param user - User whose remember token should be updated. * @param token - New hashed/plain token depending on provider implementation. */ updateRememberToken(user: Authenticatable, token: string): Promise; /** * @param credentials - Lookup fields (e.g. email). * @returns Matching user or null. */ retrieveByCredentials(credentials: Record): Promise; /** * @param user - Candidate user. * @param credentials - Credential bag including plaintext password. * @returns True when password matches. */ validateCredentials(user: Authenticatable, credentials: Record): Promise; } //# sourceMappingURL=UserProvider.d.ts.map