export interface DraggableEvent extends MouseEvent {
    oldIndex: number;
    newIndex: number;
    item?: any;
}
export interface DraggableOptions {
    group?: string;
    animation?: number;
    disabled?: boolean;
    handle?: string;
    ghostClass?: string;
    dragClass?: string;
    mode?: 'ghost' | 'line';
    dropIndicatorClass?: string;
    items?: any[];
    onStart?: (event: MouseEvent) => void;
    onEnd?: (event: DraggableEvent) => void;
}
export interface DraggableElement extends HTMLElement {
    __drag_group?: string;
    __drag_index?: number;
    __drag_list?: DraggableElement[];
    __intended_index?: number;
    __drag_data?: any;
}
export declare function useDraggable(options?: DraggableOptions): {
    isDragging: import('vue').Ref<boolean, boolean>;
    dragElement: import('vue').Ref<DraggableElement | null, DraggableElement | null>;
    initDraggableContainer: (container: HTMLElement) => void;
};
//# sourceMappingURL=useDraggable.d.ts.map