/**
 * Copyright IBM Corp. 2021, 2025
 * SPDX-License-Identifier: MPL-2.0
 */
import Component from '@glimmer/component';
import type { HdsAdvancedTableNormalizedColumn, HdsAdvancedTableColumnReorderSide } from './types.ts';
import type { HdsAdvancedTableSignature } from './index';
export interface HdsAdvancedTableThReorderDropTargetSignature {
    Args: {
        column?: HdsAdvancedTableNormalizedColumn;
        draggedColumnKey?: HdsAdvancedTableNormalizedColumn['key'] | null;
        isFirstColumn: boolean;
        isLastColumn: boolean;
        hasSelectableRows?: HdsAdvancedTableSignature['Args']['isSelectable'];
        reorderHoveredColumnKey?: HdsAdvancedTableNormalizedColumn['key'] | null;
        draggedColumnSiblingColumnKeys?: {
            previous?: HdsAdvancedTableNormalizedColumn['key'];
            next?: HdsAdvancedTableNormalizedColumn['key'];
        };
        tableHeight?: number;
        onReorderDrop?: (columnKey: HdsAdvancedTableNormalizedColumn['key'], side: HdsAdvancedTableColumnReorderSide) => void;
        onSetReorderHoveredColumnKey?: (key: HdsAdvancedTableNormalizedColumn['key'] | null) => void;
    };
    Blocks: {
        default?: [];
    };
    Element: HTMLDivElement;
}
export default class HdsAdvancedTableThReorderDropTarget extends Component<HdsAdvancedTableThReorderDropTargetSignature> {
    private _dragSide;
    private _isUpdateQueued;
    private _element;
    private _registerElement;
    private _getDragSide;
    get isBeingDragged(): boolean;
    get isDraggingOver(): boolean;
    get classNames(): string;
    get height(): string | undefined;
    handleDragOver(event: DragEvent): void;
    handleDrop(event: DragEvent): void;
}
