@class NSMutableSet, NSString, NSMutableDictionary, NSMapTable, UIView, BSUIAnimationFactory, NSMutableArray; @protocol UIViewControllerInteractiveTransitioning, SBHViewControllerTransitionAnimationContext, SBViewControllerTransitionContextDelegate, UIViewControllerAnimatedTransitioning; @interface SBViewControllerTransitionContext : NSObject <SBViewControllerContextTransitioning, SBViewControllerTransitionCoordinator> { NSMutableDictionary *_viewControllersByKey; NSMutableDictionary *_viewsByKey; NSMapTable *_initialFramesByViewController; NSMapTable *_finalFramesByViewController; BOOL _transitionStarted; BOOL _animationFinished; BOOL _transitionFinished; BOOL _transitionIsCancelled; BOOL _transitionWasEverCancelled; BOOL _transitionBeganInteractively; BOOL _transitionWasInteractive; BOOL _transitionDidBeginCalled; double _transitionPercentComplete; unsigned long long _transitionAnimationOptions; BSUIAnimationFactory *_transitionAnimationFactory; id<UIViewControllerAnimatedTransitioning> _animator; id<UIViewControllerInteractiveTransitioning> _interactor; NSMutableArray *_alongsideAnimations; NSMutableArray *_alongsideCompletions; NSMutableArray *_alongsideInteractionEndedHandlers; NSMutableSet *_alongsideAnimationViews; NSMutableArray *_transitionContinuations; unsigned long long _outstandingClientCompletionCount; } @property (retain, nonatomic) id<SBHViewControllerTransitionAnimationContext> animationContext; @property (weak, nonatomic) id<SBViewControllerTransitionContextDelegate> delegate; @property (retain, nonatomic) UIView *containerView; @property (retain, nonatomic) id<UIViewControllerAnimatedTransitioning> animator; @property (retain, nonatomic) id<UIViewControllerInteractiveTransitioning> interactor; @property (nonatomic) long long presentationStyle; @property (nonatomic) struct CGAffineTransform { double a; double b; double c; double d; double tx; double ty; } targetTransform; @property (readonly, nonatomic) BOOL isTransitioning; @property (nonatomic) BOOL wantsAnimation; @property (retain, nonatomic) id userInfo; @property (readonly, nonatomic, getter=isAnimated) BOOL animated; @property (readonly, nonatomic, getter=isInteractive) BOOL interactive; @property (readonly, nonatomic) BOOL transitionWasCancelled; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, nonatomic) BOOL initiallyInteractive; @property (readonly, nonatomic) BOOL isInterruptible; @property (readonly, nonatomic, getter=isCancelled) BOOL cancelled; @property (readonly, nonatomic) double transitionDuration; @property (readonly, nonatomic) double percentComplete; @property (readonly, nonatomic) double completionVelocity; @property (readonly, nonatomic) long long completionCurve; - (void)pauseInteractiveTransition; - (void)updateInteractiveTransition:(double)a0; - (id)viewForKey:(id)a0; - (BOOL)animateAlongsideTransitionInView:(id)a0 animation:(id /* block */)a1 completion:(id /* block */)a2; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })finalFrameForViewController:(id)a0; - (void)finishInteractiveTransition; - (id)viewControllerForKey:(id)a0; - (void)cancelInteractiveTransition; - (void)_completeTransition; - (BOOL)_animatorSupportsRestarting; - (BOOL)animateAlongsideTransition:(id /* block */)a0 completion:(id /* block */)a1; - (void)setView:(id)a0 forKey:(id)a1; - (BOOL)supportsCancelling; - (void)notifyWhenInteractionEndsUsingBlock:(id /* block */)a0; - (void)setViewController:(id)a0 forKey:(id)a1; - (void)completeTransition:(BOOL)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })initialFrameForViewController:(id)a0; - (void)cancelTransition; - (BOOL)requiresCancellableAnimations; - (void)setInitialFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 forViewController:(id)a1; - (id)init; - (id /* block */)_acquireTransitionCompletion; - (void)dealloc; - (void)addTransitionContinuation:(id /* block */)a0; - (id)succinctDescriptionBuilder; - (id)_interactiveAnimator; - (void)_runAlongsideAnimationBlocksInEnclosingAnimationContext; - (id)transitionAnimationFactory; - (BOOL)transitionWasRestarted; - (void)notifyWhenInteractionChangesUsingBlock:(id /* block */)a0; - (BOOL)_animatorIsReversible; - (id)descriptionBuilderWithMultilinePrefix:(id)a0; - (void)_runAlongsideAnimationBlocksWithFactory:(id)a0 options:(unsigned long long)a1; - (void)startTransition; - (id)descriptionWithMultilinePrefix:(id)a0; - (BOOL)_animatorIsInteractive; - (void)_runInteractionEndedHandlers; - (void).cxx_destruct; - (void)_startInteractiveTransition; - (BOOL)requiresInteractiveAnimations; - (void)restartTransition; - (id)succinctDescription; - (id)_reversibleAnimator; - (BOOL)_interactorSupportsRestarting; - (BOOL)supportsRestarting; - (void)_updateTransitionAnimationFactoryAndOptions; - (void)setFinalFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 forViewController:(id)a1; - (void)_completeTransitionIfPossible; - (unsigned long long)transitionAnimationOptions; - (BOOL)_objectSupportsRestarting:(id)a0; - (BOOL)requiresRestartableAnimations; - (BOOL)wasPreviousPhaseInteractive; @end