import { BpmsEngine } from '../BpmsEngine'; import { BpmnDefinitionRepository } from './BpmnDefinitionRepository'; import { BpmnProcessInstance, BpmnProcessInstanceOptions } from './BpmnProcessInstance'; import { BpmnProcessRepository } from './BpmnProcessRepository'; import { IdExpression, FilterExpression, QueryOptions, ScalarOptions, QueryResult } from '../data/Repository'; import { BpmnEngineRuntimeState, BpmnEngineRuntimeApi, BpmnDefinition, BpmnExtensions, BpmnExtension, BpmnServices, BpmnService } from './definitions/bpmn-elements'; export declare type BpmnSource = string; export interface BpmnEngineOptions { name: string; processRepository?: BpmnProcessRepository; bpmnDefinitionRepository?: BpmnDefinitionRepository; } export interface BpmnEngineRecoverOptions { filter?: FilterExpression; source?: string; resume?: boolean; } export interface BpmnEnginePersistOptions { filter?: FilterExpression; resume?: boolean; } export interface BpmsBpmnDefinition { id?: string; name: string; definitions: BpmnSource; systemId?: string; systemName?: string; category?: string; tags?: string[]; version?: number; createdAt?: Date; } export interface BpmsProcess { id?: string; definitionId?: string; name: string; state: string; stopped: boolean; createdAt?: Date; persistedAt?: Date; data: any; isLoaded?: boolean; } export interface BpmnDefinitionLoadOptions { filter?: FilterExpression; } export declare class BpmnEngine { private loadedProcessRepository; private id; private name; private processRepository; private bpmnDefinitionRepository; private options; private bpmsEngine; constructor(options?: BpmnEngineOptions); constructor(bpmsEngine?: BpmsEngine, options?: BpmnEngineOptions); get Id(): string; get Name(): string; get BpmsEngine(): BpmsEngine | undefined; static createEngine(options?: BpmnEngineOptions): BpmnEngine; static createEngine(bpmsEngine?: BpmsEngine, options?: BpmnEngineOptions): BpmnEngine; private processExtensions; private processServices; registerProcessExtension(name: string, extension: BpmnExtension): this; removeProcessExtension(name: string): this; registerProcessService(name: string, service: BpmnService): this; removeProcessService(name: string): this; get ProcessExtensions(): BpmnExtensions; get ProcessServices(): BpmnServices; createDefinitions(entity: BpmsBpmnDefinition): Promise; updateDefinitions(entity: BpmsBpmnDefinition): Promise; countDefinitions(): Promise; findDefinition(id: IdExpression): Promise; findDefinition(filter: FilterExpression): Promise; findProcess(id: IdExpression): Promise; findProcess(filter: FilterExpression): Promise; loadDefinitions(options: BpmnDefinitionLoadOptions): Promise; loadDefinition(definition: { source: string; definitionId: string; definitionName: string; definitionVersion: number; }): Promise; removeDefinition(id: IdExpression): Promise; listDefinitions(filter?: FilterExpression): Promise; clearDefinitions(): Promise; listProcess(filter?: FilterExpression): Promise; createProcess(options?: BpmnProcessInstanceOptions): Promise; loadedProcessCount(): Promise; persistedDefinitionCount(): Promise; persistedProcessCount(): Promise; listLoadedProcess(filter?: FilterExpression): Promise; getProcess(id: IdExpression): Promise; getProcesses(filter: FilterExpression): Promise; recoverProcess(id: IdExpression, source?: string, resume?: boolean): Promise; /** * Recover process state from persistency source * * @param {BpmnEngineRecoverOptions} [options] * @returns {Promise} * @memberof BpmnEngine */ recoverProcesses(options?: BpmnEngineRecoverOptions): Promise; /** * Persist process * * @param {BpmnEnginePersistOptions} [options] * @returns {Promise} * @memberof BpmnEngine */ persistProcess(options?: BpmnEnginePersistOptions): Promise; /** * Stop all processes * * @param {boolean} [persist=true] persist before stop all processes * @returns {Promise} * @memberof BpmnEngine */ stopProcesses(persist?: boolean, filter?: FilterExpression): Promise; stopProcess(id: IdExpression, persist?: boolean): Promise; getProcessState(id: IdExpression): Promise; executeProcess(id: IdExpression, options?: BpmnProcessInstanceOptions): Promise; resumeProcess(id: IdExpression, options?: BpmnProcessInstanceOptions): Promise; queryDefinition(options: QueryOptions): Promise>; scalarDefinition(options: ScalarOptions): Promise; queryProcess(options: QueryOptions): Promise>; scalarProcess(options: ScalarOptions): Promise; static getDefaultExtensions(): BpmnExtensions; static getDefaultBpmnServices(bpmnEngine: BpmnEngine): BpmnServices; }