luxlabs header browser preview


@class NSMutableDictionary, RTDataProtectionManager, RTMotionActivityManager, NSObject, SMSessionConfiguration, NSDate, RTDefaultsManager, NSMutableArray, RTPlatform, RTTimerManager, SMSessionStore, NSString, SMTriggerDestinationState, RTLocationManager, SMSessionMetricManager, RTDistanceCalculator;
@protocol OS_dispatch_queue, SMTriggerManagerProtocol;

@interface SMTriggerDestination : NSObject <SMTriggerProtocol>

@property (retain, nonatomic) NSObject<OS_dispatch_queue> *queue;
@property (retain, nonatomic) RTDefaultsManager *defaultsManager;
@property (retain, nonatomic) RTDataProtectionManager *dataProtectionManager;
@property (retain, nonatomic) RTLocationManager *locationManager;
@property (retain, nonatomic) RTMotionActivityManager *motionActivityManager;
@property (retain, nonatomic) RTDistanceCalculator *distanceCalculator;
@property (retain, nonatomic) RTPlatform *platform;
@property (retain, nonatomic) SMSessionStore *sessionStore;
@property (retain, nonatomic) SMTriggerDestinationState *triggerState;
@property (retain, nonatomic) RTTimerManager *timerManager;
@property (retain, nonatomic) SMSessionMetricManager *sessionMetricManager;
@property (retain, nonatomic) NSMutableDictionary *timerIdentifierToTimers;
@property (nonatomic) unsigned long long triggerCategory;
@property (retain, nonatomic) NSMutableArray *cachedLocationEvents;
@property (retain, nonatomic) SMSessionConfiguration *sessionConfiguration;
@property (nonatomic) double noProgressTimeoutThreshold;
@property (retain, nonatomic) NSDate *coarseEta;
@property (nonatomic) double etaScaleFactor;
@property (nonatomic) double minDistanceUpdateThreshold;
@property (nonatomic) double destinationStatusUpdateTimeInterval;
@property (nonatomic) double significantMoveThreshold;
@property (weak, nonatomic) id<SMTriggerManagerProtocol> sessionMonitorDelegate;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (BOOL)validLocation:(id)a0;
+ (id)statusToString:(unsigned long long)a0;
+ (void)calculateDistanceToDestination:(id)a0 locationManager:(id)a1 distanceCalculator:(id)a2 handler:(id /* block */)a3;
+ (void)checkEligibilityOfDestination:(id)a0 locationManager:(id)a1 distanceCalculator:(id)a2 completionHandler:(id /* block */)a3;
+ (id)convertMKDirectionTransportTypeToString:(unsigned long long)a0;
+ (double)crowFliesExpectedTravelTimeForTransportType:(unsigned long long)a0 defaultsManager:(id)a1 distance:(double)a2;
+ (id)currentLocationWithLocationManager:(id)a0 outError:(id *)a1;
+ (double)distanceFromLocation:(id)a0 toLocation:(id)a1 withCalculator:(id)a2;
+ (void)estimateEtaToDestination:(id)a0 transportType:(unsigned long long)a1 locationManager:(id)a2 defaultsManager:(id)a3 distanceCalculator:(id)a4 handler:(id /* block */)a5;
+ (void)expectedTravelTimeforTransportType:(unsigned long long)a0 source:(id)a1 defaultsManager:(id)a2 destination:(id)a3 departureDate:(id)a4 distanceCalculator:(id)a5 completionHandler:(id /* block */)a6;
+ (id)getSMTriggerDestinationTransportTypeToAvgSpeed;
+ (id)locationRequestOptions;
+ (double)mapsExpectedTravelTimeforTransportType:(unsigned long long)a0 source:(id)a1 destination:(id)a2 departureDate:(id)a3 error:(id *)a4;
+ (double)roundingUpTimeInterval:(double)a0 bucketDurationMinute:(int)a1;
+ (void)updateSMTriggerDestinationTransportTypeToAvgSpeedWithDefaultsManager:(id)a0;
+ (id)upperBoundEtaForDepartureDate:(id)a0 defaultsManager:(id)a1 mapsExpectedTravelTime:(double)a2 crowFliesExpectedTravelTime:(double)a3 etaScaleFactor:(double)a4;

- (void)onLocationNotification:(id)a0;
- (void)_setup;
- (void)onDataProtectionNotification:(id)a0;
- (void)_addObservers;
- (void).cxx_destruct;
- (void)_removeObservers;
- (void)setup;
- (void)_bootstrap;
- (void)_persistState;
- (void)stopMonitoringWithHandler:(id /* block */)a0;
- (unsigned long long)_predominantMotionActicityTypeFromStartDate:(id)a0 toEndDate:(id)a1 outError:(id *)a2;
- (void)_updateInitiatorStatusRoundTrip;
- (void)postStateChange;
- (void)_cacheLocations:(id)a0;
- (id)_cachedLocationsDateInterval;
- (void)_declareAnomalyForTriggerCategory:(unsigned long long)a0;
- (void)_initializeETATimer;
- (void)_initializeTimerWithIdentifier:(id)a0 fireAfterDelay:(double)a1;
- (BOOL)_isExceedingUpperBoundEta:(id)a0 mapsExpectedTravelTime:(double)a1 crowFliesExpectedTravelTime:(double)a2;
- (BOOL)_isNoProgressStatus;
- (id)_locationAtDate:(id)a0 error:(id *)a1;
- (id)_locationsInDateInterval:(id)a0 horizontalAccuracy:(double)a1 error:(id *)a2;
- (void)_modifyMonitoringWithConfiguration:(id)a0 handler:(id /* block */)a1;
- (unsigned long long)_motionActivityTypeToTransportType:(unsigned long long)a0 distance:(double)a1;
- (void)_onTimerExpiryForTimerIdentifier:(id)a0;
- (void)_onUserTriggerResponse:(long long)a0;
- (void)_postStateChange;
- (void)_processDataProtectionNotification:(id)a0;
- (void)_processLocationNotification:(id)a0;
- (void)_removeTimers;
- (void)_reviseCachedLocations;
- (BOOL)_shouldChangeModeOfTransportStartDate:(id)a0 endDate:(id)a1;
- (BOOL)_shouldUpdateUpperBoundEtaWithRemainingDistance:(double)a0 mapsExpectedTravelTime:(double)a1;
- (void)_startMonitoringWithConfiguration:(id)a0 handler:(id /* block */)a1;
- (void)_stopMonitoringWithHandler:(id /* block */)a0;
- (void)_tearDownTimerWithIdentifier:(id)a0;
- (void)_updateCoarseEtaWithMapsExpectedTravelTime:(double)a0 crowFliesExpectedTravelTime:(double)a1;
- (void)_updateInitiatorStatus;
- (void)_updateInitiatorStatusDestinationBound;
- (void)_updateTimerWithIdentifier:(id)a0 fireAfterDelay:(double)a1;
- (id)initWithQueue:(id)a0 defaultsManager:(id)a1 dataProtectionManager:(id)a2 locationManager:(id)a3 motionActivityManager:(id)a4 distanceCalculator:(id)a5 platform:(id)a6 sessionStore:(id)a7 timerManager:(id)a8 sessionMetricManager:(id)a9;
- (id)lastUserResponseSafeDate;
- (void)modifyMonitoringWithConfiguration:(id)a0 handler:(id /* block */)a1;
- (void)onUserTriggerResponse:(long long)a0;
- (void)startMonitoringWithConfiguration:(id)a0 handler:(id /* block */)a1;

@end