/** * Activity Detection for Grain Analytics * Tracks user activity (mouse, keyboard, touch, scroll) to determine if user is active */ export declare class ActivityDetector { private lastActivityTime; private activityThreshold; private listeners; private boundActivityHandler; private isDestroyed; private readonly activityEvents; constructor(); /** * Setup event listeners for activity detection */ private setupListeners; /** * Handle activity event */ private handleActivity; /** * Debounce function to limit how often activity handler is called */ private debounce; /** * Check if user is currently active * @param threshold Time in ms to consider user inactive (default: 30s) */ isActive(threshold?: number): boolean; /** * Get time since last activity in milliseconds */ getTimeSinceLastActivity(): number; /** * Get last activity timestamp */ getLastActivityTime(): number; /** * Set activity threshold */ setActivityThreshold(threshold: number): void; /** * Add listener for activity changes */ addListener(listener: () => void): void; /** * Remove listener */ removeListener(listener: () => void): void; /** * Notify all listeners */ private notifyListeners; /** * Cleanup and remove listeners */ destroy(): void; } //# sourceMappingURL=activity.d.ts.map