import { CollectionViewer } from '@angular/cdk/collections';
import { BehaviorSubject, Observable } from 'rxjs';
import { FlatTreeControl } from '@angular/cdk/tree';
import { TreeBaseNode } from '../models/tree-view.model';
import { TreeViewService } from '../services/tree-view.service';
import * as i0 from "@angular/core";
export declare class TreeViewDataSource {
    private treeControl;
    private treeViewService;
    treeNodes: TreeBaseNode[];
    dataChange: BehaviorSubject<TreeBaseNode[]>;
    childrenSubscription: any;
    changeSubscription: any;
    get data(): TreeBaseNode[];
    set data(value: TreeBaseNode[]);
    constructor(treeControl: FlatTreeControl<TreeBaseNode>, treeViewService: TreeViewService);
    connect(collectionViewer: CollectionViewer): Observable<TreeBaseNode[]>;
    disconnect(): void;
    private expandTreeNodes;
    private reduceTreeNodes;
    private expandNode;
    toggleNode(node: TreeBaseNode): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TreeViewDataSource, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TreeViewDataSource>;
}
