import BpmnViewer from 'bpmn-js/lib/Viewer';
import { DataModels } from '@5minds/processcube_engine_client';
export declare class FlowNode {
    private readonly id;
    private readonly flowNodeInstances;
    private readonly processInstanceState;
    private readonly documentation;
    private readonly triggeredFlowNodeInstance?;
    private type;
    get Id(): string;
    get Name(): string | undefined;
    get CurrentFlowNodeInstanceId(): string | undefined;
    get CurrentStartToken(): any;
    get CurrentEndToken(): any;
    get LinkedProcessInstanceId(): string | undefined;
    get State(): string;
    get Documentation(): string;
    get ProcessInstanceState(): string;
    get IsGateway(): boolean;
    get IsEvent(): boolean;
    get IsEventReceiver(): boolean;
    get IsEventSender(): boolean;
    get IsCallActivity(): boolean;
    get IsUserTask(): boolean;
    get IsManualTask(): boolean;
    get ExecutionCount(): number;
    get ProcessInstanceId(): string;
    constructor(id: string, processInstanceState: string, documentation: string, triggeredFlowNodeInstance?: DataModels.FlowNodeInstances.FlowNodeInstance);
    addFlowNodeInstance(flowNodeInstance: DataModels.FlowNodeInstances.FlowNodeInstance): void;
}
/**
 * @deprecated
 */
export default class BpmnViewerOverlayCreator {
    private readonly canvas;
    private readonly overlays;
    private readonly elementRegistry;
    private overlayIds;
    private overlayRoots;
    constructor(viewer: BpmnViewer);
    createOverlaysFlowNodeInstances(processInstanceState: string, flowNodeInstances: DataModels.FlowNodeInstances.FlowNodeInstance[], flowNodeInstancesTriggeredByThisProcessInstance: DataModels.FlowNodeInstances.FlowNodeInstance[], retryAction?: (processInstanceId: string, flowNodeInstanceId?: string, newToken?: string) => void, gotoProcessAction?: (processInstanceId: string) => void, gotoManualOrUserTaskAction?: (processInstanceId: string, flowNodeId: string) => void): void;
    private getOrCreateOverlayRoot;
    private getExecutedFlowNodes;
    private setSequenceFlowsColor;
    private removeSequenceFlowsColor;
}
