import { WorkflowGetResponseType } from "../../types/workflow/WorkflowGetResponse.type"; export default interface IClientWorkflow { /** * Get information about a workflow instance. * @param instanceId The unique identifier for the workflow instance. */ get(instanceId: string): Promise; /** * Starts a new workflow instance. * @param workflowName The name of the workflow to start. * @param input The input to pass to the workflow, should be JSON serializable. * @param instanceId The unique identifier for the workflow instance, if not provided one will be generated. */ start(workflowName: string, input?: any, instanceId?: string): Promise; /** * Terminates a workflow instance. * @param instanceId The unique identifier for the workflow instance. */ terminate(instanceId: string): Promise; /** * Pauses a workflow instance. * @param instanceId The unique identifier for the workflow instance. */ pause(instanceId: string): Promise; /** * Resumes a workflow instance. * @param instanceId The unique identifier for the workflow instance. */ resume(instanceId: string): Promise; /** * Purge a workflow instance. * @param instanceId The unique identifier for the workflow instance. */ purge(instanceId: string): Promise; /** * Raise an event to a workflow instance. * @param instanceId The unique identifier for the workflow instance. * @param eventName The name of the event to raise. * @param eventData The data associated with the event, should be JSON serializable. */ raise(instanceId: string, eventName: string, eventData?: any): Promise; }