/* tslint:disable */
/* eslint-disable */
/**
 * workflow-service
 * Workflow processes runner
 *
 * The version of the OpenAPI document: 1.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


import { Configuration } from './configuration';
import globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common';
// @ts-ignore
import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from './base';

/**
 * 
 * @export
 * @interface CyclicBarrier
 */
export interface CyclicBarrier {
    /**
     * 
     * @type {number}
     * @memberof CyclicBarrier
     */
    'parties'?: number;
    /**
     * 
     * @type {boolean}
     * @memberof CyclicBarrier
     */
    'broken'?: boolean;
    /**
     * 
     * @type {number}
     * @memberof CyclicBarrier
     */
    'numberWaiting'?: number;
}
/**
 * 
 * @export
 * @interface RestErrorDTO
 */
export interface RestErrorDTO {
    /**
     * 
     * @type {string}
     * @memberof RestErrorDTO
     */
    'timestamp'?: string;
    /**
     * 
     * @type {number}
     * @memberof RestErrorDTO
     */
    'status': number;
    /**
     * 
     * @type {string}
     * @memberof RestErrorDTO
     */
    'error'?: string;
    /**
     * 
     * @type {string}
     * @memberof RestErrorDTO
     */
    'message'?: string;
    /**
     * 
     * @type {string}
     * @memberof RestErrorDTO
     */
    'trace'?: string;
    /**
     * 
     * @type {string}
     * @memberof RestErrorDTO
     */
    'path'?: string;
    /**
     * 
     * @type {object}
     * @memberof RestErrorDTO
     */
    'context'?: object;
}
/**
 * 
 * @export
 * @interface ScriptEvaluationRequestDTO
 */
export interface ScriptEvaluationRequestDTO {
    /**
     * 
     * @type {string}
     * @memberof ScriptEvaluationRequestDTO
     */
    'script': string;
    /**
     * 
     * @type {Array<ScriptVariableDTO>}
     * @memberof ScriptEvaluationRequestDTO
     */
    'parameters': Array<ScriptVariableDTO>;
}
/**
 * 
 * @export
 * @interface ScriptEvaluationResponseDTO
 */
export interface ScriptEvaluationResponseDTO {
    /**
     * Script execution status
     * @type {boolean}
     * @memberof ScriptEvaluationResponseDTO
     */
    'success'?: boolean;
    /**
     * 
     * @type {object}
     * @memberof ScriptEvaluationResponseDTO
     */
    'result'?: object;
    /**
     * 
     * @type {string}
     * @memberof ScriptEvaluationResponseDTO
     */
    'stdOut'?: string;
}
/**
 * 
 * @export
 * @interface ScriptVariableDTO
 */
export interface ScriptVariableDTO {
    /**
     * 
     * @type {string}
     * @memberof ScriptVariableDTO
     */
    'variableName': string;
    /**
     * 
     * @type {string}
     * @memberof ScriptVariableDTO
     */
    'variableType': ScriptVariableDTOVariableTypeEnum;
    /**
     * 
     * @type {object}
     * @memberof ScriptVariableDTO
     */
    'variableValue': object;
}

export const ScriptVariableDTOVariableTypeEnum = {
    String: 'String',
    Json: 'JSON',
    Array: 'Array',
    Number: 'Number'
} as const;

export type ScriptVariableDTOVariableTypeEnum = typeof ScriptVariableDTOVariableTypeEnum[keyof typeof ScriptVariableDTOVariableTypeEnum];

/**
 * 
 * @export
 * @interface TaskHistoryEntry
 */
export interface TaskHistoryEntry {
    /**
     * 
     * @type {string}
     * @memberof TaskHistoryEntry
     */
    'taskStart'?: string;
    /**
     * 
     * @type {string}
     * @memberof TaskHistoryEntry
     */
    'taskEnd'?: string;
    /**
     * 
     * @type {string}
     * @memberof TaskHistoryEntry
     */
    'assignee'?: string;
    /**
     * 
     * @type {string}
     * @memberof TaskHistoryEntry
     */
    'title'?: string;
    /**
     * 
     * @type {string}
     * @memberof TaskHistoryEntry
     */
    'taskDefKey'?: string;
    /**
     * 
     * @type {string}
     * @memberof TaskHistoryEntry
     */
    'procDefKey'?: string;
    /**
     * 
     * @type {string}
     * @memberof TaskHistoryEntry
     */
    'procDefId'?: string;
    /**
     * 
     * @type {string}
     * @memberof TaskHistoryEntry
     */
    'formKey'?: string;
    /**
     * 
     * @type {string}
     * @memberof TaskHistoryEntry
     */
    'requiredRole'?: string;
    /**
     * 
     * @type {UserTaskSubmitEntry}
     * @memberof TaskHistoryEntry
     */
    'submitEntry'?: UserTaskSubmitEntry;
    /**
     * 
     * @type {{ [key: string]: any; }}
     * @memberof TaskHistoryEntry
     */
    'extProps'?: { [key: string]: any; };
}
/**
 * 
 * @export
 * @interface TaskProcess
 */
export interface TaskProcess {
    /**
     * 
     * @type {string}
     * @memberof TaskProcess
     */
    'title'?: string;
    /**
     * 
     * @type {string}
     * @memberof TaskProcess
     */
    'defKey'?: string;
    /**
     * 
     * @type {string}
     * @memberof TaskProcess
     */
    'traceId'?: string;
    /**
     * 
     * @type {Array<string>}
     * @memberof TaskProcess
     */
    'processTitles'?: Array<string>;
}
/**
 * 
 * @export
 * @interface UserFormField
 */
export interface UserFormField {
    /**
     * 
     * @type {string}
     * @memberof UserFormField
     */
    'id'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserFormField
     */
    'label'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserFormField
     */
    'type'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserFormField
     */
    'value'?: string;
}
/**
 * 
 * @export
 * @interface UserTask
 */
export interface UserTask {
    /**
     * 
     * @type {string}
     * @memberof UserTask
     */
    'taskId'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTask
     */
    'defId'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTask
     */
    'procDefId'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTask
     */
    'formKey'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTask
     */
    'title'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTask
     */
    'dueDate'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTask
     */
    'createDate'?: string;
    /**
     * 
     * @type {number}
     * @memberof UserTask
     */
    'priority'?: number;
    /**
     * 
     * @type {object}
     * @memberof UserTask
     */
    'outData'?: object;
    /**
     * 
     * @type {object}
     * @memberof UserTask
     */
    'schema'?: object;
    /**
     * 
     * @type {object}
     * @memberof UserTask
     */
    'schemaCode'?: object;
    /**
     * 
     * @type {object}
     * @memberof UserTask
     */
    'schemaVer'?: object;
    /**
     * 
     * @type {object}
     * @memberof UserTask
     */
    'stepNum'?: object;
    /**
     * 
     * @type {object}
     * @memberof UserTask
     */
    'stepName'?: object;
    /**
     * 
     * @type {object}
     * @memberof UserTask
     */
    'requiredRole'?: object;
}
/**
 * 
 * @export
 * @interface UserTaskDefinition
 */
export interface UserTaskDefinition {
    /**
     * 
     * @type {string}
     * @memberof UserTaskDefinition
     */
    'taskDefId'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTaskDefinition
     */
    'title'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTaskDefinition
     */
    'formKey'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTaskDefinition
     */
    'dueDate'?: string;
    /**
     * 
     * @type {object}
     * @memberof UserTaskDefinition
     */
    'schema'?: object;
    /**
     * 
     * @type {object}
     * @memberof UserTaskDefinition
     */
    'schemaCode'?: object;
    /**
     * 
     * @type {object}
     * @memberof UserTaskDefinition
     */
    'schemaVer'?: object;
    /**
     * 
     * @type {object}
     * @memberof UserTaskDefinition
     */
    'data'?: object;
    /**
     * 
     * @type {object}
     * @memberof UserTaskDefinition
     */
    'outData'?: object;
    /**
     * 
     * @type {object}
     * @memberof UserTaskDefinition
     */
    'requiredRole'?: object;
    /**
     * 
     * @type {object}
     * @memberof UserTaskDefinition
     */
    'stepNum'?: object;
    /**
     * 
     * @type {object}
     * @memberof UserTaskDefinition
     */
    'stepName'?: object;
    /**
     * 
     * @type {Array<UserTaskTransition>}
     * @memberof UserTaskDefinition
     */
    'transitions'?: Array<UserTaskTransition>;
}
/**
 * 
 * @export
 * @interface UserTaskDefinitionList
 */
export interface UserTaskDefinitionList {
    /**
     * 
     * @type {number}
     * @memberof UserTaskDefinitionList
     */
    'count'?: number;
    /**
     * 
     * @type {TaskProcess}
     * @memberof UserTaskDefinitionList
     */
    'process'?: TaskProcess;
    /**
     * 
     * @type {Array<UserTaskDefinition>}
     * @memberof UserTaskDefinitionList
     */
    'tasksDefinitions'?: Array<UserTaskDefinition>;
}
/**
 * 
 * @export
 * @interface UserTaskForm
 */
