@class NSSet, NSString, NSURL, BWEspressoInferenceContext, NSMutableArray, NSMutableDictionary; @protocol BWInferenceSubmittable, BWInferencePropagatable, BWInferenceExtractable, BWEspressoInferenceTensorMemoryProvider, BWInferenceExecutable; @interface BWEspressoInferenceProvider : NSObject { unsigned long long _concurrentSubmissionLimit; NSURL *_networkURL; NSString *_networkConfiguration; NSString *_espressoNetworkVersion; BWEspressoInferenceContext *_context; void *_espressoPlan; struct { void *plan; int network_index; } _espressoNetwork; int _espressoPriority; NSMutableDictionary *_bindingNamesByRequirement; id _propagator; id _tensorMemoryProvider; NSMutableArray *_pixelBuffersLockedDuringExecution; } @property (readonly, nonatomic) int executionTarget; @property (readonly, copy, nonatomic) NSSet *preventionReasons; @property (readonly, nonatomic) NSMutableArray *inputVideoRequirements; @property (readonly, nonatomic) NSMutableArray *outputVideoRequirements; @property (readonly, nonatomic) NSMutableArray *cloneVideoRequirements; @property (readonly, nonatomic) NSMutableArray *inputMetadataRequirements; @property (readonly, nonatomic) NSMutableArray *outputMetadataRequirements; @property (readonly, nonatomic) unsigned int allowedPixelBufferCompressionDirection; @property (readonly, nonatomic) int type; @property (readonly, nonatomic) id executable; @property (readonly, nonatomic) id submittable; @property (readonly, nonatomic) id extractable; @property (readonly, nonatomic) id propagatable; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (retain, nonatomic) id tensorMemoryProvider; + (void)initialize; - (int)prewarmUsingLimitedMemory:(BOOL)a0; - (id)newStorage; - (int)prepareForExecution; - (int)executeOnSampleBuffer:(struct opaqueCMSampleBuffer { } *)a0 usingStorage:(id)a1 withExecutionTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a2 completionHandler:(id /* block */)a3; - (id)bindEspressoInput:(id)a0 fromAttachedMediaUsingKey:(id)a1 withVideoFormat:(id)a2 count:(unsigned long long)a3; - (int)submitForSampleBuffer:(struct opaqueCMSampleBuffer { } *)a0 usingStorage:(id)a1 withSubmissionTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a2 workQueue:(id)a3 completionHandler:(id /* block */)a4; - (void)dealloc; - (id)bindOutputByCloningInputRequirement:(id)a0 toAttachedMediaUsingKey:(id)a1; - (id)bindEspressoOutput:(id)a0 asMetadataUsingKeys:(id)a1; - (void)setPropagatable:(id)a0; - (id)bindEspressoOutput:(id)a0 asAttachedMediaUsingKey:(id)a1 withVideoFormat:(id)a2 count:(unsigned long long)a3; - (id)bindEspressoOutput:(id)a0 asMetadataUsingKey:(id)a1; - (id)initWithType:(int)a0 networkURL:(id)a1 networkConfiguration:(id)a2 context:(id)a3 executionTarget:(int)a4 schedulerPriority:(unsigned int)a5 preventionReasons:(id)a6 resourceProvider:(id)a7 allowedCompressionDirection:(unsigned int)a8 concurrentSubmissionLimit:(unsigned long long)a9; - (id)bindEspressoInput:(id)a0 fromAttachedMediaUsingKey:(id)a1 withVideoFormat:(id)a2; - (id)bindEspressoInput:(id)a0 fromMetadataUsingKeys:(id)a1; - (int)prepareForSubmissionWithWorkQueue:(id)a0; - (id)bindEspressoOutput:(id)a0 asAttachedMediaUsingKey:(id)a1 withVideoFormat:(id)a2; - (id)bindEspressoOutput:(id)a0 asConsolidatedMetadataUsingKeys:(id)a1; @end