/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { DragClue } from './DragClue.js'; import { DropClue } from './DropClue.js'; import { FilterCellProps } from '../filteringCells/index.js'; import { ExtendedColumnProps, CellProps, HeaderCellProps } from './../header/index.js'; /** * @hidden */ export type handler = (prevIndex: number, nextIndex: number, nativeEvent: any) => void; /** * @hidden */ export declare class CommonDragLogic { columns: ExtendedColumnProps[]; reorderable: boolean; groupable: boolean; private startColumn; private startGroup; private currentColumn; private currentGroup; private columnReorder; private groupReorder; private columnToGroup; private dropElementClue; private dragElementClue; private groupPanelDivElement; constructor(columnReorder: handler, groupReorder: handler, columnToGroup: handler); refGroupPanelDiv: (e: HTMLDivElement | null) => void; refDropElementClue: (e: DropClue | null) => void; refDragElementClue: (e: DragClue | null) => void; pressHandler: (event: any, element: HTMLTableRowElement | HTMLDivElement) => void; dragHandler: (event: any, element: HTMLTableRowElement | HTMLDivElement) => void; releaseHandler: (event: any) => void; private getColumnIndex; private getGroupIndex; private isValid; private updateDragElementClue; private updateDropElementClue; }