import { type CSSProperties, type Ref } from 'vue';
import type { IPlacement } from '../IDrawerPropTypes';
export interface UseDragOptions {
    prefixCls: Ref<string>;
    direction: Ref<IPlacement>;
    className?: Ref<string>;
    style?: Ref<CSSProperties>;
    minSize?: Ref<number>;
    maxSize?: Ref<number>;
    containerRef?: Ref<any>;
    currentSize?: Ref<number | string>;
    onResize: (size: number) => void;
    onResizeEnd: (size: number) => void;
    onResizeStart: (size: number) => void;
}
export interface UseDragReturn {
    dragElementProps: Ref<{
        className: string;
        style: CSSProperties;
        onMousedown: (e: MouseEvent) => void;
    }>;
    isDragging: Ref<boolean>;
}
export default function useDrag(options: UseDragOptions): UseDragReturn;
