import { type Optional } from '@ephox/katamari'; import type { EventArgs, SugarElement, SugarPosition } from '@ephox/sugar'; import type { BlockerOptions } from '../detect/Blocker'; export interface DragMutation { mutate: (x: number, y: number) => void; } export interface DragMode { compare: (old: SugarPosition, nu: SugarPosition) => SugarPosition; extract: (event: EventArgs) => Optional; mutate: (mutation: DragMutation, info: SugarPosition) => void; sink: (dragApi: DragApi, settings: Partial) => DragSink; } export interface DragSink { element: () => SugarElement; start: (parent: SugarElement) => void; stop: () => void; destroy: () => void; } export interface DragApi { forceDrop: (evt?: EventArgs) => void; drop: (evt?: EventArgs) => void; move: (evt: EventArgs) => void; delayDrop: (evt?: EventArgs) => void; } export declare const DragMode: (value: DragMode) => DragMode; export declare const DragSink: (value: DragSink) => DragSink; export declare const DragApi: (value: DragApi) => DragApi; declare const mode: (value: DragMode) => DragMode; declare const sink: (value: DragSink) => DragSink; declare const api: (value: DragApi) => DragApi; export { mode, sink, api }; //# sourceMappingURL=DragApis.d.ts.map