@class AVAsset, PXTitleSubtitleUILabel, ISWrappedAVAudioSession, NSString, PHLivePhotoView, UIImage, PUBackgroundColorView, PUAvalancheStackView, PUPhotoDecoration, PHAnimatedImage, PXFeatureSpec, UIView, PXTextBannerView, ISWrappedAVPlayer, ISAnimatedImageView, UIImageView, PXUIAssetBadgeView, PXVideoPlayerView, PXRoundedCornerOverlayView, UIColor, PXCollectionTileLayoutTemplate, PHLivePhoto; @protocol PUPhotoViewContentHelperDelegate; @interface PUPhotoViewContentHelper : NSObject { PUBackgroundColorView *_photoDecorationBorderView; PUBackgroundColorView *_photoDecorationOverlayView; BOOL _hasTransform; BOOL _hasLayerBackgroundColor; struct { BOOL respondsToLivePhotoWillBeginPlaybackWithStyle; } _delegateFlags; BOOL _hasPendingPlaybackRequest; long long _pendingPlaybackRequestStyle; UIColor *_layerDefaultBackgroundColor; struct { BOOL titleSubtitleUILabel; BOOL loopingVideoView; BOOL animatedImageView; } _needsUpdateFlags; PXVideoPlayerView *_loopingVideoView; ISWrappedAVPlayer *_loopingVideoPlayer; ISAnimatedImageView *_animatedImageView; } @property (retain, nonatomic) UIImageView *photoImageView; @property (retain, nonatomic) UIView *darkContentOverlay; @property (retain, nonatomic) UIImageView *_crossfadeImageView; @property (retain, nonatomic) PUAvalancheStackView *avalancheStackView; @property (retain, nonatomic) PHLivePhotoView *livePhotoView; @property (retain, nonatomic) PXRoundedCornerOverlayView *roundedCornerOverlayView; @property (retain, nonatomic, setter=_setHighlightOverlayView:) UIView *_highlightOverlayView; @property (retain, nonatomic, setter=_setBadgeView:) PXUIAssetBadgeView *_badgeView; @property (retain, nonatomic, setter=_setTitleSubtitleUILabel:) PXTitleSubtitleUILabel *_titleSubtitleLabel; @property (retain, nonatomic, setter=_setAudioSession:) ISWrappedAVAudioSession *_audioSession; @property (readonly, weak, nonatomic) UIView *contentView; @property (nonatomic) long long fillMode; @property (nonatomic) struct CGAffineTransform { double a; double b; double c; double d; double tx; double ty; } imageTransform; @property (nonatomic) struct CGSize { double width; double height; } photoSize; @property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } imageContentFrame; @property (retain, nonatomic) UIImage *photoImage; @property (retain, nonatomic) UIImage *placeHolderImage; @property (retain, nonatomic) UIView *transitionSnapshotView; @property (copy, nonatomic) PUPhotoDecoration *photoDecoration; @property (nonatomic, getter=isImageViewEdgeAntialiasingEnabled) BOOL imageViewEdgeAntialiasingEnabled; @property (nonatomic) BOOL avoidsImageViewIfPossible; @property (nonatomic) BOOL flattensBadgeView; @property (nonatomic) BOOL avoidsPhotoDecoration; @property (readonly, nonatomic) UIView *badgeContainerView; @property (readonly, nonatomic) BOOL providesVisualFeedbackOnPress; @property (nonatomic, getter=isAnimatingRoundedCorners) BOOL animatingRoundedCorners; @property (nonatomic) double cornerRadius; @property (nonatomic) BOOL continuousCorners; @property (readonly, nonatomic) unsigned long long cornersToRound; @property (nonatomic) BOOL useOverlay; @property (retain, nonatomic) UIColor *overlayColor; @property (nonatomic) double contentAlpha; @property (nonatomic) double darkContentOverlayAlpha; @property (nonatomic, getter=isHighlighted) BOOL highlighted; @property (retain, nonatomic) UIColor *backgroundColor; @property (nonatomic, getter=isLivePhotoHidden) BOOL livePhotoHidden; @property (weak, nonatomic) id delegate; @property (retain, nonatomic) PHLivePhoto *livePhoto; @property (nonatomic) BOOL shouldPrepareForPlayback; @property (copy, nonatomic) AVAsset *loopingVideoAsset; @property (retain, nonatomic) PHAnimatedImage *animatedImage; @property (nonatomic) BOOL loopingPlaybackAllowed; @property (nonatomic) BOOL showsLivePhoto; @property (nonatomic) BOOL needsAvalancheStack; @property (nonatomic) struct CGColor { } *avalancheStackBackgroundColor; @property (nonatomic) struct PXAssetBadgeInfo { unsigned long long badges; double duration; long long count; long long fileSize; } badgeInfo; @property (nonatomic) long long badgeStyle; @property (nonatomic) struct CGSize { double width; double height; } customPaddingForBadgeElements; @property (nonatomic, getter=isTextBannerVisible) BOOL textBannerVisible; @property (readonly, nonatomic) PXTextBannerView *textBannerView; @property (retain, nonatomic) PXFeatureSpec *featureSpec; @property (retain, nonatomic) PXCollectionTileLayoutTemplate *collectionTileLayoutTemplate; @property (retain, nonatomic) NSString *titleFontName; @property (retain, nonatomic) NSString *title; @property (retain, nonatomic) NSString *subtitle; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_imageContentFrameForBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 imageSize:(struct CGSize { double x0; double x1; })a1 fillMode:(long long)a2; + (struct CGSize { double x0; double x1; })sizeThatFits:(struct CGSize { double x0; double x1; })a0 imageSize:(struct CGSize { double x0; double x1; })a1 fillMode:(long long)a2; - (void)livePhotoView:(id)a0 willBeginPlaybackWithStyle:(long long)a1; - (id)initWithContentView:(id)a0; - (void)_updateSubviewOrdering; - (id)init; - (void)_updateImageView; - (void)_updateHighlight; - (BOOL)_needsUpdate; - (void)stopPlayback; - (void)_updateIfNeeded; - (void).cxx_destruct; - (void)startPlaybackWithStyle:(long long)a0; - (void)_invalidateBadgeView; - (void)_updateLivePhotoView; - (void)setCornersToRound:(unsigned long long)a0; - (void)_updateContentViewClipsToBounds; - (void)_updateLoopingVideoViewIfNeeded; - (void)_invalidateTitleSubtitleUILabel; - (void)_addAvalancheStackViewIfNecessary; - (void)_invalidateAnimatedImageView; - (void)_invalidateLoopingVideoView; - (void)_removeAvalancheStackViewIfNecessary; - (void)_removePhotoImageViewIfNecessary; - (void)_startPlaybackWhenLivePhotoAvailableWithStyle:(long long)a0; - (void)_updateAnimatedImageViewIfNeeded; - (void)_updateBadgeView; - (void)_updateLayerBackgroundColorIfNeeded; - (void)_updateLayerCornerRadius; - (void)_updateLivePhotoViewPreparing; - (void)_updateLivePhotoViewVisibility; - (void)_updatePhotoDecoration; - (void)_updateRoundedCornersOverlayView; - (void)_updateTextBannerView; - (void)_updateTitleSubtitleUILabelIfNeeded; - (void)animateCrossfadeToImage:(id)a0; - (void)contentViewDynamicUserInterfaceTraitDidChange; - (struct CGSize { double x0; double x1; })contentViewSizeThatFits:(struct CGSize { double x0; double x1; })a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })imageContentFrameForBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)layoutSubviewsOfContentView; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })photoDecorationBorderViewFrameForImageContentFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)setCornerRadius:(double)a0 cornersToRound:(unsigned long long)a1 useOverlay:(BOOL)a2 overlayColor:(id)a3 continuousCorners:(BOOL)a4; - (void)updatePhotoImageWithoutReconfiguring:(id)a0; @end