import type React from "react";
export type DragMode = "move" | "resize-left" | "resize-right" | "progress";
export interface DragResult {
    mode: DragMode;
    daysDelta: number;
    newProgress: number;
}
interface UseGanttDragOptions {
    dayWidth: number;
    mode: DragMode;
    barWidthPx: number;
    originalProgress: number;
    disabled?: boolean;
    onDragEnd: (result: DragResult) => void;
    onDragStateChange?: (isDragging: boolean, deltaX: number) => void;
}
interface UseGanttDragReturn {
    isDragging: boolean;
    didDrag: boolean;
    dragDeltaX: number;
    dragProgress: number;
    handlePointerDown: (e: React.PointerEvent) => void;
}
export declare function useGanttDrag({ dayWidth, mode, barWidthPx, originalProgress, disabled, onDragEnd, onDragStateChange, }: UseGanttDragOptions): UseGanttDragReturn;
export {};
