import { ProcessModel, ProcessModelList, ProcessStartRequest, ProcessStartResponse } from '@5minds/processcube_engine_sdk'; import { InternalIdentity as Identity } from '../../Contracts/index'; import { CoreAccessService, ExecuteProcessService } from '../../Core/index'; import { ProxyConfiguration } from '../../Setups/EngineRouter'; import { ProcessInstanceDatabaseAdapter } from '../../Tools/DatabaseAdaptersSequelize/index'; import { IamService, IdentityService } from '../../Tools/Iam/index'; import { ProcessDefinitionMediator } from '../../Tools/ProcessDefinitionMediator'; import { NotificationService } from './NotificationService'; export declare class ProcessModelApiService { private readonly coreAccessService; private readonly executeProcessService; private readonly iamService; private readonly logger; private readonly notificationService; private readonly processDefinitionMediator; private readonly processInstanceDatabaseAdapter; private readonly identityService; private internalIdentity; private readonly config; constructor(coreAccessService: CoreAccessService, executeProcessService: ExecuteProcessService, iamService: IamService, identityService: IdentityService, notificationService: NotificationService, processDefinitionMediator: ProcessDefinitionMediator, processInstanceDatabaseAdapter: ProcessInstanceDatabaseAdapter); initialize(): void; getAll(identity: Identity, offset?: number, limit?: number): Promise; getById(identity: Identity, processModelId: string): Promise; start(identity: Identity, request: ProcessStartRequest): Promise; setIsExecutableFlagForProcessModel(identity: Identity, processModelId: string, isExecutable: boolean): Promise; deleteDefinitionByProcessModelId(identity: Identity, processModelId: string, deleteAllRelatedData: boolean, force: boolean): Promise; private stopRunningProcessInstancesForProcessDefinition; private validateProcessStartRequest; private startProcessInstance; private startProcessInstanceAndAwaitEndEvent; private ensureProcessDefinitionIsNotInUse; private terminateProcessInstance; private ensureHasClaim; } export interface ProcessModelApiServiceProxy { getAll(identity: Identity, offset?: number, limit?: number): Promise; getById(identity: Identity, processModelId: string): Promise; start(identity: Identity, request: ProcessStartRequest): Promise; setIsExecutableFlagForProcessModel(identity: Identity, processModelId: string, isExecutable: boolean): Promise; deleteDefinitionByProcessModelId(identity: Identity, processModelId: string, deleteAllRelatedData: boolean, force: boolean): Promise; } export declare const ProcessModelApiServiceProxyConfiguration: ProxyConfiguration;