export type SessionActivitySource = 'focus' | 'keydown' | 'mousemove' | 'route'; export type MarkSessionActivity = (source: SessionActivitySource) => boolean; export type SessionActivityTracker = { record: MarkSessionActivity; reset: () => void; }; export declare const sessionActivityThrottleMs = 5000; /** * Coalesces browser and route activity into periodic session activity. * * The tracker reports whether the activity was accepted. Activity inside the throttle * interval is ignored and does not call `onActivity`. */ export declare function createSessionActivityTracker({ now, onActivity, throttleMs, }: { now?: () => number; onActivity: (source: SessionActivitySource, occurredAt: number) => void; throttleMs?: number; }): SessionActivityTracker; export declare function registerSessionActivityListeners({ markActivity, window, }: { markActivity: MarkSessionActivity; window: Window; }): () => void; //# sourceMappingURL=sessionActivity.d.ts.map