import { Store, BackendResponse } from './Store';
import { HashMap } from '../typings/common';
export declare abstract class TreeStore<V> extends Store<V> {
    treeHashMap: HashMap<V>;
    constructor(params: any);
    useBackend(): boolean;
    getChildrenKey(): string;
    getChildren(node: any): V[] | void;
    addChild(parent: V, child: V): void;
    getParentKey(): string;
    getParent(node: V, hashMap?: HashMap<V>): V | undefined;
    getHashMap(): HashMap<V>;
    getNodeById(id: any): V | void;
    countItems(list: any): number;
    addParentsToResultArray(node: any, array: any, hashMap: any): void;
    addChildrenToResultArray(node: any, array: any, hashMap: any): void;
    getFilteredTree(list: any, hashMap: any): HashMap<V>;
    getItemsHashMap(data: any): HashMap<V>;
    assembleTree(nodes: any, hashMap: any): V[];
    convert(data: any): V[];
    calculate(data: any): void;
    applyCallbackToSubtree(node: any, index: any, fn: any, level?: number): void;
    applyCallbackToParents(node: any, fn: any): void;
    loadWithParams(): Promise<BackendResponse<V>>;
}
