import * as React from 'react';
/**
 * Props for {@link DraggableHandle} component.
 *
 * @see {@link DraggableHandle}
 */
export interface DraggableHandleProps extends React.HTMLAttributes<HTMLDivElement> {
    /**
     * Drag axis to receive difference in drag position:
     *  - `x`: receive only `dx` non-zero value in handler;
     *  - `y`: receive only `dy` non-zero value in handler;
     *  - `all`: receive both `dx` and `dy` non-zero values in handler.
     *
     * @default "all"
     */
    axis?: 'x' | 'y' | 'all';
    /**
     * Handler for the start of dragging the handle.
     */
    onBeginDragHandle: (e: React.MouseEvent<HTMLDivElement>) => void;
    /**
     * Handler for each drag movement for the duration of a dragging the handle.
     */
    onDragHandle: (e: MouseEvent, dx: number, dy: number) => void;
    /**
     * Handler for the end of dragging the handle.
     */
    onEndDragHandle?: (e: MouseEvent) => void;
}
/**
 * Utility component for a draggable handle.
 *
 * @category Components
 */
export declare class DraggableHandle extends React.Component<DraggableHandleProps> {
    private holdState;
    /** @hidden */
    render(): import("react/jsx-runtime").JSX.Element;
    /** @hidden */
    componentWillUnmount(): void;
    private onPointerDown;
    private onPointerMove;
    private onPointerUp;
    private removeListeners;
}
//# sourceMappingURL=draggableHandle.d.ts.map