import type { SessionActivitySource } from './sessionActivity.js'; import type { AuthSessionTiming } from './sessionTiming.js'; export type AuthSessionTimers = { clear: () => void; getCurrentExpirationMs: () => number | undefined; /** Records activity only while the activity tracking window is open. */ recordActivity: (source: SessionActivitySource) => boolean; scheduleRefresh: (forceRefresh?: boolean) => void; setExpiration: (expirationMs: number) => AuthSessionTiming | undefined; }; export type UseAuthSessionTimersArgs = { isAuthenticated: boolean; onActivity: () => void; onActivityRefresh: () => void; onExpire: (expirationMs: number) => void; onReminder: () => void; }; /** * Manages activity-aware refresh, expiration reminders, and logout timing for the current session. * * Activity inside the refresh window schedules a refresh. Earlier activity is remembered until the * refresh-window checkpoint so the session can still be extended without requiring another * activity event. */ export declare function useAuthSessionTimers({ isAuthenticated, onActivity, onActivityRefresh, onExpire, onReminder, }: UseAuthSessionTimersArgs): AuthSessionTimers; //# sourceMappingURL=useAuthSessionTimers.d.ts.map