export interface UserTaskForm {
    /**
     * 
     * @type {string}
     * @memberof UserTaskForm
     */
    'taskId'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTaskForm
     */
    'formKey'?: string;
    /**
     * 
     * @type {Array<UserFormField>}
     * @memberof UserTaskForm
     */
    'fieldList'?: Array<UserFormField>;
}
/**
 * 
 * @export
 * @interface UserTaskFormList
 */
export interface UserTaskFormList {
    /**
     * 
     * @type {string}
     * @memberof UserTaskFormList
     */
    'assignee'?: string;
    /**
     * 
     * @type {Array<UserTaskForm>}
     * @memberof UserTaskFormList
     */
    'userTaskForms'?: Array<UserTaskForm>;
}
/**
 * 
 * @export
 * @interface UserTaskList
 */
export interface UserTaskList {
    /**
     * 
     * @type {string}
     * @memberof UserTaskList
     */
    'assignee'?: string;
    /**
     * 
     * @type {Array<UserTaskListItem>}
     * @memberof UserTaskList
     */
    'tasks'?: Array<UserTaskListItem>;
    /**
     * 
     * @type {number}
     * @memberof UserTaskList
     */
    'totalCount'?: number;
}
/**
 * 
 * @export
 * @interface UserTaskListItem
 */
export interface UserTaskListItem {
    /**
     * 
     * @type {UserTask}
     * @memberof UserTaskListItem
     */
    'userTask'?: UserTask;
    /**
     * 
     * @type {TaskProcess}
     * @memberof UserTaskListItem
     */
    'process'?: TaskProcess;
}
/**
 * 
 * @export
 * @interface UserTaskSubmitEntry
 */
export interface UserTaskSubmitEntry {
    /**
     * 
     * @type {string}
     * @memberof UserTaskSubmitEntry
     */
    'title'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTaskSubmitEntry
     */
    'taskDefId'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTaskSubmitEntry
     */
    'taskId'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTaskSubmitEntry
     */
    'submitDate'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTaskSubmitEntry
     */
    'data'?: string;
}
/**
 * 
 * @export
 * @interface UserTaskTransition
 */
export interface UserTaskTransition {
    /**
     * 
     * @type {string}
     * @memberof UserTaskTransition
     */
    'id'?: string;
    /**
     * 
     * @type {string}
     * @memberof UserTaskTransition
     */
    'name'?: string;
}
/**
 * Общий ответ сервиса workflow
 * @export
 * @interface WFAPIResponse
 */
export interface WFAPIResponse {
    /**
     * Код овтета
     * @type {string}
     * @memberof WFAPIResponse
     */
    'code'?: string;
    /**
     * Сообщение с результатом
     * @type {string}
     * @memberof WFAPIResponse
     */
    'msg'?: string;
}
/**
 * Запрос на очистку холдеров контроля
 * @export
 * @interface WFControlledHolderClearRequest
 */
export interface WFControlledHolderClearRequest {
    /**
     * 
     * @type {boolean}
     * @memberof WFControlledHolderClearRequest
     */
    'clearControlledStart'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof WFControlledHolderClearRequest
     */
    'clearControlledCorrelations'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof WFControlledHolderClearRequest
     */
    'sendAllPods'?: boolean;
}
/**
 * 
 * @export
 * @enum {string}
 */

export const WFDebugStage = {
    RestTaskPreSend: 'RestTaskPreSend',
    KafkaTaskPreSend: 'KafkaTaskPreSend',
    UserTaskPreSubmit: 'UserTaskPreSubmit'
} as const;

export type WFDebugStage = typeof WFDebugStage[keyof typeof WFDebugStage];


/**
 * Параметры для включения вывода в скриптах груви
 * @export
 * @interface WFGroovyOutputParams
 */
export interface WFGroovyOutputParams {
    /**
     * Включить / выключить вывод на консоль в груви
     * @type {boolean}
     * @memberof WFGroovyOutputParams
     */
    'enableOutput'?: boolean;
    /**
     * число минут до переключения в режим вывода по умолчанию
     * @type {number}
     * @memberof WFGroovyOutputParams
     */
    'duration'?: number;
}
/**
 * Информация о инциденте
 * @export
 * @interface WFIncidentInfo
 */
export interface WFIncidentInfo {
    /**
     * 
     * @type {string}
     * @memberof WFIncidentInfo
     */
    'executionId'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFIncidentInfo
     */
    'message'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFIncidentInfo
     */
    'stackTrace'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFIncidentInfo
     */
    'date'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFIncidentInfo
     */
    'type'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFIncidentInfo
     */
    'jobDefId'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFIncidentInfo
     */
    'procDefId'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFIncidentInfo
     */
    'activityId'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFIncidentInfo
     */
    'activityName'?: string;
    /**
     * 
     * @type {boolean}
     * @memberof WFIncidentInfo
     */
    'rootIncident'?: boolean;
}
/**
 * Запрос на удаление инстанса процесса
 * @export
 * @interface WFKillProcessInstanceRequest
 */
export interface WFKillProcessInstanceRequest {
    /**
     * Список идентификаторов инстансов процессов, их traceId, или идентификаторов текущего юзер таска
     * @type {Array<string>}
     * @memberof WFKillProcessInstanceRequest
     */
    'ids'?: Array<string>;
    /**
     * Признак удаление под процессов
     * @type {boolean}
     * @memberof WFKillProcessInstanceRequest
     */
    'skipSubProcesses'?: boolean;
}
/**
 * Словарь перевода БП
 * @export
 * @interface WFLocalDict
 */
export interface WFLocalDict {
    /**
     * 
     * @type {string}
     * @memberof WFLocalDict
     */
    'locale'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFLocalDict
     */
    'scope'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFLocalDict
     */
    'schema'?: string;
    /**
     * 
     * @type {{ [key: string]: string; }}
     * @memberof WFLocalDict
     */
    'dict'?: { [key: string]: string; };
}
/**
 * Информация о процессах
 * @export
 * @interface WFProcessInfo
 */
export interface WFProcessInfo {
    /**
     * 
     * @type {boolean}
     * @memberof WFProcessInfo
     */
    'isExists'?: boolean;
    /**
     * 
     * @type {Array<WFProcessInstanceInfo>}
     * @memberof WFProcessInfo
     */
    'processes'?: Array<WFProcessInstanceInfo>;
}
/**
 * Информация о ют процесса
 * @export
 * @interface WFProcessInfoUserTask
 */
export interface WFProcessInfoUserTask {
    /**
     * 
     * @type {string}
     * @memberof WFProcessInfoUserTask
     */
    'id'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFProcessInfoUserTask
     */
    'name'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFProcessInfoUserTask
     */
    'assignee'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFProcessInfoUserTask
     */
    'title'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFProcessInfoUserTask
     */
    'date'?: string;
}
/**
 * Информация о инстансе процесса
 * @export
 * @interface WFProcessInstanceInfo
 */
export interface WFProcessInstanceInfo {
    /**
     * 
     * @type {string}
     * @memberof WFProcessInstanceInfo
     */
    'definitionKey'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFProcessInstanceInfo
     */
    'definitionName'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFProcessInstanceInfo
     */
    'definitionId'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFProcessInstanceInfo
     */
    'id'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFProcessInstanceInfo
     */
    'traceId'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFProcessInstanceInfo
     */
    'rootProcess'?: string;
    /**
     * 
     * @type {Array<WFProcessInfoUserTask>}
     * @memberof WFProcessInstanceInfo
     */
    'userTaskList'?: Array<WFProcessInfoUserTask>;
    /**
     * 
     * @type {Array<WFIncidentInfo>}
     * @memberof WFProcessInstanceInfo
     */
    'incidents'?: Array<WFIncidentInfo>;
}
/**
 * Агрегат данных по сервису, использованному в бп
 * @export
 * @interface WFRestEndpointDescAggregate
 */
export interface WFRestEndpointDescAggregate {
    /**
     * 
     * @type {string}
     * @memberof WFRestEndpointDescAggregate
     */
    'name'?: string;
    /**
     * 
     * @type {{ [key: string]: any; }}
     * @memberof WFRestEndpointDescAggregate
     */
    'info'?: { [key: string]: any; };
}
/**
 * проекция эндпоинта из схемы
 * @export
 * @interface WFRestEndpointDescription
 */
export interface WFRestEndpointDescription {
    /**
     * 
     * @type {string}
     * @memberof WFRestEndpointDescription
     */
    'url'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFRestEndpointDescription
     */
    'path'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFRestEndpointDescription
     */
    'method'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFRestEndpointDescription
     */
    'restTaskName'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFRestEndpointDescription
     */
    'restTaskId'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFRestEndpointDescription
     */
    'schemaKey'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFRestEndpointDescription
     */
    'schemaName'?: string;
    /**
     * 
     * @type {{ [key: string]: any; }}
     * @memberof WFRestEndpointDescription
     */
    'serviceInfo'?: { [key: string]: any; };
}
/**
 * проекция эндпоинтов из схем
 * @export
 * @interface WFRestEndpointDescriptionList
 */
