import { OnDestroy } from '@angular/core'; import { Observable } from 'rxjs'; import { TimerState } from '../models/session.model'; import * as i0 from "@angular/core"; /** * Service for managing session timeout and warning timer */ export declare class FgsSessionTimerService implements OnDestroy { private config; private storageService; private ngZone; private timerInterval; private isRunning; private isPaused; private timerState; private timerTrigger; private sessionExpired; private warningStarted; private timerReset; /** * Observable for timer state */ timerState$: Observable; /** * Observable for timer trigger (seconds remaining, 0 = no warning) */ timerTrigger$: Observable; /** * Emitted when session expires */ sessionExpired$: Observable; /** * Emitted when warning window starts */ warningStarted$: Observable; /** * Emitted when timer is reset */ timerReset$: Observable; private get sessionTimeoutMs(); private get warningWindowSeconds(); private get debug(); ngOnDestroy(): void; /** * Start the session timer */ start(): void; /** * Stop the session timer */ stop(): void; /** * Pause the timer (e.g., when modal is shown) */ pause(): void; /** * Resume the timer */ resume(): void; /** * Reset timer (on API call or user activity) */ resetTimer(isApiCall?: boolean): void; /** * Update session time (alias for resetTimer for backward compatibility) */ updateSessionTime(isApiCall?: boolean): void; /** * Extend session (call refresh API) */ extendSession(): void; /** * Get remaining time in milliseconds */ getRemainingTimeMs(): number; /** * Get remaining time in seconds */ getRemainingTimeSeconds(): number; /** * Check if in warning window */ isInWarningWindow(): boolean; /** * Check if session is expired */ isExpired(): boolean; /** * Get current timer state */ getCurrentState(): TimerState; /** * Manual trigger for session expiry (e.g., from 401 response) */ triggerExpiry(): void; /** * Check timer status and emit events */ private checkTimer; /** * Update timer state subject */ private updateTimerState; /** * Debug logging */ private log; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } //# sourceMappingURL=session-timer.service.d.ts.map