/** Framework-neutral callbacks; getters read live props during a drag. */ export interface AngleDragOptions { step: () => number; change: (angle: number, event: PointerEvent) => void; end: (angle: number, event: PointerEvent) => void; dragging?: ((value: boolean) => void) | undefined; disposed?: (() => void) | undefined; } /** Clockwise bearing with zero at the top. */ export declare function bearing(dx: number, dy: number): number; /** Snap without accumulating floating-point drift. */ export declare function snapAngle(angle: number, step: number): number; /** Track one pointer; disposal removes listeners without committing a value. */ export declare function startAngleDrag(element: Element, event: PointerEvent, options: AngleDragOptions): () => void;