/** * @license * Copyright 2024 Nuraly, Laabidi Aymen * SPDX-License-Identifier: MIT */ import { ReactiveControllerHost } from 'lit'; import { BaseCanvasController } from './base.controller.js'; import { CanvasHost } from '../interfaces/index.js'; import type { WorkflowNode, WorkflowEdge } from '../workflow-canvas.types.js'; import type { UndoController } from './undo.controller.js'; /** * Controller for managing selection state (nodes and edges) */ export declare class SelectionController extends BaseCanvasController { private undoController; constructor(host: CanvasHost & ReactiveControllerHost); /** * Set the undo controller (called after initialization) */ setUndoController(controller: UndoController): void; /** * Clear all selections */ clearSelection(): void; /** * Select all nodes and edges */ selectAll(): void; /** * Select a node */ selectNode(nodeId: string, addToSelection?: boolean): void; /** * Deselect a node */ deselectNode(nodeId: string): void; /** * Toggle node selection */ toggleNodeSelection(nodeId: string): void; /** * Select an edge */ selectEdge(edgeId: string, addToSelection?: boolean): void; /** * Check if a node is selected */ isNodeSelected(nodeId: string): boolean; /** * Check if an edge is selected */ isEdgeSelected(edgeId: string): boolean; /** * Get selected nodes */ getSelectedNodes(): WorkflowNode[]; /** * Get selected edges */ getSelectedEdges(): WorkflowEdge[]; /** * Delete selected items */ deleteSelected(): void; /** * Duplicate selected nodes and their connecting edges */ duplicateSelected(): void; /** * Open configuration for the first selected node */ openConfigForSelected(): void; /** * Check if there are any selections */ hasSelection(): boolean; /** * Get count of selected items */ getSelectionCount(): { nodes: number; edges: number; }; } //# sourceMappingURL=selection.controller.d.ts.map