import { Box, Point } from 'motion-utils';
import { Ref } from 'vue';
import { ReorderAxis } from './types';
export interface ReorderContextProps<T> {
    axis?: Ref<ReorderAxis>;
    registerItem?: (item: T, layout: Box) => void;
    updateOrder?: (item: T, offset: Point, velocity: Point) => void;
    /**
     * Whether a reorder happened during the current press. The release that
     * ends a reordering drag fires a click that isn't a real click (#2682).
     */
    hasReordered?: Ref<boolean>;
    groupRef?: Ref<HTMLElement | null>;
}
export declare const useReorderContext: <T extends ReorderContextProps<any> = ReorderContextProps<any>>(fallback?: T) => T extends null ? ReorderContextProps<any> : ReorderContextProps<any>, reorderContextProvider: (contextValue: ReorderContextProps<any>) => ReorderContextProps<any>;
