import { Observable } from 'rxjs'; import { ElCollectionViewer } from '../../cdk/collections/collection-viewer'; import { ElDataSource } from '../../cdk/table/data-source'; import { ElSortable, ElSortRequest } from '../tree-grid-sort.component'; import { ElTreeGridDataService } from './tree-grid-data.service'; import { ElTreeGridFilterService } from './tree-grid-filter.service'; import { ElTreeGridSortService } from './tree-grid-sort.service'; import { ElGetters, ElTreeGridPresentationNode } from './tree-grid.model'; import { ElToggleOptions, ElTreeGridService } from './tree-grid.service'; export interface ElFilterable { filter(filterRequest: string): any; } export declare class ElTreeGridDataSource extends ElDataSource> implements ElSortable, ElFilterable { private sortService; private filterService; private treeGridService; private treeGridDataService; /** Stream that emits when a new data array is set on the data source. */ private data; /** Stream emitting render data to the table (depends on ordered data changes). */ private readonly renderData; private readonly filterRequest; private readonly sortRequest; constructor(sortService: ElTreeGridSortService, filterService: ElTreeGridFilterService, treeGridService: ElTreeGridService, treeGridDataService: ElTreeGridDataService); setData(data: N[], customGetters?: ElGetters): void; connect(collectionViewer: ElCollectionViewer): Observable[] | ReadonlyArray>>; disconnect(collectionViewer: ElCollectionViewer): void; expand(row: T): void; collapse(row: T): void; toggle(row: T, options?: ElToggleOptions): void; toggleByIndex(dataIndex: number, options?: ElToggleOptions): void; getLevel(rowIndex: number): number; sort(sortRequest: ElSortRequest): void; filter(searchQuery: string): void; protected updateChangeSubscription(): void; private filterData; private sortData; } export declare class ElTreeGridDataSourceBuilder { private filterService; private sortService; private treeGridService; private treeGridDataService; constructor(filterService: ElTreeGridFilterService, sortService: ElTreeGridSortService, treeGridService: ElTreeGridService, treeGridDataService: ElTreeGridDataService); create(data: N[], customGetters?: ElGetters): ElTreeGridDataSource; }