import { Ref } from 'vue'; export interface SnapTarget { /** 目标类型 */ type: 'tick' | 'guide-line' | 'custom'; /** 目标位置(世界坐标) */ position: number; /** 优先级 */ priority: number; } export interface SnapResult { /** 吸附后的位置 */ position: number; /** 吸附目标 */ target: SnapTarget; /** 原始位置 */ original: number; } export interface SnapOptions { /** 吸附阈值(像素) */ threshold: Ref; /** 当前缩放比例 */ scale: Ref; /** 刻度吸附目标 */ tickTargets?: Ref; /** 参考线吸附目标 */ guideLineTargets?: Ref; /** 自定义吸附目标 */ customTargets?: Ref; /** 吸附强度(0-1,0.5 为软吸附) */ strength?: Ref; } export declare function useSnapDetection(options: SnapOptions): { snap: (position: number, direction: "h" | "v") => SnapResult | null; }; //# sourceMappingURL=useSnapDetection.d.ts.map