text: "use strict";
  var _ = require('lodash');
  var FoldingType = (function () {
      function FoldingType(_cssClass) {
          this._cssClass = _cssClass;
      }
      Object.defineProperty(FoldingType.prototype, "cssClass", {
          get: function () {
              return this._cssClass;
          },
          enumerable: true,
          configurable: true
      });
      FoldingType.Expanded = new FoldingType('node-expanded');
      FoldingType.Collapsed = new FoldingType('node-collapsed');
      FoldingType.Leaf = new FoldingType('node-leaf');
      return FoldingType;
  }());
  exports.FoldingType = FoldingType;
  var TreeModelSettings = (function () {
      function TreeModelSettings() {
      }
      TreeModelSettings.merge = function (sourceA, sourceB) {
          return _.defaults({}, _.get(sourceA, 'settings'), _.get(sourceB, 'settings'), { static: false });
      };
      return TreeModelSettings;
  }());
  exports.TreeModelSettings = TreeModelSettings;
  (function (TreeStatus) {
      TreeStatus[TreeStatus["New"] = 0] = "New";
      TreeStatus[TreeStatus["Modified"] = 1] = "Modified";
      TreeStatus[TreeStatus["IsBeingRenamed"] = 2] = "IsBeingRenamed";
  })(exports.TreeStatus || (exports.TreeStatus = {}));
  var TreeStatus = exports.TreeStatus;
  //# sourceMappingURL=tree.types.js.map