import { FlatTreeControl } from '@angular/cdk/tree';
import { ChangeDetectorRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { MatIconRegistry } from '@angular/material/icon';
import { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';
import { DomSanitizer } from '@angular/platform-browser';
import { QMSIconRegistryService } from '../app-icon/icon-registry.service';
import { DataType } from '../related/common/data-type.enum';
import { ItemIconType } from '../related/common/item-icon-type.enum';
import { NewTreeModel } from './model/tree.model';
import { TreeFlatNode } from '../tree/model/tree-flat-node.model';
import { TreeConfig } from '../tree/model/tree-config.model';
interface TreeNode {
    id: string;
    name: string;
    children?: TreeNode[];
    parentId?: string;
    levelType?: number;
    expandable: boolean;
}
interface ICheckedNode {
    id: string;
    checked: boolean;
}
export declare class NewTreeComponent implements OnInit, OnChanges {
    private cdRef;
    private domSanitizer;
    private iconRegistry;
    private appIconService;
    treeData: Array<NewTreeModel>;
    treeConfig: TreeConfig;
    selectedData: Array<TreeFlatNode>;
    selectedRiskData: any;
    disabledList: any;
    expandOnTitleClick: boolean;
    expandToChildNode: any;
    parentNodeOnClick: TreeFlatNode;
    selectNodeEvent: EventEmitter<TreeFlatNode>;
    selectFolderEvent: EventEmitter<TreeFlatNode>;
    checkBoxEvent: EventEmitter<TreeFlatNode[]>;
    childCheckedEvent: EventEmitter<ICheckedNode>;
    nodeExpandEvent: EventEmitter<TreeFlatNode>;
    getChildNodeSelectOne: EventEmitter<any>;
    treeControlNodes: EventEmitter<any>;
    listParentObj: {};
    filterData: NewTreeModel[];
    treeObject: object;
    arrIndex: string[];
    checkedNodeList: Array<TreeFlatNode>;
    useExpandFeature: boolean;
    allowSelectFolder: boolean;
    areaOfCurrentProcess: string;
    showCheckBox: boolean;
    allowMultipleCheck: boolean;
    singleSelectedNode: boolean;
    onlyCheckBoxForChild: boolean;
    onlyFolder: boolean;
    itemIconType: typeof ItemIconType;
    displayType: number;
    openIcon: string;
    openIconColor: string;
    closeIcon: string;
    closeIconColor: string;
    itemIcon: string;
    itemIconSvg: string;
    itemIconPath: string;
    itemIconBase64: string;
    moduleId: number;
    treeControl: FlatTreeControl<TreeFlatNode, TreeFlatNode>;
    isChecked: boolean;
    checklistSelection: any;
    idCheckIcon: string;
    listChildNode: any[];
    dataType: typeof DataType;
    expandedNode: TreeFlatNode[];
    constructor(cdRef: ChangeDetectorRef, domSanitizer: DomSanitizer, iconRegistry: MatIconRegistry, appIconService: QMSIconRegistryService);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    initTreeData(): void;
    getParent(node: TreeFlatNode): TreeFlatNode;
    openExpandToChildNode(): void;
    checkDisabledList(): void;
    getChild(obj: any): void;
    sortDataTree(obj: any): any;
    getImagePath(): string;
    checkSelected(itemSelected: TreeFlatNode[]): void;
    checkSelectedSameNode(itemSelected: TreeFlatNode[], flag: boolean): void;
    private getItemIconType;
    private transformer;
    treeFlattener: MatTreeFlattener<TreeNode, {
        expandable: boolean;
        name: string;
        level: number;
        id: string;
        hasChild: boolean;
        parentId: string;
        disabled: boolean;
        levelType: number;
    }, {
        expandable: boolean;
        name: string;
        level: number;
        id: string;
        hasChild: boolean;
        parentId: string;
        disabled: boolean;
        levelType: number;
    }>;
    dataSource: MatTreeFlatDataSource<TreeNode, TreeFlatNode, TreeFlatNode>;
    /** Whether all the descendants of the node are selected */
    descendantsAllSelected(node: TreeFlatNode): boolean;
    /** Whether part of the descendants are selected */
    descendantsPartiallySelected(node: TreeFlatNode): boolean;
    /** Toggle the to-do item selection. Select/deselect all the descendants node */
    todoItemSelectionToggle(node: TreeFlatNode): void;
    todoChildSelectionToggle(node: TreeFlatNode): void;
    todoItemSelection(nodes: TreeNode[]): void;
    todoItemSelectionProcessDocument(nodes: TreeNode[]): void;
    todoFolderSelection(nodes: TreeNode[]): void;
    hasChild: (_: number, node: TreeFlatNode) => boolean;
    selectNode(node: TreeFlatNode): void;
    checkDataTypeSelectNode(node: TreeFlatNode): number;
    selectFolder(node: TreeFlatNode): void;
    onExpandNode(node: TreeFlatNode, isExpandNode?: boolean): void;
    removeChildren(parentElement?: TreeNode): void;
    addChildren(parentElement?: TreeNode, childrenList?: TreeNode[]): void;
    getNodeIndex(id: string, level?: number, data?: any[]): number;
    getChildNode(rootId: string, data: any): TreeNode;
    findChildNode(id: string, data: TreeNode[]): any;
    refreshTreeData(): void;
    getNodeIcon(node: TreeFlatNode): string;
    getItemIcon(node: any): "process" | "document" | "document_local" | "document_enterprise" | "document_department" | "document_regional" | "deviation" | "checklist" | "risk";
    getNodeId(node: TreeFlatNode): string;
    getNodeByIdAndParentId(nodeId: string, parentId: string): TreeFlatNode;
    expandNode(node: TreeFlatNode): void;
    idToCheckSelectOne(id: any, parentId: any): string;
}
export {};
