@class NSURL, UIImage, NSDate, PXImageLayerModulator, CALayer, UIView, PUBrowsingViewModel, UIColor, NSString, PUImageRequester, PXNumberAnimator, PUAssetViewModel, NSData, PUMediaProvider, PXImageModulationManager, UIImageView; @protocol PUImageRequesterResult, PXVKImageAnalysisInteraction, PUDisplayAsset, PLTileableLayer, PUImageTileViewControllerPresentingDelegate; @interface PUImageTileViewController : PUTileViewController { struct { BOOL respondsToPresentingViewController; BOOL respondsToShouldShowVisualIntelligenceOverlay; BOOL respondsToShouldEnableSubjectLiftingForVisualIntelligenceOverlay; BOOL respondsToPPTShouldSignalDeferredProcessingDoneAndFinalImageDisplayed; } _presentingDelegateFlags; } @property (nonatomic, setter=_setNeedsUpdateImage:) BOOL _needsUpdateImage; @property (nonatomic, setter=_setNeedsUpdateImageLayerModulator:) BOOL _needsUpdateImageLayerModulator; @property (nonatomic, setter=_setNeedsUpdateImageLayerModulatorInput:) BOOL _needsUpdateImageLayerModulatorInput; @property (nonatomic, setter=_setNeedsUpdateFullSizeImageMetadata:) BOOL _needsUpdateFullSizeImageMetadata; @property (nonatomic, setter=_setNeedsUpdateFullSizeTiledLayer:) BOOL _needsUpdateFullSizeTiledLayer; @property (nonatomic, setter=_setTargetSize:) struct CGSize { double width; double height; } _targetSize; @property (nonatomic) BOOL needsUpdateTargetSize; @property (nonatomic) BOOL needsUpdateVisualIntelligenceOverlayContentsRect; @property (readonly, nonatomic) UIImageView *_imageView; @property (retain, nonatomic) UIView *tiledLayerHostingView; @property (retain, nonatomic) PXNumberAnimator *tiledLayerAlphaAnimator; @property (retain, nonatomic, setter=_setFullSizeImageData:) NSData *_fullSizeImageData; @property (retain, nonatomic, setter=_setFullSizeImageURL:) NSURL *_fullSizeImageURL; @property (nonatomic, setter=_setFullSizeImageOrientation:) long long _fullSizeImageOrientation; @property (nonatomic, setter=_setFullSizeImageUntransformedSize:) struct CGSize { double width; double height; } _fullSizeImageUntransformedSize; @property (nonatomic, setter=_setFullSizeImageSize:) struct CGSize { double width; double height; } _fullSizeImageSize; @property (retain, nonatomic, setter=_setFullSizeTiledLayer:) CALayer *_fullSizeTiledLayer; @property (nonatomic, setter=_setDisplayingFullQualityImage:) BOOL _isDisplayingFullQualityImage; @property (nonatomic, setter=_setAssetLoadingStage:) long long _assetLoadingStage; @property (retain, nonatomic, setter=_setAssetLoadingStartDate:) NSDate *_assetLoadingStartDate; @property (nonatomic, setter=_setShouldUsePenultimateVersionForNextImageUpdate:) BOOL shouldUsePenultimateVersionForNextImageUpdate; @property (nonatomic) BOOL canUseFullSizeTiledLayer; @property (nonatomic) BOOL requiresFullQualityImage; @property (retain, nonatomic) id displayedImageRequestResult; @property (nonatomic) BOOL shouldAnimateToFullQualityResult; @property (nonatomic) BOOL shouldRetainNonFinalImageUntilZoom; @property (retain, nonatomic, setter=_setImageRequester:) PUImageRequester *_imageRequester; @property (retain, nonatomic) PXImageLayerModulator *imageLayerModulator; @property (retain, nonatomic) id imageInteraction; @property (readonly, nonatomic) UIImage *image; @property (readonly, nonatomic) BOOL gainMapImageIsAvailable; @property (readonly, nonatomic) struct CGImage { } *gainMapImage; @property (readonly, nonatomic) float gainMapValue; @property (retain, nonatomic) PUBrowsingViewModel *browsingViewModel; @property (retain, nonatomic) PUAssetViewModel *assetViewModel; @property (retain, nonatomic) id asset; @property (retain, nonatomic) PUMediaProvider *mediaProvider; @property (retain, nonatomic) PXImageModulationManager *imageModulationManager; @property (copy, nonatomic) UIColor *placeholderColor; @property (weak, nonatomic) id presentingDelegate; @property (nonatomic) BOOL animatesImageTransitions; @property (nonatomic) BOOL shouldUseFullSizeImageData; @property (nonatomic) BOOL visualImageInteractionEnabled; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)_supportedZoomImageFormats; - (struct CGSize { double x0; double x1; })targetSizeForProposedTargetSize:(struct CGSize { double x0; double x1; })a0; - (void)_updateFullSizeImageMetadataIfNeeded; - (void)_updateVKAnalysisAndDisplayMode; - (void)_invalidateFullSizeImageMetadata; - (void)_updateAssetLoadingStage; - (void)_updateImageLayerModulatorInputIfNeeded; - (void)imageRequester:(id)a0 didProduceResult:(id)a1; - (void)_handleShouldReloadAssetMediaNotification:(id)a0; - (id)generateAssetTransitionInfo; - (void)_cancelAllImageRequests; - (void)_invalidateImage; - (void)_updateFullSizeTiledLayerIfNeeded; - (void)updateModulatorInputs; - (void)updateModulator; - (void)imageRequesterDidUpdateFullSizeImageData:(id)a0; - (BOOL)_isDeferredProcessingFinished; - (void)assetViewModelDidChange; - (void)_setAssetWithoutUpdateIfNeeded:(id)a0; - (void)_handleBrowsingViewModel:(id)a0 didChange:(id)a1; - (BOOL)shouldAdoptResult:(id)a0 overExistingResult:(id)a1; - (void)_invalidateTargetSize; - (void)setPreloadedImage:(id)a0; - (void)isViewControllerTransitioningDidChange; - (void)didChangeVisibleRect; - (BOOL)shouldAnimateAppearanceOfResult:(id)a0 overExistingResult:(id)a1; - (void)_updateReadyForDisplay; - (void)displayImageRequestResult:(id)a0; - (void)_updateImageLayerModulatorIfNeeded; - (void)setEdgeAntialiasingEnabled:(BOOL)a0; - (id)_addVKImageInteractionToImageView; - (void)_updateVisualIntelligenceUnitContentsRect; - (void)viewModel:(id)a0 didChange:(id)a1; - (void)_updateImageRequesterFullSizeImageDataProperties; - (void)_removeVKImageInteractionFromImageView; - (void)setGainMapImage:(struct CGImage { } *)a0; - (void)_invalidateFullSizeTiledLayer; - (void)_invalidateVisualIntelligenceOverlayContentsRect; - (BOOL)vkVisualSearchExistsAtPoint:(struct CGPoint { double x0; double x1; })a0; - (void)setGainMapValue:(float)a0; - (void)_updateImageViewBackgroundColor; - (BOOL)_allowsVKRemoveBackground; - (id)presentingViewControllerForImageAnalysisInteraction:(id)a0; - (void)assetDidChange; - (void)imageAnalysisInteractionDidDismissVisualSearchController:(id)a0; - (void)_updateImageIfNeeded; - (void)_invalidateImageLayerModulator; - (BOOL)shouldAvoidInPlaceSnapshottedFadeOut; - (void)_setVisualIntelligenceAnalyzingImageIfNeeded; - (void)_handleAssetViewModel:(id)a0 didChange:(id)a1; - (void)_invalidateImageLayerModulatorInput; - (void)applyLayoutInfo:(id)a0; - (void)updateMutableImageLayerModulator:(id)a0; - (void)_notifyDeferredProcessingDoneAndFinalImageDisplayedIfNeeded; - (BOOL)vkViewExistsAtPoint:(struct CGPoint { double x0; double x1; })a0; - (BOOL)wantsVisibleRectChanges; - (void)_updateTargetSizeIfNeeded; - (double)_screenScale; - (void)_updateVisualIntelligenceOverlayContentsRectIfNeeded; - (void)expectedPresentationSizeDidChange; - (void)imageAnalysisInteraction:(id)a0 didTapVisualSearchIndicatorWithNormalizedBoundingBox:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2; - (void)dealloc; - (BOOL)_needsUpdate; - (void)becomeReusable; - (void)_invalidate; - (void)_updateIfNeeded; - (id)loadView; - (void).cxx_destruct; @end