import { DataSource } from '@angular/cdk/collections'; import { FlatTreeControl } from '@angular/cdk/tree'; import { BehaviorSubject, Observable } from 'rxjs'; import { TreeNode } from '../models/tree-node.interface'; import { TreeResponse } from '../models/tree-response.interface'; import * as i0 from "@angular/core"; export declare abstract class TreeService extends DataSource { readonly treeControl: FlatTreeControl; treeNodesSource: BehaviorSubject; get treeNodes(): T[]; set treeNodes(nodes: T[]); constructor(); abstract getSubNodes(parentNodeId: string, skipCount?: number, maxItems?: number, searchTerm?: string): Observable>; /** * Expands node applying subnodes to it. * * @param nodeToExpand Node to be expanded * @param subNodes List of nodes that will be added as children of expanded node */ expandNode(nodeToExpand: T, subNodes: T[]): void; /** * Collapses a node removing all children from it. * * @param nodeToCollapse Node to be collapsed */ collapseNode(nodeToCollapse: T): void; /** * Append more child nodes to already expanded parent node * * @param nodeToAppend Expanded parent node * @param subNodes List of nodes that will be added as children of expanded node */ appendNodes(nodeToAppend: T, subNodes: T[]): void; /** * Removes provided node from the tree * * @param node Node to be removed */ removeNode(node: T): void; /** * Gets children of the node * * @param parentNode Parent node * @returns children of parent node */ getChildren(parentNode: T): T[]; /** * Checks if tree is empty * * @returns boolean */ isEmpty(): boolean; /** * Gets parent node of given node. If node with parentNodeId is not found it returns undefined. * * @param parentNodeId Id of a parent node to be found * @returns parent node or undefined when not found */ getParentNode(parentNodeId: string): T | undefined; connect(): Observable; disconnect(): void; private collapseInnerNode; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; }