export type GestureDragState = { xy: [number, number]; delta: [number, number]; movement: [number, number]; first: boolean; last: boolean; event: PointerEvent | MouseEvent | TouchEvent | KeyboardEvent; }; export type GestureDragHandlers = { onDrag?: (state: GestureDragState) => void; onDragStart?: (state: GestureDragState) => void; onDragEnd?: (state: GestureDragState) => void; }; export type RafCoalesced void> = T & { cancel: () => void; }; export declare const bindDocumentDrag: (handlers: GestureDragHandlers) => () => void; export declare const rafCoalesce: void>(fn: T) => RafCoalesced;