import { BpmnType, Model } from '../Model/index'; export declare class ProcessModelFacade { protected processModel: Model.Process; protected parentFacade?: ProcessModelFacade; constructor(processModel: Model.Process, parentFacade?: ProcessModelFacade); getIsExecutable(): boolean; getIsSingleton(): boolean; getFlowNodesByType(flowNodeType: BpmnType, includeEmbeddedSubProcess?: boolean): Array; getStartEvents(includeEmbeddedSubProcess?: boolean): Array; getSingleStartEvent(): Model.Events.StartEvent; getStartEventById(startEventId: string, includeEmbeddedSubProcess?: boolean): Model.Events.StartEvent; getEndEvents(includeEmbeddedSubProcess?: boolean): Array; getUserTasks(includeEmbeddedSubProcess?: boolean): Array; getFlowNodeById(flowNodeId: string, includeEmbeddedSubProcess?: boolean): Model.Base.FlowNode; getProcessModelHasLanes(): boolean; getLaneForFlowNode(flowNodeId: string): Model.ProcessElements.Lane; getIncomingSequenceFlowsFor(flowNodeId: string): Array; getOutgoingSequenceFlowsFor(flowNodeId: string): Array; getSequenceFlowBetween(sourceNode: Model.Base.FlowNode, targetNode: Model.Base.FlowNode): Model.ProcessElements.SequenceFlow; getBoundaryEventsFor(flowNode: Model.Base.FlowNode, includeEmbeddedSubProcess?: boolean): Array; getPreviousFlowNodesFor(flowNode: Model.Base.FlowNode, stopAtBoundaryEvent?: boolean, includeEmbeddedSubProcess?: boolean): Array; traversePreviousFlowNodesFor(flowNode: Model.Base.FlowNode, visitedNodes?: Set): Array | undefined; getNextFlowNodesFor(flowNode: Model.Base.FlowNode): Array; getLinkCatchEventsByLinkName(linkName: string): Array; findJoinGatewayAfterSplitGateway(splitGateway: Model.Gateways.Gateway, gatewayType: BpmnType.parallelGateway | BpmnType.inclusiveGateway): Model.Gateways.Gateway; getDataObjects(): Array; getDataObjectReferenceById(id: string): Model.ProcessElements.DataObjectReference | undefined; getInputDataObjectReferences(): Array; getOutputDataObjectReferencesForFlowNode(flowNodeId: string): Array; protected filterFlowNodesByType(type: BpmnType): Array; /** * Iterates over the lanes of the given laneSet and determines if one of * the lanes contains a FlowNode with the given ID. * * If the lane has a childLaneSet, the FlowNodeID will be searched within * that child lane set. * * @param flowNodeId The FlowNodeId to find. * @param laneSet The LaneSet in which to search for the FlowNodeId. * @returns Either the lane containing the FlowNodeId, * or undefined, if not matching lane was found. */ protected findLaneForFlowNodeIdFromLaneSet(flowNodeId: string, laneSet: Model.ProcessElements.LaneSet): Model.ProcessElements.Lane; private getJoinGatewaysForCurrentBranchByType; private findParentSubProcessNode; }