/** * Diagram editor — rotate helpers. * Node.rotation is around the local origin (top-left). These helpers keep the * visual center fixed when the angle changes so symbols spin in place. */ export declare function normalizeDegrees(deg: number): number; export declare function snapDegrees(deg: number, step?: number): number; /** Angle in degrees from center to pointer (0° = east, 90° = south — canvas Y-down). */ export declare function pointerAngleDegrees(cx: number, cy: number, px: number, py: number): number; /** Parent-space center of a card given top-left origin + rotation (degrees). */ export declare function rotatedCardCenter(x: number, y: number, width: number, height: number, rotationDeg: number): { x: number; y: number; }; /** * Set node.rotation while keeping the card's visual center fixed. * `width` / `height` are the unrotated card size including current scale. */ export declare function setRotationAroundCenter(node: { x: number; y: number; rotation: number; markDirty?: () => void; }, nextDeg: number, width: number, height: number): void;