import { EventEmitter, OnInit, TemplateRef } from '@angular/core';
import { TreeNode } from './treenode';
import { TreeNodeParent } from './treenodeparent';
export declare class TreeComponent implements OnInit {
    /** tree node selection event */
    onNodeSelect: EventEmitter<{}>;
    /** tree node expand event */
    onExpandNode: EventEmitter<{}>;
    /**
     * input tree-nodes value
     * @default []
     */
    treeData: TreeNode[];
    /**
     * input four mode, have '', 'candidate', 'selected', 'navigation' four modes
     * @default ''
     */
    selectionMode: string;
    /**
     * Whether is disabled or not
     * @default false
     */
    disabled: boolean;
    /**
     * Whether upward propagation events, default: true
     * @default true
     */
    propagateSelectionUp: boolean;
    /**
     * Whether downward propagation events, default: true
     * @default true
     */
    propagateSelectionDown: boolean;
    /**
     * support custom template
     */
    optionTpl: TemplateRef<any>;
    /** private variable tree-list
     *  @docs-private
     */
    private _treeList;
    constructor();
    ngOnInit(): void;
    /**
     * transfer tree to list
     * @docs-private
     */
    transferTreeToList(treeData: object[]): void;
    /**
     * tree node expand event
     * @docs-private
     */
    expandNode(event: TreeNode): void;
    /**
     * listen tree-node click event
     * @docs-private
     */
    onNodeClick(node: TreeNode): void;
    /**
     * candidate mode click event handler
     * @docs-private
     */
    clickCandidate(node: TreeNode): void;
    /**
     * selected mode click event handler
     * @docs-private
     */
    clickSelected(node: TreeNode): void;
    /**
     * click navigation node
     * @param node
     * @docs-private
     */
    clickNavigation(node: TreeNode): void;
    /**
     * select event downward propagate handler
     * @docs-private
     */
    propagateDown(node: TreeNode, select: boolean): void;
    /**
     * select event upward propagate handler
     * @docs-private
     */
    propagateUp(node: TreeNode, select: boolean): void;
    /**
     * get tree-node parent tree-node
     * @docs-private
     */
    getParent(treeNodeParent: TreeNodeParent): TreeNode | undefined;
}
