/** * Singleton class responsible for managing the lifecycle of lazy-loaded modules. * Implements garbage collection and idle detection to optimize memory usage. * * Features: * - Automatic garbage collection of unused modules * - Idle detection to pause collection when app is inactive * - Dynamic configuration through lazyOptions */ declare class ModuleCollector { private static instance; private collectorInterval; private idleTime; private idleOptions; private constructor(); /** * Returns the singleton instance of ModuleCollector. * Creates a new instance if one doesn't exist. * * @returns {ModuleCollector} The singleton collector instance */ static getInstance(): ModuleCollector; /** * Handles changes in lazy loading configuration. * Restarts the collector with new settings if running. * * @param {TLazyOptions} options - New configuration options * @private */ private handleConfigChange; /** * Sets up event listeners for mousemove and keypress events * to detect user activity. * * @private */ private setupEventListeners; /** * Resets the idle timer and restarts collection if stopped. * Called when user activity is detected. * * @private */ private resetIdle; /** * Starts the garbage collection interval. * Uses gcInterval from lazyOptions for timing. * * @private */ private startCollector; /** * Runs a garbage collection cycle. * - Increments usage counters for all modules * - Removes modules that exceed gcThreshold * - Manages collection pausing during idle periods * * @private */ private runCollector; /** * Sets up the idle monitoring interval. * Resets module usage counters during extended idle periods. * * @private */ private setupIdleMonitor; /** * Disposes of the collector instance. * Cleans up event listeners and intervals. */ dispose(): void; } export declare const moduleCollector: ModuleCollector; export {};