import './redis/declaration.js'; import { FExecutionContext, FExecutionContextBase, FExecutionElement, FInitableBase, FLogger } from '@freemework/common'; import { WorkflowModel } from './models.js'; export declare abstract class WorkflowDataCacheFacade extends FInitableBase { protected readonly log: FLogger; protected constructor(); abstract cleanupWorkflowApplication(executionContext: FExecutionContext, lockInstance: string, workflowUuid: string): Promise; abstract getActiveWorkflowApplications(executionContext: FExecutionContext): Promise>; abstract isApprovedBreakpoint(executionContext: FExecutionContext, workflowUuid: string, breakpointOid: string): Promise; abstract lockNextWorkflowApplication(executionContext: FExecutionContext, lockInstance: string, lockTimeout: number, workerTags: ReadonlyArray): Promise; /** * Interrupt breakpoint sleep and mark breakpoint as approved */ abstract resumeBreakpoint(executionContext: FExecutionContext, workflowUuid: string, breakpointOid: string): Promise; abstract unlockWorkflowApplication(executionContext: FExecutionContext, lockInstance: string, workflowAppUuid: string, removeFromProcessing: boolean): Promise; abstract updateAndLockWorkflowApplication(executionContext: FExecutionContext, lockInstance: string, workflowModel: WorkflowModel, breakpoint: null | { readonly oid: string; readonly waitTimeout: number; }): Promise; } export declare class WorkflowDataCacheFacadeExecutionContext extends FExecutionContextBase { private readonly _workflowDataCacheFacade; static create(prevContext: FExecutionContext, cacheConnectionURL: URL): Promise; static of(executionContext: FExecutionContext): WorkflowDataCacheFacadeExecutionElement; private constructor(); get workflowDataCacheFacade(): WorkflowDataCacheFacade; } export declare class WorkflowDataCacheFacadeExecutionElement extends FExecutionElement { get workflowDataCacheFacade(): WorkflowDataCacheFacade; }