@class NSObject, NSString, VCPMADServiceImageAsset, MADVIVisualSearchGatingRequest; @protocol OS_dispatch_queue, MTLDevice, VICancellable; @interface VCPMADVIVisualSearchGatingTask : NSObject { MADVIVisualSearchGatingRequest *_request; VCPMADServiceImageAsset *_imageAsset; NSString *_signpostPayload; id _preferredMetalDevice; NSObject *_cancelQueue; struct atomic { struct __cxx_atomic_impl> { _Atomic BOOL __a_value; } __a_; } _canceled; id _cancellable; } + (id)dependencies; + (id)taskWithRequest:(id)a0 imageAsset:(id)a1 andSignpostPayload:(id)a2; - (int)run; - (void).cxx_destruct; - (void)cancel; - (void)setPreferredMetalDevice:(id)a0; - (BOOL)autoCancellable; - (id)createQueryContextWithError:(id *)a0; - (id)initWithRequest:(id)a0 imageAsset:(id)a1 andSignpostPayload:(id)a2; - (float)resourceRequirement; - (void)storeResults:(id)a0; @end