import { ElementRef } from '@angular/core';
import { WorkflowFacadeService } from '../services/wf-facade.service';
import { LabelManagementService } from '../services/label-management.service';
import { SwimlaneStatsService } from '../services/swimlane-stats.service';
import { Position } from '../models/types';
import { NodePreconditionService, PreconditionData } from '../services/node-precondition.service';
import * as i0 from "@angular/core";
export declare class WFCanvasComponent {
    facade: WorkflowFacadeService;
    containerRef: ElementRef<HTMLDivElement>;
    canvasRef: ElementRef<SVGElement>;
    protected labelService: LabelManagementService;
    protected swimlaneStats: SwimlaneStatsService;
    private keyboardHandler;
    protected preconditionService: NodePreconditionService;
    hoveredSegment: {
        connectionId: string;
        index: number;
    } | null;
    constructor(facade: WorkflowFacadeService);
    onKeyDown(event: KeyboardEvent): void;
    onClick(): void;
    updateLabel(objectId: string, newLabel: string): void;
    onMouseDown(event: MouseEvent): void;
    onMouseMove(event: MouseEvent): void;
    onMouseUp(event: MouseEvent): void;
    onMouseLeave(): void;
    onSwimlaneAddClick(event: MouseEvent, swimlane: any): void;
    onPopupAction(actionId: string): void;
    getSegmentPath(start: Position, end: Position): string;
    isSegmentHovered(connectionId: string, index: number): boolean;
    onSegmentMouseDown(event: MouseEvent, connectionId: string, segmentIndex: number): void;
    onNodeSelected(data: PreconditionData): void;
    onNodeSelectionCancelled(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<WFCanvasComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<WFCanvasComponent, "wf-canvas", never, {}, {}, never, never, true, never>;
}
