@class IMDispatchTimer, NSString, NSHashTable, NSDate, CUTDeferredTaskQueue; @interface IMSystemMonitor : NSObject @property (nonatomic) struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } ivarLock; @property (nonatomic) BOOL isFastUserSwitched; @property (nonatomic) long long resignActiveCount; @property (retain, nonatomic) NSHashTable *_listeners; @property (retain, nonatomic) NSHashTable *_earlyListeners; @property (nonatomic) int userIdleToken; @property (nonatomic) BOOL _idleOverride; @property (nonatomic) BOOL _underFirstLock; @property (nonatomic) int _dataProtectionState; @property (retain, nonatomic) NSDate *_idleStart; @property (nonatomic) BOOL listeningForSetupAssistantNotifications; @property (retain, nonatomic) IMDispatchTimer *_timer; @property (retain, nonatomic) NSString *_userID; @property (nonatomic) double _delayTime; @property (readonly, nonatomic) CUTDeferredTaskQueue *_postScreenLockedTask; @property (readonly, nonatomic) CUTDeferredTaskQueue *_postScreenSaverStartedTask; @property (nonatomic, setter=setActive:) BOOL isActive; @property (nonatomic) BOOL usesPowerNotifications; @property (nonatomic) BOOL receivesMemoryWarnings; @property (nonatomic) BOOL usesSystemIdleState; @property (nonatomic) BOOL watchesDataProtectionLockState; @property (nonatomic) BOOL watchesSystemLockState; @property (nonatomic) BOOL watchesScreenLightState; @property (readonly, nonatomic) BOOL systemIsSleeping; @property (readonly, nonatomic) BOOL systemIsShuttingDown; @property (readonly, nonatomic) BOOL isScreenSaverActive; @property (readonly, nonatomic) BOOL isScreenLocked; @property (readonly, nonatomic) BOOL isScreenLit; @property (readonly, retain, nonatomic) NSDate *dateScreenLightLastChanged; @property (readonly, nonatomic) BOOL isSystemLocked; @property (readonly, retain, nonatomic) NSDate *dateSystemLockLastChanged; @property (readonly, nonatomic) BOOL isUnderDataProtectionLock; @property (readonly, nonatomic) BOOL isUnderFirstDataProtectionLock; @property (readonly, nonatomic) BOOL isBackingUp; @property (readonly, nonatomic) BOOL isSetup; @property (readonly, nonatomic) BOOL isSystemIdle; @property (readonly, nonatomic) double systemIdleTime; @property (readonly, nonatomic) BOOL isInBackground; + (id)sharedInstance; - (void)addListener:(id)a0; - (void)_receivedMemoryNotification; - (void)_applicationWillEnterForeground:(id)a0; - (void)removeListener:(id)a0; - (void)_applicationWillResignActive:(id)a0; - (void)_notificationCenterWillAppear:(id)a0; - (void)_applicationDidBecomeActive:(id)a0; - (id)init; - (void)_setDataProtectionLockState:(int)a0; - (void)dealloc; - (void)_applicationDidEnterBackground:(id)a0; - (void)_addEarlyListener:(id)a0; - (void)_suspendEventsOnly:(id)a0; - (void)_registerForLoginWindowNotifications; - (void)_restoreDidStart; - (void)_resume:(id)a0; - (void)_suspend:(id)a0; - (void)_deliverNotificationSelector:(SEL)a0; - (void)_postScreenLocked; - (void)_overrideAndDisableIdleTimer:(BOOL)a0; - (void)_applicationDidRemoveDeactivationReason:(id)a0; - (void)_updateIdleState; - (void)_screenSaverStarted:(id)a0; - (void)_checkIdleTime:(id)a0; - (BOOL)_deviceStillUnderFirstLock; - (void)_screenLocked:(id)a0; - (void)_forceResumed; - (void)_clearIdleTimer; - (void)_setSystemScreenState:(BOOL)a0; - (void)_armIdleTimer; - (void)_applicationWillAddDeactivationReason:(id)a0; - (void)_handleLoginWindowNotification:(id)a0; - (void)_notificationCenterDidDisappear:(id)a0; - (void)_removeEarlyListener:(id)a0; - (void)_resumeEventsOnly:(id)a0; - (void)_forceSuspended; - (void)_systemWillSleep; - (void).cxx_destruct; - (void)_setSystemLockState:(BOOL)a0; - (void)_systemDidWake; - (BOOL)_alreadyLocked_isSystemIdle; - (void)_unregisterForLoginWindowNotifications; - (void)_unregisterForRestoreNotifications; - (void)_checkRestoredFromBackup; - (void)_postScreenSaverStarted; - (void)_restoreDidStop; - (void)_screenSaverStopped:(id)a0; - (void)_registerForRestoreNotifications; - (void)_alreadyLocked_clearIdleTimer; - (void)_screenUnlocked:(id)a0; - (void)_setupStateChanged; - (void)_systemWillShutdown; - (void)_setIdleState:(BOOL)a0; - (BOOL)_isUnderDataProtectionLockForState:(int)a0; - (void)_registerForSetupNotifications; @end