@class HKDataFlowLink, HDProfile, BKSProcessAssertion, NSDate, HDWorkoutSessionTaskServer, NSObject, HKWorkoutActivity, HKSource, HDWorkoutSessionEntity, HKStateMachine, HDWorkoutSessionRapportSyncController, HDHealthStoreClient, NSString, HKWorkoutConfiguration, _HKCurrentWorkoutSnapshot, _HKExpiringCompletionTimer, NSArray, HKObserverSet, NSUUID; @protocol HDWorkoutDataAccumulator, HDWorkoutSessionController, OS_dispatch_source, OS_dispatch_queue; @interface HDWorkoutSessionServer : NSObject { HDProfile *_profile; NSObject *_queue; HKDataFlowLink *_workoutDataFlowLink; BOOL _isMirroring; NSObject *_persistenceQueue; HKObserverSet *_observers; id _sessionController; _HKExpiringCompletionTimer *_invalidationTimer; BKSProcessAssertion *_invalidationAssertion; HDWorkoutSessionEntity *_persistentEntity; double _stopEventGenerationWaitInterval; HKStateMachine *_stateMachine; HKStateMachine *_targetStateMachine; BOOL _hasFailed; BOOL _isRecovering; _HKCurrentWorkoutSnapshot *_currentWorkoutSnapshot; NSObject *_latestActivityUpdateTimer; NSDate *_requestedStartDate; NSDate *_requestedEndDate; HKWorkoutConfiguration *_firstActivityConfiguration; } @property (readonly, copy, nonatomic) NSUUID *identifier; @property (readonly, copy, nonatomic) HKWorkoutConfiguration *workoutConfiguration; @property (readonly, nonatomic) long long sessionType; @property (readonly, copy, nonatomic) NSString *applicationIdentifier; @property (readonly, nonatomic) BOOL isActive; @property (readonly, nonatomic) BOOL canBePaused; @property (readonly, nonatomic) BOOL isFirstParty; @property (readonly, nonatomic) BOOL shouldStopPreviousSession; @property (readonly, nonatomic) BOOL isGymKit; @property (readonly, nonatomic) BOOL isPaused; @property (weak, nonatomic) HDWorkoutSessionTaskServer *taskServer; @property (retain, nonatomic) HDHealthStoreClient *client; @property (readonly, nonatomic) HDWorkoutSessionRapportSyncController *syncController; @property (nonatomic) BOOL clientDidSetupSession; @property (readonly, copy, nonatomic) NSString *clientProcessBundleIdentifier; @property (readonly, copy, nonatomic) HKSource *clientSource; @property (readonly, nonatomic) long long state; @property (readonly, copy, nonatomic) NSDate *startDate; @property (readonly, copy, nonatomic) NSDate *stopDate; @property (readonly, copy, nonatomic) HKWorkoutActivity *currentActivity; @property (readonly, copy, nonatomic) HKWorkoutConfiguration *currentActivityConfiguration; @property (readonly, copy, nonatomic) NSArray *activityConfigurations; @property (readonly, nonatomic) BOOL isMirroring; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, nonatomic) id workoutDataAccumulator; @property (readonly) HKDataFlowLink *workoutDataFlowLink; @property (readonly, copy) NSUUID *workoutDataProcessorUUID; + (void)unitTest_setDefaultStopEventGenerationWaitInterval:(double)a0; + (id)recoveredSessionServerWithProfile:(id)a0 sessionUUID:(id)a1 error:(id *)a2; + (BOOL)finishAllWorkoutsExcludingSessions:(id)a0 profile:(id)a1 error:(id *)a2; + (id)workoutConfigurationForRecoveryWithProfile:(id)a0 sessionUUID:(id)a1 error:(id *)a2; + (BOOL)finishAllWorkoutSessionsForClient:(id)a0 profile:(id)a1 error:(id *)a2; + (id)sessionIdentifierForRecoveryInProfile:(id)a0 error:(id *)a1; - (void)addObserver:(id)a0 queue:(id)a1; - (void)dealloc; - (void)removeObserver:(id)a0; - (void)finish; - (void)unitTest_setCMWorkoutManager:(id)a0; - (BOOL)resumeWithError:(id *)a0; - (void).cxx_destruct; - (BOOL)prepareWithError:(id *)a0; - (void)endHeartRateRecovery; - (void)generateError:(id)a0; - (void)stateMachine:(id)a0 persistTransition:(id)a1; - (void)sendDataToRemoteWorkoutSession:(id)a0 completion:(id /* block */)a1; - (void)startMirroringToCompanionDeviceWithCompletion:(id /* block */)a0; - (void)stateMachine:(id)a0 didEnterState:(id)a1 date:(id)a2 error:(id)a3; - (void)stateMachine:(id)a0 didTransition:(id)a1 fromState:(id)a2 toState:(id)a3 date:(id)a4 error:(id)a5; - (void)stateMachine:(id)a0 willEnterState:(id)a1 date:(id)a2 error:(id)a3; - (void)stopMirroringToCompanionDeviceWithCompletion:(id /* block */)a0; - (BOOL)pauseWithError:(id *)a0; - (void)syncCurrentActivity:(id)a0 completion:(id /* block */)a1; - (BOOL)endCurrentActivityOnDate:(id)a0 error:(id *)a1; - (BOOL)_queue_clientApplicationCanStartWorkoutSessionWithError:(id *)a0; - (void)autoPauseWithDate:(id)a0; - (void)autoResumeWithDate:(id)a0; - (BOOL)beginNewActivityWithConfiguration:(id)a0 date:(id)a1 metadata:(id)a2 error:(id *)a3; - (id)currentWorkoutSnapshot; - (void)didBecomeCurrent; - (void)didBeginNewActivity:(id)a0; - (void)didDetectActivityChange:(id)a0; - (void)didDisconnectFromRemoteWithError:(id)a0; - (void)didEndCurrentActivity:(id)a0; - (void)didReceiveDataFromRemoteWorkoutSession:(id)a0 completion:(id /* block */)a1; - (void)didResignCurrentWithError:(id)a0; - (BOOL)enableAutomaticDetectionForActivityConfigurations:(id)a0 error:(id *)a1; - (BOOL)endWithError:(id *)a0; - (void)fakeActivityDetection:(id)a0 workoutActivity:(id)a1 completion:(id /* block */)a2; - (void)finishAggregationWithDate:(id)a0; - (void)generateConfigurationUpdate:(id)a0; - (void)generateEvent:(id)a0; - (void)generateMetadata:(id)a0; - (id)initWithProfile:(id)a0 configuration:(id)a1 sessionUUID:(id)a2; - (void)invalidateTaskServer:(id)a0; - (void)receivedBackgroundRuntimeRequestWithCompletion:(id /* block */)a0; - (void)remoteSessionDidRecover; - (void)setAssociatedWorkoutBuilderEntity:(id)a0; - (BOOL)setTargetState:(long long)a0 date:(id)a1 error:(id *)a2; - (void)setWorkoutDataAccumulator:(id)a0; - (BOOL)startActivityWithDate:(id)a0 error:(id *)a1; - (BOOL)stopActivityWithDate:(id)a0 error:(id *)a1; - (BOOL)storeSessionControllerState:(id)a0 forRecoveryIdentifier:(id)a1 error:(id *)a2; - (void)syncSessionEvent:(long long)a0 date:(id)a1; - (void)syncTransitionToState:(long long)a0 date:(id)a1 completion:(id /* block */)a2; - (void)syncWorkoutEvents:(id)a0 completion:(id /* block */)a1; - (id)taskServerConfigurationForRecoveryWithError:(id *)a0; - (void)unitTest_generateStopEvent; - (void)unitTest_generateWorkoutConfigurationUpdate:(id)a0; - (void)unitTest_setSessionController:(id)a0; - (void)unitTest_setStopEventGenerationWaitInterval:(double)a0; - (BOOL)unitTest_updateLatestActivityDate:(id)a0; - (void)workoutDataDestination:(id)a0 didBeginActivity:(id)a1; - (void)workoutDataDestination:(id)a0 didChangeFromState:(unsigned long long)a1 toState:(unsigned long long)a2; - (void)workoutDataDestination:(id)a0 didEndActivity:(id)a1; - (void)workoutDataDestination:(id)a0 didInsertEvent:(id)a1; - (void)workoutDataDestination:(id)a0 didUpdateConfiguration:(id)a1; - (void)workoutDataDestination:(id)a0 requestsDataFrom:(id)a1 to:(id)a2; - (void)workoutDataDestination:(id)a0 requestsFinalDataFrom:(id)a1 to:(id)a2 completion:(id /* block */)a3; @end