//
//  MVMCoreUIDetailViewProtocol.h
//  MobileFirstFramework
//
//  Created by Yang, Tianhang (Chris) on 11/14/18.
//  Copyright © 2018 Verizon Wireless. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <MVMCoreUI/MVMCoreUIPanelProtocol.h>

NS_ASSUME_NONNULL_BEGIN

@protocol MVMCoreUIDetailViewProtocol <NSObject>

@optional

- (void)panelWillAppear:(nonnull NSObject <MVMCoreUIPanelProtocol>*)panel;
- (void)panelDidAppear:(nonnull NSObject <MVMCoreUIPanelProtocol>*)panel;

- (void)panelWillDisappear:(nonnull NSObject <MVMCoreUIPanelProtocol>*)panel;
- (void)panelDidDisappear:(nonnull NSObject <MVMCoreUIPanelProtocol>*)panel;

/// Can override the left panel.
- (nullable UIViewController <MVMCoreUIPanelProtocol>*)overrideLeftPanel;

/// Can override the right panel.
- (nullable UIViewController <MVMCoreUIPanelProtocol>*)overrideRightPanel;

// Called when the back button is pressed. Overwrite for special functionality.
- (void)backButtonPressed;

// View Controller can override this method and do custom action instead of opening the right panel
- (BOOL)isOverridingRightButton;

// View Controller can override this method and do custom action instead of opening the left panel
- (BOOL)isOverridingLeftButton;

//return desired status bar style based on different View Controller 
- (UIStatusBarStyle)defaultStatusBarStyle;
- (nullable UIColor *)defaultStatusBarBackgroundColor;

@end

NS_ASSUME_NONNULL_END
