import { IEventAggregator, Subscription } from '@essential-projects/event_aggregator_contracts'; import { IIAMService, IIdentity } from '@essential-projects/iam_contracts'; import { APIs, DataModels, Messages } from '@process-engine/management_api_contracts'; import { FlowNodeInstance, IFlowNodeInstanceService } from '@process-engine/persistence_api.contracts'; import { NotificationAdapter } from './adapters/index'; export declare class ManualTaskService implements APIs.IManualTaskManagementApi { private readonly eventAggregator; private readonly flowNodeInstanceService; private readonly iamService; private readonly notificationAdapter; constructor(eventAggregator: IEventAggregator, flowNodeInstanceService: IFlowNodeInstanceService, iamService: IIAMService, notificationAdapter: NotificationAdapter); onManualTaskWaiting(identity: IIdentity, callback: Messages.CallbackTypes.OnManualTaskWaitingCallback, subscribeOnce?: boolean): Promise; onManualTaskFinished(identity: IIdentity, callback: Messages.CallbackTypes.OnManualTaskFinishedCallback, subscribeOnce?: boolean): Promise; onManualTaskForIdentityWaiting(identity: IIdentity, callback: Messages.CallbackTypes.OnManualTaskWaitingCallback, subscribeOnce?: boolean): Promise; onManualTaskForIdentityFinished(identity: IIdentity, callback: Messages.CallbackTypes.OnManualTaskFinishedCallback, subscribeOnce?: boolean): Promise; getManualTasksForProcessModel(identity: IIdentity, processModelId: string, offset?: number, limit?: number): Promise; getManualTasksForProcessInstance(identity: IIdentity, processInstanceId: string, offset?: number, limit?: number): Promise; getManualTasksForCorrelation(identity: IIdentity, correlationId: string, offset?: number, limit?: number): Promise; getManualTasksForProcessModelInCorrelation(identity: IIdentity, processModelId: string, correlationId: string, offset?: number, limit?: number): Promise; getWaitingManualTasksByIdentity(identity: IIdentity, offset?: number, limit?: number): Promise; finishManualTask(identity: IIdentity, processInstanceId: string, correlationId: string, manualTaskInstanceId: string): Promise; filterAndConvertManualTaskList(identity: IIdentity, suspendedFlowNodes: Array, offset?: number, limit?: number): Promise; private convertFlowNodeInstancesToManualTasks; private checkIfIsFlowNodeIsManualTask; private checkIfIdentityUserIDsMatch; private filterInacessibleFlowNodeInstances; private checkIfUserCanAccessFlowNodeInstance; private ensureHasClaim; private checkIfUserIsSuperAdmin; private convertSuspendedFlowNodeToManualTask; private getFlowNodeInstanceForCorrelationInProcessInstance; private publishFinishManualTaskEvent; }