import type { Color } from '../color';
import type { TransformOffset } from '../interface';
import type { ComputedRef, Ref } from 'vue';
declare type EventType = MouseEvent | TouchEvent;
declare type EventHandle = (e: EventType) => void;
interface useColorDragProps {
    colorRef: Ref<Color>;
    offset?: TransformOffset;
    containerRef: Ref<HTMLDivElement>;
    targetRef: Ref<{
        transformDomRef: HTMLDivElement;
    }>;
    direction?: ComputedRef<'x' | 'y'>;
    onDragChange?: (offset: TransformOffset) => void;
    onDragChangeComplete?: () => void;
    calculate?: (containerRef: Ref<HTMLDivElement>) => TransformOffset;
    /** Disabled drag */
    disabledDrag?: ComputedRef<boolean>;
}
declare function useColorDrag(props: useColorDragProps): [Ref<TransformOffset>, EventHandle];
export default useColorDrag;
