text: var UNTOUCHED = 'ng-untouched';
  var toClassList = function (classNames) { return String(classNames).trim().split(' '); };
  /**
   * @hidden
   */
  export var hasClass = function (element, className) {
      return Boolean(toClassList(element.className).find(function (name) { return name === className; }));
  };
  /**
   * @hidden
   */
  export function invokeElementMethod(element, name) {
      var args = [];
      for (var _i = 2; _i < arguments.length; _i++) {
          args[_i - 2] = arguments[_i];
      }
      if (element && element.nativeElement) {
          return element.nativeElement[name].apply(element.nativeElement, args);
      }
  }
  /**
   * @hidden
   */
  export function isDocumentAvailable() {
      return typeof document !== 'undefined';
  }
  /**
   * @hidden
   */
  export var isUntouched = function (element) {
      return element && element.nativeElement && hasClass(element.nativeElement, UNTOUCHED);
  };
  var w = function () { return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); };
  /**
   * @hidden
   */
  export var guid = function () { return "" + w() + w() + "-" + w() + "-" + w() + "-" + w() + "-" + w() + w() + w(); };
  