export interface WFRestEndpointDescriptionList {
    /**
     * 
     * @type {number}
     * @memberof WFRestEndpointDescriptionList
     */
    'count'?: number;
    /**
     * 
     * @type {Array<WFRestEndpointDescription>}
     * @memberof WFRestEndpointDescriptionList
     */
    'restTaskUseCases'?: Array<WFRestEndpointDescription>;
    /**
     * 
     * @type {Array<WFRestEndpointDescAggregate>}
     * @memberof WFRestEndpointDescriptionList
     */
    'services'?: Array<WFRestEndpointDescAggregate>;
}
/**
 * 
 * @export
 * @interface WFResumeHold
 */
export interface WFResumeHold {
    /**
     * 
     * @type {string}
     * @memberof WFResumeHold
     */
    'traceId'?: string;
    /**
     * 
     * @type {{ [key: string]: any; }}
     * @memberof WFResumeHold
     */
    'data'?: { [key: string]: any; };
    /**
     * 
     * @type {CyclicBarrier}
     * @memberof WFResumeHold
     */
    'cyclicBarrier'?: CyclicBarrier;
    /**
     * 
     * @type {boolean}
     * @memberof WFResumeHold
     */
    'resumed'?: boolean;
    /**
     * 
     * @type {string}
     * @memberof WFResumeHold
     */
    'date'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFResumeHold
     */
    'task'?: string;
    /**
     * 
     * @type {WFDebugStage}
     * @memberof WFResumeHold
     */
    'wfDebugStage'?: WFDebugStage;
}
/**
 * проекция схемы процесса
 * @export
 * @interface WFSchema
 */
export interface WFSchema {
    /**
     * 
     * @type {string}
     * @memberof WFSchema
     */
    'key'?: string;
    /**
     * 
     * @type {string}
     * @memberof WFSchema
     */
    'name'?: string;
    /**
     * 
     * @type {number}
     * @memberof WFSchema
     */
    'version'?: number;
    /**
     * 
     * @type {string}
     * @memberof WFSchema
     */
    'date'?: string;
}
/**
 * Список кодов доступных схем
 * @export
 * @interface WFSchemaList
 */
export interface WFSchemaList {
    /**
     * 
     * @type {Array<WFSchema>}
     * @memberof WFSchemaList
     */
    'schemas'?: Array<WFSchema>;
    /**
     * 
     * @type {number}
     * @memberof WFSchemaList
     */
    'count'?: number;
}
/**
 * runtime config
 * @export
 * @interface WFSetRuntimeConfig
 */
export interface WFSetRuntimeConfig {
    /**
     * 
     * @type {boolean}
     * @memberof WFSetRuntimeConfig
     */
    'isCorrelationRunning'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof WFSetRuntimeConfig
     */
    'isStartingControlledRunning'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof WFSetRuntimeConfig
     */
    'isStartingDirtRunning'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof WFSetRuntimeConfig
     */
    'isAutoDeleteCorrelationFromMap'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof WFSetRuntimeConfig
     */
    'isUseExclusiveCorrelation'?: boolean;
    /**
     * 
     * @type {boolean}
     * @memberof WFSetRuntimeConfig
     */
    'isScheduledProcessHolderCleaningTurnedOn'?: boolean;
    /**
     * 
     * @type {number}
     * @memberof WFSetRuntimeConfig
     */
    'correlationBatch'?: number;
    /**
     * 
     * @type {number}
     * @memberof WFSetRuntimeConfig
     */
    'startQueueBatch'?: number;
}
/**
 * Ответ на старт процесса
 * @export
 * @interface WFStartResult
 */
export interface WFStartResult {
    /**
     * Код овтета
     * @type {string}
     * @memberof WFStartResult
     */
    'code'?: string;
    /**
     * Сообщение с результатом
     * @type {string}
     * @memberof WFStartResult
     */
    'msg'?: string;
    /**
     * Актуальный номер ют
     * @type {string}
     * @memberof WFStartResult
     */
    'actualUserTaskId'?: string;
    /**
     * 
     * @type {object}
     * @memberof WFStartResult
     */
    'syncResult'?: object;
    /**
     * Trace Id процесса
     * @type {string}
     * @memberof WFStartResult
     */
    'traceId'?: string;
}
/**
 * Ответ на сабмит таска
 * @export
 * @interface WFSubmitResult
 */
export interface WFSubmitResult {
    /**
     * Признак завершения процесса
     * @type {boolean}
     * @memberof WFSubmitResult
     */
    'processFinished'?: boolean;
    /**
     * Код овтета
     * @type {string}
     * @memberof WFSubmitResult
     */
    'code'?: string;
    /**
     * Сообщение с результатом
     * @type {string}
     * @memberof WFSubmitResult
     */
    'msg'?: string;
    /**
     * Актуальный номер ют
     * @type {string}
     * @memberof WFSubmitResult
     */
    'actualUserTaskId'?: string;
    /**
     * 
     * @type {WFValidationResult}
     * @memberof WFSubmitResult
     */
    'wfValidationResult'?: WFValidationResult;
}
/**
 * Ошибка валидации
 * @export
 * @interface WFValidationError
 */
export interface WFValidationError {
    /**
     * Имя поля с ошибкой
     * @type {string}
     * @memberof WFValidationError
     */
    'name'?: string;
    /**
     * Список ошибок
     * @type {Array<string>}
     * @memberof WFValidationError
     */
    'errors'?: Array<string>;
}
/**
 * Результат валидации
 * @export
 * @interface WFValidationResult
 */
export interface WFValidationResult {
    /**
     * Признак наличия ошибок
     * @type {boolean}
     * @memberof WFValidationResult
     */
    'success'?: boolean;
    /**
     * Список ошибок по полям
     * @type {Array<WFValidationError>}
     * @memberof WFValidationResult
     */
    'errors'?: Array<WFValidationError>;
    /**
     * Список общих ошибок
     * @type {Array<string>}
     * @memberof WFValidationResult
     */
    'generalErrors'?: Array<string>;
}

/**
 * WorkflowServiceApi - axios parameter creator
 * @export
 */
