@class HMDCameraClipUploader, HMDDataStreamFragment, NSUUID, HMDCameraRecordingSessionTimelineManager, NSObject, HMBLocalZone, HMIVideoFragment, HMFActivity, HMDCameraProfile, NSDictionary, NSString, HMDCameraRecordingSessionVariantFragmentManager, NSNumber, NSData, HMDCameraRecordingSessionSignificantEventManager, HMIVideoAnalyzerFragmentResult; @protocol HMDCameraRecordingSessionVideoAnalyzer, HMDCameraRecordingSessionDelegate, OS_dispatch_queue, HMDCameraRecordingSessionFactory; @interface HMDCameraRecordingSession : HMFObject @property (readonly) NSObject *workQueue; @property (readonly) HMDCameraProfile *camera; @property (readonly, copy) NSString *logIdentifier; @property (readonly) HMBLocalZone *localZone; @property (readonly) id factory; @property (readonly) id videoAnalyzer; @property (readonly) HMFActivity *sessionActivity; @property (readonly) HMDCameraRecordingSessionSignificantEventManager *significantEventManager; @property (readonly) HMDCameraRecordingSessionVariantFragmentManager *timelapseFragmentManager; @property (readonly) unsigned long long recordingEventTriggers; @property BOOL noMoreFragmentsAvailable; @property (getter=isActive) BOOL active; @property unsigned long long currentFragmentNumber; @property unsigned long long pendingFragmentsCount; @property struct { long long value; int timescale; unsigned int flags; long long epoch; } clipStartTime; @property struct { long long value; int timescale; unsigned int flags; long long epoch; } timelapseClipStartTime; @property (retain) HMDCameraClipUploader *clipUploader; @property (retain) HMDCameraClipUploader *timelapseClipUploader; @property (retain) HMDDataStreamFragment *cameraVideoInitFragment; @property (retain) HMIVideoFragment *introFragment; @property (retain) HMIVideoAnalyzerFragmentResult *introAnalyzerResult; @property (retain) NSData *analysisVideoInitData; @property (retain) NSData *analysisTimelapseVideoInitData; @property (copy) NSNumber *remainingRecordingExtensionDuration; @property (copy) NSString *sessionDirectoryPath; @property (readonly, copy) NSUUID *identifier; @property (readonly) double configuredFragmentDuration; @property (readonly, copy) NSDictionary *homePresenceByPairingIdentity; @property (readonly) HMDCameraRecordingSessionTimelineManager *timelineManager; @property (weak) id delegate; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)logCategory; - (void)configure; - (void)dealloc; - (void)_writeEvent:(id)a0; - (void).cxx_destruct; - (id)attributeDescriptions; - (id)activityZones; - (BOOL)activityZonesIncludedForSignificantEventDetection; - (BOOL)_shouldEndSessionAfterFragment:(id)a0; - (void)_writeFragment:(id)a0; - (void)handleFragment:(id)a0; - (BOOL)_createSessionDirectory; - (void)_endSessionWithError:(id)a0; - (void)_finishCurrentClipUploader; - (void)_finishCurrentTimelapseClipUploader; - (void)_handleDidFailAnalysisWithError:(id)a0; - (void)_handleFragmentResult:(id)a0; - (BOOL)_isValidFirstSessionFragment:(id)a0; - (BOOL)_isValidNonFirstSessionFragment:(id)a0; - (void)_notifyForAnalyzerResult:(id)a0 fragment:(id)a1 timeOffsetWithinClip:(double)a2 recordingEventTriggers:(unsigned long long)a3; - (void)_notifyForSignificantEvent:(id)a0 recordingEventTriggers:(unsigned long long)a1 fragmentNumber:(unsigned long long)a2; - (BOOL)_shouldRecordFragmentWithAnalyzerResult:(id)a0 sequenceNumber:(unsigned long long)a1 recordingEventTriggers:(unsigned long long)a2 fragmentAnalyzedEvent:(id)a3; - (BOOL)_shouldWriteSessionLogToDisk; - (void)_submitNotificationSuccessMetricWithRecordingEventTriggers:(unsigned long long)a0 fragmentNumber:(unsigned long long)a1; - (void)_uploadFragment:(id)a0 withDuration:(double)a1 clipFinalizedBecauseMaxDurationExceeded:(BOOL)a2; - (void)_uploadTimelapseFragment:(id)a0; - (void)analyzer:(id)a0 didAnalyzeFragmentWithResult:(id)a1; - (void)analyzer:(id)a0 didAnalyzeFrameWithResult:(id)a1; - (void)analyzer:(id)a0 didCreateTimelapseFragment:(id)a1; - (void)analyzer:(id)a0 didFailWithError:(id)a1; - (void)handleMotionActive:(BOOL)a0; - (void)handleNoMoreFragmentsAvailable; - (id)initWithWorkQueue:(id)a0 camera:(id)a1 hapAccessory:(id)a2 home:(id)a3 localZone:(id)a4 configuredFragmentDuration:(double)a5 timelineManager:(id)a6 homePresenceByPairingIdentity:(id)a7; - (id)initWithWorkQueue:(id)a0 camera:(id)a1 hapAccessory:(id)a2 home:(id)a3 localZone:(id)a4 configuredFragmentDuration:(double)a5 timelineManager:(id)a6 homePresenceByPairingIdentity:(id)a7 factory:(id)a8; - (void)uploaderDidFailUpload:(id)a0; - (void)variantFragmentManager:(id)a0 didSelectVariantFragment:(id)a1 overlapsFullFragment:(BOOL)a2; @end