import { Observable } from 'rxjs';
import { NodeItem } from '../model/node-item';
import { NodeState } from '../model/node-state';
import { TreeOptions } from '../model/tree-options';
import { TreeCallbacks } from '../model/tree-callbacks';
import * as i0 from "@angular/core";
export declare class TreeService {
    options: TreeOptions;
    callbacks: TreeCallbacks;
    treeState: NodeState[];
    nodeItems: NodeItem<any>[];
    private selectedItems;
    private selectedStates;
    private filterValue;
    private selectedItemsSubject;
    private filterChangeSubject;
    constructor();
    toggleSelected(state: NodeState): void;
    toggleSelectedState(state: any, ignoreDisabled: boolean): void;
    setInitialState(): void;
    childStateChanged(state: NodeState): void;
    checkBoxClick(state: NodeState): void;
    nameClick(state: NodeState): void;
    toggleExpanded(value: boolean): void;
    clear(): void;
    addNodeById(nodeState: NodeState, id: string): void;
    selectById(id: string): void;
    editNameById(id: string, name: string): void;
    editItemById(id: string, item: any): void;
    deleteById(id: string): void;
    deleteByState(state: NodeState): void;
    expandById(id: string): void;
    collapseById(id: string): void;
    reEvaluateSelectedState(state: NodeState): void;
    filterChanged(value: string): void;
    canToggleChildrenOnName(): boolean;
    getParentById(id: string): NodeItem<any>;
    forceFilterTraverse(): void;
    private setInitialSelectedState;
    private delete;
    private toggleExpandedTraverse;
    private deleteRoot;
    private isDisabled;
    private addNewNode;
    private remove;
    private anyChildSelected;
    private allChildrenSelected;
    private toggleExpandedTraverseAsc;
    private setUnchecked;
    private setIndeterminate;
    private anyActiveSelected;
    private hasNoChildren;
    private setChecked;
    private addSelected;
    private removeSelected;
    private findById;
    private getNodeState;
    connect(): Observable<any[]>;
    applyFilter(state: NodeState, filter: string): boolean;
    private filter;
    private filterTraverse;
    static ɵfac: i0.ɵɵFactoryDeclaration<TreeService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TreeService>;
}
