         self.confirmButtonTitle = confirmButtonTitle
     }
     
+    public static var DefaultConfirmButtonTitle: String = "confirmation-alert-view.dismiss.title".localized
+    
+    public static var DefaultDismissButtonTitle: String = "confirmation-alert-view.confirm.title".localized
 }

    public let dismissAction: ConfirmationAlertViewModel -> ()
    public let confirmAction: ConfirmationAlertViewModel -> ()
    
    /// Initialize a new ConfirmationAlertViewModel with the provided parameters.
    ///
    /// Is not necessary to provide all parameters. In most cases, is only
    /// needed `title`, `message` and `confirmAtion`.
    ///
    /// - parameter title: The alert title.
    /// - parameter message: The alert message.
    /// - parameter dismissButtonTitle: The dismiss button title.
    /// - parameter dismissAction: The dismiss button action.
    /// - parameter confirmButtonTitle: The confirm button title.
    /// - parameter confirmAction: The confirm button action.
    public init(
        title: String,
        message: String,
        dismissButtonTitle: String = "confirmation-alert-view.dismiss.title".localized,
        dismissAction: ConfirmationAlertViewModel -> () = { _ in },
        confirmButtonTitle: String = "confirmation-alert-view.confirm.title".localized,
        confirmAction: ConfirmationAlertViewModel -> () = { _ in }) {
        self.title = title
        self.message = message


import Foundation

/**
 ConfirmationAlertViewModel models a `UIAlertController` where there are
 two options to select:

 * confirmAction: normally a action that do something.
 * dismissAction: normally a empty action.
*/
public struct ConfirmationAlertViewModel {
    
    public let title: String
