export type TEmailActionTokenAction = 'emailLogin' | 'passwordReset'; export interface IEmailActionToken { id: string; data: { email: string; action: TEmailActionTokenAction; tokenHash: string; /** * Salted hash of the 6-digit code delivered alongside the link. */ codeHash: string; /** * Remaining code verification attempts before the token is invalidated. */ codeAttemptsRemaining: number; validUntil: number; createdAt: number; }; }