Interface IWorkflowEngine

interface IWorkflowEngine {
    initialize(config, deps): Promise<void>;
    registerWorkflowDescriptor(descriptor): Promise<void>;
    unregisterWorkflowDescriptor(workflowDefinitionId): Promise<void>;
    listWorkflowDefinitions(): WorkflowDefinition[];
    startWorkflow(options): Promise<WorkflowInstance>;
    getWorkflow(workflowId): Promise<null | WorkflowInstance>;
    updateWorkflowStatus(workflowId, status): Promise<null | WorkflowInstance>;
    applyTaskUpdates(workflowId, updates): Promise<null | WorkflowInstance>;
    recordEvents(events): Promise<void>;
    updateWorkflowAgencyState(workflowId, agencyState): Promise<null | WorkflowInstance>;
    listWorkflows(options?): Promise<WorkflowInstance[]>;
    getWorkflowProgress(workflowId, sinceTimestamp?): Promise<null | WorkflowProgressUpdate>;
    onEvent(listener): void;
    offEvent(listener): void;
}

Implemented by

Methods