import { InternalIdentity as Identity, ProcessStartOptionsInternal } from '../Contracts/InternalDataModels/index'; import { EventMessageInternal } from '../Contracts/InternalMessages/index'; import { FlowNodeInstanceDatabaseAdapter, ProcessInstanceDatabaseAdapter } from '../Tools/DatabaseAdaptersSequelize/index'; import { IdentityService } from '../Tools/Iam/IdentityService'; import { ProcessDefinitionMediator } from '../Tools/ProcessDefinitionMediator'; import { ProcessInstanceFactory } from './ProcessInstance'; export declare class ExecuteProcessService { private readonly flowNodeInstanceDatabaseAdapter; private readonly processDefinitionMediator; private readonly processInstanceDatabaseAdapter; private readonly processInstanceFactory; private readonly identityService; private readonly logger; constructor(flowNodeInstanceRepository: FlowNodeInstanceDatabaseAdapter, processDefinitionMediator: ProcessDefinitionMediator, processInstanceRepository: ProcessInstanceDatabaseAdapter, processInstanceFactory: ProcessInstanceFactory, identityService: IdentityService); start(identity: Identity, options: ProcessStartOptionsInternal): Promise; startAndAwaitEndEvent(identity: Identity, options: ProcessStartOptionsInternal): Promise; findAndResumeInterruptedProcessInstances(): Promise; retryProcessInstance(identity: Identity, processInstanceId: string, flowNodeInstanceId?: string, newStartToken?: Record, newProcessDefinitionHash?: string): Promise; resumeProcessInstanceById(processDefinitionId: string, processInstanceId: string): Promise; private ensureProcessInstanceBpmnCanBeMigrated; private migrateProcessInstanceBpmn; private validateStartRequest; private waitForSpecificEndEvent; private waitForAnyEndEvent; private getNextRunningInstancesFromList; private getRootProcessOfProcessInstanceTree; private getAllChildProcessInstances; private getRetryableChildProcessInstances; private resetProcessInstanceToFlowNodeInstance; private getFlowNodeInstanceIdsOfSubProcesses; private getNonDescendantProcessInstanceSets; private getAllChildProcessIds; private isFlowNodeInParallizedBranch; private getPreviousParallelizingGateways; private ensureProcessInstanceCanBeRestarted; private getFlowNodeInstancesAfterFlowNodeInstance; private getFollowingFlowNodeInstancesForSubProcesses; private getFollowingFlowNodeInstancesForSubProcess; private resetProcessInstance; private getFlowNodeInstancesToReset; private getFlowNodeInstanceIdsInSubProcesses; private getBoundaryEventsForFlowNodeInstances; private shouldResetFlowNode; private getErrorBoundaryEventInstancesForFlowNodeInstance; private resumeProcessInstance; private terminateOrphanedSubProcessInstance; private finishOrphanedProcessInstance; private getFinalFlowNodeInstanceForOrphanedProcessInstance; }