import { Identity, Model } from '@5minds/processcube_engine_sdk'; import { ProcessDefinitionRaw, ProcessDefinitionRawList } from '../../Contracts/InternalDataModels/index'; import { EventMiddlewareHandler } from '../EventMiddlewareHandler'; import { DatabaseAdapter } from './BaseDatabaseAdapter'; export declare class ProcessDefinitionDatabaseAdapter extends DatabaseAdapter { private readonly eventMiddlewareHandler; constructor(eventMiddlewareHandler: EventMiddlewareHandler); initialize(): Promise; persistProcessDefinition(identity: Identity, definition: Array | Model.Definitions, overwriteExisting?: boolean): Promise; getAllProcessDefinitions(offset?: number, limit?: number, excludeDeleted?: boolean): Promise; getByName(name: string, excludeDeleted?: boolean): Promise; getByHash(hash: string, includeDeleted?: boolean): Promise; getByProcessModelId(processModelId: string): Promise; getDefinitionsWithRunningInstances(processModelIds?: string | Array): Promise; getByProcessInstanceId(processInstanceId: string): Promise; getHistoryByName(name: string): Promise>; /** * Flags all stored XMLs with the given name, as deleted. * Doesn't actually delete anything, just ensures that the xmls will no longer be usable. */ flagAsDeletedByName(name: string): Promise; setIsExecutableFlag(processModelId: string, isExecutable: boolean): Promise; removeProcessDefinitionsFlaggedAsDeleted(): Promise; /** * Deletes all stored XMLs with the given name, as well as any associated data. */ deleteByName(name: string): Promise; getProcessDefinitionIdForProcessModelId(processModelId: string): Promise; private storeProcessDefinition; private processDefinitionExists; private ensureProcessModelIdsAreUniqe; private getProcessModelIdsForProcessDefinitionId; private hash; private convertToProcessDefinitionRuntimeObject; private convertToProcessModelAssociationRuntimeObject; private publishProcessUndeployedNotification; }