import { IElementDto } from '../model/ava-models';
import { SelectedElement, SelectingElementsType } from '../model/selecting.model';
import * as i0 from "@angular/core";
export declare class TreeNodeSelectionService {
    private treeNodeSelectingSource;
    treeNodeSelecting: import("rxjs").Observable<{
        [elementId: string]: SelectingElementsType;
    }>;
    private _selectingElementsTreeData;
    private selectingChangedSource;
    selectingChanged: import("rxjs").Observable<SelectingElementsType[]>;
    flatSelectedListId: string[];
    constructor();
    setSelectingChanged(selectingChanged: SelectingElementsType[]): void;
    loadSelectingElements(elements: IElementDto[] | null | undefined, parent?: SelectingElementsType | null | undefined): SelectingElementsType[];
    getTreeData(): SelectingElementsType[] | null;
    private changeAllChild;
    private changeAllParent;
    changeSelecting(value: boolean, id: string, isUserChanged?: boolean): void;
    private getIndeterminate;
    changeAll(value: boolean): void;
    getFlatSelectedListId(selectedElements: SelectedElement[]): void;
    getTreeRoot(treeRoot: SelectingElementsType[]): SelectingElementsType[];
    static ɵfac: i0.ɵɵFactoryDeclaration<TreeNodeSelectionService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TreeNodeSelectionService>;
}
