/** * Session creation request payload */ export interface CreateSessionRequest { userId: string; userCode?: string; deviceId: string; deviceName: string; browser: string; browserVersion?: string; os: string; osVersion?: string; ipAddress: string; location?: string; userAgent: string; screenResolution?: string; timezone?: string; language?: string; } /** * Session creation response */ export interface CreateSessionResponse { sessionId: string; sessionAuthToken?: string; authToken?: string; expiresAt?: string; message?: string; success?: boolean; } /** * Session validation response */ export interface ValidateSessionResponse { valid: boolean; sessionId?: string; expiresAt?: string; message?: string; } /** * Session refresh response */ export interface RefreshSessionResponse { success: boolean; sessionAuthToken?: string; authToken?: string; expiresAt?: string; message?: string; } /** * Active session from list endpoint */ export interface ActiveSessionResponse { session_seqno?: string; sessionId: string; device_name?: string; deviceName?: string; browser?: string; browser_version?: string; os?: string; os_version?: string; ip_address?: string; ipAddress?: string; location?: string; last_activity?: string; lastActivity?: string; created_at?: string; createdAt?: string; is_current?: boolean; isCurrent?: boolean; user_agent?: string; } /** * Revoke session request */ export interface RevokeSessionRequest { sessionId: string; reason?: string; } /** * Revoke session response */ export interface RevokeSessionResponse { success: boolean; message?: string; } /** * Logout request */ export interface LogoutRequest { sessionId?: string; userId?: string; } /** * Logout response */ export interface LogoutResponse { success: boolean; message?: string; } /** * Session state for internal tracking */ export interface SessionState { isAuthenticated: boolean; sessionId: string | null; sessionAuthToken: string | null; authToken: string | null; userId: string | null; userCode: string | null; deviceId: string | null; lastApiCallTime: number | null; lastActivityTime: number | null; expiresAt: number | null; } /** * Timer state */ export interface TimerState { isRunning: boolean; remainingSeconds: number; isInWarningWindow: boolean; isPaused: boolean; } /** * Activity event types tracked */ export type ActivityEventType = 'mousedown' | 'keydown' | 'scroll' | 'touchstart' | 'click' | 'mousemove' | 'visibilitychange'; /** * Activity event data */ export interface ActivityEvent { type: ActivityEventType; timestamp: number; isApiCall?: boolean; } /** * Conflict resolution action */ export type ConflictAction = 'wait' | 'force_logout' | 'cancel'; /** * Session conflict state */ export interface SessionConflictState { hasConflict: boolean; activeSessions: ActiveSessionResponse[]; currentSessionId: string | null; forceLogoutEnabled: boolean; countdownSeconds: number; } //# sourceMappingURL=session.model.d.ts.map