import * as React from "react";
import type { KeyboardMovementConstraint } from "../use-draggable";
import type { vec } from "mafs";
type Props = {
    /** Pixel-space start point of the asymptote line. */
    start: vec.Vector2;
    /** Pixel-space end point of the asymptote line. */
    end: vec.Vector2;
    /** Pixel-space center of the drag handle (midpoint of the line). */
    mid: vec.Vector2;
    /** Graph-space position used by useDraggable for movement tracking. */
    point: vec.Vector2;
    /** Called with the new graph-space position when the asymptote moves. */
    onMove: (destination: vec.Vector2) => void;
    /** Keyboard movement constraint (e.g. prevent landing between curve points). Defaults to unconstrained. */
    constrainKeyboardMovement?: KeyboardMovementConstraint;
    /**
     * "horizontal" — asymptote is a horizontal line (exponential graph)
     * "vertical"   — asymptote is a vertical line (logarithm graph)
     */
    orientation: "horizontal" | "vertical";
    /** Accessible label for the asymptote drag target. */
    ariaLabel: string;
    /**
     * Content rendered between the asymptote lines and the drag handle.
     * Use this to render the curve so it appears above the dashed line
     * but below the drag handle in the SVG stacking order.
     */
    children?: React.ReactNode;
};
export declare function MovableAsymptote(props: Props): React.JSX.Element;
export {};
