/** * @license * Copyright 2024 Nuraly, Laabidi Aymen * SPDX-License-Identifier: MIT */ import { ReactiveControllerHost } from 'lit'; import { CanvasHost, CanvasBaseController, ErrorHandler } from '../interfaces/index.js'; import { BaseComponentController } from '@nuralyui/common/controllers'; /** * Abstract base controller class that implements common functionality * for all canvas component controllers. * * @typeParam THost - The canvas host type. Defaults to CanvasHost & ReactiveControllerHost. * Subclasses with extended host interfaces can specify a narrower type. */ export declare abstract class BaseCanvasController extends BaseComponentController implements CanvasBaseController, ErrorHandler { /** * Helper to get canvas wrapper element */ protected get canvasWrapper(): HTMLElement | null; /** * Helper to get canvas viewport element */ protected get canvasViewport(): HTMLElement | null; /** * Helper to convert client coordinates to canvas coordinates */ protected clientToCanvas(clientX: number, clientY: number): { x: number; y: number; }; /** * Helper to snap a position to the grid */ protected snapToGrid(x: number, y: number, gridSize?: number): { x: number; y: number; }; /** * Generate a unique name by appending " (copy)" or " (copy N)" suffix. * Checks against existing node names in the workflow. */ protected generateUniqueName(originalName: string): string; /** * Generate a unique node ID */ protected generateNodeId(): string; /** * Generate a unique edge ID */ protected generateEdgeId(): string; } //# sourceMappingURL=base.controller.d.ts.map