import { SelectionModel } from '@angular/cdk/collections';
import { FlatTreeControl } from '@angular/cdk/tree';
import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';
import { Subject } from 'rxjs';
import { QMSFlatNodeTree } from '../../common/models/qms-flat-node.model';
import { QMSTreeConfig } from '../../common/models/qms-tree-config.model';
import { QMSTreeNode } from '../../common/models/qms-tree-node.model';
import { QMSTreeGlobalService } from '../../services/qms-tree-global.service';
import * as i0 from "@angular/core";
export declare class QMSBasicTreeComponent implements OnInit, OnChanges, OnDestroy {
    qmsTreeService: QMSTreeGlobalService;
    private cdRef;
    ngUnsubscribe: Subject<void>;
    treeData: Array<QMSTreeNode>;
    treeConfig: QMSTreeConfig;
    openNodes: string[];
    disabledList: string[];
    nodeExpand: EventEmitter<any>;
    onClickNodeEvent: EventEmitter<any>;
    checkBoxEvent: EventEmitter<QMSFlatNodeTree[]>;
    treeControl: FlatTreeControl<QMSFlatNodeTree, QMSFlatNodeTree>;
    treeFlattener: MatTreeFlattener<QMSTreeNode, {
        expandable: boolean;
        name: string;
        level: number;
        id: string;
        parentId: string;
        itemIcon: string;
        itemMatIcon: string;
        itemIconSvg: string;
        isFile: boolean;
        disabled: boolean;
        markedGetChildren: boolean;
    }, {
        expandable: boolean;
        name: string;
        level: number;
        id: string;
        parentId: string;
        itemIcon: string;
        itemMatIcon: string;
        itemIconSvg: string;
        isFile: boolean;
        disabled: boolean;
        markedGetChildren: boolean;
    }>;
    dataSource: MatTreeFlatDataSource<QMSTreeNode, QMSFlatNodeTree, QMSFlatNodeTree>;
    expandingNodes: QMSFlatNodeTree[];
    checklistSelection: SelectionModel<QMSFlatNodeTree>;
    activeNode: string;
    selectedSearchItem: string;
    guidHelper: {
        empty: string;
    };
    configInternal: QMSTreeConfig;
    constructor(qmsTreeService: QMSTreeGlobalService, cdRef: ChangeDetectorRef);
    _transformer(node: QMSTreeNode, level: number): {
        expandable: boolean;
        name: string;
        level: number;
        id: string;
        parentId: string;
        itemIcon: string;
        itemMatIcon: string;
        itemIconSvg: string;
        isFile: boolean;
        disabled: boolean;
        markedGetChildren: boolean;
    };
    hasChild: (_: number, node: QMSFlatNodeTree) => boolean;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    findAndExpandNodes(expandNewChild?: boolean): void;
    onClickNode(node: QMSFlatNodeTree): void;
    onCheckNode(node: QMSFlatNodeTree): void;
    onExpandNode(node: QMSFlatNodeTree): void;
    private _addExpandingNode;
    private _removeExpandingNodes;
    ngOnDestroy(): void;
    convertTreeData(list: any): any[];
    static ɵfac: i0.ɵɵFactoryDeclaration<QMSBasicTreeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<QMSBasicTreeComponent, "qms-basic-tree", never, { "treeData": { "alias": "treeData"; "required": false; }; "treeConfig": { "alias": "treeConfig"; "required": false; }; "openNodes": { "alias": "openNodes"; "required": false; }; "disabledList": { "alias": "disabledList"; "required": false; }; }, { "nodeExpand": "nodeExpand"; "onClickNodeEvent": "onClickNodeEvent"; "checkBoxEvent": "checkBoxEvent"; }, never, never, false, never>;
}
