/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { TreeViewItemDragOverEvent, TreeViewItemDragEndEvent } from './events'; /** * A class which provides an API for analyzing the `drag` events * of the TreeView. * * {% meta height:400 %} * {% embed_file drag/single/main.vue preview %} * {% embed_file drag/single/main.js %} * {% endmeta %} * * ### destinationMeta { itemHierarchicalIndex: string; treeViewGuid: string; } * Returns an object which contains: * * The `itemHierarchicalIndex` of the destination item (the item below the dragged item) and * * The `guid` of the destination TreeView (the TreeView which renders the destination item). * * ### isDropAllowed boolean * Returns `true` if dropping is allowed. Otherwise, returns `false`. */ declare class TreeViewDragAnalyzer { private event; private itemId; private treeViewGuid; private initialized; private destDomNodeWithMeta; private destItemId; private destTreeViewGuid; /** * @param event - The event that will be analyzed. */ constructor(event: TreeViewItemDragOverEvent | TreeViewItemDragEndEvent); /** * The method which initializes the analyzer. * Invoke the method before you call any other methods. * * @returns - The analyzer object of the `drag` event. */ init(): this; /** * Returns `true` if dropping is allowed. Otherwise, returns `false`. */ get isDropAllowed(): boolean; /** * Returns an object which contains: * * The `itemHierarchicalIndex` of the destination item (the item below the dragged item) and * * The `guid` of the destination TreeView (the TreeView which renders the destination item). */ get destinationMeta(): { itemHierarchicalIndex: string; treeViewGuid: string; }; /** * Returns the specific drop operation. * * @returns - The following values are returned: * * `before`—Indicates that the dragged item is positioned at the beginning of the destination item. * * `after`—Indicates that the dragged item is positioned at the end of the destination item. * * `child`—Indicates that the dragged item is positioned in the middle of the destination item. * * `undefined`—Indicates that dropping is not allowed. */ getDropOperation(): "child" | "before" | "after"; private setDestimationMeta; } export { TreeViewDragAnalyzer };