import type { DragAndDropElement } from "../types";
interface DragAndDropContextType {
    activeItem: DragAndDropElement | null;
    setActiveItem: (id: DragAndDropElement | null) => void;
    dropTarget: DragAndDropElement | null;
    setDropTarget: (id: DragAndDropElement | null) => void;
    dragHandlerActive: DragAndDropElement | null;
    onKeyboardDragStart: (active: DragAndDropElement | null) => void;
    onKeyboardDragEnd: (diff: number, label: string) => void;
    startPendingDrag: (event: React.PointerEvent, item: DragAndDropElement, element?: HTMLElement | null) => void;
    itemAmount: number;
    cancelDrag: (resetOrder?: boolean) => void;
    setAnnouncer: (message: string) => void;
}
export declare const DragAndDropProvider: import("react").FC<DragAndDropContextType & {
    children: React.ReactNode;
    ref?: never;
}>, useDragAndDropContext: <S extends boolean = true>(strict?: S | undefined, errorMessageOverride?: string) => S extends true ? DragAndDropContextType | undefined : DragAndDropContextType | undefined;
export {};
