import type VTableSheet from '../components/vtable-sheet';
export default class SheetTabDragManager {
    private sheet;
    private dragState;
    private insertIndicator;
    private boundMouseMove;
    private boundMouseUp;
    constructor(sheet: VTableSheet);
    handleTabMouseDown(e: MouseEvent, sheetKey: string): void;
    handleGlobalMouseMove(e: MouseEvent): void;
    handleGlobalMouseUp(e: MouseEvent): void;
    startDragging(): void;
    updateDragging(e: MouseEvent): void;
    endDragging(e: MouseEvent): void;
    createDragPreview(): void;
    updateDragPreview(e: MouseEvent): void;
    cleanupDragPreview(): void;
    calculateDropZones(): void;
    getDropZoneAt(x: number, y: number): (typeof this.dragState.dropZones)[0] | null;
    showInsertIndicator(dropZone: (typeof this.dragState.dropZones)[0]): void;
    hideInsertIndicator(): void;
    performTabReorder(sourceKey: string, targetKey: string, position: 'left' | 'right'): void;
    cleanupDragState(): void;
}
