@class NSString, NUCropModel, _UIDynamicAnimation, CALayer, CAShapeLayer, PHLivePhotoView, PLImageGeometry, PXImageModulationManager, PXImageLayerModulator, PUCropGestureHandler; @interface PUCropPerspectiveView : PUCropTransformedImageView <NUMediaViewDelegate, UIGestureRecognizerDelegate, PUCropGestureHandlerDelegate> { PLImageGeometry *_imageGeometry; PHLivePhotoView *_livePhotoView; PXImageModulationManager *_imageModulationManager; PXImageLayerModulator *_imageLayerModulator; struct { long long value; int timescale; unsigned int flags; long long epoch; } _cachedVideoSeekTime; PUCropGestureHandler *_gestureHandler; BOOL _muted; BOOL _needsLayerTransformUpdate; BOOL _layerTransformUpdateAnimated; BOOL _needsUpdateLayerTransforms; BOOL _needsUpdateLayerTransformsAnimated; BOOL _isDebugging; CALayer *_imageLayer; CALayer *_mediaSuperlayer; CALayer *_mediaLayer; CALayer *_debugLayer; CAShapeLayer *_debugViewRectLayer; CAShapeLayer *_debugCropRectLayer; CAShapeLayer *_debugQuadLayer; NUCropModel *_cropModel; _UIDynamicAnimation *_currentAnimation; double _lastPitchRadians; double _lastYawRadians; double _lastRollRadians; double _lastImageZoomScale; struct CGVector { double dx; double dy; } _lastPanRubberBandOffset; struct CGPoint { double x; double y; } _lastModelCropCenter; struct CGPoint { double x; double y; } _lastViewCropCenter; double _lastUICroppingRectToImageScale; } @property (readonly, nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } imageCropRect; @property (retain, nonatomic) struct CGImage { } *gainMapImage; @property (nonatomic) float gainMapValue; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (void)_invalidateImageLayerModulator; - (void)setOrientation:(long long)a0; - (void)dealloc; - (void)setMuted:(BOOL)a0; - (void)setImageSize:(struct CGSize { double x0; double x1; })a0; - (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void).cxx_destruct; - (void)setImage:(id)a0; - (BOOL)isMuted; - (void)layoutSubviews; - (BOOL)gestureRecognizer:(id)a0 shouldRecognizeSimultaneouslyWithGestureRecognizer:(id)a1; - (void)setLivePhoto:(id)a0; - (void)handlePinchGesture:(id)a0; - (void)handlePanGesture:(id)a0; - (void)setYawAngle:(double)a0; - (void)setPitchAngle:(double)a0; - (struct CGSize { double x0; double x1; })masterImageSize; - (void)didTrackWithCropGestureHandler:(id)a0; - (void)setCanvasFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (id)_animateValueFromValue:(double)a0 toValue:(double)a1 interpolation:(id /* block */)a2 completion:(id /* block */)a3; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_croppingRect; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_fullCropRect; - (struct CATransform3D { double x0; double x1; double x2; double x3; double x4; double x5; double x6; double x7; double x8; double x9; double x10; double x11; double x12; double x13; double x14; double x15; })_imageOrientationTransform; - (struct CATransform3D { double x0; double x1; double x2; double x3; double x4; double x5; double x6; double x7; double x8; double x9; double x10; double x11; double x12; double x13; double x14; double x15; })_imageOrientationTransformWithoutTranslation; - (void)_invalidateImageModulationManager; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_modelCropRectUnorientedInUICoords; - (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })_modelSpaceToViewSpaceTransformWithModelCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 currentViewCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (void)_resetCropRect; - (void)_setCropModel:(id)a0; - (void)_setupMediaWithComposition:(id)a0; - (struct CGSize { double x0; double x1; })_sizeRotatedIfNeeded:(struct CGSize { double x0; double x1; })a0; - (void)_updateImageModulation; - (double)_viewScaleWithModelCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (double)_zoomScaleForCurrentCropRectAndModelRect; - (double)_zoomScaleForModelCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (id)cropModel; - (void)didBeginTrackingWithCropGestureHandler:(id)a0; - (void)didEndTrackingWithCropGestureHandler:(id)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })imageCropRectForViewRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })imageOrientedViewCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })imageOrientedViewCropTransform; - (struct CGPoint { double x0; double x1; })imagePointForViewPoint:(struct CGPoint { double x0; double x1; })a0; - (void)mediaViewDidFinishRendering:(id)a0; - (void)setAutoloopComposition:(id)a0; - (void)setImageCropRectFromViewCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 animated:(BOOL)a1; - (void)setImageModulationOptions:(struct { long long x0; float x1; })a0; - (void)setModelCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 viewCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (void)setNeedsLayerTransformsUpdateAnimated:(BOOL)a0; - (void)setStraightenAngle:(double)a0; - (void)setVideoComposition:(id)a0 withSeekTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1; - (void)tearDownMediaViewAndLayers; - (void)updateLayerTransformsAnimated:(BOOL)a0; - (void)updateLayerTransformsAnimated:(BOOL)a0 viewCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 modelCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })validateViewCropRectAgainstModelCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })viewCropRectForImageRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })viewOrientedViewCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)willBeginTrackingWithCropGestureHandler:(id)a0; @end