import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
import { InternalTreeNodeItem, TreeNodeEdit, TreeNodeItem } from './Models/tree.models';
import * as i0 from "@angular/core";
export declare class TreeComponent implements OnChanges {
    treeData: TreeNodeItem[];
    private _selected;
    get selected(): TreeNodeItem[];
    set selected(value: TreeNodeItem[] | TreeNodeItem | undefined);
    loading: boolean;
    selectionMode: 'single' | 'multiple';
    showCheckbox: boolean;
    allExpanded: boolean;
    selectedChange: EventEmitter<TreeNodeItem[] | TreeNodeItem>;
    treeNodeItemClicked: EventEmitter<TreeNodeItem>;
    treeNodeEdit: EventEmitter<TreeNodeEdit>;
    nodeExpanded: EventEmitter<TreeNodeItem>;
    nodeCollapsed: EventEmitter<TreeNodeItem>;
    ngOnChanges(changes: SimpleChanges): void;
    onTreeNodeItemClicked({ item }: {
        item: InternalTreeNodeItem;
    }): void;
    onTreeNodeEdit(payload: TreeNodeEdit): void;
    onNodeExpanded(item: InternalTreeNodeItem): void;
    onNodeCollapsed(item: InternalTreeNodeItem): void;
    private toggleChecked;
    private checkTreeDataChildren;
    private setSelected;
    private onChanges;
    private syncSelectedChanges;
    private collapseAll;
    private expandAll;
    private get selectedElements();
    private get multiple();
    static ɵfac: i0.ɵɵFactoryDeclaration<TreeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TreeComponent, "s-tree", never, { "treeData": { "alias": "treeData"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; }; "allExpanded": { "alias": "allExpanded"; "required": false; }; }, { "selectedChange": "selectedChange"; "treeNodeItemClicked": "treeNodeItemClicked"; "treeNodeEdit": "treeNodeEdit"; "nodeExpanded": "nodeExpanded"; "nodeCollapsed": "nodeCollapsed"; }, never, never, false, never>;
}
