import { IApiPayload, IApiSuccess, IChildrenFetcherResponse } from '../../../../../_common';
import { IGetTree, ITreeRequest, IClearTreeNode, ITenantTreeNode, ICategoryTreeRequest, IFlatCategoryTreeRequest } from './TreeNodeValueController.models';

export declare const treeNodeValueControllerApi: {
    /** Allows to delete specific nodes from a treeNodeValue for given entities; Rescue if used nodes have been deleted */
    clearTreeNode(query: IClearTreeNode): Promise<IApiSuccess>;
    /** Get category tree based on language, scope and attribute id in a tree structure */
    getCategoryTree(query: ICategoryTreeRequest): Promise<IChildrenFetcherResponse<ITenantTreeNode>>;
    /** Get attribute tree based on language, scope and attribute id in a flat array structure with ID as key */
    getFlatCategoryTree(query: IFlatCategoryTreeRequest): Promise<IChildrenFetcherResponse<ITenantTreeNode>>;
    /** Get attribute tree based on language, scope and attribute id in a flat array structure with ID as key */
    getTree(query: ITreeRequest): Promise<IApiPayload<IGetTree>>;
};
