@class ARImageCroppingTechnique, ARMLImageDownScalingResultData, NSObject, ARImageRotationTechnique, ARMLImageTransform, ARImageScalingTechnique, ARMLIntermediateDownScalingResultData; @protocol OS_dispatch_queue; @interface ARMLImageDownScalingTechnique : ARImageBasedTechnique { ARImageScalingTechnique *_imageScalingTechnique; ARImageRotationTechnique *_imageRotationTechnique; ARImageCroppingTechnique *_imageCroppingTechnique; ARMLImageTransform *_fastPassImageScaler; ARMLImageTransform *_fastPassUltraWideImageScaler; struct vImageCVImageFormat { } *_cvImageFormatRef; struct __CVPixelBufferPool { } *_bgraPixelBufferPool; int _lockedOrientation; ARMLIntermediateDownScalingResultData *_intermediateDownSamplingResultData; ARMLImageDownScalingResultData *_downSamplingResultData; BOOL _enableDoubleMLResolutionForIPad; NSObject<OS_dispatch_queue> *_processingQueue; double _resultLatency; BOOL _deterministic; } @property (nonatomic) BOOL centerCropImage; @property (readonly, nonatomic) struct CGSize { double width; double height; } imageSize; @property (nonatomic) BOOL resizeUltraWideImage; @property (nonatomic) BOOL saveIntermediateScaleResultData; @property (nonatomic) BOOL shouldOperateOnHighResolutionImages; @property (copy, nonatomic) id /* block */ wideRotationStrategy; @property (copy, nonatomic) id /* block */ ultrawideRotationStrategy; - (id)initWithSize:(struct CGSize { double x0; double x1; })a0; - (void)dealloc; - (id)processData:(id)a0; - (id)_fullDescription; - (void).cxx_destruct; - (BOOL)isEqual:(id)a0; - (void)prepare:(BOOL)a0; - (id)_fastPassDownscaledResultDataFromImageData:(id)a0 croppedRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 fastPassScaler:(id)a2; - (void)_processImageDataInBackground:(id)a0; - (id)_rotateImageDataForNeuralNetwork:(id)a0 deviceOrientation:(long long)a1 pRegionOfInterest:(struct CGSize { double x0; double x1; } *)a2 pRotationOfResultTensor:(long long *)a3; - (id)_scaleImageDataForNeuralNetwork:(id)a0 scaledSize:(struct CGSize { double x0; double x1; })a1; - (id)_twoPassDownscaledResultDataFromImageData:(id)a0 croppedRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (id /* block */)defaultRotationStrategy; - (long long)getDeviceOrientationFromImageData:(id)a0; - (id)initWithSize:(struct CGSize { double x0; double x1; })a0 requiredTimeInterval:(double)a1; - (void)lockOrientation:(long long)a0; - (void)requestResultDataAtTimestamp:(double)a0 context:(id)a1; - (double)requiredTimeInterval; - (id)resultDataClasses; @end