luxlabs header browser preview


@class NSMutableDictionary, HDLocationManager, HDProfile, NSDictionary, HDAlertSuppressor, NSObject, NSMutableArray, HDAssertion, NSString, HDWorkoutMirroringManager, NSHashTable, HDWorkoutSessionServer, HDWorkoutLocationSmoother, HDWatchAppStateMonitor, HKObserverSet;
@protocol OS_dispatch_queue;

@interface HDWorkoutManager : NSObject <HDDevicePowerObserver, HDDiagnosticObject, HDProfileReadyObserver, HDWorkoutDataAccumulatorObserver, HDWorkoutSessionObserver> {
    HDWorkoutSessionServer *_currentWorkout;
    HDAssertion *_currentWorkoutAssertion;
    HDWorkoutSessionServer *_nextWorkout;
    NSMutableDictionary *_sessionServers;
    NSMutableDictionary *_sessionCreationHandlers;
    NSHashTable *_observerTable;
    HKObserverSet *_sessionObservers;
    HDWatchAppStateMonitor *_appStateMonitor;
    BOOL _hasPerformedPostLaunchSessionRecovery;
    NSMutableArray *_postLaunchRecoveryBlocks;
    NSObject<OS_dispatch_queue> *_postLaunchRecoveryCallbackQueue;
    HKObserverSet *_currentWorkoutObservers;
    NSMutableDictionary *_backgroundStartAssertions;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _assertionsLock;
}

@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *queue;
@property (retain, nonatomic) HDWorkoutLocationSmoother *locationSmoother;
@property (readonly, nonatomic) HDWorkoutSessionServer *currentWorkout;
@property (readonly, nonatomic) NSDictionary *sessionServers;
@property (readonly, weak, nonatomic) HDProfile *profile;
@property (readonly, nonatomic) BOOL isInHeartRateRecovery;
@property (readonly, nonatomic) HDAlertSuppressor *alertSuppressor;
@property (readonly, nonatomic) HDLocationManager *locationManager;
@property (readonly, nonatomic) HDWorkoutMirroringManager *mirroringManager;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)profileDidBecomeReady:(id)a0;
- (void)devicePowerMonitor:(id)a0 primaryPowerSourceIsCharging:(BOOL)a1;
- (BOOL)finishAllWorkoutsForClient:(id)a0 error:(id *)a1;
- (void)unitTest_finishAllDetachedWorkoutBuilders;
- (void)dealloc;
- (void)startWatchAppWithWorkoutPlanData:(id)a0 processIdentifier:(int)a1 completion:(id /* block */)a2;
- (id)initWithProfile:(id)a0;
- (void)_startWatchAppWithWorkoutPlanData:(id)a0 processIdentifier:(int)a1 completion:(id /* block */)a2;
- (void)registerCurrentWorkoutObserver:(id)a0;
- (void)_receivedStartWorkoutAppRequest:(id)a0 completion:(id /* block */)a1;
- (void)hk_fakeLapEventWithDate:(id)a0 strokeStyle:(long long)a1;
- (id)currentWorkoutConfiguration;
- (id)diagnosticDescription;
- (void)unregisterCurrentWorkoutObserver:(id)a0;
- (void)recoverWorkoutSessionForClient:(id)a0 server:(id)a1 completion:(id /* block */)a2;
- (void)getCurrentWorkoutSnapshotWithCompletion:(id /* block */)a0;
- (void)_sendStartWorkoutAppResponse:(id /* block */)a0 error:(id)a1;
- (void)performWhenPostLaunchSessionRecoveryHasCompleted:(id /* block */)a0;
- (BOOL)hasAnyActiveWorkouts;
- (void)removeWorkoutSessionObserver:(id)a0;
- (void)_takeBackgroundStartAssertionForApplicationIdentifier:(id)a0;
- (void)_didCreateMirroredSessionServer:(id)a0;
- (BOOL)currentActivityRequiresExtendedMode;
- (void)unitTest_smoothRoute:(id)a0 withSmoother:(id)a1 completion:(id /* block */)a2;
- (void)workoutSession:(id)a0 didBeginActivity:(id)a1;
- (id)newBiomeInterface;
- (id)currentWorkoutClient;
- (void)workoutSession:(id)a0 didEndActivity:(id)a1;
- (void)removeWorkoutEventObserver:(id)a0;
- (void)workoutSession:(id)a0 didChangeToState:(long long)a1 fromState:(long long)a2 date:(id)a3;
- (id)currentWorkoutSessionServer;
- (void)workoutSession:(id)a0 didFailWithError:(id)a1;
- (void)addWorkoutSessionObserver:(id)a0 queue:(id)a1;
- (id)sessionServerWithConfiguration:(id)a0 sessionUUID:(id)a1 clientBundleIdentifier:(id)a2 taskServer:(id)a3;
- (id)unitTest_currentWorkoutSession;
- (void).cxx_destruct;
- (void)workoutSession:(id)a0 didGenerateEvent:(id)a1;
- (id)recoveredWorkoutSessionServerWithIdentifier:(id)a0 error:(id *)a1;
- (void)mirroredSessionServerWithUUID:(id)a0 completion:(id /* block */)a1;
- (void)hk_fakeStopEventWithDate:(id)a0;
- (void)receivedStartWorkoutAppRequest:(id)a0 completion:(id /* block */)a1;
- (void)startWatchAppWithWorkoutConfiguration:(id)a0 client:(id)a1 completion:(id /* block */)a2;
- (id)newCMSwimTracker;
- (BOOL)allowBackgroundStartForApplicationIdentifier:(id)a0;
- (void)_startWatchAppWithWorkoutConfiguration:(id)a0 client:(id)a1 completion:(id /* block */)a2;
- (void)generatePauseOrResumeRequestAllowingBackgroundRuntime:(BOOL)a0 completion:(id /* block */)a1;
- (void)workoutSession:(id)a0 didUpdateControllerStateForRecoveryIdentifier:(id)a1;
- (void)endHeartRateRecovery;
- (void)tearDownMirroredWorkoutSession:(id)a0;
- (void)sessionServerFromSessionIdentifier:(id)a0 completion:(id /* block */)a1;
- (void)workoutSession:(id)a0 didUpdateDataAccumulator:(id)a1;
- (void)addWorkoutEventObserver:(id)a0;

@end