@class UIVisualEffectView, AVAsset, PXLivePhotoTrimScrubberSnapStripController, UILabel, AVVideoComposition, NSString, PULivePhotoTrimScrubberSnapStripControllerSpec, UIImage, NSTimer, NSArray, PFCoalescer, PULivePhotoKeyFrameSelectionViewController, UIButton, UIView, NSLayoutConstraint, PXSlowMotionEditor, PICompositionController, PXFocusTimelineAction, PXLivePhotoTrimScrubber, PXFocusTimelineView, PUTimeCodeOverlayView, PLPhotoEditRenderer, PLEditSource, NSNumber, PXLivePhotoTrimScrubberSpec; @protocol PXTrimToolPlayerWrapper, PUTrimToolControllerDelegate; @interface PUTrimToolController : UIViewController <PXTrimToolPlayerObserver, PXLivePhotoTrimScrubberDelegate, UIPopoverPresentationControllerDelegate, PULivePhotoKeyFrameSelectionViewControllerDelegate, PXSlowMotionEditorDelegate, PXFocusTimelineViewDelegate, PXFocusTimelineController> { PXLivePhotoTrimScrubber *_trimScrubber; PXSlowMotionEditor *_slomoView; BOOL _needsUpdateRenderForVisualChanges; PUTimeCodeOverlayView *_timeCodeOverlayView; NSLayoutConstraint *_timeCodeHorizontalConstraint; PXLivePhotoTrimScrubberSpec *_spec; long long _currentlyInteractingElement; PFCoalescer *_updateVideoCoalescer; BOOL _isActive; } @property (readonly, nonatomic) struct { long long x0; int x1; unsigned int x2; long long x3; } currentStillFrameTime; @property (nonatomic) struct { long long x0; int x1; unsigned int x2; long long x3; } adjustedStillFrameTime; @property (retain, nonatomic) PLEditSource *editSource; @property (retain, nonatomic) UIVisualEffectView *auxilaryContainerView; @property (retain, nonatomic) UIVisualEffectView *scrubberPlayButtonContainerView; @property (retain, nonatomic) NSLayoutConstraint *scrubberContainerToAuxiliaryContainerConstraint; @property (weak, nonatomic) PULivePhotoKeyFrameSelectionViewController *livePhotoKeyFramePicker; @property (retain, nonatomic) NSTimer *livePhotoKeyFramePickerAppearanceTimer; @property (retain, nonatomic) PLPhotoEditRenderer *renderer; @property (readonly, nonatomic) AVAsset *currentVideoAsset; @property (readonly, nonatomic) AVVideoComposition *currentVideoComposition; @property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } cachedFrameDuration; @property (nonatomic) double cachedFrameRate; @property (retain, nonatomic) PXLivePhotoTrimScrubberSnapStripController *snapStripController; @property (retain, nonatomic) PULivePhotoTrimScrubberSnapStripControllerSpec *snapStripSpec; @property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } unadjustedAssetDuration; @property (nonatomic) unsigned long long playheadStyle; @property (nonatomic) unsigned long long internalState; @property (nonatomic) BOOL slomoDraggingStartHandle; @property (readonly, nonatomic) BOOL playButtonEnabled; @property (retain, nonatomic) NSNumber *slomoTimeForPlayheadUpdate; @property (retain, nonatomic) UILabel *debugTimeCodeLabel; @property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } debugPlayerTime; @property (retain, nonatomic) UILabel *debugPlayerTimeLabel; @property (retain, nonatomic) UILabel *debugOriginalTimeLabel; @property (retain, nonatomic) UILabel *debugTrimToolStateLabel; @property (retain, nonatomic) UILabel *debugTrimToolPlayheadStyleLabel; @property (retain, nonatomic) UIView *debugStartRectView; @property (retain, nonatomic) UIView *debugEndRectView; @property (retain, nonatomic) UIView *debugStartOffsetView; @property (retain, nonatomic) UIView *debugEndOffsetView; @property (retain, nonatomic) PXFocusTimelineView *focusTimelineView; @property (retain, nonatomic) NSLayoutConstraint *auxilaryContainerViewHeightConstraint; @property (retain, nonatomic) UIView *trimScrubberTimelineOverlayView; @property (retain, nonatomic) UIButton *trimScrubberTimelineOverlayButton; @property (retain, nonatomic) PXFocusTimelineAction *focusTimelineAction; @property (nonatomic) BOOL objectTrackingShouldStop; @property (nonatomic) BOOL portraitVideoEnabled; @property (copy, nonatomic) NSArray *focusEventTimes; @property (weak, nonatomic) id<PUTrimToolControllerDelegate> delegate; @property (readonly, nonatomic) id<PXTrimToolPlayerWrapper> playerWrapper; @property (nonatomic) long long layoutOrientation; @property (retain, nonatomic) PICompositionController *compositionController; @property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } unadjustedStillImageTime; @property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } originalStartTime; @property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } originalEndTime; @property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } suggestedKeyFrameTime; @property (nonatomic) struct { long long x0; int x1; unsigned int x2; long long x3; } playheadTime; @property (retain, nonatomic) UIImage *placeholderImage; @property (nonatomic) BOOL disabled; @property (readonly, nonatomic) unsigned long long state; @property (readonly, nonatomic) long long currentlyInteractingElement; @property (readonly, nonatomic) UIButton *playPauseButton; @property (readonly, nonatomic, getter=isSlomoEnabled) BOOL slomoEnabled; @property (readonly, nonatomic, getter=isPortraitVideo) BOOL isPortraitVideo; @property (readonly, nonatomic) double scrubberHeight; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (void)updateViewConstraints; - (void)_setState:(unsigned long long)a0; - (void)play; - (void)pause; - (void)viewWillAppear:(BOOL)a0; - (long long)adaptivePresentationStyleForPresentationController:(id)a0; - (void)traitCollectionDidChange:(id)a0; - (void)viewDidLayoutSubviews; - (void)viewDidLoad; - (void)touchesBegan:(id)a0 withEvent:(id)a1; - (void).cxx_destruct; - (long long)adaptivePresentationStyleForPresentationController:(id)a0 traitCollection:(id)a1; - (BOOL)popoverPresentationControllerShouldDismissPopover:(id)a0; - (void)popoverPresentationControllerDidDismissPopover:(id)a0; - (struct { long long x0; int x1; unsigned int x2; long long x3; })_frameDuration; - (double)_frameRate; - (void)stepByCount:(long long)a0; - (id)axDescriptionForFocusEventATime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0; - (void)compositionDidUpdateForPlayerWrapper:(id)a0; - (void)didUpdateFocusEventsWithTimes:(id)a0; - (void)enableUIForCinematographyScriptLoad:(BOOL)a0; - (void)focusTimeline:(id)a0 presentAction:(id)a1 locationInTimeline:(struct CGPoint { double x0; double x1; })a2; - (void)focusTimeline:(id)a0 updateTrackingProgressShouldStop:(BOOL *)a1; - (void)hideFocusTimelineActions:(id)a0; - (void)objectTrackingFinishedWithSuccess:(BOOL)a0; - (void)objectTrackingStartedAtTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0; - (void)playerStatusChangedForPlayerWrapper:(id)a0; - (void)playerWrapper:(id)a0 timeChanged:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1; - (void)resetTimeline; - (void)slowMotionEditorDidBeginEditing:(id)a0 withStartHandle:(BOOL)a1; - (void)slowMotionEditorDidEndEditing:(id)a0; - (void)slowMotionEditorEndValueChanged:(id)a0; - (void)slowMotionEditorRequestForceUnzoom:(id)a0; - (BOOL)slowMotionEditorRequestForceZoom:(id)a0; - (void)slowMotionEditorStartValueChanged:(id)a0; - (BOOL)trimScrubber:(id)a0 canBeginInteractivelyEditingElement:(long long)a1; - (void)trimScrubber:(id)a0 debugEndOffset:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (void)trimScrubber:(id)a0 debugEndRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (void)trimScrubber:(id)a0 debugStartOffset:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (void)trimScrubber:(id)a0 debugStartRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (void)trimScrubber:(id)a0 didBeginInteractivelyEditingElement:(long long)a1; - (void)trimScrubber:(id)a0 didChangeTimeForElement:(long long)a1; - (void)trimScrubber:(id)a0 didEndInteractivelyEditingElement:(long long)a1 successful:(BOOL)a2; - (void)trimScrubber:(id)a0 didTapElement:(long long)a1; - (void)trimScrubber:(id)a0 didTapTimelineAtTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1; - (void)trimScrubber:(id)a0 didZoomToMinimumValue:(double)a1 maximumValue:(double)a2; - (void)trimScrubberAssetDurationDidChange:(id)a0; - (void)trimScrubberDidLayoutSubviews:(id)a0; - (void)trimScrubberDidUnzoom:(id)a0; - (void)trimScrubberPausePlayer:(id)a0; - (void)updateFocusTimeline; - (void)updateFocusTimelineWithEvent:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 userInitiated:(BOOL)a1 shouldAnimate:(BOOL)a2; - (void)updateFocusTimelineWithTimeRange:(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; - (void)updateObjectTrackingProgressAtTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 shouldStop:(BOOL *)a1; - (void)_resetScrubberToStillPhotoFrame; - (BOOL)_allowsKeyFrameCreation; - (void)_createRendererIfNeeded; - (struct { long long x0; int x1; unsigned int x2; long long x3; })_currentPlayerScaledTimeFromOriginalTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0; - (void)_didCompleteInteractiveEditForElement:(long long)a0 atTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1 state:(unsigned long long)a2; - (void)_dismissKeyFramePickerAndResetToStillFrame; - (void)_handlePlayPauseButton:(id)a0; - (void)_handleScrubberTimelineOverlayButton:(id)a0; - (void)_hideScrubberTimelineOverlay; - (void)_livePhotoKeyFramePickerDidDismiss:(id)a0; - (struct { long long x0; int x1; unsigned int x2; long long x3; })_originalTimeFromCurrentPlayerScaledTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0; - (id)_playPauseButtonIfLoaded; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_presentationRectFromLoupeRect; - (void)_seekToTimeForElement:(long long)a0 exact:(BOOL)a1; - (void)_seekToTimeForElement:(long long)a0 exact:(BOOL)a1 forceSeek:(BOOL)a2; - (void)_setPosterFrameTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 onCompositionController:(id)a1; - (BOOL)_showKeyFrameSelection; - (id)_slomoMapperForCurrentConfiguration; - (void)_updateCompositionController; - (void)_updateDebugPlayerTimeLabel; - (void)_updateDebugPlayheadStyleLabel; - (void)_updateDebugTimeCodeLabel; - (void)_updateDebugTrimToolStateLabel; - (void)_updatePlayPauseButton; - (void)_updatePlayerWrapperTimeObserver; - (void)_updatePlayerWrapperTrim; - (void)_updatePlayheadStyle; - (void)_updatePublicState; - (void)_updateScrubberContents; - (void)_updateScrubberFocusEventTimes; - (void)_updateScrubberPresentedPlayhead; - (void)_updateScrubberTimelineOverlayButtonOffset; - (void)_updateScrubberTimes; - (void)_updateSnapStripController; - (void)_updateSnappingDots; - (void)_updateTimeCodeOverlay; - (void)_updateVideo; - (void)compositionControllerDidChangeForAdjustments:(id)a0; - (id)currentEditSource; - (void)enableFocusTimeline:(BOOL)a0; - (id)initWithPlayerWrapper:(id)a0 playButtonEnabled:(BOOL)a1 slomoEnabled:(BOOL)a2 portraitVideoEnabled:(BOOL)a3; - (void)livePhotoRenderDidChange:(BOOL)a0; - (void)mediaViewDidZoom; - (void)releaseAVObjects; - (void)setPlayheadTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 forceSeek:(BOOL)a1; - (void)showFocusTimeline:(BOOL)a0; - (void)updateLivePortraitForKeyFrameChange:(id)a0; - (void)userDidRequestToMakeKeyPhoto:(id)a0; - (void)willHideTrimTool; - (void)willShowTrimTool; @end