import { Ref } from 'vue'; import { BasePlugin } from '../../types/base-plugin'; import { IGraphicElement } from '../../types'; import { GuideLine } from '../../utils/geometry'; export declare class SnapPlugin extends BasePlugin { name: string; version: string; guideLines: Ref; private snapEnabledSnapshot; private cachedTargetLines; private cachedSelectionIds; private sticky; protected onInstall(): void; protected onUninstall(): void; isSnapEnabled(): boolean; toggleSnap(): void; private resetSessionState; private handleDragStart; private cacheTargets; resolveDragSnap(elements: IGraphicElement[], intentPositions: Map): { offsetX: number; offsetY: number; }; private handleDragEnd; } declare module '../../types' { interface PluginMap { 'snap-plugin': SnapPlugin; } }