import type { LocaleCode } from '~~/locale/locales.ts'; export interface User { id: string; username: string; email: string; emailHash?: string; emailObfuscated?: string; roles: string; avatarSource: string | null; bannedReason: string; usernameNorm: string; bannedTerms?: string; bannedBy: string; lastActive: number; banSnapshot: string; inactiveWarning: number; adminNotifications: number; loginAttempts: string; timesheets: string; socialLookup: number; payload?: string; mfa?: boolean; mfaRequired?: boolean; authenticated?: boolean; code?: null; codeKey?: string | null; } export interface Account { token: string; account: User; } export interface Admin { username: string; teamName: string; locale: LocaleCode; avatar: string; credentials: string[] | null; credentialsLevel: number | null; credentialsName: string | null; } export interface Authenticator { id: string; userId: string | null; type: string; payload: string | Record; validUntil: number | null; }