/**
 * @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, DropClue } from '@progress/kendo-react-data-tools';
import { ExtendedColumnProps } from '../GridColumn.js';
import * as React from 'react';
/**
 * @hidden
 */
export type handler = (prevIndex: number, nextIndex: number, nativeEvent: any) => void;
/**
 * @hidden
 */
export declare class CommonDragLogic {
    refDragElementClue: React.RefObject<DragClue | null>;
    refDropElementClue: React.RefObject<DropClue | null>;
    columns: ExtendedColumnProps[];
    reorderable: boolean;
    groupable: boolean;
    dir: string | undefined;
    private startColumn;
    private startGroup;
    private currentColumn;
    private currentGroup;
    private columnReorder;
    private groupReorder;
    private columnToGroup;
    private groupPanelDivElement;
    get dragClueRef(): React.RefObject<DragClue | null>;
    get dropClueRef(): React.RefObject<DropClue | null>;
    get getCurrentGroupsLength(): number;
    private get dragElementClue();
    private get dropElementClue();
    constructor(columnReorder: handler, groupReorder: handler, columnToGroup: handler);
    refGroupPanelDiv: (e: any) => void;
    pressHandler: (event: any, element: HTMLTableRowElement | HTMLDivElement) => void;
    dragHandler: (event: any, element: HTMLTableRowElement | HTMLDivElement) => void;
    releaseHandler: (event: any) => void;
    private getColumnIndex;
    private getEventTarget;
    private isTargetGroupingContainer;
    private getGroupIndex;
    private isValid;
    private updateDragElementClue;
    private updateDropElementClue;
}
