text: /**
   * @fileoverview added by tsickle
   * @suppress {checkTypes} checked by tsc
   */
  import { Subject } from 'rxjs';
  /**
   * Configuration for an individual toast.
   * @record
   */
  export function IndividualConfig() { }
  function IndividualConfig_tsickle_Closure_declarations() {
      /**
       * disable both timeOut and extendedTimeOut
       * default: false
       * @type {?}
       */
      IndividualConfig.prototype.disableTimeOut;
      /**
       * toast time to live in milliseconds
       * default: 5000
       * @type {?}
       */
      IndividualConfig.prototype.timeOut;
      /**
       * toast show close button
       * default: false
       * @type {?}
       */
      IndividualConfig.prototype.closeButton;
      /**
       * time to close after a user hovers over toast
       * default: 1000
       * @type {?}
       */
      IndividualConfig.prototype.extendedTimeOut;
      /**
       * show toast progress bar
       * default: false
       * @type {?}
       */
      IndividualConfig.prototype.progressBar;
      /**
       * changes toast progress bar animation
       * default: decreasing
       * @type {?|undefined}
       */
      IndividualConfig.prototype.progressAnimation;
      /**
       * render html in toast message (possibly unsafe)
       * default: false
       * @type {?}
       */
      IndividualConfig.prototype.enableHtml;
      /**
       * css class on toast component
       * default: toast
       * @type {?}
       */
      IndividualConfig.prototype.toastClass;
      /**
       * css class on toast container
       * default: toast-top-right
       * @type {?}
       */
      IndividualConfig.prototype.positionClass;
      /**
       * css class on to toast title
       * default: toast-title
       * @type {?}
       */
      IndividualConfig.prototype.titleClass;
      /**
       * css class on to toast title
       * default: toast-title
       * @type {?}
       */
      IndividualConfig.prototype.messageClass;
      /**
       * animation easing on toast
       * default: ease-in
       * @type {?}
       */
      IndividualConfig.prototype.easing;
      /**
       * animation ease time on toast
       * default: 300
       * @type {?}
       */
      IndividualConfig.prototype.easeTime;
      /**
       * clicking on toast dismisses it
       * default: true
       * @type {?}
       */
      IndividualConfig.prototype.tapToDismiss;
      /**
       * Angular toast component to be shown
       * default: Toast
       * @type {?}
       */
      IndividualConfig.prototype.toastComponent;
      /**
       * Helps show toast from a websocket or from event outside Angular
       * default: false
       * @type {?}
       */
      IndividualConfig.prototype.onActivateTick;
  }
  /**
   * @record
   */
  export function ToastrIconClasses() { }
  function ToastrIconClasses_tsickle_Closure_declarations() {
      /** @type {?} */
      ToastrIconClasses.prototype.error;
      /** @type {?} */
      ToastrIconClasses.prototype.info;
      /** @type {?} */
      ToastrIconClasses.prototype.success;
      /** @type {?} */
      ToastrIconClasses.prototype.warning;
  }
  /**
   * Global Toast configuration
   * Includes all IndividualConfig
   * @record
   */
  export function GlobalConfig() { }
  function GlobalConfig_tsickle_Closure_declarations() {
      /**
       * max toasts opened. Toasts will be queued
       * Zero is unlimited
       * default: 0
       * @type {?}
       */
      GlobalConfig.prototype.maxOpened;
      /**
       * dismiss current toast when max is reached
       * default: false
       * @type {?}
       */
      GlobalConfig.prototype.autoDismiss;
      /** @type {?} */
      GlobalConfig.prototype.iconClasses;
      /**
       * New toast placement
       * default: true
       * @type {?}
       */
      GlobalConfig.prototype.newestOnTop;
      /**
       * block duplicate messages
       * default: false
       * @type {?}
       */
      GlobalConfig.prototype.preventDuplicates;
  }
  /**
   * Everything a toast needs to launch
   */
  export class ToastPackage {
      /**
       * @param {?} toastId
       * @param {?} config
       * @param {?} message
       * @param {?} title
       * @param {?} toastType
       * @param {?} toastRef
       */
      constructor(toastId, config, message, title, toastType, toastRef) {
          this.toastId = toastId;
          this.config = config;
          this.message = message;
          this.title = title;
          this.toastType = toastType;
          this.toastRef = toastRef;
          this._onTap = new Subject();
          this._onAction = new Subject();
          this.toastRef.afterClosed().subscribe(() => {
              this._onAction.complete();
              this._onTap.complete();
          });
      }
      /**
       * Fired on click
       * @return {?}
       */
      triggerTap() {
          this._onTap.next();
          this._onTap.complete();
      }
      /**
       * @return {?}
       */
      onTap() {
          return this._onTap.asObservable();
      }
      /**
       * available for use in custom toast
       * @param {?=} action
       * @return {?}
       */
      triggerAction(action) {
          this._onAction.next(action);
      }
      /**
       * @return {?}
       */
      onAction() {
          return this._onAction.asObservable();
      }
  }
  function ToastPackage_tsickle_Closure_declarations() {
      /** @type {?} */
      ToastPackage.prototype._onTap;
      /** @type {?} */
      ToastPackage.prototype._onAction;
      /** @type {?} */
      ToastPackage.prototype.toastId;
      /** @type {?} */
      ToastPackage.prototype.config;
      /** @type {?} */
      ToastPackage.prototype.message;
      /** @type {?} */
      ToastPackage.prototype.title;
      /** @type {?} */
      ToastPackage.prototype.toastType;
      /** @type {?} */
      ToastPackage.prototype.toastRef;
  }
  /**
   * @record
   */
  export function GlobalToastrConfig() { }
  function GlobalToastrConfig_tsickle_Closure_declarations() {
  }
  /**
   * @record
   */
  export function IndividualToastrConfig() { }
  function IndividualToastrConfig_tsickle_Closure_declarations() {
  }
  /**
   * @record
   */
  export function ToastrConfig() { }
  function ToastrConfig_tsickle_Closure_declarations() {
  }
  //# sourceMappingURL=toastr-config.js.map
  