import { QueryList, EventEmitter } from '@angular/core';
import { AsiComponentTemplateTreeNodeDef, AsiComponentTemplateTreeLeafDef } from './../common/asi-component-template';
import { AsiTreeViewNodeComponent } from './node/asi-tree-view-node.component';
import { AsiTreeViewService } from './asi-tree-view.service';
export declare class AsiTreeViewComponent {
    private asiTreeViewService;
    private baseData;
    filteredData: Array<any>;
    nodeDef: AsiComponentTemplateTreeNodeDef;
    leafDef: AsiComponentTemplateTreeLeafDef;
    /** Open icon (fontawesome) */
    iconOpen: string;
    /** Close icon (fontawesome) */
    iconClose: string;
    /** List of data to display */
    data: Array<any>;
    /** define the name of the sub nodes to display  */
    nodeName: string;
    /** If this function is define it's used to define if the node is a leaf */
    isLeaf: Function;
    /** Event emitted when a node is selected */
    onNodeSelected: EventEmitter<any>;
    nodes: QueryList<AsiTreeViewNodeComponent>;
    constructor(asiTreeViewService: AsiTreeViewService);
    openNode(nodeFinder: Function): void;
    closeAll(): void;
    openAll(): void;
    filterNodes(nodeFinder: Function, keepLeaves?: boolean, isLeaf?: Function): void;
    onNodeClicked(node: AsiTreeViewNodeComponent): void;
}
