import type { DragObject } from "../client/editContext";
import type { PageViewContext } from "../page-viewer/pageViewContext";
export type DragInsertionGestureStartDetail = {
    elementKey?: string;
    componentId?: string;
    dragObject?: DragObject;
};
type Options = {
    iframe?: HTMLIFrameElement | null;
    pageViewContext?: PageViewContext;
    enabled: boolean;
    preventDefaultOnPointerDown?: boolean;
    getStartDetail: () => DragInsertionGestureStartDetail | null | undefined;
    onStart?: () => void;
    onEnd?: (args: {
        canceled: boolean;
        started: boolean;
    }) => void;
};
export declare function useDragInsertionGesture({ iframe, pageViewContext, enabled, preventDefaultOnPointerDown, getStartDetail, onStart, onEnd, }: Options): {
    onPointerDown: (e: React.PointerEvent<HTMLElement>) => void;
};
export {};
