//
//  MVMCoreTopAlertViewProtocol.h
//  MVMCore
//
//  Created by Pfeil, Scott Robert on 1/2/18.
//  Copyright © 2018 myverizon. All rights reserved.
//

#import <MVMCoreUI/MVMCoreTopAlertAnimationDelegateProtocol.h>
@class MVMCoreTopAlertObject;

@protocol MVMCoreTopAlertViewProtocol

@optional

// Show based on the object
- (void)showWithTopAlertObject:(nullable MVMCoreTopAlertObject *)topAlertObject animationDelegate:(nonnull id <MVMCoreTopAlertAnimationDelegateProtocol>)animationDelegate completionHandler:(void (^ __nullable)(BOOL finished))completionHandler;

// Hides
- (void)hideAlertView:(BOOL)forceful completionHandler:(void (^ __nullable)(BOOL finished))completionHandler;

// Collapses the notification if it has a short top message. Otherwise removes notification.
- (void)collapseNotification;

/// Updates the existing top alert with the new object
- (void)updateTopAlertWith:(nullable MVMCoreTopAlertObject *)topAlertObject;

@end
