text: //
  //     Generated by class-dump 3.5 (64 bit) (Debug version compiled Mar 11 2021 20:53:35).
  //
  //  Copyright (C) 1997-2019 Steve Nygard.
  //
  
  #import <objc/NSObject.h>
  
  @class NSArray, NSCountedSet, NSDate, NSMutableArray, NSMutableDictionary, NSMutableSet, NSOperation, NSOperationQueue, NSRecursiveLock;
  
  @interface FFBackgroundTaskQueue : NSObject
  {
      id _delegate;
      NSCountedSet *_notedTasks;
      unsigned long long _entryNumber;
      NSMutableSet *_pausedForLO;
      NSOperation *_blockerOperation;
      NSOperationQueue *_generalQueue;
      NSMutableDictionary *_runGroups;
      int _cleanupCounter;
      NSDate *_loExitTime;
      NSDate *_loEntryTime;
      double _aggregateProgress;
      BOOL _tasksPending;
      unsigned int _queuedUpdateProgressPerformSelector;
      long long _completedTaskCount;
      long long _totalTaskCount;
      NSArray *_performSelectorModes;
      unsigned int _assertionID;
      BOOL _hasPowerAssertion;
      NSRecursiveLock *_mainThreadCoalesceLock;
      NSMutableArray *_mainThreadCoalesceWork;
      struct atomic<int> _loCount;
  }
  
  + (void)removeThumbnailRequestsForAssets:(id)arg1;
  + (void)enableThumbnailRequests:(BOOL)arg1 forLibrary:(id)arg2;
  + (void)resumeThumbnailRequests;
  + (void)pauseThumbnailRequests;
  + (BOOL)canStartActionAffectingAsset:(id)arg1 forUseDictionary:(id)arg2 error:(id *)arg3;
  + (id)alertForBlockingBackgroundTaskNamed:(id)arg1;
  + (id)errorForBlockingTaskNamed:(id)arg1;
  + (id)backgroundAssetsForUse:(int)arg1;
  + (BOOL)canStartActionAffectingAssets:(id)arg1 forUse:(int)arg2;
  + (void)releaseSharedInstance;
  + (id)sharedInstance;
  @property BOOL tasksPending; // @synthesize tasksPending=_tasksPending;
  @property double aggregateProgress; // @synthesize aggregateProgress=_aggregateProgress;
  @property id delegate; // @synthesize delegate=_delegate;
  - (BOOL)cancelAllTasksUsingAssets:(id)arg1 forUse:(int)arg2 forUndoableBlock:(CDUnknownBlockType)arg3;
  - (void)_handleCancelAllTasksForUndoableBlock_UndoRedoOperationAfter:(id)arg1;
  - (void)_handleCancelAllTasksForUndoableBlock_UndoRedoOperationBefore:(id)arg1;
  - (id)cancelAndWaitForTasks:(id)arg1 timeout:(id)arg2;
  - (void)cancelTasks:(id)arg1 timeout:(id)arg2 completionBlock:(CDUnknownBlockType)arg3;
  - (BOOL)waitUntilAllOperationsAreFinishedBeforeDate:(id)arg1;
  - (void)waitUntilAllOperationsAreFinished;
  - (void)cancelAllOperations;
  - (void)cancelAllOperationsInRunGroup:(id)arg1;
  - (void)setSuspended:(BOOL)arg1;
  - (BOOL)isSuspended;
  - (id)operations;
  - (id)_copyOperationsInternal;
  - (void)incrementMaxSimultaneousOperationsForRunGroup:(id)arg1;
  - (void)setRunGroupMaxSimultaneousOperations:(unsigned long long)arg1 forRunGroup:(id)arg2;
  - (void)resumeTasks:(id)arg1;
  - (void)pauseTasks:(id)arg1;
  - (unsigned long long)getLowOverheadEntryNumberAndCurrentState:(_Bool *)arg1;
  - (void)performBlockInLowOverheadMode:(CDUnknownBlockType)arg1;
  - (void)runLowOverHeadForTime:(double)arg1;
  - (void)_forceExitLOMode;
  - (void)_forceExpireTimedLOMode;
  - (void)_checkForLOExitTime;
  - (void)decrementLowOverheadMode;
  - (void)incrementLowOverheadMode;
  - (void)canceledTask:(id)arg1;
  - (void)completedTask:(id)arg1;
  - (void)didStartTask:(id)arg1;
  - (BOOL)addOperation:(id)arg1;
  - (void)_clearFinishedRunGroupOps;
  - (void)didAddTask:(id)arg1;
  - (void)observeValueForKeyPath:(id)arg1 ofObject:(id)arg2 change:(id)arg3 context:(void *)arg4;
  - (void)queueBlockToMainThread:(CDUnknownBlockType)arg1;
  - (void)_handleBlocksOnMainThread;
  - (void)_updateAggregateProgress:(id)arg1;
  - (void)_decrementVisibleTaskCount:(id)arg1;
  - (void)_incrementVisibleTaskCount:(id)arg1;
  - (void)_updateTasksPending;
  - (void)removeNote:(id)arg1;
  - (void)addNote:(id)arg1;
  - (BOOL)waitForLowOverheadAcknowledgementBeforeDate:(id)arg1;
  - (BOOL)waitForTasksInRunGroup:(id)arg1 beforeDate:(id)arg2;
  - (id)backgroundAssetsForUse:(int)arg1;
  - (BOOL)canStartActionAffectingAssets:(id)arg1 forUse:(int)arg2;
  - (id)tasksUsingAssets:(id)arg1 forUse:(int)arg2 notableTasksOnly:(BOOL)arg3;
  - (id)allTasksUsingAssets:(id)arg1 forUse:(int)arg2;
  - (id)notableTasksUsingAssets:(id)arg1 forUse:(int)arg2;
  - (id)allNotableTasks;
  - (id)_notableTaskNamesUsingAssets:(id)arg1 forUse:(int)arg2;
  - (BOOL)visibleTasksPending;
  - (BOOL)notableTasksPending;
  - (id)_notableTasks;
  - (id)_allTasks;
  @property(readonly) BOOL inLowOverheadMode;
  - (void)appWillTerminate:(id)arg1;
  - (void)finalizeShutdown;
  - (void)beginShutdown;
  - (void)dealloc;
  - (oneway void)release;
  - (id)init;
  
  @end
  
  