export type TLoginStatus = 'loggedIn' | 'loggedOut' | 'invalidated' | 'not found' | 'transfer'; export type TLoginAction = 'login' | 'logout' | 'manage'; export interface IJwt { id: string; blocked: boolean; data: { /** * the user id of the jwt */ userId: string; /** * the login session backing this jwt */ sessionId?: string; /** * the latest point of */ validUntil: number; /** * hold off from refreshing before */ refreshFrom: number; /** * an interval in millis to recheck token invalidation */ refreshEvery: number; /** * legacy field kept for compatibility with already-issued jwt documents */ refreshToken?: string; /** * just for looks/debugging */ justForLooks: { validUntilIsoString: string; }; }; }