import { SwimlaneItem } from '../workflow-designer.types'; import { Tag } from 'verben-workflow-ui/src/lib/models'; import { WorkflowDesignerState } from '../workflow-designer.state'; import * as i0 from "@angular/core"; /** * Swimlane helpers used by `DesignerToolbarComponent` and * `SwimlaneDialogComponent`. Delegates to `WorkflowDesignerState`, which also * implements much of this directly — see `./docs/01-architecture.md` for why * both exist. */ export declare class SwimlaneService { private state; /** * Swimlane band height in pixels. * * ⚠️ One of **four** separate declarations of this constant * (`WorkflowDesignerState`, `DesignerCanvasComponent`, * `NodeManagementService`, and here), plus bare `263` literals in templates. * They agree today; nothing enforces that. Tracked in * `./docs/06-known-issues.md` section B. */ readonly swimlaneHeight = 263; constructor(state: WorkflowDesignerState); /** * Add a new swimlane */ addSwimlane(name: string, tags: Tag[]): SwimlaneItem; /** * Update an existing swimlane */ updateSwimlane(index: number, name: string, tags: Tag[]): boolean; /** * Reorder swimlanes (move a swimlane up or down in the list) */ reorderSwimlane(fromIndex: number, toIndex: number): boolean; /** * Delete a swimlane by index */ deleteSwimlane(index: number): boolean; /** * Get all swimlanes */ getSwimlanes(): SwimlaneItem[]; /** * Get swimlane by index */ getSwimlane(index: number): SwimlaneItem | null; /** * Calculate total canvas height needed for all swimlanes */ calculateCanvasHeight(minHeight?: number): number; /** * Check if a Y position is within any swimlane */ isPositionInsideSwimlane(y: number): boolean; /** * Calculate swimlane index from Y position */ getSwimlaneIndexFromPosition(y: number): number; /** * Find swimlane index by Lane ID */ findSwimlaneIndexByLaneId(laneId: string): number; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }