import { TreeViewModel } from "@genexus/chameleon-controls-library";
import { ObjectData, KBPropertyData, KBPropertyType } from "./types";
import { ObjectType } from "../../common/types";
export declare const KB_PROPERTY = "property";
export declare const KB_OBJECT = "object";
/**
 * Updates the tree model with the provided objects.
 * Objects may already exist and are placed under their parent node.
 * If the parent node doesn't exist (identified by typeId on ObjectTypes),
 * it is created and added at the bottom.
 *
 * @param {ObjectData[] | undefined} objects - The array of objects to update.
 * @param {Map<string, ObjectType>} objectTypesMap - A map of object types by ID.
 * @param {Set<string>} objectsSet - A set of existing object IDs.
 * @param {TreeViewModel} actualTreeState - The current tree state to be updated.
 * @returns {TreeViewModel} - The updated tree view model.
 */
export declare const updateObjectsTreeModel: (objects: ObjectData[] | undefined, objectTypesMap: Map<string, ObjectType>, objectsSet: Set<string>, actualTreeState: TreeViewModel) => TreeViewModel;
/**
 * Converts an array of KB properties data into tree item data for a tree view.
 *
 * @param {KBPropertyData[]} properties - The array of KB property data.
 * @param {KBPropertyType[]} kbPropertiesTypes - The array of KB property types.
 * @param {TreeViewModel} actualTreeState - The current state of the tree.
 * @returns {TreeViewModel} - The updated tree view item models.
 */
export declare const convertKbPropertiesDataToTreeItemData: (properties: KBPropertyData[], kbPropertiesTypes: KBPropertyType[], actualTreeState: TreeViewModel) => TreeViewModel;
/**
 * Removes properties from the tree model.
 *
 * @param {TreeViewModel} actualTreeState - The current state of the tree,
 * containing various tree view items.
 * @returns {TreeViewModel} - A new array of tree view items that excludes
 * any items with metadata of type `KB_PROPERTY`.
 */
export declare const clearKbPropertiesFromTree: (actualTreeState: TreeViewModel) => TreeViewModel;
