import { DrawingID, IStructureObject, ObjectID, SelectedItem } from '@buerli.io/core';
/**
 * Implies the following data structure:
 * data: {
 *   object: IStructureObject
 * }
 */
export declare const TreeObjScope = "TreeObjScope";
export declare const createTreeObjSelItem: (productId: ObjectID, object: IStructureObject) => SelectedItem;
/**
 * Returns true if object in tree is currently selected in active selection.
 *
 * This hook leads to re-rendering of each element uses it.
 * It happens because it uses items of the active selection,
 * and it's not possible to check if objId is selected inside of useDrawing selector
 * because of performance reasone (it requires traversing through all of selectedItems).
 *
 * @param drawingId
 * @param objId
 * @returns
 */
export declare function useIsSelected(drawingId: DrawingID, objId: ObjectID): boolean;
export declare function useTreeObjSelection(drawingId: DrawingID, objId: ObjectID): {
    isHovered: boolean;
    isSelected: boolean;
    handlers: {};
};
