import { BasePlugin } from '../types/base-plugin'; import { IGraphicElement, Point2D } from '../types'; export declare class SelectionPlugin extends BasePlugin { name: string; version: string; isSelecting: boolean; selectionStart: Point2D; selectionEnd: Point2D; private selectionIds; private mouseDownId; private static readonly CLICK_THRESHOLD; private elementsPlugin; protected onInstall(): void; protected onUninstall(): void; private handleMouseDown; private handleMouseMove; private handleMouseUp; /** * 清理框选 / 按下草稿状态(鼠标移出画布或异常事件触发时使用)。 * 不会触发 selection:changed,也不访问 event.evt / event.point。 */ private endSelectionDraft; private isModifierPressed; private isDragged; private emitSelectionChanged; private getSelectedElements; private handleElementAdded; private handleElementRemoved; private findElementsInRect; private getClickElementId; private rectIntersect; selectElement(element: IGraphicElement): void; deselectElement(elementId: string): void; clearSelection(): void; selectElementByIds(ids: string[]): void; getSelectionElements(): IGraphicElement[]; getSelectionElementIds(): string[]; getCurrentElement(): IGraphicElement | null; } declare module '../types' { interface PluginMap { 'selection-plugin': SelectionPlugin; } }