import { Position, WorkflowObject, Action, ConnectionPoint } from '../models/types'; import * as i0 from "@angular/core"; export interface ConnectionEndpoints { startPoint: ConnectionPoint; endPoint: ConnectionPoint; } export declare class ConnectionService { private workflowState; private canvasState; private nodeFinder; private rendering; private orthogonalRouter; private segmentInteraction; private connectionEndpoints; startConnection(sourceNode: WorkflowObject, point: Position): void; updateConnectionPreview(point: Position): void; finalizeConnection(point: Position): void; updateConnectionsForNode(nodeId: string): void; private determineEndSide; /** * Handles clicking on a connection segment */ handleSegmentClick(point: Position): void; /** * Updates segment position during drag */ handleSegmentDrag(point: Position): void; /** * Completes segment drag operation */ finishSegmentDrag(): void; /** * Gets cursor style for a segment */ getSegmentCursor(connectionId: string, segmentIndex: number): string; getConnectionPath(connection: Action): string; private canStartConnection; private canConnect; private hasConnection; getPreviewPath(): string; hasOutgoingConnections(nodeId: string): boolean; getConnectionPoint(node: WorkflowObject, type: 'input' | 'output'): Position; recalculateConnectionPoints(source: WorkflowObject, target: WorkflowObject, existingPoints: Position[]): Position[]; findTargetNode(point: Position): WorkflowObject | null; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }