//
//  MVMCorePresentationDelegateProtocol.h
//  mobilefirst
//
//  Created by Scott Pfeil on 2/16/16.
//  Copyright © 2016 Verizon Wireless. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@protocol MVMCorePresentationDelegateProtocol

@optional

// Called when a view controller will be displayed on a navigation controller
- (void)navigationController:(nonnull UINavigationController *)navigationController willDisplayViewController:(nonnull UIViewController *)viewController;

// Called when a view controller has been displayed on a navigation controller
- (void)navigationController:(nonnull UINavigationController *)navigationController displayedViewController:(nonnull UIViewController *)viewController;

// Called when interactive transition get canceled
- (void)navigationController:(nonnull UINavigationController *)navigationController interactiveTransitionWasCanceled:(BOOL)canceled;


- (nullable id <UIViewControllerAnimatedTransitioning>)navigationController:(nonnull UINavigationController *)navigationController
                                            animationControllerForOperation:(UINavigationControllerOperation)operation
                                                         fromViewController:(nonnull UIViewController *)fromVC
                                                           toViewController:(nonnull UIViewController *)toVC  NS_AVAILABLE_IOS(7_0);

- (nullable id <UIViewControllerInteractiveTransitioning>)navigationController:(nonnull UINavigationController *)navigationController
                                   interactionControllerForAnimationController:(nonnull id <UIViewControllerAnimatedTransitioning>) animationController NS_AVAILABLE_IOS(7_0);

// Called when a view controller will be presented on another view controller
- (void)viewController:(nonnull UIViewController *)presentingViewController willPresentViewController:(nonnull UIViewController *)presentedViewController;

// Called when a view controller did be present on another
- (void)viewController:(nonnull UIViewController *)presentingViewController didPresentViewController:(nonnull UIViewController *)presentedViewController;

@end