export const WorkflowServiceApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Очистка очереди контроля
         * @param {WFControlledHolderClearRequest} wFControlledHolderClearRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        clearControlledHolders: async (wFControlledHolderClearRequest: WFControlledHolderClearRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'wFControlledHolderClearRequest' is not null or undefined
            assertParamExists('clearControlledHolders', 'wFControlledHolderClearRequest', wFControlledHolderClearRequest)
            const localVarPath = `/manage/clearControlledHolders`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(wFControlledHolderClearRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Коррелирует процесс на сообщение
         * @param {string} traceId Идентификатор процесса
         * @param {string} message Сообщение для корреляции
         * @param {string} dataKey Ключ сохранения данных
         * @param {{ [key: string]: any; }} requestBody доп. данные
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        correlate: async (traceId: string, message: string, dataKey: string, requestBody: { [key: string]: any; }, authorization?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'traceId' is not null or undefined
            assertParamExists('correlate', 'traceId', traceId)
            // verify required parameter 'message' is not null or undefined
            assertParamExists('correlate', 'message', message)
            // verify required parameter 'dataKey' is not null or undefined
            assertParamExists('correlate', 'dataKey', dataKey)
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('correlate', 'requestBody', requestBody)
            const localVarPath = `/correlate/{traceId}/message/{message}/data/{dataKey}`
                .replace(`{${"traceId"}}`, encodeURIComponent(String(traceId)))
                .replace(`{${"message"}}`, encodeURIComponent(String(message)))
                .replace(`{${"dataKey"}}`, encodeURIComponent(String(dataKey)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Retry job
         * @param {string} activity activity
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        doRetryJob: async (activity: string, authorization?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'activity' is not null or undefined
            assertParamExists('doRetryJob', 'activity', activity)
            const localVarPath = `/manage/retry/{activity}`
                .replace(`{${"activity"}}`, encodeURIComponent(String(activity)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Evaluate groovy script
         * @param {ScriptEvaluationRequestDTO} scriptEvaluationRequestDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        evaluateGroovyScript: async (scriptEvaluationRequestDTO: ScriptEvaluationRequestDTO, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'scriptEvaluationRequestDTO' is not null or undefined
            assertParamExists('evaluateGroovyScript', 'scriptEvaluationRequestDTO', scriptEvaluationRequestDTO)
            const localVarPath = `/v1/groovy/console/evaluate`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(scriptEvaluationRequestDTO, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Получение списка задач пользователя, для определенного инстанса
         * @param {string} businessKey businessKey
         * @param {string} [authorization] Авторизация
         * @param {string} [assignee] Идентификатор пользователя
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        findUserTasks: async (businessKey: string, authorization?: string, assignee?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'businessKey' is not null or undefined
            assertParamExists('findUserTasks', 'businessKey', businessKey)
            const localVarPath = `/task/user/list`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (assignee !== undefined) {
                localVarQueryParameter['assignee'] = assignee;
            }

            if (businessKey !== undefined) {
                localVarQueryParameter['businessKey'] = businessKey;
            }

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Получение списка загруженных схем
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getCodes: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/schema/codes`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Получение переводов по БП
         * @param {string} scope скоуп переводов
         * @param {string} [body] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDicts: async (scope: string, body?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'scope' is not null or undefined
            assertParamExists('getDicts', 'scope', scope)
            const localVarPath = `/localization/scope/{scope}/`
                .replace(`{${"scope"}}`, encodeURIComponent(String(scope)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Получение эндпоинтов по схемам
         * @param {string} schemaIds Коды схем
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getEndpoints: async (schemaIds: string, authorization?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'schemaIds' is not null or undefined
            assertParamExists('getEndpoints', 'schemaIds', schemaIds)
            const localVarPath = `/manage/collectRestEndpoints`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (schemaIds !== undefined) {
                localVarQueryParameter['schemaIds'] = schemaIds;
            }

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Получение форм по задачам
         * @param {string} taskIds Идентификаторы тасков
         * @param {string} businessKey Тип отображения json/html
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getForms: async (taskIds: string, businessKey: string, authorization?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'taskIds' is not null or undefined
            assertParamExists('getForms', 'taskIds', taskIds)
            // verify required parameter 'businessKey' is not null or undefined
            assertParamExists('getForms', 'businessKey', businessKey)
            const localVarPath = `/task/forms`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (taskIds !== undefined) {
                localVarQueryParameter['taskIds'] = taskIds;
            }

            if (businessKey !== undefined) {
                localVarQueryParameter['businessKey'] = businessKey;
            }

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Проверка существования процесса
         * @param {string} traceId traceId
         * @param {string} [authorization] Авторизация
         * @param {{ [key: string]: any; }} [requestBody] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getProcInfo: async (traceId: string, authorization?: string, requestBody?: { [key: string]: any; }, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'traceId' is not null or undefined
            assertParamExists('getProcInfo', 'traceId', traceId)
            const localVarPath = `/manage/process/info/{traceId}`
                .replace(`{${"traceId"}}`, encodeURIComponent(String(traceId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Получение актуальной схемы по коду
         * @param {string} code 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSchema: async (code: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'code' is not null or undefined
            assertParamExists('getSchema', 'code', code)
            const localVarPath = `/schema/download/{code}`
                .replace(`{${"code"}}`, encodeURIComponent(String(code)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Получение информации о шаге
         * @param {string} traceId Идентификатор процесса
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getStep: async (traceId: string, authorization?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'traceId' is not null or undefined
            assertParamExists('getStep', 'traceId', traceId)
            const localVarPath = `/debug/step/{traceId}`
                .replace(`{${"traceId"}}`, encodeURIComponent(String(traceId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Получение списка определений задач пользователя
         * @param {string} [traceId] traceId процесса
         * @param {string} [procDefId] Код процесса
         * @param {string} [assignee] Идентификатор пользователя
         * @param {string} [taskId] Идентификатор таска
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTaskDefList: async (traceId?: string, procDefId?: string, assignee?: string, taskId?: string, authorization?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/task/definitions`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (traceId !== undefined) {
                localVarQueryParameter['traceId'] = traceId;
            }

            if (procDefId !== undefined) {
                localVarQueryParameter['procDefId'] = procDefId;
            }

            if (assignee !== undefined) {
                localVarQueryParameter['assignee'] = assignee;
            }

            if (taskId !== undefined) {
                localVarQueryParameter['taskId'] = taskId;
            }

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Получение истории по задачам
         * @param {string} [traceId] traceId процесса
         * @param {string} [authorization] Авторизация
         * @param {boolean} [expandProps] Флаг расширенного вывода
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTaskHistory: async (traceId?: string, authorization?: string, expandProps?: boolean, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/task/history`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (traceId !== undefined) {
                localVarQueryParameter['traceId'] = traceId;
            }

            if (expandProps !== undefined) {
                localVarQueryParameter['expandProps'] = expandProps;
            }

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Вернуть true, если схема присутствует, иначе false
         * @param {string} code 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        isPresent: async (code: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'code' is not null or undefined
            assertParamExists('isPresent', 'code', code)
            const localVarPath = `/schema/codes/{code}`
                .replace(`{${"code"}}`, encodeURIComponent(String(code)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Очистка запущенных процессов
         * @param {WFKillProcessInstanceRequest} wFKillProcessInstanceRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        killProcInstaces: async (wFKillProcessInstanceRequest: WFKillProcessInstanceRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'wFKillProcessInstanceRequest' is not null or undefined
            assertParamExists('killProcInstaces', 'wFKillProcessInstanceRequest', wFKillProcessInstanceRequest)
            const localVarPath = `/manage/killProcessInstances`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(wFKillProcessInstanceRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Загружает схемы DMN в сервис
         * @param {File} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        load: async (files?: File, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/decision`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;
            const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


            if (files !== undefined) { 
                localVarFormParams.append('files', files as any);
            }
    
    
            localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = localVarFormParams;

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Загружает схемы BPMN в сервис
         * @param {File} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        loadSchema: async (files?: File, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/schema`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;
            const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


            if (files !== undefined) { 
                localVarFormParams.append('files', files as any);
            }
    
    
            localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = localVarFormParams;

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Отпускает пошаговый барьер
         * @param {string} traceId Идентификатор процесса
         * @param {{ [key: string]: any; }} requestBody доп. данные
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        resumeProc: async (traceId: string, requestBody: { [key: string]: any; }, authorization?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'traceId' is not null or undefined
            assertParamExists('resumeProc', 'traceId', traceId)
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('resumeProc', 'requestBody', requestBody)
            const localVarPath = `/debug/resume/{traceId}`
                .replace(`{${"traceId"}}`, encodeURIComponent(String(traceId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Корреляция сообщения через traceId процесса, слушающего topic
         * @param {string} traceId Бизнес-ключ процесса
         * @param {string} topic Топик для корреляции
         * @param {{ [key: string]: any; }} requestBody Сообщение для корреляции
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setCorrelation: async (traceId: string, topic: string, requestBody: { [key: string]: any; }, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'traceId' is not null or undefined
            assertParamExists('setCorrelation', 'traceId', traceId)
            // verify required parameter 'topic' is not null or undefined
            assertParamExists('setCorrelation', 'topic', topic)
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('setCorrelation', 'requestBody', requestBody)
            const localVarPath = `/correlate/{traceId}/topic/{topic}`
                .replace(`{${"traceId"}}`, encodeURIComponent(String(traceId)))
                .replace(`{${"topic"}}`, encodeURIComponent(String(topic)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Включение/Отключение вывода на консоль в груви скриптах 
         * @param {WFGroovyOutputParams} wFGroovyOutputParams 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setGroovyConsoleOutputMode: async (wFGroovyOutputParams: WFGroovyOutputParams, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'wFGroovyOutputParams' is not null or undefined
            assertParamExists('setGroovyConsoleOutputMode', 'wFGroovyOutputParams', wFGroovyOutputParams)
            const localVarPath = `/manage/groovyOutput`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(wFGroovyOutputParams, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Включение/Отключение runtime config
         * @param {WFSetRuntimeConfig} wFSetRuntimeConfig 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setRuntimeConfig: async (wFSetRuntimeConfig: WFSetRuntimeConfig, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'wFSetRuntimeConfig' is not null or undefined
            assertParamExists('setRuntimeConfig', 'wFSetRuntimeConfig', wFSetRuntimeConfig)
            const localVarPath = `/manage/setRuntimeConfig`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(wFSetRuntimeConfig, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Запускает выполение процесса 
         * @param {{ [key: string]: any; }} requestBody Параметры процесса
         * @param {string} [traceId] 
         * @param {string} [parentProcessId] 
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        start: async (requestBody: { [key: string]: any; }, traceId?: string, parentProcessId?: string, authorization?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('start', 'requestBody', requestBody)
            const localVarPath = `/start`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (traceId != null) {
                localVarHeaderParameter['traceId'] = String(traceId);
            }

            if (parentProcessId != null) {
                localVarHeaderParameter['parentProcessId'] = String(parentProcessId);
            }

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Запускает выполение процесса 
         * @param {{ [key: string]: any; }} requestBody Параметры процесса
         * @param {string} [traceId] 
         * @param {string} [parentProcessId] 
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        startTest: async (requestBody: { [key: string]: any; }, traceId?: string, parentProcessId?: string, authorization?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('startTest', 'requestBody', requestBody)
            const localVarPath = `/start/test`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (traceId != null) {
                localVarHeaderParameter['traceId'] = String(traceId);
            }

            if (parentProcessId != null) {
                localVarHeaderParameter['parentProcessId'] = String(parentProcessId);
            }

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Запускает выполение процесса с файлами 
         * @param {string} [authorization] 
         * @param {string} [traceId] 
         * @param {string} [parentProcessId] 
         * @param {File} [files] 
         * @param {File} [jsonFile] 
         * @param {string} [json] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        startWithFiles: async (authorization?: string, traceId?: string, parentProcessId?: string, files?: File, jsonFile?: File, json?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/start/withfiles`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;
            const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }

            if (traceId != null) {
                localVarHeaderParameter['traceId'] = String(traceId);
            }

            if (parentProcessId != null) {
                localVarHeaderParameter['parentProcessId'] = String(parentProcessId);
            }


            if (files !== undefined) { 
                localVarFormParams.append('files', files as any);
            }
    
            if (jsonFile !== undefined) { 
                localVarFormParams.append('jsonFile', jsonFile as any);
            }
    
            if (json !== undefined) { 
                localVarFormParams.append('json', json as any);
            }
    
    
            localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = localVarFormParams;

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Получает форму по пользовательскому таску
         * @param {string} taskId Идентификатор таска
         * @param {{ [key: string]: any; }} requestBody Параметры формы
         * @param {string} [traceId] 
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        submitForm: async (taskId: string, requestBody: { [key: string]: any; }, traceId?: string, authorization?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'taskId' is not null or undefined
            assertParamExists('submitForm', 'taskId', taskId)
            // verify required parameter 'requestBody' is not null or undefined
            assertParamExists('submitForm', 'requestBody', requestBody)
            const localVarPath = `/task/submitForm/{taskId}`
                .replace(`{${"taskId"}}`, encodeURIComponent(String(taskId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (traceId != null) {
                localVarHeaderParameter['traceId'] = String(traceId);
            }

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Получает форму по пользовательскому таску
         * @param {string} taskId Идентификатор таска
         * @param {string} [traceId] 
         * @param {string} [authorization] 
         * @param {File} [files] 
         * @param {string} [json] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        submitFormWithFiles: async (taskId: string, traceId?: string, authorization?: string, files?: File, json?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'taskId' is not null or undefined
            assertParamExists('submitFormWithFiles', 'taskId', taskId)
            const localVarPath = `/task/submitFormWithFiles/{taskId}`
                .replace(`{${"taskId"}}`, encodeURIComponent(String(taskId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;
            const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (traceId != null) {
                localVarHeaderParameter['traceId'] = String(traceId);
            }

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


            if (files !== undefined) { 
                localVarFormParams.append('files', files as any);
            }
    
            if (json !== undefined) { 
                localVarFormParams.append('json', json as any);
            }
    
    
            localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = localVarFormParams;

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Получение списка задач пользователя
         * @param {string} [expandOutData] Флаг необходимости расширять outData для ют
         * @param {string} [page] Номер страницы, по умолчанию 0
         * @param {string} [perPage] Обьектов на странице, по умолчанию 10
         * @param {string} [authorization] Авторизация
         * @param {string} [assignee] Идентификатор пользователя
         * @param {string} [businessKey] traceId
         * @param {string} [taskId] Идентификатор таска
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        taskList: async (expandOutData?: string, page?: string, perPage?: string, authorization?: string, assignee?: string, businessKey?: string, taskId?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/task`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (expandOutData !== undefined) {
                localVarQueryParameter['expandOutData'] = expandOutData;
            }

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (assignee !== undefined) {
                localVarQueryParameter['assignee'] = assignee;
            }

            if (businessKey !== undefined) {
                localVarQueryParameter['businessKey'] = businessKey;
            }

            if (taskId !== undefined) {
                localVarQueryParameter['taskId'] = taskId;
            }

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Получение списка задач пользователя, c восстановлением
         * @param {string} [expandOutData] Флаг необходимости расширять outData для ют
         * @param {string} [page] Номер страницы, по умолчанию 0
         * @param {string} [perPage] Обьектов на странице, по умолчанию 10
         * @param {string} [authorization] Авторизация
         * @param {string} [assignee] Идентификатор пользователя
         * @param {string} [businessKey] traceId
         * @param {string} [taskId] Идентификатор таска
         * @param {{ [key: string]: any; }} [requestBody] Payload на случай восстания нежити
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        taskListWithResurrect: async (expandOutData?: string, page?: string, perPage?: string, authorization?: string, assignee?: string, businessKey?: string, taskId?: string, requestBody?: { [key: string]: any; }, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/task/withResurrect`;
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication srvAuth required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (expandOutData !== undefined) {
                localVarQueryParameter['expandOutData'] = expandOutData;
            }

            if (page !== undefined) {
                localVarQueryParameter['page'] = page;
            }

            if (perPage !== undefined) {
                localVarQueryParameter['perPage'] = perPage;
            }

            if (assignee !== undefined) {
                localVarQueryParameter['assignee'] = assignee;
            }

            if (businessKey !== undefined) {
                localVarQueryParameter['businessKey'] = businessKey;
            }

            if (taskId !== undefined) {
                localVarQueryParameter['taskId'] = taskId;
            }

            if (authorization != null) {
                localVarHeaderParameter['Authorization'] = String(authorization);
            }


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Очистка деплоев схем
         * @param {string} procDefKey Код схемы
         * @param {string} body 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        undeploy: async (procDefKey: string, body: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'procDefKey' is not null or undefined
            assertParamExists('undeploy', 'procDefKey', procDefKey)
            // verify required parameter 'body' is not null or undefined
            assertParamExists('undeploy', 'body', body)
            const localVarPath = `/manage/undeploy/{procDefKey}/`
                .replace(`{${"procDefKey"}}`, encodeURIComponent(String(procDefKey)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * WorkflowServiceApi - functional programming interface
 * @export
 */
export const WorkflowServiceApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = WorkflowServiceApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Очистка очереди контроля
         * @param {WFControlledHolderClearRequest} wFControlledHolderClearRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async clearControlledHolders(wFControlledHolderClearRequest: WFControlledHolderClearRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{ [key: string]: any; }>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.clearControlledHolders(wFControlledHolderClearRequest, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Коррелирует процесс на сообщение
         * @param {string} traceId Идентификатор процесса
         * @param {string} message Сообщение для корреляции
         * @param {string} dataKey Ключ сохранения данных
         * @param {{ [key: string]: any; }} requestBody доп. данные
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async correlate(traceId: string, message: string, dataKey: string, requestBody: { [key: string]: any; }, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFAPIResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.correlate(traceId, message, dataKey, requestBody, authorization, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Retry job
         * @param {string} activity activity
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async doRetryJob(activity: string, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFAPIResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.doRetryJob(activity, authorization, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Evaluate groovy script
         * @param {ScriptEvaluationRequestDTO} scriptEvaluationRequestDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async evaluateGroovyScript(scriptEvaluationRequestDTO: ScriptEvaluationRequestDTO, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ScriptEvaluationResponseDTO>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.evaluateGroovyScript(scriptEvaluationRequestDTO, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Получение списка задач пользователя, для определенного инстанса
         * @param {string} businessKey businessKey
         * @param {string} [authorization] Авторизация
         * @param {string} [assignee] Идентификатор пользователя
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async findUserTasks(businessKey: string, authorization?: string, assignee?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserTaskList>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.findUserTasks(businessKey, authorization, assignee, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Получение списка загруженных схем
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getCodes(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFSchemaList>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getCodes(options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Получение переводов по БП
         * @param {string} scope скоуп переводов
         * @param {string} [body] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getDicts(scope: string, body?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFLocalDict>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getDicts(scope, body, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Получение эндпоинтов по схемам
         * @param {string} schemaIds Коды схем
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getEndpoints(schemaIds: string, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFRestEndpointDescriptionList>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getEndpoints(schemaIds, authorization, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Получение форм по задачам
         * @param {string} taskIds Идентификаторы тасков
         * @param {string} businessKey Тип отображения json/html
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getForms(taskIds: string, businessKey: string, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserTaskFormList>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getForms(taskIds, businessKey, authorization, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Проверка существования процесса
         * @param {string} traceId traceId
         * @param {string} [authorization] Авторизация
         * @param {{ [key: string]: any; }} [requestBody] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getProcInfo(traceId: string, authorization?: string, requestBody?: { [key: string]: any; }, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFProcessInfo>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getProcInfo(traceId, authorization, requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Получение актуальной схемы по коду
         * @param {string} code 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getSchema(code: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getSchema(code, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Получение информации о шаге
         * @param {string} traceId Идентификатор процесса
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getStep(traceId: string, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFResumeHold>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getStep(traceId, authorization, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Получение списка определений задач пользователя
         * @param {string} [traceId] traceId процесса
         * @param {string} [procDefId] Код процесса
         * @param {string} [assignee] Идентификатор пользователя
         * @param {string} [taskId] Идентификатор таска
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getTaskDefList(traceId?: string, procDefId?: string, assignee?: string, taskId?: string, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserTaskDefinitionList>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getTaskDefList(traceId, procDefId, assignee, taskId, authorization, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Получение истории по задачам
         * @param {string} [traceId] traceId процесса
         * @param {string} [authorization] Авторизация
         * @param {boolean} [expandProps] Флаг расширенного вывода
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getTaskHistory(traceId?: string, authorization?: string, expandProps?: boolean, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<TaskHistoryEntry>>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getTaskHistory(traceId, authorization, expandProps, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Вернуть true, если схема присутствует, иначе false
         * @param {string} code 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async isPresent(code: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.isPresent(code, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Очистка запущенных процессов
         * @param {WFKillProcessInstanceRequest} wFKillProcessInstanceRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async killProcInstaces(wFKillProcessInstanceRequest: WFKillProcessInstanceRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFAPIResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.killProcInstaces(wFKillProcessInstanceRequest, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Загружает схемы DMN в сервис
         * @param {File} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async load(files?: File, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFAPIResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.load(files, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Загружает схемы BPMN в сервис
         * @param {File} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async loadSchema(files?: File, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFAPIResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.loadSchema(files, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Отпускает пошаговый барьер
         * @param {string} traceId Идентификатор процесса
         * @param {{ [key: string]: any; }} requestBody доп. данные
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async resumeProc(traceId: string, requestBody: { [key: string]: any; }, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFAPIResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.resumeProc(traceId, requestBody, authorization, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Корреляция сообщения через traceId процесса, слушающего topic
         * @param {string} traceId Бизнес-ключ процесса
         * @param {string} topic Топик для корреляции
         * @param {{ [key: string]: any; }} requestBody Сообщение для корреляции
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async setCorrelation(traceId: string, topic: string, requestBody: { [key: string]: any; }, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFAPIResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.setCorrelation(traceId, topic, requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Включение/Отключение вывода на консоль в груви скриптах 
         * @param {WFGroovyOutputParams} wFGroovyOutputParams 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async setGroovyConsoleOutputMode(wFGroovyOutputParams: WFGroovyOutputParams, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{ [key: string]: any; }>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.setGroovyConsoleOutputMode(wFGroovyOutputParams, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Включение/Отключение runtime config
         * @param {WFSetRuntimeConfig} wFSetRuntimeConfig 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async setRuntimeConfig(wFSetRuntimeConfig: WFSetRuntimeConfig, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{ [key: string]: any; }>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.setRuntimeConfig(wFSetRuntimeConfig, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Запускает выполение процесса 
         * @param {{ [key: string]: any; }} requestBody Параметры процесса
         * @param {string} [traceId] 
         * @param {string} [parentProcessId] 
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async start(requestBody: { [key: string]: any; }, traceId?: string, parentProcessId?: string, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFStartResult>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.start(requestBody, traceId, parentProcessId, authorization, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Запускает выполение процесса 
         * @param {{ [key: string]: any; }} requestBody Параметры процесса
         * @param {string} [traceId] 
         * @param {string} [parentProcessId] 
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async startTest(requestBody: { [key: string]: any; }, traceId?: string, parentProcessId?: string, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFStartResult>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.startTest(requestBody, traceId, parentProcessId, authorization, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Запускает выполение процесса с файлами 
         * @param {string} [authorization] 
         * @param {string} [traceId] 
         * @param {string} [parentProcessId] 
         * @param {File} [files] 
         * @param {File} [jsonFile] 
         * @param {string} [json] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async startWithFiles(authorization?: string, traceId?: string, parentProcessId?: string, files?: File, jsonFile?: File, json?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFAPIResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.startWithFiles(authorization, traceId, parentProcessId, files, jsonFile, json, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Получает форму по пользовательскому таску
         * @param {string} taskId Идентификатор таска
         * @param {{ [key: string]: any; }} requestBody Параметры формы
         * @param {string} [traceId] 
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async submitForm(taskId: string, requestBody: { [key: string]: any; }, traceId?: string, authorization?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFSubmitResult>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.submitForm(taskId, requestBody, traceId, authorization, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Получает форму по пользовательскому таску
         * @param {string} taskId Идентификатор таска
         * @param {string} [traceId] 
         * @param {string} [authorization] 
         * @param {File} [files] 
         * @param {string} [json] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async submitFormWithFiles(taskId: string, traceId?: string, authorization?: string, files?: File, json?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFSubmitResult>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.submitFormWithFiles(taskId, traceId, authorization, files, json, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Получение списка задач пользователя
         * @param {string} [expandOutData] Флаг необходимости расширять outData для ют
         * @param {string} [page] Номер страницы, по умолчанию 0
         * @param {string} [perPage] Обьектов на странице, по умолчанию 10
         * @param {string} [authorization] Авторизация
         * @param {string} [assignee] Идентификатор пользователя
         * @param {string} [businessKey] traceId
         * @param {string} [taskId] Идентификатор таска
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async taskList(expandOutData?: string, page?: string, perPage?: string, authorization?: string, assignee?: string, businessKey?: string, taskId?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserTaskList>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.taskList(expandOutData, page, perPage, authorization, assignee, businessKey, taskId, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Получение списка задач пользователя, c восстановлением
         * @param {string} [expandOutData] Флаг необходимости расширять outData для ют
         * @param {string} [page] Номер страницы, по умолчанию 0
         * @param {string} [perPage] Обьектов на странице, по умолчанию 10
         * @param {string} [authorization] Авторизация
         * @param {string} [assignee] Идентификатор пользователя
         * @param {string} [businessKey] traceId
         * @param {string} [taskId] Идентификатор таска
         * @param {{ [key: string]: any; }} [requestBody] Payload на случай восстания нежити
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async taskListWithResurrect(expandOutData?: string, page?: string, perPage?: string, authorization?: string, assignee?: string, businessKey?: string, taskId?: string, requestBody?: { [key: string]: any; }, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserTaskList>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.taskListWithResurrect(expandOutData, page, perPage, authorization, assignee, businessKey, taskId, requestBody, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary Очистка деплоев схем
         * @param {string} procDefKey Код схемы
         * @param {string} body 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async undeploy(procDefKey: string, body: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WFAPIResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.undeploy(procDefKey, body, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * WorkflowServiceApi - factory interface
 * @export
 */
export const WorkflowServiceApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = WorkflowServiceApiFp(configuration)
    return {
        /**
         * 
         * @summary Очистка очереди контроля
         * @param {WFControlledHolderClearRequest} wFControlledHolderClearRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        clearControlledHolders(wFControlledHolderClearRequest: WFControlledHolderClearRequest, options?: any): AxiosPromise<{ [key: string]: any; }> {
            return localVarFp.clearControlledHolders(wFControlledHolderClearRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Коррелирует процесс на сообщение
         * @param {string} traceId Идентификатор процесса
         * @param {string} message Сообщение для корреляции
         * @param {string} dataKey Ключ сохранения данных
         * @param {{ [key: string]: any; }} requestBody доп. данные
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        correlate(traceId: string, message: string, dataKey: string, requestBody: { [key: string]: any; }, authorization?: string, options?: any): AxiosPromise<WFAPIResponse> {
            return localVarFp.correlate(traceId, message, dataKey, requestBody, authorization, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Retry job
         * @param {string} activity activity
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        doRetryJob(activity: string, authorization?: string, options?: any): AxiosPromise<WFAPIResponse> {
            return localVarFp.doRetryJob(activity, authorization, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Evaluate groovy script
         * @param {ScriptEvaluationRequestDTO} scriptEvaluationRequestDTO 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        evaluateGroovyScript(scriptEvaluationRequestDTO: ScriptEvaluationRequestDTO, options?: any): AxiosPromise<ScriptEvaluationResponseDTO> {
            return localVarFp.evaluateGroovyScript(scriptEvaluationRequestDTO, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Получение списка задач пользователя, для определенного инстанса
         * @param {string} businessKey businessKey
         * @param {string} [authorization] Авторизация
         * @param {string} [assignee] Идентификатор пользователя
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        findUserTasks(businessKey: string, authorization?: string, assignee?: string, options?: any): AxiosPromise<UserTaskList> {
            return localVarFp.findUserTasks(businessKey, authorization, assignee, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Получение списка загруженных схем
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getCodes(options?: any): AxiosPromise<WFSchemaList> {
            return localVarFp.getCodes(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Получение переводов по БП
         * @param {string} scope скоуп переводов
         * @param {string} [body] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDicts(scope: string, body?: string, options?: any): AxiosPromise<WFLocalDict> {
            return localVarFp.getDicts(scope, body, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Получение эндпоинтов по схемам
         * @param {string} schemaIds Коды схем
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getEndpoints(schemaIds: string, authorization?: string, options?: any): AxiosPromise<WFRestEndpointDescriptionList> {
            return localVarFp.getEndpoints(schemaIds, authorization, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Получение форм по задачам
         * @param {string} taskIds Идентификаторы тасков
         * @param {string} businessKey Тип отображения json/html
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getForms(taskIds: string, businessKey: string, authorization?: string, options?: any): AxiosPromise<UserTaskFormList> {
            return localVarFp.getForms(taskIds, businessKey, authorization, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Проверка существования процесса
         * @param {string} traceId traceId
         * @param {string} [authorization] Авторизация
         * @param {{ [key: string]: any; }} [requestBody] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getProcInfo(traceId: string, authorization?: string, requestBody?: { [key: string]: any; }, options?: any): AxiosPromise<WFProcessInfo> {
            return localVarFp.getProcInfo(traceId, authorization, requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Получение актуальной схемы по коду
         * @param {string} code 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSchema(code: string, options?: any): AxiosPromise<void> {
            return localVarFp.getSchema(code, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Получение информации о шаге
         * @param {string} traceId Идентификатор процесса
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getStep(traceId: string, authorization?: string, options?: any): AxiosPromise<WFResumeHold> {
            return localVarFp.getStep(traceId, authorization, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Получение списка определений задач пользователя
         * @param {string} [traceId] traceId процесса
         * @param {string} [procDefId] Код процесса
         * @param {string} [assignee] Идентификатор пользователя
         * @param {string} [taskId] Идентификатор таска
         * @param {string} [authorization] Авторизация
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTaskDefList(traceId?: string, procDefId?: string, assignee?: string, taskId?: string, authorization?: string, options?: any): AxiosPromise<UserTaskDefinitionList> {
            return localVarFp.getTaskDefList(traceId, procDefId, assignee, taskId, authorization, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Получение истории по задачам
         * @param {string} [traceId] traceId процесса
         * @param {string} [authorization] Авторизация
         * @param {boolean} [expandProps] Флаг расширенного вывода
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTaskHistory(traceId?: string, authorization?: string, expandProps?: boolean, options?: any): AxiosPromise<Array<TaskHistoryEntry>> {
            return localVarFp.getTaskHistory(traceId, authorization, expandProps, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Вернуть true, если схема присутствует, иначе false
         * @param {string} code 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        isPresent(code: string, options?: any): AxiosPromise<void> {
            return localVarFp.isPresent(code, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Очистка запущенных процессов
         * @param {WFKillProcessInstanceRequest} wFKillProcessInstanceRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        killProcInstaces(wFKillProcessInstanceRequest: WFKillProcessInstanceRequest, options?: any): AxiosPromise<WFAPIResponse> {
            return localVarFp.killProcInstaces(wFKillProcessInstanceRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Загружает схемы DMN в сервис
         * @param {File} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        load(files?: File, options?: any): AxiosPromise<WFAPIResponse> {
            return localVarFp.load(files, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Загружает схемы BPMN в сервис
         * @param {File} [files] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        loadSchema(files?: File, options?: any): AxiosPromise<WFAPIResponse> {
            return localVarFp.loadSchema(files, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Отпускает пошаговый барьер
         * @param {string} traceId Идентификатор процесса
         * @param {{ [key: string]: any; }} requestBody доп. данные
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        resumeProc(traceId: string, requestBody: { [key: string]: any; }, authorization?: string, options?: any): AxiosPromise<WFAPIResponse> {
            return localVarFp.resumeProc(traceId, requestBody, authorization, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Корреляция сообщения через traceId процесса, слушающего topic
         * @param {string} traceId Бизнес-ключ процесса
         * @param {string} topic Топик для корреляции
         * @param {{ [key: string]: any; }} requestBody Сообщение для корреляции
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setCorrelation(traceId: string, topic: string, requestBody: { [key: string]: any; }, options?: any): AxiosPromise<WFAPIResponse> {
            return localVarFp.setCorrelation(traceId, topic, requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Включение/Отключение вывода на консоль в груви скриптах 
         * @param {WFGroovyOutputParams} wFGroovyOutputParams 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setGroovyConsoleOutputMode(wFGroovyOutputParams: WFGroovyOutputParams, options?: any): AxiosPromise<{ [key: string]: any; }> {
            return localVarFp.setGroovyConsoleOutputMode(wFGroovyOutputParams, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Включение/Отключение runtime config
         * @param {WFSetRuntimeConfig} wFSetRuntimeConfig 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        setRuntimeConfig(wFSetRuntimeConfig: WFSetRuntimeConfig, options?: any): AxiosPromise<{ [key: string]: any; }> {
            return localVarFp.setRuntimeConfig(wFSetRuntimeConfig, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Запускает выполение процесса 
         * @param {{ [key: string]: any; }} requestBody Параметры процесса
         * @param {string} [traceId] 
         * @param {string} [parentProcessId] 
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        start(requestBody: { [key: string]: any; }, traceId?: string, parentProcessId?: string, authorization?: string, options?: any): AxiosPromise<WFStartResult> {
            return localVarFp.start(requestBody, traceId, parentProcessId, authorization, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Запускает выполение процесса 
         * @param {{ [key: string]: any; }} requestBody Параметры процесса
         * @param {string} [traceId] 
         * @param {string} [parentProcessId] 
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        startTest(requestBody: { [key: string]: any; }, traceId?: string, parentProcessId?: string, authorization?: string, options?: any): AxiosPromise<WFStartResult> {
            return localVarFp.startTest(requestBody, traceId, parentProcessId, authorization, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Запускает выполение процесса с файлами 
         * @param {string} [authorization] 
         * @param {string} [traceId] 
         * @param {string} [parentProcessId] 
         * @param {File} [files] 
         * @param {File} [jsonFile] 
         * @param {string} [json] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        startWithFiles(authorization?: string, traceId?: string, parentProcessId?: string, files?: File, jsonFile?: File, json?: string, options?: any): AxiosPromise<WFAPIResponse> {
            return localVarFp.startWithFiles(authorization, traceId, parentProcessId, files, jsonFile, json, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Получает форму по пользовательскому таску
         * @param {string} taskId Идентификатор таска
         * @param {{ [key: string]: any; }} requestBody Параметры формы
         * @param {string} [traceId] 
         * @param {string} [authorization] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        submitForm(taskId: string, requestBody: { [key: string]: any; }, traceId?: string, authorization?: string, options?: any): AxiosPromise<WFSubmitResult> {
            return localVarFp.submitForm(taskId, requestBody, traceId, authorization, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Получает форму по пользовательскому таску
         * @param {string} taskId Идентификатор таска
         * @param {string} [traceId] 
         * @param {string} [authorization] 
         * @param {File} [files] 
         * @param {string} [json] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        submitFormWithFiles(taskId: string, traceId?: string, authorization?: string, files?: File, json?: string, options?: any): AxiosPromise<WFSubmitResult> {
            return localVarFp.submitFormWithFiles(taskId, traceId, authorization, files, json, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Получение списка задач пользователя
         * @param {string} [expandOutData] Флаг необходимости расширять outData для ют
         * @param {string} [page] Номер страницы, по умолчанию 0
         * @param {string} [perPage] Обьектов на странице, по умолчанию 10
         * @param {string} [authorization] Авторизация
         * @param {string} [assignee] Идентификатор пользователя
         * @param {string} [businessKey] traceId
         * @param {string} [taskId] Идентификатор таска
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        taskList(expandOutData?: string, page?: string, perPage?: string, authorization?: string, assignee?: string, businessKey?: string, taskId?: string, options?: any): AxiosPromise<UserTaskList> {
            return localVarFp.taskList(expandOutData, page, perPage, authorization, assignee, businessKey, taskId, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Получение списка задач пользователя, c восстановлением
         * @param {string} [expandOutData] Флаг необходимости расширять outData для ют
         * @param {string} [page] Номер страницы, по умолчанию 0
         * @param {string} [perPage] Обьектов на странице, по умолчанию 10
         * @param {string} [authorization] Авторизация
         * @param {string} [assignee] Идентификатор пользователя
         * @param {string} [businessKey] traceId
         * @param {string} [taskId] Идентификатор таска
         * @param {{ [key: string]: any; }} [requestBody] Payload на случай восстания нежити
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        taskListWithResurrect(expandOutData?: string, page?: string, perPage?: string, authorization?: string, assignee?: string, businessKey?: string, taskId?: string, requestBody?: { [key: string]: any; }, options?: any): AxiosPromise<UserTaskList> {
            return localVarFp.taskListWithResurrect(expandOutData, page, perPage, authorization, assignee, businessKey, taskId, requestBody, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Очистка деплоев схем
         * @param {string} procDefKey Код схемы
         * @param {string} body 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        undeploy(procDefKey: string, body: string, options?: any): AxiosPromise<WFAPIResponse> {
            return localVarFp.undeploy(procDefKey, body, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * WorkflowServiceApi - object-oriented interface
 * @export
 * @class WorkflowServiceApi
 * @extends {BaseAPI}
 */
export class WorkflowServiceApi extends BaseAPI {
    /**
     * 
     * @summary Очистка очереди контроля
     * @param {WFControlledHolderClearRequest} wFControlledHolderClearRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public clearControlledHolders(wFControlledHolderClearRequest: WFControlledHolderClearRequest, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).clearControlledHolders(wFControlledHolderClearRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Коррелирует процесс на сообщение
     * @param {string} traceId Идентификатор процесса
     * @param {string} message Сообщение для корреляции
     * @param {string} dataKey Ключ сохранения данных
     * @param {{ [key: string]: any; }} requestBody доп. данные
     * @param {string} [authorization] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public correlate(traceId: string, message: string, dataKey: string, requestBody: { [key: string]: any; }, authorization?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).correlate(traceId, message, dataKey, requestBody, authorization, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Retry job
     * @param {string} activity activity
     * @param {string} [authorization] Авторизация
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public doRetryJob(activity: string, authorization?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).doRetryJob(activity, authorization, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Evaluate groovy script
     * @param {ScriptEvaluationRequestDTO} scriptEvaluationRequestDTO 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public evaluateGroovyScript(scriptEvaluationRequestDTO: ScriptEvaluationRequestDTO, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).evaluateGroovyScript(scriptEvaluationRequestDTO, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Получение списка задач пользователя, для определенного инстанса
     * @param {string} businessKey businessKey
     * @param {string} [authorization] Авторизация
     * @param {string} [assignee] Идентификатор пользователя
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public findUserTasks(businessKey: string, authorization?: string, assignee?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).findUserTasks(businessKey, authorization, assignee, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Получение списка загруженных схем
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public getCodes(options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).getCodes(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Получение переводов по БП
     * @param {string} scope скоуп переводов
     * @param {string} [body] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public getDicts(scope: string, body?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).getDicts(scope, body, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Получение эндпоинтов по схемам
     * @param {string} schemaIds Коды схем
     * @param {string} [authorization] Авторизация
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public getEndpoints(schemaIds: string, authorization?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).getEndpoints(schemaIds, authorization, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Получение форм по задачам
     * @param {string} taskIds Идентификаторы тасков
     * @param {string} businessKey Тип отображения json/html
     * @param {string} [authorization] Авторизация
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public getForms(taskIds: string, businessKey: string, authorization?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).getForms(taskIds, businessKey, authorization, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Проверка существования процесса
     * @param {string} traceId traceId
     * @param {string} [authorization] Авторизация
     * @param {{ [key: string]: any; }} [requestBody] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public getProcInfo(traceId: string, authorization?: string, requestBody?: { [key: string]: any; }, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).getProcInfo(traceId, authorization, requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Получение актуальной схемы по коду
     * @param {string} code 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public getSchema(code: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).getSchema(code, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Получение информации о шаге
     * @param {string} traceId Идентификатор процесса
     * @param {string} [authorization] Авторизация
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public getStep(traceId: string, authorization?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).getStep(traceId, authorization, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Получение списка определений задач пользователя
     * @param {string} [traceId] traceId процесса
     * @param {string} [procDefId] Код процесса
     * @param {string} [assignee] Идентификатор пользователя
     * @param {string} [taskId] Идентификатор таска
     * @param {string} [authorization] Авторизация
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public getTaskDefList(traceId?: string, procDefId?: string, assignee?: string, taskId?: string, authorization?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).getTaskDefList(traceId, procDefId, assignee, taskId, authorization, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Получение истории по задачам
     * @param {string} [traceId] traceId процесса
     * @param {string} [authorization] Авторизация
     * @param {boolean} [expandProps] Флаг расширенного вывода
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public getTaskHistory(traceId?: string, authorization?: string, expandProps?: boolean, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).getTaskHistory(traceId, authorization, expandProps, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Вернуть true, если схема присутствует, иначе false
     * @param {string} code 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public isPresent(code: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).isPresent(code, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Очистка запущенных процессов
     * @param {WFKillProcessInstanceRequest} wFKillProcessInstanceRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public killProcInstaces(wFKillProcessInstanceRequest: WFKillProcessInstanceRequest, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).killProcInstaces(wFKillProcessInstanceRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Загружает схемы DMN в сервис
     * @param {File} [files] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public load(files?: File, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).load(files, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Загружает схемы BPMN в сервис
     * @param {File} [files] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public loadSchema(files?: File, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).loadSchema(files, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Отпускает пошаговый барьер
     * @param {string} traceId Идентификатор процесса
     * @param {{ [key: string]: any; }} requestBody доп. данные
     * @param {string} [authorization] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public resumeProc(traceId: string, requestBody: { [key: string]: any; }, authorization?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).resumeProc(traceId, requestBody, authorization, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Корреляция сообщения через traceId процесса, слушающего topic
     * @param {string} traceId Бизнес-ключ процесса
     * @param {string} topic Топик для корреляции
     * @param {{ [key: string]: any; }} requestBody Сообщение для корреляции
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public setCorrelation(traceId: string, topic: string, requestBody: { [key: string]: any; }, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).setCorrelation(traceId, topic, requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Включение/Отключение вывода на консоль в груви скриптах 
     * @param {WFGroovyOutputParams} wFGroovyOutputParams 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public setGroovyConsoleOutputMode(wFGroovyOutputParams: WFGroovyOutputParams, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).setGroovyConsoleOutputMode(wFGroovyOutputParams, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Включение/Отключение runtime config
     * @param {WFSetRuntimeConfig} wFSetRuntimeConfig 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public setRuntimeConfig(wFSetRuntimeConfig: WFSetRuntimeConfig, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).setRuntimeConfig(wFSetRuntimeConfig, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Запускает выполение процесса 
     * @param {{ [key: string]: any; }} requestBody Параметры процесса
     * @param {string} [traceId] 
     * @param {string} [parentProcessId] 
     * @param {string} [authorization] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public start(requestBody: { [key: string]: any; }, traceId?: string, parentProcessId?: string, authorization?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).start(requestBody, traceId, parentProcessId, authorization, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Запускает выполение процесса 
     * @param {{ [key: string]: any; }} requestBody Параметры процесса
     * @param {string} [traceId] 
     * @param {string} [parentProcessId] 
     * @param {string} [authorization] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public startTest(requestBody: { [key: string]: any; }, traceId?: string, parentProcessId?: string, authorization?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).startTest(requestBody, traceId, parentProcessId, authorization, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Запускает выполение процесса с файлами 
     * @param {string} [authorization] 
     * @param {string} [traceId] 
     * @param {string} [parentProcessId] 
     * @param {File} [files] 
     * @param {File} [jsonFile] 
     * @param {string} [json] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public startWithFiles(authorization?: string, traceId?: string, parentProcessId?: string, files?: File, jsonFile?: File, json?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).startWithFiles(authorization, traceId, parentProcessId, files, jsonFile, json, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Получает форму по пользовательскому таску
     * @param {string} taskId Идентификатор таска
     * @param {{ [key: string]: any; }} requestBody Параметры формы
     * @param {string} [traceId] 
     * @param {string} [authorization] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public submitForm(taskId: string, requestBody: { [key: string]: any; }, traceId?: string, authorization?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).submitForm(taskId, requestBody, traceId, authorization, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Получает форму по пользовательскому таску
     * @param {string} taskId Идентификатор таска
     * @param {string} [traceId] 
     * @param {string} [authorization] 
     * @param {File} [files] 
     * @param {string} [json] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public submitFormWithFiles(taskId: string, traceId?: string, authorization?: string, files?: File, json?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).submitFormWithFiles(taskId, traceId, authorization, files, json, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Получение списка задач пользователя
     * @param {string} [expandOutData] Флаг необходимости расширять outData для ют
     * @param {string} [page] Номер страницы, по умолчанию 0
     * @param {string} [perPage] Обьектов на странице, по умолчанию 10
     * @param {string} [authorization] Авторизация
     * @param {string} [assignee] Идентификатор пользователя
     * @param {string} [businessKey] traceId
     * @param {string} [taskId] Идентификатор таска
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public taskList(expandOutData?: string, page?: string, perPage?: string, authorization?: string, assignee?: string, businessKey?: string, taskId?: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).taskList(expandOutData, page, perPage, authorization, assignee, businessKey, taskId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Получение списка задач пользователя, c восстановлением
     * @param {string} [expandOutData] Флаг необходимости расширять outData для ют
     * @param {string} [page] Номер страницы, по умолчанию 0
     * @param {string} [perPage] Обьектов на странице, по умолчанию 10
     * @param {string} [authorization] Авторизация
     * @param {string} [assignee] Идентификатор пользователя
     * @param {string} [businessKey] traceId
     * @param {string} [taskId] Идентификатор таска
     * @param {{ [key: string]: any; }} [requestBody] Payload на случай восстания нежити
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public taskListWithResurrect(expandOutData?: string, page?: string, perPage?: string, authorization?: string, assignee?: string, businessKey?: string, taskId?: string, requestBody?: { [key: string]: any; }, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).taskListWithResurrect(expandOutData, page, perPage, authorization, assignee, businessKey, taskId, requestBody, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Очистка деплоев схем
     * @param {string} procDefKey Код схемы
     * @param {string} body 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowServiceApi
     */
    public undeploy(procDefKey: string, body: string, options?: AxiosRequestConfig) {
        return WorkflowServiceApiFp(this.configuration).undeploy(procDefKey, body, options).then((request) => request(this.axios, this.basePath));
    }
}


