text: /**
   * @fileoverview added by tsickle
   * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
   */
  /**
   * @license
   * Copyright Google LLC All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  import { DataSource } from '@angular/cdk/collections';
  import { BehaviorSubject, merge } from 'rxjs';
  import { map } from 'rxjs/operators';
  /**
   * Data source for nested tree.
   *
   * The data source for nested tree doesn't have to consider node flattener, or the way to expand
   * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.
   * @template T
   */
  export class MatTreeNestedDataSource extends DataSource {
      constructor() {
          super(...arguments);
          this._data = new BehaviorSubject([]);
      }
      /**
       * Data for the nested tree
       * @return {?}
       */
      get data() { return this._data.value; }
      /**
       * @param {?} value
       * @return {?}
       */
      set data(value) { this._data.next(value); }
      /**
       * @param {?} collectionViewer
       * @return {?}
       */
      connect(collectionViewer) {
          return merge(...[collectionViewer.viewChange, this._data])
              .pipe(map((/**
           * @return {?}
           */
          () => {
              return this.data;
          })));
      }
      /**
       * @return {?}
       */
      disconnect() {
          // no op
      }
  }
  if (false) {
      /** @type {?} */
      MatTreeNestedDataSource.prototype._data;
  }
  //# sourceMappingURL=nested-data-source.js.map