export class Notification {
  constructor(message, title, tint, icon, timeout = 3000) {
    this.icon = icon;
    this.message = message;
    this.timeout = timeout;
    this.tint = tint;
    this.title = title;
  }
  static alert(message, title) {
    return new Notification(message, title, 'danger', 'uil-exclamation-octagon');
  }
  static congratulate(message, title) {
    return new Notification(message, title, 'secondary', 'uil-check-circle');
  }
}
export class Notifier {
  constructor(showNotification) {
    this.showNotification = showNotification;
  }
  alert(message, title) {
    this.showNotification(new Notification(message, title, 'danger', 'uil-exclamation-octagon'));
  }
  ;
  congratulate(message, title) {
    this.showNotification(new Notification(message, title, 'secondary', 'uil-check-circle'));
  }
  ;
  inform(message, title) {
    this.showNotification(new Notification(message, title, 'primary', 'uil-info-circle'));
  }
  ;
  notify(message, title) {
    this.showNotification(new Notification(message, title, undefined, 'uil-megaphone'));
  }
  ;
  showCustomNotification(notification) {
    this.showNotification(notification);
  }
  ;
  warn(message, title) {
    this.showNotification(new Notification(message, title, 'warning', 'uil-exclamation-triangle'));
  }
  ;
}
