@class NSObject, NSArray, NSError, AVAssetExportSession, PUMergedLivePhotosVideo; @protocol OS_dispatch_queue, OS_dispatch_group; @interface PUCompositeVideoGenerator : PXObservable { NSObject *_workQueue; NSObject *_stateQueue; long long _stateQueue_state; PUMergedLivePhotosVideo *_stateQueue_playbackVideo; AVAssetExportSession *_stateQueue_exportSession; NSError *_stateQueue_error; NSObject *_videoAssetsByAssetGroup; } @property (readonly, copy, nonatomic) NSArray *assets; @property (readonly, nonatomic) long long outputType; @property (readonly, nonatomic) BOOL onlyAllowOverlappingAssets; @property (readonly, nonatomic) long long state; @property (readonly, nonatomic) NSError *error; @property (readonly, nonatomic) PUMergedLivePhotosVideo *playbackVideo; @property (readonly, nonatomic) AVAssetExportSession *exportSession; + (struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })conformRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0 inRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a1; + (struct { long long x0; int x1; unsigned int x2; long long x3; })_overlapDurationBetweenAsset:(id)a0 andAsset:(id)a1; + (BOOL)canMergeAsset:(id)a0 withConsecutiveAsset:(id)a1; - (void)start; - (id)mutableChangeObject; - (void)setState:(long long)a0; - (void).cxx_destruct; - (void)setError:(id)a0; - (void)_workQueue_finishWithError:(id)a0; - (void)_workQueue_finishWithExportSession:(id)a0 error:(id)a1; - (void)_workQueue_finishWithPlaybackVideo:(id)a0 error:(id)a1; - (void)_workQueue_generateVideoWithAVAssets:(id)a0; - (void)_workQueue_generateVideoWithSingleAssetExportSession:(id)a0; - (void)_workQueue_generateVideoWithSingleAssetPlayerItem:(id)a0; - (void)_workQueue_start; - (id)initWithAssets:(id)a0 outputType:(long long)a1 onlyAllowOverlappingAssets:(BOOL)a2; - (void)setExportSession:(id)a0; - (void)setPlaybackVideo:(id)a0; @end