import { EventEmitter, AfterViewInit, ElementRef, QueryList, OnDestroy } from '@angular/core';
import { ITreeItem, TreeNode } from './tree-factory.class';
import { TreeComponent } from './tree.component';
import { ICheckboxInput } from './tree.types';
import { I18nService, I18nInterface } from '@duoduo-oba/ng-devui/i18n';
import { Subscription } from 'rxjs';
export declare class OperableTreeComponent implements AfterViewInit, OnDestroy {
    private i18n;
    tree: Array<ITreeItem>;
    treeNodeIdKey: string;
    treeNodeChildrenKey: string;
    checkboxDisabledKey: string;
    iconParentOpen: string;
    iconParentClose: string;
    iconLeaf: string;
    showLoading: boolean;
    checkable: boolean;
    deletable: boolean;
    addable: boolean;
    editable: boolean;
    draggable: boolean;
    checkboxInput: ICheckboxInput;
    beforeAddNode: (node: TreeNode) => Promise<any>;
    beforeDeleteNode: (node: TreeNode) => Promise<any>;
    beforeNodeDrop: (drageNodeId: string, dropNodeId: string) => Promise<any>;
    beforeEditNode: (node: TreeNode) => Promise<any>;
    canActivateNode: boolean;
    canActivateParentNode: boolean;
    treeNodeTitleKey: string;
    postAddNode: (node: TreeNode) => Promise<any>;
    iconTemplatePosition: string;
    nodeSelected: EventEmitter<any>;
    nodeDblClicked: EventEmitter<any>;
    nodeDeleted: EventEmitter<any>;
    nodeToggled: EventEmitter<any>;
    nodeChecked: EventEmitter<any>;
    nodeEdited: EventEmitter<any>;
    editValueChange: EventEmitter<any>;
    nodeOnDrop: EventEmitter<any>;
    operableTree: TreeComponent;
    iconTemplate: any;
    nodeTemplate: any;
    operatorTemplate: any;
    statusTemplate: any;
    private addingNode;
    private treeNodeDragoverResponder;
    treeNodeContent: QueryList<ElementRef>;
    elementAsMask: any;
    i18nCommonText: I18nInterface['common'];
    i18nSubscription: Subscription;
    constructor(i18n: I18nService);
    ngAfterViewInit(): void;
    addBackGround(e: any): void;
    removeBackGround(e: any): void;
    onDragstart(event: any, treeNode: any): void;
    onDragover(event: any, droppable: any, treeNode: any): void;
    onDragleave(event: any, treeNode: any): void;
    onDrop(event: any, newParentNode: any): void;
    selectNode(event: any, treeNode: TreeNode): void;
    toggleNode(event: any, treeNode: TreeNode): void;
    deleteNodes(event: any, treeNode: TreeNode): void;
    deleteNodesProxy: (event: any, treeNode: TreeNode) => void;
    addChildNode(event: any, treeNode: TreeNode, newNode?: any): void;
    addChildNodeProxy: (event: any, treeNode: TreeNode, newNode?: any) => void;
    editNode(event: any, treeNode: TreeNode): void;
    editNodeProxy: (event: any, treeNode: TreeNode) => void;
    checkNodeById(checked: boolean, id: number): void;
    onBlurEdit(treeNode: any): Promise<any>;
    onInputChange(currentValue: any, treeNode: any): void;
    treeNodeHover(treeNode: any, type: any): void;
    isSelectedNode(node: any): any;
    readonly nodes: any[];
    private postEditNode;
    appendTreeItems(treeItems: Array<ITreeItem>, parentId: any): void;
    readonly treeFactory: import("./tree-factory.class").TreeFactory;
    checkNode(checked: any, treeNode: TreeNode): void;
    nodeDblClick(event: any, node: any): void;
    ngOnDestroy(): void;
}
