@class CIImage, NUComposition, NSDate, AVAudioMix, NSMutableString, NSObject, NUObservatory, NURenderPipeline, NUGeometrySpaceMap, AVVideoComposition, NSString, NURenderJobStatistics, NUPriority, AVComposition, NURenderRequest, NURenderNode, NUImageGeometry, NSArray, NSError; @protocol OS_dispatch_group, OS_dispatch_queue, NUExtentPolicy, NUScalePolicy, NUDevice; @interface NURenderJob : NSObject { NSObject<OS_dispatch_queue> *_stateQueue; NUObservatory *_observatory; NSError *_error; BOOL _failed; BOOL _replySynchronous; BOOL _didRespond; NSString *_memoizationCacheKey; } @property (readonly, nonatomic) NSMutableString *additionalDebugInfo; @property (nonatomic) BOOL shouldWriteJobDebugFile; @property (retain, nonatomic) NSString *nodeCacheAtStartOfJob; @property (readonly, nonatomic) id<NUDevice> device; @property (readonly, nonatomic) int rendererType; @property (retain, nonatomic) NUComposition *composition; @property (retain, nonatomic) NURenderPipeline *renderPipeline; @property (retain, nonatomic) NURenderNode *prepareNode; @property (nonatomic) struct { long long numerator; long long denominator; } renderScale; @property (retain, nonatomic) NURenderNode *renderNode; @property (retain, nonatomic) NUGeometrySpaceMap *resolvedSpaceMap; @property (retain, nonatomic) NUImageGeometry *outputGeometry; @property (retain, nonatomic) NUImageGeometry *fullSizeGeometry; @property (retain, nonatomic) CIImage *outputImage; @property (retain, nonatomic) AVComposition *outputVideo; @property (retain, nonatomic) AVVideoComposition *outputVideoComposition; @property (retain, nonatomic) AVAudioMix *outputAudioMix; @property (readonly, nonatomic) NURenderJobStatistics *statistics; @property (readonly, nonatomic) NSDate *jobCreationDate; @property (retain) NSArray *dependentJobs; @property (readonly, nonatomic) BOOL wantsOutputGeometry; @property (readonly, nonatomic) BOOL wantsOutputImage; @property (readonly, nonatomic) BOOL wantsOutputVideoFrame; @property (readonly, nonatomic) BOOL wantsOutputVideo; @property (readonly, nonatomic) BOOL wantsRenderStage; @property (readonly, nonatomic) BOOL wantsCompleteStage; @property (readonly, nonatomic) BOOL wantsPrepareNodeCached; @property (readonly, nonatomic) BOOL wantsRenderNodeCached; @property (readonly, nonatomic) BOOL wantsRenderScaleClampedToNativeScale; @property (readonly) NURenderRequest *request; @property (readonly) NUPriority *priority; @property (readonly) unsigned long long jobNumber; @property (readonly) long long currentStage; @property (readonly) BOOL isExecuting; @property (readonly) BOOL isCanceled; @property (readonly) BOOL isAborted; @property (readonly) BOOL isFinished; @property (readonly) BOOL succeeded; @property (readonly) struct { long long x0; long long x1; } imageSize; @property (readonly) id<NUScalePolicy> scalePolicy; @property (readonly) id<NUExtentPolicy> extentPolicy; @property (retain, nonatomic) NSObject<OS_dispatch_group> *replyGroup; @property (readonly) NSError *error; @property (readonly) BOOL failed; + (void)flushCache; - (void)_cancel; - (id)cacheKey; - (void)pause; - (id)init; - (void)run:(long long)a0; - (void)finalize:(BOOL)a0; - (BOOL)succeeded; - (void)removeObserver:(id)a0; - (void)finish; - (void)_resume; - (void)_run:(long long)a0; - (id)result; - (void)_finish; - (id)initWithRequest:(id)a0; - (id)description; - (void)fail:(id)a0; - (void)resume; - (void).cxx_destruct; - (void)cleanUp; - (void)cancel; - (BOOL)failed; - (void)_pause; - (id)error; - (BOOL)render:(out id *)a0; - (void)_didPrepare; - (BOOL)complete:(out id *)a0; - (BOOL)_shouldWaitForDependentJobs; - (id)newRenderPipelineStateForEvaluationMode:(long long)a0; - (BOOL)prepare:(out id *)a0; - (id)prepareNodeWithPipelineState:(id)a0 error:(out id *)a1; - (id)renderImage:(id)a0 into:(id)a1 colorSpace:(id)a2 roi:(id)a3 imageSize:(struct { long long x0; long long x1; })a4 alpha:(unsigned long long *)a5 error:(out id *)a6; - (id)renderImage:(id)a0 into:(id)a1 colorSpace:(id)a2 roi:(id)a3 imageSize:(struct { long long x0; long long x1; })a4 error:(out id *)a5; - (id)renderer:(out id *)a0; - (BOOL)requiresVideoComposition; - (void)_memoizeResult:(id)a0; - (void)_reply:(id)a0; - (BOOL)runStage:(long long)a0 error:(out id *)a1; - (long long)willRun; - (void)respond; - (struct { BOOL x0; BOOL x1; BOOL x2; })_atomicCancel; - (BOOL)_cancelCoalescedJob; - (BOOL)_checkForMemoizedResult; - (void)_emitSignpostEventType:(unsigned char)a0 forStage:(long long)a1 duration:(double)a2; - (long long)_nextStageForStage:(long long)a0; - (void)_notifyCanceled:(long long)a0; - (void)_notifyStageTransition:(long long)a0; - (void)_setCurrentStage:(long long)a0; - (BOOL)_shouldCancelCoalescedJob; - (void)abortComplete; - (void)abortPrepare; - (void)abortRender; - (void)abortStage:(long long)a0; - (void)addCancelObserver:(id)a0 queue:(id)a1 block:(id /* block */)a2; - (void)addStageObserver:(id)a0 queue:(id)a1 block:(id /* block */)a2; - (BOOL)cancelCoalescedJob; - (id)debugFilePath; - (void)didRun; - (id)evaluateComposition:(id)a0 pipeline:(id)a1 pipelineState:(id)a2 error:(out id *)a3; - (id)evaluateOutputGeometry:(out id *)a0; - (id)generateVideoComposition:(out id *)a0; - (id)memoizationCacheKey; - (id)pipelineForComposition:(id)a0 error:(out id *)a1; - (void)renderJobDebugCanceled; - (void)renderJobDebugInit; - (void)renderJobDebugResponded; - (id)renderNodeWithPipelineState:(id)a0 error:(out id *)a1; - (BOOL)renderVideoFrames:(id)a0 videoMetadataSamples:(id)a1 intoPixelBuffer:(struct __CVBuffer { } *)a2 time:(struct { long long x0; int x1; unsigned int x2; long long x3; })a3 colorSpace:(id)a4 error:(out id *)a5; - (void)reply:(id)a0; - (long long)resolvedSampleMode:(long long)a0; - (void)runSynchronous; - (void)runToPrepareSynchronous; - (BOOL)shouldWriteCanceledJob; - (BOOL)shouldWriteTombstone; - (id)validateComposition:(out id *)a0; - (void)writeRenderDebugFileToDisk; - (void)writeRenderJobDebugTombstone; @end