import { EventEmitter, OnInit, SimpleChanges } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { Tag } from '../../../models/Tag';
import { WorkflowStage } from '../../../models/WorkflowStage';
import { StageActorRule } from '../../../models/StageActorRule';
import { TaskAssignmentType } from '../../../models/TaskAssignmentType';
import { WorkflowDataService } from '../workflow-data.service';
import { NodeManagementService } from '../services/node-management.service';
import { PopupService } from '../services/popup.service';
import * as i0 from "@angular/core";
export declare class StageDialogComponent implements OnInit {
    private fb;
    private dataService;
    private nodeService;
    private popupService;
    visible: import("@angular/core").InputSignal<boolean>;
    stageData: Partial<WorkflowStage>;
    closed: EventEmitter<any>;
    saved: EventEmitter<Partial<WorkflowStage>>;
    stageForm: FormGroup;
    tags: Tag[];
    actorRules: StageActorRule[];
    assignmentTypes: TaskAssignmentType[];
    selectedTagIds: string[];
    hasOutgoingConnections: boolean;
    constructor(fb: FormBuilder, dataService: WorkflowDataService, nodeService: NodeManagementService, popupService: PopupService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * Load tags from data service
     */
    private loadTags;
    /**
     * Initialize form with stage data if provided
     */
    private initFormWithStageData;
    private checkOutgoingConnections;
    onDialogClose(event: any): void;
    saveStage(): void;
    toggleTagSelection(tagId: string): void;
    isTagSelected(tagId: string): boolean;
    onDialogOpen(event: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<StageDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<StageDialogComponent, "lib-stage-dialog", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "stageData": { "alias": "stageData"; "required": false; }; }, { "closed": "closed"; "saved": "saved"; }, never, never, false, never>;
}
