@class NSHashTable, NSString, CADisplayLink, NSThread, NSRunLoop, NSCountedSet, NSMutableArray, NSObject, _UIViewInProcessAnimationReasonArray, _UIAppCACommitFuture; @protocol _UIViewInProcessAnimationManagerDriver, OS_dispatch_semaphore, OS_dispatch_queue, OS_dispatch_source; @interface UIViewInProcessAnimationManager : NSObject <_UIViewInProcessAnimationManagerDriver> { NSMutableArray *_preCommitBlocks; NSMutableArray *_entries; NSMutableArray *_newlyAddedEntries; NSMutableArray *_postTickBlocks; NSMutableArray *_preExitBlocks; NSMutableArray *_presentationModifierGroupRequestBlocks; NSCountedSet *_minimumFrameRates; NSCountedSet *_maximumFrameRates; NSCountedSet *_preferredFrameRates; NSCountedSet *_updateReasons; unsigned long long _numberOfEntriesNotAllowingVFD; struct CAFrameRateRange { float minimum; float maximum; float preferred; } _preferredFrameRateRange; _UIViewInProcessAnimationReasonArray *_updateReasonArray; struct _UIUpdateRequest { unsigned int flags; unsigned int minRate; unsigned int preferredRate; unsigned int maxRate; unsigned long long phase; unsigned long long load; } _updateRequest; id<_UIViewInProcessAnimationManagerDriver> _animatorAdvancer; double _time; double _deltaTime; double _refreshInterval; NSObject *_tickPrepQueue; NSObject *_tickQueue; NSObject *_entryLockingQueue; NSObject *_timerQueue; NSObject *_displayLinkAccessQueue; NSObject *_backlightQueue; NSObject *_timerSource; NSObject *_postTicksDelaySemaphore; BOOL _processingPreCommits; BOOL _waitingForAnimatorAdvancerToStart; _UIAppCACommitFuture *_caCommitFuture; CADisplayLink *_displayLink; int _screenDimmingNotificationToken; BOOL _animationsSuspended; BOOL _animationsShouldCompleteImmediately; BOOL _skipNextFrame; BOOL _displayLinkInvalidated; BOOL _screenIsOff; unsigned long long _presentationModifierRequestCount; NSHashTable *_presentationGroups; BOOL _appSuspended; NSMutableArray *_observedWindowScenes; struct { unsigned char preferredFrameRateRange : 1; unsigned char updateReasonsArray : 1; } _clean; } @property (nonatomic) BOOL usesMainThreadExecution; @property (nonatomic) unsigned long long executionMode; @property (nonatomic) BOOL advancingOnCommitDisabled; @property (weak) NSThread *currentTickThread; @property (weak) NSThread *animationThread; @property (weak) NSRunLoop *animationThreadRunLoop; @property (retain) NSObject *animationThreadKeepAliveSemaphore; @property (readonly, nonatomic) struct CAFrameRateRange { float x0; float x1; float x2; } preferredFrameRateRange; @property (readonly, nonatomic) _UIViewInProcessAnimationReasonArray *updateReasonArray; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)sharedManager; + (void)_setExternalAnimationDriver:(id)a0; + (void)_dispatchAsyncOntoMainBeforeExit:(id /* block */)a0; + (void)_cancelPresentationModifierGroupRequest:(id)a0; + (id)_requestPresentationModifierGroup:(id /* block */)a0; - (void)_applicationDidEnterBackground; - (id)init; - (double)refreshInterval; - (void)dealloc; - (void)addEntry:(id)a0; - (void)_processTickExitRemovingEntries:(id)a0; - (void)_registerBacklightChangedNotification; - (void)_commitSynchronously; - (void)_updateAnimationSuspensionForAppStateChange; - (void)_setAnimationExecutionParameters; - (void)_processPresentationModifierRequestsAndFlush; - (void)performAfterTick:(id /* block */)a0; - (void)_processEntriesCollectingEntriesToRemove:(id)a0 cancel:(BOOL)a1; - (void)scheduleAnimatorAdvancerToStart; - (void)startAnimationAdvancerIfNeeded; - (void)_processPostTicks; - (void)_processPostTicksDelayIfNecessary:(double)a0; - (void).cxx_destruct; - (void)_processPreCommitBlocks; - (unsigned long long)_runPreCommitBlocks; - (void)_applicationBecameActive; - (BOOL)_isInvalidated; - (void)_cancelAllAnimationsImmediately; - (void)_setCurrentMediaTime:(double)a0; - (BOOL)_shouldKeepAnimationThreadAlive; - (void)_screenBasedSceneDidDisconnect:(id)a0; - (void)performBeforeExiting:(id /* block */)a0; - (void)_displayLinkFire:(id)a0; - (void)startAdvancingAnimationManager:(id)a0; - (void)_screenBasedSceneWillAttachWindow:(id)a0; - (void)_setAnimationsSuspended:(BOOL)a0; - (void)_performWhenInProcessAnimationsTransactionCommits:(id /* block */)a0; - (void)finishAdvancingAnimationManager; - (void)_advanceWithTime:(double)a0; - (void)_cancelPresentationModifierGroupRequest:(id)a0; - (void)_performTick:(double)a0 cancel:(BOOL)a1 force:(BOOL)a2 eventName:(id)a3 entry:(id /* block */)a4 exit:(id /* block */)a5; - (void)_prepareForTick; - (id)_requestPresentationModifierGroup:(id /* block */)a0; @end