@class NSLock, PowerUIBluetoothHandler, NSXPCListener, NSString, PowerUIMLAudioAccessoryModelPredictor, NSMutableDictionary, PowerUIWalletSignalMonitor, NSMutableArray, NSObject, CBDiscovery, NSNumber, NSDistributedNotificationCenter; @protocol OS_dispatch_queue, OS_os_log, OS_dispatch_semaphore; @interface PowerUIAudioAccessorySmartChargeManager : NSObject <NSXPCListenerDelegate, PowerUISmartChargeManagingAudioAccessoriesPrivate, PowerUISignalMonitorDelegate, PowerUISmartChargeManagingAudioAccessories> @property (retain, nonatomic) NSObject<OS_dispatch_queue> *queue; @property (retain, nonatomic) PowerUIMLAudioAccessoryModelPredictor *predictor; @property struct BTSessionImpl { } *session; @property (retain, nonatomic) NSObject<OS_os_log> *accessoryLog; @property (retain, nonatomic) NSMutableArray *deviceArray; @property (retain, nonatomic) NSLock *deviceArrayLock; @property (retain) NSMutableDictionary *accessoryStates; @property (retain, nonatomic) NSNumber *hardcodedTimeDelta; @property (retain, nonatomic) NSNumber *hardcodedTimeBetweenUpdates; @property (retain, nonatomic) NSDistributedNotificationCenter *notificationCenter; @property (retain) NSObject<OS_dispatch_semaphore> *btConnectionSemaphore; @property (retain, nonatomic) PowerUIWalletSignalMonitor *walletMonitor; @property (retain) NSMutableDictionary *acceptMessageFromRightBudForDevice; @property (retain) NSMutableDictionary *acceptMessageFromLeftBudForDevice; @property (retain) PowerUIBluetoothHandler *btHandler; @property (nonatomic) BOOL firstNotificationDisplayed; @property (retain, nonatomic) NSMutableDictionary *latestAnalyticsForDevice; @property (retain, nonatomic) NSNumber *budSideToRecord; @property (retain, nonatomic) CBDiscovery *discovery; @property (retain, nonatomic) NSXPCListener *listener; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (void)bulkDeleteDefaultsEntries:(id)a0; + (void)setNumber:(id)a0 forPreferenceKeyPrefix:(id)a1 andDevice:(id)a2; + (void)setArray:(id)a0 forPreferenceKey:(id)a1; + (id)readArrayForPreferenceKey:(id)a0; + (void)setString:(id)a0 forPreferenceKeyPrefix:(id)a1 andDevice:(id)a2; + (id)readStringForPreferenceKeyPrefix:(id)a0 andDevice:(id)a1; + (id)readNumberForPreferenceKeyPrefix:(id)a0 andDevice:(id)a1; - (void)lastActionForDevice:(id)a0 withHandler:(id /* block */)a1; - (void)persistentlyHandleSeeingDevice:(id)a0; - (id)init; - (BOOL)runUpdateForDevice:(struct BTDeviceImpl { } *)a0 withHash:(id)a1 asInitialUpdate:(BOOL)a2; - (void)monitor:(id)a0 maySuggestNewFullChargeDeadline:(id)a1; - (void)fullChargeDeadlineForDevice:(id)a0 withHandler:(id /* block */)a1; - (void)deleteRecordsForDevices:(id)a0; - (void)currentLeewayWithHandler:(id /* block */)a0; - (void)getStatusForDevice:(id)a0 withHandler:(id /* block */)a1; - (void)clearLastActionForDevice:(id)a0; - (void)persistentlySetLastUnderchargeRecordedForPrediction:(id)a0 forDevice:(id)a1; - (void)setTemporarilyDisabled:(BOOL)a0 until:(id)a1 forDevice:(id)a2; - (BOOL)runUpdateForDevice:(struct BTDeviceImpl { } *)a0 withHash:(id)a1; - (id)returnAccessoryStatusForDevice:(id)a0; - (id)firstUseNotificationRequestForDeviceType:(unsigned int)a0; - (BOOL)setOBCState:(BOOL)a0 forDevice:(id)a1; - (void)persistentlySetLastSentDate:(id)a0 forDevice:(id)a1; - (void)timeSeriesForDevice:(id)a0; - (void)client:(id)a0 connectAndDisableOBCforDevice:(id)a1 withHandler:(id /* block */)a2; - (BOOL)listener:(id)a0 shouldAcceptNewConnection:(id)a1; - (id)defaultDateToDisableUntilGivenDate:(id)a0; - (void)persistentlySetExpectedHash:(id)a0 forDevice:(id)a1; - (BOOL)setStateViaV2Protocol:(unsigned long long)a0 forDevice:(struct BTDeviceImpl { } *)a1; - (void)persistentlySetStatusForDevice:(id)a0 withCurrentState:(unsigned long long)a1 withEnabled:(BOOL)a2 withDisabledUntilDate:(id)a3 withTemporarilyDisabled:(BOOL)a4; - (void)recordBudMetricsLocallyForDevice:(id)a0 withTimeSpendAtLowerSoC:(unsigned short)a1 timeSpentAtHigherSoC:(unsigned short)a2 engagementEventsSinceLastReport:(unsigned char)a3 underchargeEventsSinceLastReport:(unsigned char)a4 chargingEventsSinceLastReport:(unsigned char)a5 budSocAtLastEngagement:(unsigned char)a6 successRatio:(unsigned short)a7; - (void)persistentlySetLastTimeseriesDate:(id)a0 forDevice:(id)a1; - (void)isSmartChargingCurrentlyEnabledForDevice:(id)a0 withHandler:(id /* block */)a1; - (void)client:(id)a0 setState:(unsigned long long)a1 forDevice:(id)a2 withHandler:(id /* block */)a3; - (id)stringFromState:(unsigned long long)a0; - (unsigned long long)sendTimeDeltaInSeconds:(unsigned int)a0 toAccessory:(struct BTDeviceImpl { } *)a1; - (void)fakeConnectionForDevice:(id)a0; - (void).cxx_destruct; - (id)getOBCDeadlineFromCBDevice:(id)a0; - (void)reportSessionMetricsForSide:(unsigned char)a0 withTimeSpendAtLowerSoC:(unsigned short)a1 timeSpentAtHigherSoC:(unsigned short)a2 engagementEventsSinceLastReport:(unsigned char)a3 underchargeEventsSinceLastReport:(unsigned char)a4 chargingEventsSinceLastReport:(unsigned char)a5 budSocAtLastEngagement:(unsigned char)a6 successRatio:(unsigned short)a7 deviceType:(id)a8; - (void)client:(id)a0 updateOBCDeadline:(id)a1 forDevice:(id)a2 withHandler:(id /* block */)a3; - (void)addTimeSeriesDataToStream:(struct timeSeriesData { unsigned long long x0; unsigned char x1; BOOL x2; } *)a0 withSide:(unsigned char)a1 withFirmwareVersion:(unsigned short)a2 withStore:(id)a3 withLog:(id)a4; - (void)getAvailableDevicesWithHandler:(id /* block */)a0; - (void)engageUntil:(id)a0 forDevice:(id)a1 overrideAllSignals:(BOOL)a2 withHandler:(id /* block */)a3; - (void)startMockingBluetoothForFakeDevice:(id)a0; - (void)reportDailyMetrics; - (void)setFakeConnectionStatusTo:(BOOL)a0; - (id)nameForProductID:(unsigned int)a0; - (void)unfilteredDeadlineForDevice:(id)a0 withHandler:(id /* block */)a1; - (void)stopMockingBluetooth; - (void)attachToBluetoothSession; @end