import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges, TemplateRef } from '@angular/core';
import { I18nInterface, I18nService } from 'ng-devui/i18n';
import { DevConfigService } from 'ng-devui/utils';
import { Subject, Subscription } from 'rxjs';
import { Dictionary, ITreeItem, TreeFactory, TreeNode } from './tree-factory.class';
import * as i0 from "@angular/core";
export declare class TreeComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {
    private i18n;
    private devConfigService;
    treeFactory: TreeFactory;
    tree: Array<ITreeItem>;
    treeNodesRef: TemplateRef<any>;
    treeNodeIdKey: string;
    treeNodeChildrenKey: string;
    iconParentOpen: string;
    iconParentClose: string;
    iconLeaf: string;
    loadingTemplateRef: TemplateRef<any>;
    treeNodeTitleKey: string;
    checkboxDisabledKey: string;
    selectDisabledKey: string;
    toggleDisabledKey: string;
    virtualScroll: boolean;
    virtualScrollHeight: string;
    showAnimation: boolean;
    minBufferPx: number;
    maxBufferPx: number;
    itemSize: number;
    indent: string;
    /**
     * 默认不需要判断parentId是否undefined，有业务使用了空字符串作为非根目录的id，导致必须判断来区分，当业务整改后移除该判断
     * @deprecated
     */
    canIdEmpty: boolean;
    nodeSelected: EventEmitter<TreeNode>;
    nodeDblClicked: EventEmitter<TreeNode>;
    nodeRightClicked: EventEmitter<{
        node: TreeNode;
        event: MouseEvent;
    }>;
    nodeToggled: EventEmitter<TreeNode>;
    afterTreeInit: EventEmitter<Dictionary<TreeNode>>;
    treeNodeContent: QueryList<ElementRef>;
    viewPort: CdkVirtualScrollViewport;
    i18nCommonText: I18nInterface['common'];
    i18nSubscription: Subscription;
    treeNodes: any[];
    destroy$: Subject<void>;
    afterInitAnimate: boolean;
    constructor(i18n: I18nService, devConfigService: DevConfigService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    initTree(): void;
    ngAfterViewInit(): void;
    contextmenuEvent(event: any, node: any): void;
    selectNode(event: any, treeNode: TreeNode): void;
    toggleNode(event: any, treeNode: TreeNode): void;
    scrollToIndex(index: number): void;
    appendTreeItems(treeItems: Array<ITreeItem>, parentId: any): void;
    nodeDblClick(event: any, node: any): void;
    isSelectableRegion(ele: any): boolean;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TreeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TreeComponent, "d-tree", never, { "tree": { "alias": "tree"; "required": false; }; "treeNodesRef": { "alias": "treeNodesRef"; "required": false; }; "treeNodeIdKey": { "alias": "treeNodeIdKey"; "required": false; }; "treeNodeChildrenKey": { "alias": "treeNodeChildrenKey"; "required": false; }; "iconParentOpen": { "alias": "iconParentOpen"; "required": false; }; "iconParentClose": { "alias": "iconParentClose"; "required": false; }; "iconLeaf": { "alias": "iconLeaf"; "required": false; }; "loadingTemplateRef": { "alias": "loadingTemplateRef"; "required": false; }; "treeNodeTitleKey": { "alias": "treeNodeTitleKey"; "required": false; }; "checkboxDisabledKey": { "alias": "checkboxDisabledKey"; "required": false; }; "selectDisabledKey": { "alias": "selectDisabledKey"; "required": false; }; "toggleDisabledKey": { "alias": "toggleDisabledKey"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "virtualScrollHeight": { "alias": "virtualScrollHeight"; "required": false; }; "showAnimation": { "alias": "showAnimation"; "required": false; }; "minBufferPx": { "alias": "minBufferPx"; "required": false; }; "maxBufferPx": { "alias": "maxBufferPx"; "required": false; }; "itemSize": { "alias": "itemSize"; "required": false; }; "indent": { "alias": "indent"; "required": false; }; "canIdEmpty": { "alias": "canIdEmpty"; "required": false; }; }, { "nodeSelected": "nodeSelected"; "nodeDblClicked": "nodeDblClicked"; "nodeRightClicked": "nodeRightClicked"; "nodeToggled": "nodeToggled"; "afterTreeInit": "afterTreeInit"; }, never, never, false, never>;
}
