import { SubProcess } from './Activities'; import { BaseElement, ExtensionElements, FlowNode } from './Base/index'; import { BpmnType } from './Constants'; import { EndEvent, StartEvent } from './Events/index'; import { Association, DataObject, DataObjectReference, DataStoreReference, LaneSet, SequenceFlow } from './ProcessElements/index'; /** * Describes a BPMN Process. * Any and all information about FlowNodes, SequenceFlows and Lanes is stored here. */ export declare class Process implements BaseElement { /** * The ID of the process. */ id: string; /** * The name of the process. */ name?: string; /** * The annotated version of the process. */ version?: string; /** * Determines if the process is marked as executable. * * Defaults to 'true'. */ isExecutable: boolean; /** * Determines if the process is a singleton, i.e. if only one instance of the process may be active at any given time. * * Defaults to 'false'. */ isSingleton: boolean; /** * The lanes contained in this process. */ laneSet?: LaneSet; /** * A list of all FlowNodes contained in this process. */ flowNodes: Array; /** * SequenceFlows link two FlowNodes together. */ sequenceFlows: Array; /** * Associations link a FlowNode to a TextAnnotation. */ associations: Array; /** * DataStoreReferences contain references to a permanent data store (Database, FileSystem, etc) that lies outside of the ProcessEngine. */ dataStoreReferences: Array; /** * DataObjectReferences contain references to a specific DataObject. */ dataObjectReferences: Array; /** * DataObjects can be used to store data during ProcessInstance execution. * Each DataObject is bound to a specific process and cannot be shared across multiple processs. */ dataObjects: Array; documentation?: string; extensionElements?: ExtensionElements; private embeddedSubProcesses?; /** * Returns all StartEvents contained in this process. */ getStartEvents(includeEmbeddedSubProcess?: boolean): Array; /** * Returns all EndEvents contained in this process. */ getEndEvents(includeEmbeddedSubProcess?: boolean): Array; /** * Returns all FlowNodes that match the given type. */ getFlowNodesByType(bpmnType: BpmnType, includeEmbeddedSubProcess?: boolean): Array; /** * Returns all SubProcess Activities in this process; */ getAllEmbeddedSubProcesses(): Array; /** * Returns FlowNodes of the Model and all embedded Models */ getAllFlowNodes(): Array; /** * Returns SequenceFlows of the Model and all embedded Models */ getAllSequenceFlows(): Array; /** * Returns DataObjectReferences of the Model and all embedded Models */ getAllDataObjectReferences(): Array; }