@class SAPersistenceManager, NSHashTable, SADeviceRecord, TALocationLite, NSDate, NSMutableDictionary, NSUUID, SAAudioAccessory, NSMutableSet; @protocol SAFenceManagerServiceProtocol, SATimeServiceProtocol, TAEventProtocol, SAFenceManagerRequestProtocol, SATravelTypeClassifierServiceProtocol, SAGeoFenceRequestProtocol, SAWithYouDetectorServiceProtocol, SAAnalyticsServiceProtocol; @interface SAMonitoringSessionManager : NSObject @property (retain, nonatomic) id clock; @property (retain, nonatomic) id withYouDetector; @property (retain, nonatomic) id fenceRequestServicer; @property (retain, nonatomic) id fenceManager; @property (retain, nonatomic) NSHashTable *clients; @property (retain, nonatomic) NSMutableDictionary *deviceUUIDtoMonitoringSession; @property (retain, nonatomic) TALocationLite *lastLocation; @property (retain, nonatomic) SADeviceRecord *deviceRecord; @property (retain, nonatomic) id analytics; @property (retain, nonatomic) id travelTypeClassifier; @property (retain, nonatomic) NSMutableDictionary *devices; @property (retain, nonatomic) NSMutableDictionary *safeLocations; @property (retain, nonatomic) NSMutableDictionary *deviceUUIDtoSafeLocationUUIDs; @property (nonatomic) BOOL requestedPeriodicScan; @property (nonatomic) unsigned long long disabledReasons; @property (retain, nonatomic) NSDate *caLastAlertDate; @property (nonatomic) long long caBroughtOutOnTravel; @property (retain, nonatomic) NSMutableDictionary *deviceUUIDtoAlertContext; @property (nonatomic) unsigned long long caCurrentVehicularState; @property (nonatomic) BOOL caIsVehicularBTHintOn; @property (retain, nonatomic) SAPersistenceManager *persistenceManager; @property (retain, nonatomic) SAAudioAccessory *audioAccessoryManager; @property (retain, nonatomic) NSUUID *nextScheduledAlarmForPersistenceWrite; @property (retain, nonatomic) NSUUID *scheduledAlarmForForceUpdateWithYouStatus; @property (retain, nonatomic) id currentVisitOrLOIEvent; @property (retain, nonatomic) id previousVisitOrLOIEvent; @property (retain, nonatomic) NSDate *timeOfAttemptToLoadFromPersistence; @property (nonatomic) BOOL isCompanionConnected; @property (retain, nonatomic) NSMutableSet *devicesWithToBePopulatedTrackedTravelingStartLocation; @property (retain, nonatomic) NSMutableSet *devicesWithPendingTransition; @property (nonatomic) BOOL isInAirplaneMode; @property (nonatomic) BOOL enabled; @property (nonatomic) BOOL standby; + (id)convertSAMonitoringSessionStateToString:(unsigned long long)a0; - (void)didForceUpdateWithYouStatus; - (void)ingestTAEvent:(id)a0; - (void)removeTravelFenceForDevice:(id)a0; - (void)addClient:(id)a0; - (void)addDevicesIfNeededPerEvent:(id)a0; - (BOOL)isAnyTrackedWhileTraveling; - (void)notifyWhileTraveling:(id)a0 isBookendingTravel:(BOOL)a1; - (void)scheduleNextForceUpdateWithYouStatusFromReferenceDate:(id)a0 forAlertForDevice:(id)a1 alertType:(unsigned long long)a2; - (void)removeClient:(id)a0; - (id)computeRemovedSafeLocations:(id)a0; - (BOOL)_isOnlyMonitoringCompanionDevice; - (void)configureBackgroundScanning; - (void)removeSafeLocation:(id)a0 forDeviceUUID:(id)a1; - (BOOL)isWithinCurrentVisitOrLOI:(id)a0; - (unsigned long long)scenarioClassForDeviceUUID:(id)a0; - (void)addSafeLocationsIfNeededPerNewSet:(id)a0 forDevice:(id)a1; - (void)addDisableReason:(unsigned long long)a0; - (BOOL)addTravelFenceForDevice:(id)a0; - (double)timeDelayForRetryScanForAlertForDeviceUUID:(id)a0 alertType:(unsigned long long)a1; - (void)scheduleNextPersistenceWrite; - (void)handleNewSafeLocation:(id)a0; - (BOOL)allDevicesInSafeLocation; - (BOOL)isAnyInTrackedInUnsafeLocation; - (void)startPeriodicScans; - (void)startPeriodicScansIfNeeded; - (BOOL)deviceShouldTransitionWithLastScenarioChangeDate:(id)a0 lastWithYouDate:(id)a1; - (void)notifyEarlyLeftBehind:(id)a0; - (void)handleGeofenceEvent:(id)a0; - (void)addDevice:(id)a0 isLastDeviceEvent:(BOOL)a1; - (void)handleSystemStateChanged:(id)a0; - (BOOL)_isOnlyMonitoringDisconnectedCompanionDevice; - (BOOL)monitoringSessionState:(unsigned long long)a0 matchesWithScenarioClass:(unsigned long long)a1; - (long long)determineTrackedTravelingCount; - (void)checkReunion:(unsigned long long)a0 to:(unsigned long long)a1 forDeviceWithUUID:(id)a2; - (void)updateLocation:(id)a0; - (void)stopSafeLocation:(id)a0 forDevice:(id)a1; - (void)updateDevicesWithSafeLocations:(id)a0; - (void)checkForDevicesNeedingTransition; - (void)didChangeScenarioClassFrom:(unsigned long long)a0 to:(unsigned long long)a1 forDevice:(id)a2; - (void)removeAndStopSafeLocationsForDeviceUUID:(id)a0; - (void)requestToStopBackgroundScanning; - (void)attemptToPopulateTrackedTravelingStartLocationForDevice:(id)a0; - (void)startSafeLocation:(id)a0 forDevice:(id)a1; - (void)requestToStartBackgroundScanning; - (void)changeMonitoringSessionState:(id)a0 toState:(unsigned long long)a1; - (void)notifyLeftBehind:(id)a0 withRegion:(id)a1 isEarlyVehicularTrigger:(BOOL)a2; - (BOOL)shouldIssueBookendedNotificationBasedOnTimeForDevice:(id)a0; - (long long)earlyVehicularTriggerForDeviceUUID:(id)a0; - (void)stopPeriodicScans; - (void).cxx_destruct; - (void)removeDevicesIfNeededPerEvent:(id)a0; - (BOOL)needPeriodicScan; - (BOOL)shouldIssueBookendedNotificationBasedOnLocationForDevice:(id)a0; - (void)modifyDevice:(id)a0; - (void)removeDeviceWithUUID:(id)a0 isLastDeviceEvent:(BOOL)a1; - (void)alarmFiredForUUID:(id)a0; - (id)getLastScenarioChangeDateAmongAllDevices; - (void)removeDisableReason:(unsigned long long)a0; - (void)handleModifiedSafeLocation:(id)a0 forDeviceUUID:(id)a1; - (void)updateSafeLocations:(id)a0; - (void)setSafeLocations:(id)a0 forDeviceUUID:(id)a1; - (void)bootstrapMonitoringSessionRecord:(id)a0; - (void)stopPeriodicScansIfNotNeeded; - (double)minimumTimeSinceScenarioTransitionForAlertForDeviceUUID:(id)a0 alertType:(unsigned long long)a1; - (unsigned long long)stateForDeviceUUID:(id)a0; - (void)createMonitoringDevice:(id)a0; - (void)handleModifiedSafeLocation:(id)a0; - (id)createLocationFromCircularRegion:(id)a0 forDevice:(id)a1 withContext:(unsigned long long)a2; - (void)handleSeparationForDeviceUUID:(id)a0 withSafeLocationRecommendation:(id)a1 context:(id)a2; - (BOOL)enoughTimeHasPassedBeforeSurfacingAlert:(id)a0 forAlertForDevice:(id)a1 alertType:(unsigned long long)a2; - (void)cancelMonitoringDevice:(id)a0; - (void)setUpTravelingGeofencesOnAirplaneModeToggleOffIfNeeded; - (void)updatedWithYouStatusFrom:(unsigned long long)a0 to:(unsigned long long)a1 forDeviceWithUUID:(id)a2; - (void)removeSafeLocationsIfNeededPerNewSet:(id)a0 forDevice:(id)a1; - (unsigned long long)getMoreSpecificSADeviceType:(id)a0; - (id)initWithWithYouDetector:(id)a0 fenceRequestServicer:(id)a1 fenceManager:(id)a2 travelTypeClassifier:(id)a3 clock:(id)a4 deviceRecord:(id)a5 analytics:(id)a6 persistenceManager:(id)a7 audioAccessoryManager:(id)a8; - (long long)checkInEarStatus:(id)a0; - (BOOL)shouldIssueBookendedNotificationForDevice:(id)a0; - (void)handleRemovedSafeLocation:(id)a0; - (void)didChangeTravelTypeFrom:(unsigned long long)a0 to:(unsigned long long)a1 hints:(unsigned long long)a2; - (void)notifyWhenLeftBehind:(id)a0; - (void)requestToFetchLastVisit; - (void)storeSeparationLocation:(id)a0; - (void)forceStandbyMode:(id)a0; - (BOOL)anyDeviceInUnsafeLocation; - (void)addSafeLocation:(id)a0 forDeviceUUID:(id)a1; - (void)handleGeofenceExitedForDeviceUUID:(id)a0; @end