import { DDBaseImplement, HTMLElementExtendOpt } from './dd-base-impl';
import { DDUIData } from '../types';
export interface DDDraggableOpt {
appendTo?: string | HTMLElement;
containment?: string | HTMLElement;
handle?: string;
revert?: string | boolean | unknown;
scroll?: boolean;
helper?: string | HTMLElement | ((event: Event) => HTMLElement);
basePosition?: 'fixed' | 'absolute';
start?: (event: Event, ui: DDUIData) => void;
stop?: (event: Event) => void;
drag?: (event: Event, ui: DDUIData) => void;
}
export declare class DDDraggable extends DDBaseImplement implements HTMLElementExtendOpt {
el: HTMLElement;
option: DDDraggableOpt;
helper: HTMLElement;
constructor(el: HTMLElement, option?: DDDraggableOpt);
on(event: 'drag' | 'dragstart' | 'dragstop', callback: (event: DragEvent) => void): void;
off(event: 'drag' | 'dragstart' | 'dragstop'): void;
enable(): void;
disable(forDestroy?: boolean): void;
destroy(): void;
updateOption(opts: DDDraggableOpt): DDDraggable;
}