@class NSLock, NSMutableArray, NSObject; @protocol OS_dispatch_queue, OS_dispatch_semaphore; @interface PowerMonitor : NSObject @property (retain, nonatomic) NSObject *systemPowerQueue; @property (nonatomic) unsigned int systemPowerPort; @property (nonatomic) struct IONotificationPort { } *systemPowerNotifyPortRef; @property (nonatomic) unsigned int systemPowerIterator; @property (nonatomic) BOOL sleepNotificationsEnabled; @property (retain, nonatomic) NSMutableArray *sleepNotificationClients; @property (retain, nonatomic) NSMutableArray *clientsPreventingSleep; @property (retain, nonatomic) NSObject *sleepSemaphore; @property (nonatomic) BOOL systemIsAsleep; @property (retain, nonatomic) NSObject *clientsPreventingSleepLock; @property (nonatomic) BOOL isExtChargerConnected; @property (nonatomic) int batteryCapacity; @property (nonatomic) int batteryCapacityOverride; @property (nonatomic) int batteryCapacityMax; @property (nonatomic) BOOL isBatteryCharging; @property (nonatomic) unsigned char batteryChargeLevelPercent; @property (nonatomic) struct IONotificationPort { } *batteryNotifyPortRef; @property (nonatomic) unsigned int battery_iter; @property (retain, nonatomic) NSMutableArray *batteryNotificationClients; @property (retain, nonatomic) NSLock *batteryNotificationClientsLock; @property (nonatomic) int batteryChargingType; @property (nonatomic) int batteryChargingTypeExternal; + (id)sharedMonitor; - (id)init; - (void)dealloc; - (BOOL)getExternalBatteryChargingTypeIsInductive; - (void)destroyBatteryNotificationsForClient:(id)a0; - (void)_checkAndSendNotificationForOldConnected:(BOOL)a0 oldIsBatteryCharging:(BOOL)a1 oldBatteryChargeLevelPercent:(int)a2 oldBatteryChargingType:(int)a3 oldBatteryChargingTypeExt:(int)a4 overrideChanged:(BOOL)a5; - (BOOL)getBatteryChargingTypeIsInductive; - (BOOL)_getBatteryChargingTypeIsInductive:(int)a0; - (id)createSleepNotificationClient; - (void)destroySleepNotificationsForClient:(id)a0; - (int)getBatteryChargingState; - (void)clientHandledSleepNotification:(id)a0; - (id)createBatteryNotificationClient; - (void).cxx_destruct; - (BOOL)isExternalChargerConnected; - (unsigned char)getBatteryChargeLevel; - (int)getExternalBatteryChargingType; - (int)getBatteryChargingType; @end