import { Observable } from 'rxjs'; import { NbCollectionViewer } from '../../cdk/collections/collection-viewer'; import { NbDataSource } from '../../cdk/table/data-source'; import { NbSortable, NbSortRequest } from '../tree-grid-sort.component'; import { NbTreeGridDataService } from './tree-grid-data.service'; import { NbTreeGridFilterService } from './tree-grid-filter.service'; import { NbTreeGridSortService } from './tree-grid-sort.service'; import { NbGetters, NbTreeGridPresentationNode } from './tree-grid.model'; import { NbToggleOptions, NbTreeGridService } from './tree-grid.service'; export interface NbFilterable { filter(filterRequest: string): any; } export declare class NbTreeGridDataSource extends NbDataSource> implements NbSortable, NbFilterable { 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: NbTreeGridSortService, filterService: NbTreeGridFilterService, treeGridService: NbTreeGridService, treeGridDataService: NbTreeGridDataService); setData(data: N[], customGetters?: NbGetters): void; connect(collectionViewer: NbCollectionViewer): Observable[] | ReadonlyArray>>; disconnect(collectionViewer: NbCollectionViewer): void; expand(row: T): void; collapse(row: T): void; toggle(row: T, options?: NbToggleOptions): void; toggleByIndex(dataIndex: number, options?: NbToggleOptions): void; getLevel(rowIndex: number): number; sort(sortRequest: NbSortRequest): void; filter(searchQuery: string): void; protected updateChangeSubscription(): void; private filterData; private sortData; } export declare class NbTreeGridDataSourceBuilder { private filterService; private sortService; private treeGridService; private treeGridDataService; constructor(filterService: NbTreeGridFilterService, sortService: NbTreeGridSortService, treeGridService: NbTreeGridService, treeGridDataService: NbTreeGridDataService); create(data: N[], customGetters?: NbGetters): NbTreeGridDataSource; }