import { type ReactElement } from "react";
import { xy, type direction } from "@synnaxlabs/x";
import { Button } from '../button';
import { type Control } from './types';
export interface DragButtonExtensionProps {
    direction?: direction.Crude;
    dragDirection?: direction.Crude;
    dragScale?: xy.Crude | number;
    dragThreshold?: xy.Crude | number;
    resetValue?: number;
}
export interface DragButtonProps extends Omit<Button.IconProps, "direction" | "onChange" | "onDragStart" | "children" | "value" | "onDragEnd" | "onBlur">, Control<number>, DragButtonExtensionProps {
    onDragEnd?: (value: number) => void;
    onBlur?: () => void;
}
export declare const DragButton: ({ direction, className, dragScale, dragThreshold, dragDirection, onChange, value, size, resetValue, onDragEnd, ...props }: DragButtonProps) => ReactElement;
